header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
}
.header_top{
    padding: 20px 0px;
    background: #fff;
}
.logo h2{
    line-height: 1;
    font-size: 32px;
    font-weight: 700;
    font-style: italic;
    margin: 0;
}
.logo p{
    font-size: 14px;
    width: 170px;
}
.logo span{
    width: 1px;
    height: 34px;
    display: block;
    background: var(--gray);
}
.header_phone p, .header_mail p{
    font-size: 14px;
    line-height: 1;
}
.header_phone a, .header_mail a{
    font-size: 18px;
    font-weight: 700;
}
.header_bottom{
    padding: 20px 0px;
    background: var(--light-gray);
}
.nav{
    padding: 0;
}
.nav li{
    list-style: none;
}

/* main */
#main{
    position: relative;
    overflow: hidden;
    height: 700px;
}
#main .container{
    position: relative;
    z-index: 2;
    height: 100%;
}
#main h1{
    max-width: 580px;
}
#main p{
    font-size: 20px;
    max-width: 580px;
}
.main_img{
    width: 45%;
    position: relative;
    height: 100%;
}
.main_img img{
    height: 105%;
    position: absolute;
    left: 0;
    bottom: 0;
}
.main_text{
    width: 50%;
}
.main_row{
    width: 100%;
}
.main_div{
    padding: 20px;
    border-radius: 8px;
    background: var(--main);
    width: calc(33% - 10px);
}
.main_div p{
    color: #fff;
}
.main_div img{
    filter: grayscale(1) brightness(1000);
}
.main_div:nth-child(2n){
    background: var(--light-gray);
    border: 1px solid var(--gray);
}
.main_div:nth-child(2n) p{
    color: #000;
}
.main_div:nth-child(2n) img{
    filter: grayscale(0) brightness(1);
}
.bg_main{
    position: absolute;
    bottom: 0;
    right: -100px;
    width: auto;
    height: 100%;
    z-index: 1;
}

/* about */
#about h2{
    margin-bottom: 25px;
}
.about_container{
    border-radius: 8px;
    padding: 30px 24px;
    background: var(--light-gray);
    border: 1px solid var(--gray);
}
.about_container h3{
    color: var(--main);
}
.about_img{
    width: 40%;
    height: auto;
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: 8px;
}
.about_img img{
    height: 100%;
    object-fit: cover;
}
.about_text{
    width: 50%;
}

/* uslugi */
.uslugi_div{
    border-radius: 8px;
    background: var(--light-gray);
    border: 1px solid var(--gray);
    width: 45%;
    flex-grow: 1;
    padding: 30px 24px;
    height: auto;
    transition: .3s;
}
.uslugi_div:hover{
    background: #fff;
}
.uslugi_div img{
    height: 44px;
    width: auto;
    aspect-ratio: 1/1;
}
.uslugi_div h3 span{
    color: var(--main);
}

/* preim */
.preim_div{
    border-radius: 8px;
    background: var(--main);
    border: 1px solid var(--main);
    padding: 30px 24px;
    width: 30%;
    flex-grow: 1;
    height: 260px;
    position: relative;
    overflow: hidden;
}
.preim_div p{
    color: #fff;
}
.preim_div p.numb{
    font-size: 128px;
    line-height: 1;
    font-weight: 700;
    font-style: italic;
    position: absolute;
    line-height: 1;
    bottom: -20px;
    right: 20px;
}
.preim_div:nth-child(2){
    background: var(--light-gray);
    border: 1px solid var(--gray);
}
.preim_div:nth-child(2) p{
    color: var(--main);
}

/* zayavka */
#zayavka .container{
    position: relative;
    border-radius: 8px;
    padding: 100px 120px;
    background-image: url('../img/bg_zayavka.svg');
    overflow: hidden;
    border: 1px solid var(--gray);
    background-size: cover;
}
#zayavka .container img{
    position: absolute;
    right: 0;
}
.zayavka_text{
    width: 55%;
    color: #fff;
}
#zayavka h2{
    margin-bottom: 0px;
}
#zayavka .btn_main_border, #zayavka a.btn_main_border,
footer .btn_main_border, footer a.btn_main_border{
    color: #fff;
    border: 1px solid #fff;
}
#zayavka input, #zayavka button{
    width: calc(33% - 10px);
    height: auto;
}

/* faq */
#faq h2{
    margin: 0;
    width: 30%;
}
.faq_row{
    width: 60%;
}
.faq_div{
    border-radius: 8px;
    background: var(--light-gray);
    border: 1px solid var(--gray);
    width: 100%;
}
.faq_div_header{
    padding: 15px 20px;
    width: 100%;
    cursor: pointer;
}
.faq_div_header p{
    font-size: 18px;
    font-weight: 700;
}
.faq_div_header img{
    height: 28px;
}
.faq_text{
    padding: 15px 20px;
}

/* how_we_work */
.how_div{
    border-radius: 8px;
    background: var(--light-gray);
    border: 1px solid var(--gray);
    padding: 30px 24px;
    width: calc(33% - 10px);
    height: 260px;
    position: relative;
    overflow: hidden;
}
#how_we_work h2{
    width: 100%;
    text-align: center;
}
.how_div p.numb{
    font-size: 96px;
    line-height: 1;
    font-weight: 700;
    font-style: italic;
    position: absolute;
    bottom: 0px;
    right: 20px;
    color: #fff;
    z-index: 2;
}
.how_div::before{
    position: absolute;
    z-index: 1;
    bottom: 0;
    right: 0;
    content: "";
    display: block;
    width: 260px;
    height: 100px;
    background-image: url('../img/how_bg.svg');
}

/* cont */
#cont{
    position: relative;
    padding: 120px 0px;
    margin-top: 120px;
}
#cont iframe{
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
}
.cont_container{
    position: relative;
    z-index: 2;
    padding: 30px 24px;
    border-radius: 8px;
    background: var(--light-gray);
    border: 1px solid var(--gray);
    width: 440px;
}
.cont_div p:first-child{
    font-size: 15px;
}
.cont_div p:last-child,
.cont_div a{
    font-size: 18px;
    font-weight: 700;
}
.cont_container h2{
    margin-bottom: 10px;
}

/* footer */
footer{
    padding: 30px 0px;
    background: var(--main);
}
footer a, footer p{
    color: #fff;
}
footer a:hover{
    color: var(--light-gray);
}

/* modal */
.modal{
    position: fixed;
    top: 0;
    left: 0;
    padding: 20px;
    width: 100%;
    height: 100%;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    background: #000000cb;
}
.modal_active{
    display: flex;
}
.modal_content{
    background: #fff;
    border-radius: 8px;
    padding: 40px 30px;
    position: relative;
    max-width: 480px;
}
.modal_content_about{
    max-height: 80vh;
    overflow-y: auto;
}
img.toggle_modal, img.toggle_modal_about{
    position: absolute;
    top: 15px;
    right: 15px;
    height: 34px;
}
.toggle_modal, .toggle_modal_about{
    cursor: pointer;
}
.modal_title{
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    max-width: 90%;
}

/* page */
#page{
    padding-bottom: 80px;
}
#page h3{
    margin: 20px 0px 10px 0px;
    font-size: 20px;
}

/* dn */
.burger, .secret_menu, .map_mobile{
    display: none;
}