@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-VariableFont_opsz\,wght.ttf') format('truetype');
    font-weight: 100 900; /* Интервал толщины для переменного шрифта */
    font-stretch: 75% 125%; /* Поддержка растяжения (если доступно) */
    font-display: swap; /* Оптимизация загрузки */
}
@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@200..900&display=swap');

.hidden{
    display: none!important;
    opacity: 0!important;
    visibility: hidden!important;
    pointer-events: none!important;   
}
.unbounded{
    font-family: 'Unbounded', sans-serif;
    font-weight: 700;
}
/* Reset */
*,*::before,*::after{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Inter', sans-serif;
    /* font-variation-settings: 'wght' 400, 'opsz' 14; */
}
a{
    text-decoration: none;
    color: inherit;
}
button{
    border: none;   
    outline: none;
    background-color: transparent;
    cursor: pointer;
}
ul,ol{
    list-style: none;
}
/* Container */
.container{
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    height: 100%;
}
/* 1340px */
@media (min-width: 1340px) {
    .container{
        width: 100%;
        max-width: 1340px;
        margin: 0 auto;
        padding: 0 20px;
        height: 100%;
    }
}
.hide{
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
/* Header */
.header{
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    transition: height 0.3s ease;
    height: 80px;
}
.header.header_shadow{
    box-shadow: 0px 2px 10px rgb(0 0 0 / 12%);
}
.header_wrapper{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

.header_nav_list{
    display: flex;
    gap: 40px;
}
.header_nav_link{
    color: #000;
    font-size: 16px;
    line-height: 1.5;
    text-transform: uppercase;
    transition: color 0.3s ease;
    display: flex;
    align-items: center;
    gap: 5px;
}
.header_nav_link svg{
    width: 16px;
    height: 16px;
    display: block;
}
.header_buttons{
    display: flex;
    gap: 20px;
    align-items: center;
}
.header_buttons svg{
    width: 24px;
    height: 24px;
    display: block;
}
.header_logo_img,
.footer_logo_img{
    width: 210px;
    object-fit: contain;
    display: block;
    transition: width 0.3s ease;
}
.mobile_btns{
    display: none;
    gap: 20px;
    align-items: center;
}
.mobile_btns svg{
    width: 24px;
    height: 24px;
    display: block;
}
.lang_button{
    position: relative;
}
.lang_list{
    position: absolute;
    top: 135%;
    right: 0;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0px 0px 6px #0000002d;
    overflow: hidden;
    display: none;
    flex-direction: column;
}
.lang_list.show{
    display: flex;
}
.lang_link_current, .lang_link{
    flex-shrink: 0;
    font-size: 14px;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px;
}
.lang_link_current span, .lang_link span{
    white-space: nowrap;
    flex-shrink: 0;
}
.lang_list img{
    border-radius: 2px;
    width: 24px;
    height: auto
}
.lang_link_current{
    background-color: #003F8C;
    color: #fff;
}
.lang_link{
    transition: background-color 0.3s ease, color 0.3s ease;
}
.lang_link:hover{
    background-color: #003F8C;
    color: #fff;
}
@media (max-width: 1340px) {
    .header_logo_img,
    .footer_logo_img{
        width: 200px;
    }
}
@media (max-width: 1024px) {
    /* .header_logo_img, */
    .footer_logo_img{
        width: 150px;
    }
    .header_button_phone,
    .header_nav{
        display: none;
    }
    .mobile_btns{
        display: flex;
    }
}
/* Footer */
.footer{
    padding: 40px 0;
    background-color: #1a1a1a;
    color: #fff;
}
.footer_wrapper{
    display: grid;
    grid-template-columns: 2fr repeat(4, 1fr);
    gap: 20px;
}
.footer_col{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.footer_title{
    font-size: 20px;
    line-height: 1.5;
    font-variation-settings: 'wght' 500, 'opsz' 100;
}
.footer_link{
    font-size: 16px;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
    opacity: 0.7;
}
.footer_copyright{
    font-size: 16px;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
    opacity: 0.7;
    margin-top: 20px;
}
.footer_col_1{
    padding-right: 50px;
}
@media (max-width: 1200px) {
    .footer_col_1{
        padding-right: 0;
    }
}
@media (max-width: 1100px) {
    .footer_col_1{
        grid-column: 1/6;
    }

    .footer_wrapper{
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }
}
@media (max-width: 800px) {
    .footer_wrapper{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .footer_col_1{
        grid-column: 1/3;
    }
    .footer_col_2{
        grid-column: 1/2;
    }       
    .footer_col_3{
        grid-column: 2/3;
    }
}
/* Main */
.section_title{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    align-items: center;
    margin-bottom: 50px;
    margin-top: 100px;
}
.section_title h2{
    font-size: 40px;
    line-height: 1;
    font-variation-settings: 'wght' 500, 'opsz' 100;
    text-transform: uppercase;
}
.section_title p{
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    font-variation-settings: 'wght' 400, 'opsz' 100;
}
@media (max-width: 1024px) {
    .section_title h2{
        font-size: 35px;
    }
    .section_title{
        margin-top: 80px;
        margin-bottom: 40px;
    }
    .section_title p{
        font-size: 16px;
    }
}
@media (max-width: 700px) {
    .section_title p{
        font-size: 14px;
        text-align: center;
    }
}
.wpcf7-spinner{
    /* display: none; */
}
@media (max-width: 500px) {
    .section_title h2{
        font-size: 30px;
    }
    .section_title{
        margin-top: 70px;
        margin-bottom: 30px;
    }
    .section_title p{
        font-size: 16px;
    }
}
/* Home */
/* Home - Hero */
.hero{
    padding: 100px 0;
    background-image: url('../img/hero-min.jpg');
    background-size: cover;
    padding-top: 180px;
    background-position: center;
    min-height: 100vh;
    color: #fff;
    display: flex;
    align-items: center;
}
.hero_wrapper{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 0 20px;
}
.hero_wrapper_btns{
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}
.hero_button{
    color: #fff;
    background: #C93030;
    padding: 30px 30px;
    max-width: 320px;
    width: 100%;
    height: 60px;
    font-size: 18px;
    line-height: 1;
    font-weight: 500;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    border-radius: 5px;
}
.hero_button:hover{
    transform: scale(1.05);
}
.hero_title{
    font-size: 100px;
    line-height: 1;
    font-variation-settings: 'wght' 700, 'opsz' 100;
    text-align: center;
}
.hero_subtitle{
    font-size: 30px;
    margin-top: 30px;
    margin-bottom: 30px;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
    text-align: center;
}
.hero_lines{
    display: none;
    margin-top: 100px;
    margin-bottom: 100px;
}
.hero_lines img{
    width: 100%;
    height: auto;
}
.hero_lines_desk{
    display: block;
}
.hero_lines_mob{
    display: none;
}
.hero_ads{
    width: 100%;
    display: flex;
    gap: 20px;
    align-items: center;
    margin-top: 20px;
    justify-content: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.hero_ads_item{
    display: block;
    width: 100%;
    max-width: 300px;
}
.hero_ads_item img{
    width: 100%;
    height: 200px;
    display: block;
    background-color: #fff;
    border-radius: 5px;
    transition: transform 0.3s ease;
}
.hero_ads_item img:hover{
    transform: scale(1.05);
}
.hero_ads_title{
    font-size: 20px;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
    text-align: center;
    margin-top: 20px;
}
@media (max-width: 1024px) { 
    .hero_title{
        font-size: 80px;
    }
    .hero_subtitle{
        font-size: 24px;
    }
    .hero_lines_desk{
        display: none;
    }
    .hero_lines_mob{
        display: block;
    }
}
@media (max-width: 768px) { 
    .hero_title{
        font-size: 60px;
    }
    .hero_subtitle{
        font-size: 20px;
    }
    .hero{
        background-position: right;
    }

}
@media (max-width: 500px) { 
    .hero_title{
        font-size: 40px;
    }
    .hero_subtitle{
        font-size: 18px;
    }
}
/*  Home - Blog */
.blog{
    margin-bottom: 100px;
}
.blog_content{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}
.blog_item{
    display: flex;
    flex-direction: column;
    gap: 5px;
    transition: transform 0.3s ease;
}
.blog_item:hover{
    transform: translateY(-10px);
}
.blog_item_img{
    width: 100%;
    min-height: 310px;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 5px;
}
.blog_item_title{
    font-size: 20px;
    line-height: 1.5;
    font-variation-settings: 'wght' 500, 'opsz' 100;
}
.blog_item_date{
    font-size: 16px;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
}
/* Home - Banner */
.banner{
    background: url('../img/banner.jpg') no-repeat center center / cover;
    color: #fff;
    height: 450px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
}
.banner_title{
    font-size: 70px;
    line-height: 1;
    font-variation-settings: 'wght' 600, 'opsz' 100;
}
.banner_subtitle{
    font-size: 30px;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
}
.banner .hero_button{
  
}
.banner .hero_button:hover{

}
@media (max-width: 768px) {
    .banner{
        height: 350px;
    }
    .banner_title{
        font-size: 50px;
        text-align: center;
    }
    .banner_subtitle{
        font-size: 24px;
        text-align: center;
    }
}
/* Home - About */
.about_content{
    display: flex;
    gap: 80px;
    align-items: center;
}
.about_img{
    width: 50%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 5px;
}
.about_text{
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: start;
}
.about_text h3{
    font-size: 28px;
    line-height: 1.2;
    font-weight: 500;
    text-transform: uppercase;  
}
.about_text p{
    font-size: 17px;
    line-height: 1.5;
    font-weight: normal;
}
@media (max-width: 1124px) {
    .about_text{
        align-items: center;
    }
    .about_text h3{
        text-align: center;
    }
    .about_content{
        flex-direction: column-reverse;
        align-items: center;
        gap: 30px;
    }
    .about_img{
        width: 100%;
        max-width: 500px;
    }
}
@media (max-width: 700px) {
    .about_text h3{
        font-size: 20px;
    }
    .about_text p{
        font-size: 16px;
    }
}
/* Home - Team */
.team_content{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
}
.team_item{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    transition: transform 0.3s ease;
    cursor: pointer;
}
.team_item:hover{
    transform: translateY(-10px);
}
.team_item:hover .team_item_info_name{
    padding-bottom: 3px;
    border-bottom: 1px solid red;
}
.team_item img{
    width: 100%;
    height: 100%;
    max-height: 406px;
    display: block;
    object-fit: cover;
    border-radius: 5px;
}
@media (max-width: 700px) {
    .team_item img{
        /* width: unset; */
        object-fit: contain;
    }
}s
.team_item_info{
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.team_item_info_name{
    font-size: 20px;
    line-height: 1;
    font-variation-settings: 'wght' 600, 'opsz' 100;
    color: #000;
    border-bottom: 1px solid transparent;
    padding-bottom: 3px;
    transition: border-bottom 0.3s ease;
}
.team_item_info_position{
    font-size: 16px;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
    color: #9F9B9B;
}
.team_item_info_experience{
    font-size: 14px;
    line-height: 1;
    font-variation-settings: 'wght' 500, 'opsz' 100;
    color: red;
    text-transform: lowercase;
}
@media (max-width: 700px) {
    .team_item_info_name{
        font-size: 16px;
        text-align: center;
    }
    .team_item_info_position{
        font-size: 14px;
        text-align: center;
    }
    .team_item_info_experience{
        font-size: 12px;
        text-align: center;
    }
}
/* Home - Contact */
.contact_content{
    display: flex;
    gap: 50px;
}
.contact_content_left,
.contact_content_right{
    display: flex;
    flex-direction: column;

}
.contact_content_left{
    width: 60%;
    gap: 30px;
}
.contact_content_right{
    width: 40%;
    gap: 50px;
}
.contact_content h3{
    font-size: 30px;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
    text-transform: uppercase;
}
.contact_info{
    display: flex;
    flex-direction: column;

    gap: 35px;
}
.contact_info_item{
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.contact_info_item a{
    transition: color 0.3s ease, transform 0.3s ease;
}
.contact_info_item a:hover{
    color: #003F8C;
    transform: translateX(5px);
}
.contact_info_title{
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1;
    font-weight: 600;
    color: #C93030;
    font-variation-settings: 'wght' 600, 'opsz' 100;
}
.contact_info_link{
    font-size: 20px;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
}
.contant_form{
    width: 100%;
}
.contact_block{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.contact_row{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.contact_content_right input,
.contact_row textarea{
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #000;
}
.contact_row input:focus,
.contact_row input:focus-visible,
.contact_row textarea:focus,
.contact_row textarea:focus-visible{
    border: 1px solid #C93030!important;
    outline: none;
}
.contact_row input[type="submit"]{
    background-color: #C93030;
    color: #fff;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background-color 0.3s ease, border 0.3s ease;
    max-width: 200px;
    text-transform: uppercase;
}
.contact_row input[type="submit"]:hover{
    background-color: #a32828;
    border: 1px solid #fff;

}
.contact_social{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 5px;
}
.contact_social a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.contact_social a{
    transition: transform 0.3s ease;
}
.contact_social a:hover{
    transform: scale(1.1);
}
.contact_row p:has(input[type="submit"]){
    display: flex;
    justify-content: center;
}

.home_form{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    max-width: 600px;
}
.home_form_item p{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}
.home_form_item.sub p{
    display: flex;
    align-items: center;
    gap: 10px;
}
.home_form_item p input,
.home_form_item p textarea{
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #000;
    transition: border 0.3s ease;
    resize: none;
}
.home_form_item p input:focus,
.home_form_item p input:focus-visible,
.home_form_item p textarea:focus,
.home_form_item p textarea:focus-visible{
    border: 1px solid #C93030!important;
    outline: none;
}
.home_form_item p input[type="submit"]{
    background-color: #C93030;
    color: #fff;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background-color 0.3s ease, border 0.3s ease;
    max-width: 200px;
    text-transform: uppercase;
}
.home_form_row{
    display: flex;
    /* flex-direction: column; */
    gap: 10px;
}

@media (max-width: 768px) {
    .contact_content_left h3{
        text-align: center;
        font-size: 24px;
    }
    .home_form_row{
        flex-direction: column;
    }
    .contact_content_right{
        gap: 30px;
    }
    .contact_content{
        flex-direction: column-reverse;
        align-items: center;
        gap: 30px;
    }
    .contact_content_left,
    .contact_content_right{
        width: 100%;
    }
    .contact_content_right h3{
        display: none;
    }
}
/* Services */
.services{
    margin-bottom: 100px;
}
.services_wrapper{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.services_wrapper_col{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.services_item{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.services_item_head{
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px 30px;
    background-color: #F1F1F1;
    border-top: 1px solid #000;
    min-height: 130px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.services_item_head:hover{
    background-color: #E1E1E1;
}
.services_item_head h3{
    font-size: 20px;
    line-height: 1;
    font-variation-settings: 'wght' 600, 'opsz' 100;
}
.services_item_body{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap:10px;
    row-gap: 10px;
}
.services_item_sub{
    background-color: #F4F4F4;
    padding: 15px 30px;
    border-top: 1px solid red;
    font-size: 18px;
    line-height: 1;
    font-variation-settings: 'wght' 500, 'opsz' 100;
}
@media (max-width: 700px) {
    .services_wrapper{
        grid-template-columns: repeat(1, 1fr);
        gap: 10px;
    }
}
/* Contact */



.accordion {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.accordion-item-link,
.accordion-item {
    border-top: 3px solid rgba(0, 0, 0, 0.78);
}
.accordion-item-link:last-child,
.accordion-item:last-child {
    border-bottom: none;
}

.accordion-header {
    padding: 20px 30px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    background-color: #f7f7f7;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.accordion-header h3{
font-size: 20px;
text-transform: uppercase;
line-height: 1;
font-variation-settings: 'wght' 600, 'opsz' 100;
}
.accordion-item p{
font-size: 16px;
line-height: 1;
font-variation-settings: 'wght' 400, 'opsz' 100;
}

.accordion-header:hover{
background-color: #eaeaea;
}

.accordion-content {
max-height: 0;
overflow: hidden;
padding: 0;
background-color: #fff;
transition: max-height 0.4s ease, padding 0.4s ease;
display: grid;
grid-template-columns: repeat(2, 1fr);
column-gap: 10px;
row-gap: 10px;
margin-top: 10px;
}

.accordion-content p {
margin: 15px 0;
}

input[type="checkbox"] {
display: none;
}

input[type="checkbox"]:checked ~ .accordion-content {
max-height: 200px;
/* padding: 15px; */
}
.accordion-content_link{
    display: flex;
    align-items: center;
    justify-content: center;
padding: 10px 30px;
background-color: #F1F1F1;
/* display: block;
text-align: center; */
border-top: 1px solid red;
font-size: 18px;
line-height: 1;
font-variation-settings: 'wght' 500, 'opsz' 100;
transition: background-color 0.3s ease;
}
.accordion-content_link:hover{
background-color: #E1E1E1;
}


.accordion-item-link .accordion-header{
    margin-bottom: 10px;
}
.accordion-item-link .accordion-header{
    gap: 6px;
}
/* Popup */
.popup_price,
.popup{
    position: fixed;
    padding: 20px;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}
.popup_box{
    width: 100%;
    max-width: 650px;
    background-color: #fff;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
.popup_price_box_close,
.popup_box_close{
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.popup_box_left{
    width: 100%;
    height: 450px;
}
.popup_box_left img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.popup_box_right{
    width: 100%;
    height: 450px;
    background-color: #fff;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.popup_box_form{
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 10px;
}
.popup_box_form input{
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #000;
}
.popup_box_button{
    background-color: #C93030;
    color: #fff;
    cursor: pointer;
    border: 1px solid transparent;
    padding: 10px;
    border-radius: 5px;
    text-transform: uppercase;
    transition: background-color 0.3s ease, border 0.3s ease;
}
.popup_box_button:hover{
    background-color: #a32828;
    border: 1px solid #fff;
}
.popup_price h2,
.popup h2{
    font-size: 20px;
    line-height: 1.4;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
}
@media (max-width: 700px) {
    .popup_box{
        grid-template-columns: repeat(1, 1fr);
        padding: 35px 20px;
    }
    .popup_box_left{
        display: none;
    }
    .popup_box_right{
        height: auto;
    }
    .popup{
        padding: 20px;
    }
}


.side_menu{
    overflow-y: auto;
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    max-width: 300px;
    height: 100%;
    background-color: #fff;
    z-index: 3000;
    /* border-right: 1px solid #000; */
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);

    transition: left 0.3s ease;
    display: flex;
    /* display: none; */
    flex-direction: column;
    scrollbar-width: thin; /* Устанавливает тонкий скроллбар */
    scrollbar-color: #c4c4c4 #f1f1f1; /* Цвет ползунка и дорожки соответственно */
}

/* Стили для браузеров на основе WebKit */
.side_menu::-webkit-scrollbar {
    width: 8px; /* Ширина вертикального скроллбара */
    height: 8px; /* Высота горизонтального скроллбара */
  }
  
  .side_menu::-webkit-scrollbar-track {
    background: #f1f1f1; /* Цвет дорожки скроллбара */
  }
  
  .side_menu::-webkit-scrollbar-thumb {
    background-color: #c4c4c4; /* Цвет ползунка скроллбара */
    border-radius: 4px; /* Закругление углов ползунка */
    border: 2px solid #f1f1f1; /* Отступ между ползунком и дорожкой */
  }
  
  .side_menu::-webkit-scrollbar-thumb:hover {
    background-color: #8f8f8f; /* Цвет ползунка при наведении */
  }
.mobile_side_menu{
    overflow-y: scroll;
    position: fixed;
    top: 0;
    left: -110%;
    width: 100%;
    max-width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 3000;
    transition: left 0.3s ease;
    display: flex;
    flex-direction: column;
    scrollbar-width: thin; 
    scrollbar-color: #c4c4c4 #f1f1f1; 
}
.mobile_side_menu.mobile_side_menu_open,
.side_menu.side_menu_open{
    left: 0;
}
.side_chevron{
    transition: transform 0.3s ease;
}
.side_chevron_open{
    transform: rotate(180deg);
}
.mobile_side_menu_header{
    border-bottom: 1px solid #0000001f;
    padding: 30px 28px;
    position: relative;
}
.mobile_side_menu_header_close{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;

}
.mobile_side_menu_header_close svg{
    width: 30px;
    height: 30px;
}   
.mobile_side_menu_header h2{
    font-size: 20px;
    line-height: 1;
    font-variation-settings: 'wght' 600, 'opsz' 100;
    text-transform: uppercase;
    text-align: center;
}
.side_menu h2{
    border-bottom: 1px solid #0000001f;
    padding: 30px 28px;
    font-size: 20px;
    line-height: 1;
    font-variation-settings: 'wght' 600, 'opsz' 100;
    text-transform: uppercase;
    text-align: center;
}
.side_menu_nav{
    display: flex;
    flex-direction: column;
    z-index: 5000;
}
.side_menu_nav_link{
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 100px;
    justify-content: center;
    padding:20px 30px;
    border-bottom: 1px solid #0000001f;
    transition: background-color 0.3s ease;
}
.side_menu_nav_link:hover{
    background-color: #f1f1f1;
}
.side_menu_nav_link span{
    font-size: 18px;
    line-height: 1;
    font-variation-settings: 'wght' 600, 'opsz' 100;
    text-transform: uppercase;
}
.side_menu_nav_link p{
    font-size: 14px;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
}

.side_menu_all_services_link{

    border-radius: 10px;
    padding: 10px 20px;
    background-color: #C93030;
    color: #fff;
    margin: 0 auto;
    margin-top: 10px;
    display: block;
    text-align: center;
}


.children_menu{
    padding-top: 81px;
    position: fixed;
    top: 0px;
    left: 300px;
    width: 100%;
    max-width: 300px;
    height: 100%;
    background-color: #fff;
    z-index: 1000;
    display: none;
    box-shadow: 5px 0px 7px 0px rgba(0, 0, 0, 0.1);
    /* display: flex; */
    flex-direction: column;
}
.children_menu.children_menu_open{
    display: flex;
}

.children_menu_link:first-child{
    border-top: 1px solid #0000001f;
}
.children_menu_link{
    display: flex;
    align-items: center;
    height: 100px;
    padding: 30px 30px;
    border-bottom: 1px solid #0000001f;
    transition: background-color 0.3s ease;
}
.children_menu_link:hover{
    background-color: #f1f1f1;
}




/* Conatct page */
 .hero{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
 }
.page_hero{
    background: url('../img/contact_bg.jpg') no-repeat center center;
    margin-top: 50px;
    background-size: cover;
    height: 350px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 25px;
    padding-top: 25px;
}
.page_hero p{
    font-size: 20px;
    text-align: center;
    color: #fff;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
}
.bread{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    /* padding: 0px 20px; */
}
.bread_link{
    font-size: 15px;
    color: #fff;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
    text-transform: uppercase;
}
.bread_current{
    font-size: 15px;
    line-height: 20px;
    color: #8BBFFF;
    font-variation-settings: 'wght' 400, 'opsz' 100;
    text-transform: uppercase;
}

.page_hero_title{
    font-size: 50px;
    color: #fff;
    line-height: 1;
    font-variation-settings: 'wght' 600, 'opsz' 100;
    text-transform: uppercase;
    text-align: center;
}
.contact_page_contact_info{
    padding-top: 50px;
    padding-bottom: 100px;
}
.contact_info_wrapper{
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.contact_info_top{
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}
.contact_info_top_title{
    font-size: 33px;
    text-align: center;
    color: #000;
    line-height: 1;
    font-variation-settings: 'wght' 600, 'opsz' 100;
    text-transform: uppercase;
}
.contact_info_top_text{
    max-width: 500px;
    font-size: 15px;
    line-height: 1.4;
    text-align: center;
    color: #7D7D7D;
    /* line-height: 1; */
    font-variation-settings: 'wght' 400, 'opsz' 100;
}
.contact_info_bottom{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 35px;
}
.contact_info_bottom_item{
    display: flex;
    justify-content: center;
    gap: 25px;
    border: 1px solid #0170F9;
    border-radius: 10px;
    padding: 20px;
    align-items: center;
}
.contact_info_bottom_item img{
    width: 56px;
    height: 56px;
    display: block;
    object-fit: cover;
}
.contact_info_bottom_item_text{
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.contact_info_bottom_item_text_title{
    font-size: 20px;
    color: #000;
    line-height: 1;
    font-variation-settings: 'wght' 600, 'opsz' 100;
    text-transform: uppercase;
}
.contact_info_bottom_item_text_box{
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.contact_info_bottom_item_text_box p{
    font-size: 15px;
    color: #000;    
    line-height: 1.4;
    font-weight: 300;
}
.contact_info_bottom_item_text_box a{
     color:#0170F9;
}
.contact_page{
    margin-bottom: 150px;
}
.contact_content_right_map{
    border-radius: 10px;
    overflow: hidden;   
}
.contact_page .contact_content_left,
.contact_page .contact_content_right{
    width: 50%;
}
@media (max-width: 700px) {
    .home_form_item.subm p {
        display: flex;
        align-items: center;
    }
    .contact_info_top_title{
        line-height: 1.2;
        max-width: 300px;
        font-size: 25px;
    }
    .contact_info_top_text{
        font-size: 14px;
    }
    .contact_info_bottom{
        gap: 20px;
    }
    .contact_page .contact_content_left,
    .contact_page .contact_content_right{
        width: 100%;
    }
    .contact_page_contact_info{
        padding-bottom: 50px;
    }
    .contact_page{
        margin-bottom: 50px;
    }
    .page_hero{
        height: 350px; 
        padding-top: 25px;
    }
    .page_hero_title{
        font-size: 30px;
    }
    .page_hero p{
        font-size: 15px;
    }
}



/* About page */
.about_defines{
    padding-top: 50px;
    /* padding-bottom: 100px; */
}
.about_defines_wrapper{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap:80px;
}
.about_defines_wrapper h2{
    font-size: 33px;
    text-align: center;
    color: #000;
    line-height: 1;
    font-variation-settings: 'wght' 600, 'opsz' 100;
    text-transform: uppercase;
}
.about_defines_content{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 35px;
    row-gap: 50px;
}
.about_defines_content_item{
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
}
.about_defines_content_item img{
    width: 56px;
    height: 56px;
    display: block;
    object-fit: cover;
}
.about_defines_content_item h3{
    font-size: 20px;
    color: #000;
    line-height: 1;
    font-variation-settings: 'wght' 600, 'opsz' 100;
    text-transform: uppercase;
}
.about_defines_content_item p{
    font-size: 15px;
    color: #000;
    line-height: 1;
    font-variation-settings: 'wght' 400, 'opsz' 100;
}

.about_text.about_page_text{
    padding-top: 100px;
    padding-bottom: 50px;
}
.about_text_wrapper{
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.about_text_wrapper h3{
    font-size: 24px;
    text-align: center;
    color: #000;
    line-height: 1;
    font-weight: 600;
    text-transform: uppercase;
}
.about_text_title{
    font-size: 33px;
    text-align: center;
    color: #000;
    line-height: 1;
    font-variation-settings: 'wght' 600, 'opsz' 100;
    text-transform: uppercase;
}
.about_text_text{
    font-size: 15px;
    text-align: center;
    color: #000;
    line-height: 1;
    font-weight: normal;
}
.about_text_text strong{
    font-weight: 600!important;
}
@media (max-width: 700px) {
    .page_hero.about_page{
        height: 350px;
    }
    .about_text{
        padding-top:50px;
        padding-bottom: 50px;
    }
    .about_text_wrapper h3{
        font-size: 20px;
    }

}
.services_contact{
    margin-bottom: 100px;
}

.mobile_nav{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    z-index: 2000;
    display: none;
    flex-direction: column;
    justify-content: space-between;
}
.mobile_nav.mobile_nav_open{
    display: flex;
}
.mobile_nav_top{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #959595;
}
.mobile_nav_top h2{
    font-size: 20px;
    color: #000;
    font-weight: 600;
}   
.mobile_nav_top_close{
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.mobile_nav_content{
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.mobile_nav_content_item_link{
    font-size: 20px;
    color: #000;
    font-weight: 600;
    width: 100%;
    padding: 10px 20px;
    border-radius: 67x;
    background-color: #f1f1f1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mobile_nav_header{
    display: flex;
    flex-direction: column;
}
.mobile_nav_footer{
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
}
.mobile_nav_footer_link{
    font-size: 20px;
    color: #000;
    font-weight: 600;
    width: 100%;
    padding: 10px 20px;
    border-radius: 67x;
    background-color: #f1f1f1;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media (max-width: 700px) {
    .header_login{
        display: none;
    }
}
#lang_btn{
    display: block;
}
.body_lock{
    overflow: hidden;
}
.mobile_nav_content_item_serv{
    position: relative;
    width: 100%;
}
.mobile_nav_content_item_serv_arr{
    position: absolute;
    top :0;
    right: 0;
    width: 50px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mobile_nav_content_item_serv_arr svg{
    width: 20px;
    height: 20px;
}
.wpcf7 form .wpcf7-response-output{
    margin: 0!important;
}
.wpcf7-response-output{
    text-align: center;
}
.hero_download{
    display: none;
}
.hero_download.active{
    display: flex;

}