@media screen and (max-width: 1200px) {
    .column--skills-group {
        flex: 0 0 calc(50% - 1rem);
        max-width: calc(50% - 1rem);
    }

    .header__navigation {
        display: none;
    }

    .header__hamburger {
        display: block;
    }

    .hero__content {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .hero__image {
        flex: 0 0 calc(50% - 1.5rem);
        max-width: calc(50% - 1.5rem);
    }

    .row-hobbies__column {
        flex: 0 0 calc(50% - .66666rem);
        max-width: calc(50% - .66666rem);
    }
}

@media screen and (max-width: 992px) {

    .hero__content,
    .hero__image {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .contacts-row {
        justify-content: space-around;
    }
    
}

@media screen and (max-width: 768px) {
    html, body {
        font-size: 16px;
    }

    .wrapper {
        padding: 0 .5rem;
    }

    .header__inner {
        padding-top: 1.0625rem;
        padding-bottom: 1.0625rem;
    }

    .menu-mobile {
        padding-top: calc(1.11111rem * 2 + 2.55555rem);
    }

    .section {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .section__header {
        margin-bottom: 36px;
        gap: .5rem;
    }

    .row-hobbies {
        flex-direction: column-reverse;
    }

    .row-hobbies__column {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .button {
        border-radius: .5rem; /* 8px */
        gap: .75rem; /* 12px  */
    }

    .button--medium {
        padding: .5rem 1.5rem; /* 8px 24px */
    }

    .button--large {
        padding: 1.25rem 2.8125rem; /* 20px 45px */
    }
    
    .cookies-notification {
        left: 0;
        right: 0;
        margin: auto;
        bottom: 1rem;
        padding: 1rem;
    }

    .cookies-notification__text p {
        font-size: 1rem;
    }
}

@media screen and (max-width: 576px) {
    .section__title h2,
    .section__title p {
        font-size: 1.5rem;
    }

    .section--contacts::after, 
    .section--contacts::before {
        display: none;
    }

    .column--skills-group {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .header__logo h1, 
    .header__logo p {
        font-size: 1.33333rem;
    }

    .menu-mobile {
        padding-top: calc(1.0625rem * 2 + 27px + 6px);
    }

    .hero {
        padding-top: calc(27px + 1.0625rem * 2 + 33px);
    }

    .hero__top,
    .hero__content {
        gap: 1.5rem;
    }

    .hero__image::before {
        background-image: url(../img/hero-decor-mobile.png);
        min-width: 481px;
        width: 120%;
        height: 100%;
    }

    .button {
        display: flex;
        font-size: 1.125rem;
    }

    .button--large {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .skills-group__title {
        margin-bottom: 1.5rem;
    }

    .skills-group__title h3, 
    .skills-group__title p {
        font-size: 1.125rem;
    }

    .skills-group__list {
        gap: 1.125rem;
    }

    .skill {
        gap: .75rem;
    }

    .skill__percent span {
        font-size: .75rem;    
    }

    .row__column {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .case-preview__image img {
        border-radius: .5rem;
    }

    .case-preview {
        gap: .75rem;
    }

    .case-preview__title h3 {
        font-size: 1.125rem;
    }

    .case-preview__content {
        gap: .5rem;
    }

    .case-preview__link a {
        gap: 0.75rem;
        font-size: .75rem;
    }

    .case-preview__link a img {
        width: .875rem;
    }

    .row {
        gap: 24px;
    }

    .experience-item {
        padding: 1rem;
        border-radius: 1rem;
    }

    .experience-item__title {
        margin-bottom: .5rem;
    }

    .experience-item__title h3 {
        font-size: 1.125rem;
    }
    
    .experience-item__period {
        margin-bottom: .75rem;    
    }

    .hobbies-list,
    .row-hobbies {
        gap: 1.5rem;
    }

    .hobbie__title {
        margin-bottom: .5rem;
    }

    .hobbie__title h3 {
        font-size: 1.125rem;
    }

    .hobbies-photo img {
        border-radius: .5rem;
    }

    .contacts-row {
        justify-content: flex-start;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.5rem;
    }

    .icon {
        width: 3rem;
        height: 3rem;
        border-radius: .5rem;
    }

    .contact-item__inner {
        gap: .5rem;
    }

    .contact-item a {
        font-size: 1.125rem;
    }

    .footer {
        padding-top: 38px;
        padding-bottom: 48px;
    }

    .footer__inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 1.5rem;
    }

    .footer__name span {
        font-size: 1.5rem;
    }

    .footer__link a {
        font-size: .875rem;
    }
}