* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
header {
    background: #404149E5 url('images/header-background.jpg') no-repeat center;
    background-blend-mode: darken;
    display: flex;
    flex-direction: column;
    align-items: center;    
    text-align: center;
    max-height: 740px;
    padding-bottom: 320px;
    .header_head {
        display: flex;
        justify-content: space-between;
        width: 57.3vw;
        margin-bottom: 10%;
        padding-top: 20px;
        img {
            width: 60px;
        }
    }
    .header_title {
        font-size: 64px;
        line-height: 94.85px;
        letter-spacing: 2%;
        color: #ffffff;
        max-width: 734px;
        margin-bottom: 35px;
        text-transform: uppercase;
    }
    .header_description {
        font-size: 18px;
        line-height: 26.68px;
        color: #ffffff;
        text-transform: uppercase;
    }
    .menu_button {

    }
    .menu_checkbox {
        position: absolute;
        visibility: hidden;
    }
    .menu_label {
        position: relative;
        display: block;
        cursor: pointer;
        width: 50px;
        height: 50px;
        background: url(icons/menu-button.svg) no-repeat center;
        background-size: contain;
    }
}
.content_titles {
    text-align: center;
    text-transform: uppercase;
    font-size: 36px;
    line-height: 53.35px;
    color: #000000;
}
.main_block_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 57px 130px;
    margin: -170px 21.09vw 100px 21.09vw;
    background: #F7F7F7;
    width: 57.3vw;
    height: 300px;
}
.main_block_item {
    text-transform: uppercase;
    .item_years_count {
        color: #F7654A;
        font-size: 72px;
        line-height: 106.7px;
    }
    .item_years {
        color: #000000;
        font-size: 36px;
        line-height: 53.35px;
    }
    .item_market {
        color: #999999;
        font-size: 18px;
        line-height: 26.68px;
    }
}
.big_projects {
    margin-top: 100px;
    .big_projects_title {
        color: #404149;
    }
    .big_projects_gallery {
        display: flex;
        justify-content: center;
        gap: 30px;
        margin-top: 60px;
        margin-bottom: 150px;
    }
    .gallery_item {
        display: flex;
        flex-direction: column;
        align-items: start;
        width: 350px;
        img {
            width: 350px;
        }
    }
    .gallery_item_border {
        width: 55px;
        height: 6px;
        background-color: #F7654A;
        margin-top: 45px;
        margin-bottom: 15px;
    }
    .gallery_item_title {
        font-size: 24px;
        line-height: 35.57px;
        color: #404149;
        margin-bottom: 20px;
    }
    .gallery_item_text {
        font-size: 16px;
        line-height: 21.79px;
        color: #999999;
    }
}
.smart_projects {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 21%;
    background-color: #F7654A;
    height: 191px;
    width: 100%;
    padding: 30px 45px;
    margin-bottom: 150px;
    .smart_projects_description {
        h2, p {
            text-transform: uppercase;
            color: #ffffff;
        }
        h2 {
            font-size: 48px;
            line-height: 71.14px;
        }
        p {
            font-size: 24px;
            line-height: 35.57px;
        }
    }
    .smart_projects_button {
        width: 175px;
        padding: 14px 30px;
        text-align: center;
        border: none;
        background-color: #FFFFFF;
        text-transform: uppercase;
    }
}
.activites {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    margin-bottom: 150px;
    .activites_title {
        margin-bottom: 66px;
    }
}
.activites_container {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
    .activites_item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 30px;
        width: 350px;
        height: 250px;
        padding: 86px 59px;
        background-color: #F7F7F7;
        h3 {
            font-size: 21px;
            line-height: 31.12px;
            text-align: center;
            color: #000000;
            text-transform: uppercase;
            width: 172px;
        }
    }
}
.portfolio {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    overflow-x: hidden;
    margin-bottom: 150px;
    img {
        width: 480px;
    }
}
.faq {
    .faq_title {
        margin-bottom: 50px;
    }
}
.faq_container {
    margin-left: 21.09vw;
    margin-bottom: 150px;
}
.faq_item {
    margin-bottom: 40px;
    input, .faq_item_text {
        display: none;
    };
    label {
        font-size: 24px;
        line-height: 35.57px;
        color: #F7654A;
        text-transform: uppercase;
        cursor: pointer;
    }
    .faq_item_text {
        font-size: 16px;
        line-height: 21.79px;
        color: #999999;
        max-width: 730px;
        margin-top: 30px;
    }
    input:checked~p.faq_item_text {
        display: block;
    }
}
.faq_item::before {
    content: url(icons/polygon-right.png);
    margin-right: 15px;
    margin-bottom: 5px;
}
.partners {
    background-color: #404149;    
    padding: 100px;
    margin-bottom: 150px;
    .partners_title {
        color: #ffffff;
    }
}
.partners_container {
    display: flex;
    justify-content: space-between;
    margin-top: 60px;
}
.reviews {
    margin-bottom: 150px;
    .reviews_container {
        display: flex;
        justify-content: center;
        gap: 30px;
        margin-top: 64px;
    }
    .reviews_item {
        display: flex;
        flex-direction: column;
    }
    .reviews_item_content {
        width: 350px;
        height: 259px;
        padding: 38px 30px;
        background-color: #F7F7F7;
        h3 {
            font-size: 96px;
            line-height: 142.27px;
            color: #F7654A;
            margin-top: -30px;
            margin-bottom: -60px;
        }
        p {
            font-size: 14px;
            line-height: 21px;
            color: #999999;
        }
    }
    .reviews_item_label {
        display: flex;
        gap: 5px;
        width: 350px;
        font-size: 21px;
        line-height: 31.12px;
        .reviews_item_label-name {
            color: #000000;
        }
        .reviews_item_label-company {
            color: #F7654A;
        }
    }
}
.contacts {
    margin-top: 100px;
    margin-bottom: 150px;
    .contacts_container {
        display: flex;
        justify-content: center;
        gap: 30px;
        margin-top: 60px;
    }
    .contacts_item {
        width: 255px;
        height: 191px;
        font-size: 24px;
        line-height: 35.57px;
        text-align: center;
        color: #000000;
        text-transform: uppercase;
        h3 {
            color: #999999
        };
    }
    .contacts_address, .contacts_phone, .contacts_work_time, .contacts_email {
        display: flex;
        flex-direction: column;
        align-items: center;
        img, h3 {
            margin-bottom: 25px;
        }
    }
    .contacts_email {
        p {
            color: #F7654A;
        }
    }
}
footer {
    display: flex;
    justify-content: space-between;
    background-color: #404149;
    height: 82px;
    padding: 30px 21.09vw;
    font-size: 16px;
    line-height: 21.79px;
    color: #FFFFFF;
    a {
        text-decoration: none;
        margin-left: 10px;
        color: aliceblue;
    }
}