.promo {
    display: flex;
    gap: 40px;
    padding: 40px 20px;
    background: var(--light-green);
    border-radius: 30px;
    .left {
        align-self: center;
        max-width: 581px;
        width: 100%;
        h1 {
            margin-bottom: 30px;
            max-width: 460px;
        }
        p {
            line-height: 1.5;
            &:first-of-type {
                margin-bottom: 20px;
            }
            &:last-of-type {
                margin-bottom: 40px;
            }
        }
        button {
            width: auto;
            height: 60px;
            img {
                max-width: 40px;
                border-radius: 20px;
                transition: .4s linear infinite;
                &:nth-child(2) {
                    transform: translateX(-10px);
                }
                &:last-child {
                    transform: translateX(-20px);
                }
            }
        }
    }
    .items {
        display: grid;
        grid-template-columns: minmax(245px, auto) minmax(270px, auto);
        gap: 20px;
        width: 100%;
        height: 425px;
        div {
            position: relative;
            background: var(--green);
            border-radius: 30px;
            overflow: hidden;
            box-shadow: var(--shadow-1);
            a {
                position: absolute;
                width: 100%;
                height: 100%;
                top: 0;
                left: 0;
                z-index: 9;
            }
            img {
                height: 100%;
                object-fit: cover;
                object-position: right;
                transition: .3s linear;
            }
            h2 {
                position: absolute;
                top: 30px;
                left: 30px;
                padding: 20px;
                max-width: 50%;
                height: calc(100% - 60px);
                background: rgba(255, 255, 255, .7);
                border-radius: 20px;
                box-shadow: 0 0 10px #75757570;
                display: flex;
                align-items: center;
                justify-content: center;
                text-align: center;
                font-size: 16px;
                font-family: Nunito;
                font-weight: 700;
            }
            &:first-child {
                grid-row: span 3;
                h2 {
                    max-width: unset;
                    width: calc(100% - 60px);
                    height: calc((100% - 40px) / 3 - 60px);
                    padding: 20px 60px;
                }
            }
        }
    }
}
.production {
    position: relative;
    z-index: 1;
    .head {
        margin-bottom: 40px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
        h2 {
            text-align: right;
            margin-left: auto;
            margin-right: 0;
            display: flex;
            flex-direction: column;
            gap: 5px;
            &::after {
                content: '';
                display: flex;
                align-self: flex-end;
                width: 45%;
                height: 2px;
                background: var(--accent);
            }
        }
    }
    .content {
        display: flex;
        gap: 40px;
        > .items {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
            width: 50%;
            img {
                border-radius: 20px;
                object-fit: cover;
                height: 100%;
                transition: .3s linear;
            }
            .img {
                height: 100%;
                border-radius: 20px;
                &:nth-child(2) {
                    height: 440px;
                    grid-row: span 2;
                }
                &.link {
                    position: relative;
                    overflow: hidden;
                    p {
                        position: absolute;
                        bottom: 20px;
                        width: calc(100% - 40px);
                        left: 20px;
                        background: rgba(255, 255, 255, .7);
                        color: var(--dark);
                        border-radius: 20px;
                        padding: 20px;
                        font-size: 16px;
                        font-family: Nunito;
                        font-weight: 700;
                        text-align: center;
                    }
                }
            }
            .max-height {
                height: 440px;
                grid-row: span 2;
            }
            div {
                background: var(--accent);
                border-radius: 20px;
                padding: 10px 30px;
                display: flex;
                flex-direction: column;
                gap: 10px;
                align-items: center;
                border-radius: 30px;
                p {
                    color: var(--light);
                    text-align: center;
                }
                a {
                    padding: 10px 50px;
                }
            }
        }
        .text {
            display: flex;
            flex-direction: column;
            gap: 20px;
            width: 50%;
            h3 {
                margin-bottom: 40px;
            }
            ul {
                margin-bottom: 20px;
                li {
                    &::before {
                        padding: 6px 20px;
                    }
                }
                &::after {
                    display: flex;
                    content: '';
                    width: 100%;
                    height: 1px;
                    background: var(--green);
                    margin-top: 30px;
                }
            }
            .actions {
                display: flex;
                gap: 20px;
                align-items: center;
                > a {
                    padding: 10px 50px;
                }
                .contacts {
                    & > span:first-child {
                        color: var(--dark);
                        display: flex;
                        align-items: center;
                        &::before {
                            font-family: icon;
                            content: '\e903';
                            font-size: 22px;
                            padding: 8px;
                            color: var(--dark);
                            border: 1px solid var(--dark);
                            display: flex;
                        }
                    }
                    .items {
                        top: 50px;
                    }
                }
            }
        }
    }
    &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: 0 80px / contain no-repeat url(../images/fon-sxema.webp);
        opacity: 0.1;
        z-index: -1;
        }
}
.advantages {
    background: var(--gradient-1);
    padding: 80px 0;
    .wrapper {
        display: flex;
        gap: 80px;
        .head {
            display: flex;
            flex-direction: column;
            gap: 20px;
            max-width: 320px;
            width: 100%;
            h2 {
                color: var(--light);
                text-align: right;
                display: flex;
                flex-direction: column;
                gap: 10px;
                line-height: 1.1;
                &::after {
                    content: '';
                    display: flex;
                    width: 30%;
                    height: 2px;
                    background: var(--light);
                    align-self: flex-end;
                }
            }
            p {
                color: var(--light);
                text-align: right;
                max-width: 210px;
                align-self: flex-end;
            }
            a {
                padding: 10px 44px;
                max-width: fit-content;
                align-self: flex-end;
            }
        }
        .items {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
            width: 100%;
            div {
                background: var(--light);
                box-shadow: var(--shadow-1);
                padding: 20px;
                border-radius: 30px;
                display: flex;
                flex-direction: column;
                gap: 20px;
                h3 {
                    display: flex;
                    gap: 20px;
                    &::before {
                        font-family: Icon;
                        font-size: 34px;
                        color: var(--green);
                    }
                }
                p {
                    font-size: 14px;
                    padding-right: 5px;
                }
                &:nth-child(1) h3::before {
                    content: '\e91e';
                }
                &:nth-child(2) h3::before {
                    content: '\e939';
                }
                &:nth-child(3) h3::before {
                    content: '\e92e';
                }
                &:nth-child(4) h3::before {
                    content: '\e93e';
                }
            }
        }
    }
}
.text {
    .head {
        margin-bottom: 40px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
        h2 {
            text-align: right;
            margin-left: auto;
            margin-right: 0;
            display: flex;
            flex-direction: column;
            gap: 5px;
            &::after {
                content: '';
                display: flex;
                align-self: flex-end;
                width: 45%;
                height: 2px;
                background: var(--accent);
            }
        }
        p {
            max-width: 590px;
        }
    }
    .content {
        display: flex;
        gap: 40px;
        div {
            width: 50%;
            display: flex;
            flex-direction: column;
            gap: 20px;
        }
    }
}
.blog {
    display: flex;
    flex-direction: column;
    gap: 40px;
    .head {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2px 20px;
        h2 {
            justify-self: end;
            max-width: fit-content;
        }
        p {
            max-width: fit-content;
            font-family: Yanone;
            justify-self: end;
            font-size: 30px;
            font-weight: 300;
            color: var(--dark);
            &::after {
                content: '';
                display: flex;
                align-self: flex-end;
                width: 45%;
                height: 2px;
                background: var(--accent);
            }
        }
        .categories {
            display: flex;
            align-items: center;
            gap: 20px;
            grid-row: span 2;
            button {
                height: 40px;
                border: 1px solid var(--green);
                font-size: 15px;
                transition: .2s linear;
                &.active {
                    background: var(--light-blue);
                }
            }
        }
    }
    .items {
        display: none;
        gap: 40px;
        grid-template-columns: repeat(3, 1fr);
        article {
            background: var(--light-blue);
            border-radius: 20px;
            overflow: hidden;
            position: relative;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            width: auto;
            a {
                img {
                    height: 220px;
                    object-fit: cover;
                }
            }
            .content {
                flex: 1;
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                padding: 20px;
                gap: 10px;  
                .meta {
                    margin-bottom: 10px;
                    display: flex;
                    gap: 10px;
                    :is(p) {
                        color: var(--light-text);
                        font-size: 12px;
                        font-weight: 400;
                    }
                    .date {
                        display: flex;
                        gap: 5px;
                        &::before{
                            content: '\e911';
                            font-family: icon;
                            font-size: 14px;
                        }
                    }
                }
                h3 {
                    font-size: 30px;
                    display: flex;
                    flex-direction: column;
                    gap: 5px;
                    max-width: 270px;
                    margin-bottom: 20px;
                    font-weight: normal;
                    &::after {
                        content: '';
                        display: flex;
                        align-self: flex-start;
                        width: 45%;
                        height: 2px;
                        background: var(--accent);
                    }
                }
                > p {
                    margin-bottom: 20px;
                }
                a {
                    align-self: flex-start;
                    margin-top: auto; 
                }
            }
        }
        &.active {
            display: grid;
        }
    }
}
@media screen and (max-width: 1279px) {
    .promo {
        flex-direction: column;
        .left {
            align-self: start;
            max-width: 700px;
            h1 {
                max-width: unset;
            }
            p {
                max-width: unset;
            }
        }
    }
    .production {
        .head {
            display: flex;
            flex-direction: column;
            h2 {
                margin: 0;
                text-align: left;
                max-width: fit-content;
                &::after {
                    align-self: start;
                }
            }
        }
        .content {
            flex-direction: column;
            > .items {
                width: 100%;
                div {
                    justify-content: space-around;
                    p {
                        max-width: 180px;
                    }
                }
                .img {
                    &:nth-child(2) {
                        height: 540px;
                    }
                }
            }
            .text {
                width: 100%;
                ul {
                    &::after {
                        margin-top: 20px;
                    }
                }
            }
        }
    }
    .advantages {
        .wrapper {
            flex-direction: column;
            .head {
                h2 {
                    text-align: left;
                    &::after {
                        align-self: start;
                    }
                }
                p {
                    text-align: left;
                    align-self: start;
                }
                a {
                    align-self: start;
                }
            }
            .items {
                grid-template-columns: repeat(2, 1fr);
                max-width: 740px;
            }
        }
    }
    .text {
        .head {
            display: flex;
            flex-direction: column;
            h2 {
                max-width: 500px;
            }
        }
    }
    .blog {
        .head {
            display: flex;
            flex-direction: column;
            h2 {
                order: 1;
            }
            p {
                order: 2;
                margin-bottom: 20px;
                font-family: nunito, sans-serif;
                font-size: 20px;
                font-weight: 400;
                color: var(--light-text);
            }
            .categories {
                order: 3;
                gap: 10px;
                button {
                    white-space: nowrap;
                }
            }
        }
        .items {
            overflow: auto;
            gap: 20px;
            article {
                min-width: 320px;
            }
        }
    }
}
@media screen and (max-width: 767px) {
    .promo {
        .items {
            display: flex;
            flex-direction: column;
            height: auto;
            div {
                height: 120px;
                &:first-child {
                    height: 400px;
                }
            }
        }
    }
    .production {
        & .content {
            > .items {
                display: flex;
                flex-direction: column;
                .img {
                    &:nth-child(2) {
                        height: 440px;
                    }
                }
                div {
                    padding: 30px;
                }
            }
            .text {
                ul {
                    li {
                        &::before {
                            padding: 6px 3px;
                        }
                    }
                }
                .actions {
                    flex-direction: column;
                }
            }
        }
    }
    .advantages {
        .wrapper {
            .items {
                display: flex;
                flex-direction: column;
            }
        }
    }
    .text {
        .content {
            flex-direction: column;
            div {
                width: 100%;
            }
        }
    }
    .blog {
        .head {
            .categories {
               overflow: auto visible; 
            }
        }
    }
}
@media screen and (max-width: 479px) {
    .promo {
        .left {
            button {
                img {
                    display: none;
                }
            }
        }
    }
    .production {
        .content {
            .text {
                .actions {
                    .contacts {
                        width: 100%;
                        display: flex;
                        justify-content: center;
                        .items {
                            left: 0;
                        }
                    }
                }
            }
        }
    }    
}
@media screen and (hover: hover) {
    .promo {
        .items {
            > div:hover {
                img {
                    transform: scale(1.1);
                }
            }
        }
    }
    .content {
        > .items {
            .img {
                &.link:hover {
                    img {
                        transform: scale(1.1);
                    }
                }
            }
        }
    }
}