@charset "utf-8";
@import url("reset.css");


img, object, embed, video { max-width: 100%; }

/* IE 6 does not support max-width so default to width 100% */
.ie6 img { width:100%; }

input, button, a { -webkit-transition: all 300ms; transition: all 300ms; }


html, body { font-family: "Nunito", sans-serif; background: #fff; padding: 0; margin: 0; font-size: 10px; line-height: 1.2; }
.container { max-width: 114rem; padding: 0 1.5rem; margin: 0 auto; }
input, button, textarea { font-family: "Nunito", sans-serif; }


.header { padding: 3rem 0 3.5rem; background: #101614; position: relative; z-index: 100; /*position: fixed; left: 0; top: 0; width: 100%; z-index: 100;*/ }
    .h_row { display: flex; align-items: center; justify-content: space-between; }
        .h_left { display: flex; align-items: center; }
            .h_logo { width: 18.6rem; margin: 0 0 0 1rem; }
                .h_logo img { width: 100%; }
            .h_contacts { display: flex; flex-direction: column; justify-content: center; min-height: 10rem; border-left: 2px solid #174a30; margin: 0 0 0 2.4rem; padding: 0 0 0 2.4rem; font-size: 1.8rem; line-height: 3rem; color: #fff; }
                .h_contacts a { text-decoration: none; color: #fff; }
        .h_nav_mob_btn { display: none; }
        .h_nav { padding: 0; margin: 0; }
            .h_nav_mob_bottom { display: none; }
            .h_nav ul { list-style: none; display: flex; align-items: center; padding: 0; margin: 0; }
                .h_nav ul li { padding: 0; margin: 0; font-size: 1.8rem; color: #fff; }
                    .h_nav ul li a { text-decoration: none; color: #fff; padding: 1.2rem 2.2rem; position: relative; }
                        .h_nav ul li a:after { content: ''; position: absolute; left: 0; bottom: 0; right: 0; height: 3px; background: #174a30; opacity: 0; -webkit-transition: all 300ms; transition: all 300ms; }
                        .h_nav ul li a:hover:after, .h_nav ul li.current-menu-item a:after { opacity: 1; }


.footer { background: #121414; padding: 4.7rem 0 10rem; }


.main { min-height: calc(100vh - 16.5rem - 24.7rem); }


.main_b1 { background: url(../img/bg1_new.jpg) no-repeat top center; background-size: cover; padding: 4.2rem 0 17rem; }
    .main_b1_sub_title { font-size: 1.8rem; color: #fff; margin: 0 0 2.6rem; }
    .main_b1_title { font-size: 4rem; font-weight: 400; color: #fff; text-transform: uppercase; margin: 0 0 2.2rem; max-width: 94.6rem; }
    .main_b1_logo { margin: 0 0 4rem; display: flex; flex-wrap: wrap; gap: 2.5rem; }
        .main_b1_logo img { height: 3.6rem; width: 3.6rem; object-fit: cover; object-position: center; border-radius: 50%; overflow: hidden; }
    .main_b1_desc { max-width: 61.8rem; line-height: 1.333; font-size: 1.8rem; color: #fff; font-weight: 200; }


.main_b2 { margin: 0 0 4.6rem; }
    .main_b2_list { margin: -13rem -5.8rem 0; padding: 6.2rem 5.8rem 9.4rem; display: flex; gap: 3rem; background: #0d2f1d; border-radius: 2.5rem; }
        .main_b2_item { flex: 1; font-weight: 200; color: #cacaca; font-size: 1.8rem; line-height: 1.3333; padding: 0 5rem 0 0; }
        .main_b2_item:first-child { padding-right: 9.7rem; }
            .main_b2_item b { font-weight: 400; color: #fff; }


.main_b3 { margin: 0 0 9.9rem; }
    .main_b3_title { max-width: 70rem; margin: 0 0 5.5rem; font-weight: 400; font-size: 4.8rem; color: #131714; text-transform: uppercase; }
    .main_b3_list { padding: 0; margin: 0; }
        .main_b3_item { display: flex; align-items: center; gap: 3rem; }
        .main_b3_item:nth-child(2n) { flex-direction: row-reverse; justify-content: flex-end; }
            .main_b3_item_img { width: 42rem; height: 42rem; border-radius: 50%; overflow: hidden; position: relative; margin: 0 6.7rem; }
            .main_b3_item:nth-child(2n) .main_b3_item_img { margin: 0; }
                .main_b3_item_img img { width: 100%; height: 100%; position: absolute; left: 0; top: 0; object-fit: cover; object-position: center; }
            .main_b3_item_content { width: 100%; max-width: 42rem; margin: 0; }
            .main_b3_item:nth-child(2n) .main_b3_item_content { margin: 0 6.7rem; }
            .main_b3_item:nth-child(1) .main_b3_item_content { max-width: 45rem; }
                .main_b3_item_title { margin: 0 0 4rem; padding: 0 0 0 6.9rem; font-size: 2.4rem; color: #131714; line-height: 1; position: relative; font-weight: 500; max-width: 29.2rem; }
                    .main_b3_item_title:before { content: ''; position: absolute; left: 0; top: 0.3rem; width: 4.2rem; height: 4.2rem; box-sizing: border-box; border: 0.9rem solid #0d2f1d; border-radius: 50%; }
                .main_b3_item_text { font-size: 1.8rem; line-height: 1.3333; color: #131714; }
                    .main_b3_item_text p { margin: 0; padding: 0; }
                    .main_b3_item_text p b, .main_b3_item_text p strong, .main_b3_item_text h3 { font-weight: 700; }
                    .main_b3_item_text ul { list-style: none; }
                        .main_b3_item_text ul li:before { content: "•"; font-weight: 500; margin: 0 1rem 0 0; display: inline-block; }


.main_form { padding: 7.9rem 0 9.5rem; background: url(../img/bg_form.jpg) no-repeat center center; background-size: cover; }
    .main_form_row { display: flex; align-items: center; gap: 3rem; }
        .main_form_top { width: calc(50% - 1.5rem); }
            .main_form_top_title { font-size: 4.8rem; color: #fff; text-transform: uppercase; margin: 0 0 3.5rem; }
            .main_form_top_desc { font-size: 2.4rem; color: #fff; }
        .main_form_content { width: calc(50% - 1.5rem); }
            .main_form_input { margin: 0 0 4.3rem; }
                .main_form_input input { width: 100%; height: 7rem; box-sizing: border-box; padding: 2.2rem 2.4rem; border-radius: 1rem; background: #fff; border: 1px solid transparent; outline: none; font-size: 1.8rem; line-height: 2.4rem; color: #494949; }
                .main_form_input input.wpcf7-not-valid { border-color: #f00; }
                ::placeholder { color: #494949; }
                ::-webkit-input-placeholder { color: #494949; }
                ::-moz-placeholder { color: #494949; }
                :-moz-placeholder { color: #494949; }
                :-ms-input-placeholder { color: #494949; }
                .main_form_input textarea { width: 100%; height: 14.7rem; box-sizing: border-box; padding: 2.2rem 2.4rem; font-weight: 300; font-style: italic; border-radius: 1rem; background: #fff; border: 1px solid transparent; outline: none; font-size: 1.8rem; line-height: 2.4rem; color: #494949; resize: none; }
            .main_form_file { margin: -2.3rem 0 3rem; display: flex; justify-content: flex-end; }
                .main_form_file label { cursor: pointer; font-size: 1.8rem; color: #fff; text-decoration: underline; -webkit-transition: all 300ms; transition: all 300ms; }
                    .main_form_file label input { display: none; }
                .main_form_file label:hover { color: #6cbf54; }
            .main_form_btn { padding: 0; margin: 0; }
                .main_form_btn button, .main_form_btn input { width: 100%; height: 7rem; cursor: pointer; border: none; outline: none; border-radius: 1rem; font-size: 2.4rem; color: #fff; background: #174a30; }
                .main_form_btn button:hover, .main_form_btn input:hover { background: #00371a; }

.main_form .wpcf7-response-output { display: none; padding: 1.5rem; color: #fff; font-size: 1.8rem; }
.main_form .wpcf7 form.invalid .wpcf7-response-output { display: none; }


.about_top { padding: 5rem 0 7rem; background: #101614; margin: 0 0 6.3rem; }
    .about_top_title { font-size: 4.8rem; color: #fff; font-weight: 400; text-transform: uppercase; margin: 0 0 4.5rem; }
    .about_top_text { max-width: 107.4rem; font-size: 1.8rem; color: #fff; font-weight: 200; }


.about_b1 { margin: 0; }
    .about_b1_list { display: flex; flex-wrap: wrap; margin: 0 -1.5rem; }
        .about_b1_item { width: calc(50% - 3rem); margin: 0 1.5rem 10rem; box-sizing: border-box; position: relative; padding-left: 9.9rem; padding-right: 6.7rem; font-size: 1.8rem; color: #131714; }
        .about_b1_item:before { content: ''; position: absolute; left: 0; top: 0; width: 4.3rem; height: 4.2rem; background: url(../img/about_ico_list.png) no-repeat center center; background-size: contain; }


.about_b2 { margin: 0 0 8.5rem; font-size: 1.8rem; color: #131714; }
    .about_b2 h2 { font-size: 4.8rem; font-weight: 400; text-transform: uppercase; color: #000; margin: 0 0 2.4rem; }
    .about_b2 p { margin: 0; padding: 0; }
        .about_b2 strong, .about_b2 b { font-weight: 700; }
        .about_b2 a { text-decoration: none; color: #000; }


.page_services { padding: 4rem 0 3.7rem; }
    .page_services_title { margin: 0 0 5.4rem; font-size: 4.8rem; color: #12181a; font-weight: 700; text-transform: uppercase; }
    .page_services_list { display: flex; gap: 3rem; }
        .page_services_row { width: calc(50% - 1.5rem); }
            .page_services_item { margin: 0 0 4.32rem 6.9rem; max-width: 32.2rem; }
                .page_services_item a { text-decoration: underline; font-size: 1.8rem; color: #000; position: relative; display: inline-block; }
                .page_services_item a:hover { color: #6cbf54; }
                .page_services_item a:before { content: ''; position: absolute; left: -4.2rem; top: 0.1rem; width: 2.1rem; height: 2.1rem; background: url(../img/ico_services_list.png) no-repeat center center; background-size: contain; }


.page_service { padding: 4.5rem 0 8.5rem; }
    .service_breadcrumbs { margin: 0 0 4.5rem; font-size: 1.8rem; color: #707070; }
        .service_breadcrumbs a { text-decoration: none; color: #707070; }
        .service_breadcrumbs a:hover { color: #6cbf54; }
    .page_service_row { display: flex; gap: 6.8rem; }
        .page_service_img { width: 34.2%; }
            .page_service_img img { width: 100%; height: auto; border-radius: 1rem; }
        .page_service_content { flex: 1; }
            .page_service_title { font-size: 4.8rem; margin: 0 0 3.4rem; color: #12181a; font-weight: 700; text-transform: uppercase; }
            .page_service_title.small { font-size: 2.4rem; text-transform: none; }
            .page_service_text { font-size: 1.8rem; color: #000; margin: 0 0 3.2rem; }
                .page_service_text p { margin: 0; padding: 0; }
            .page_service_share { display: flex; justify-content: flex-end; }
                .page_service_share .ya-share2__container_size_m .ya-share2__badge .ya-share2__icon { width: 3rem; height: 3rem; background-size: 2.2rem 2.2rem; background-position: center; background-repeat: no-repeat; }
                .page_service_share .ya-share2__container_size_m .ya-share2__item_copy .ya-share2__icon_copy, .page_service_share .ya-share2__container_size_m .ya-share2__item_more .ya-share2__icon_more { background-size: 1.6rem 1.6rem; }


.reviews_b1 { padding: 4.2rem 0; }
    .reviews_b1_title { margin: 0 0 6.8rem; font-size: 4.8rem; color: #12181a; font-weight: 700; text-transform: uppercase; }
    .reviews_carousel { padding: 0 4.2rem; box-sizing: border-box; }
        .reviews_carousel_item { padding: 0 3.5rem 0 5.2rem; display: flex; }
            .reviews_carousel_item_img { width: 16.3rem; }
                .reviews_carousel_item_img img { width: 100%; border-radius: 50%; }
            .reviews_carousel_item_info { width: calc(100% - 16.3rem - 3.2rem); margin: 0 0 0 3.2rem; font-size: 1.8rem; color: #12181a; }
                .reviews_carousel_item_name { margin: 0 0 2.2rem; font-weight: 700; }
                .reviews_carousel_item_desc { margin: 0 0 2.2rem; color: #707070; }
        .owl-prev, .owl-next { width: 1.5rem; height: 2.8rem; position: absolute; left: 0; top: 9.2rem; border: none; outline: none; background: url(../img/arrow_prev.png) no-repeat center center; background-size: contain; }
        .owl-next { background-image: url(../img/arrow_next.png); left: auto; right: 0; }
        .owl-prev:hover, .owl-next:hover { opacity: 0.7; }


.reviews_b2 { background: #121414; padding: 4.4rem 0 1.4rem; }
    .reviews_b2_title { font-size: 4.8rem; color: #fff; font-weight: 700; text-transform: uppercase; max-width: 78.1rem; margin: 0 0 5.2rem; }
    .reviews_b2_list { margin: 0 -1.5rem; display: flex; flex-wrap: wrap; }
        .reviews_b2_item { width: calc(25% - 3rem); margin: 0 1.5rem 3rem; }
            .reviews_b2_item img { width: 100%; }


.contacts_top { padding: 5rem 0 6.4rem; background: #101614; }
    .contacts_top_title { font-size: 4.8rem; color: #fff; font-weight: 400; text-transform: uppercase; margin: 0 0 4.6rem; }
    .contacts_top_row { display: flex; gap: 3rem; }
        .contacts_top_item { flex: 1; }
            .contacts_top_item a { display: flex; gap: 3.2rem; text-decoration: none; color: #fff; align-items: center; font-size: 3rem; font-weight: 200; }
                .contacts_top_item a i { font-size: 0; line-height: 0; width: 9.9rem; }
                    .contacts_top_item a i img { width: 100%; }


.contacts_bottom { padding: 4rem 0 8rem; }
    .contacts_bottom_desc { font-weight: 300; font-style: italic; color: #707070; font-size: 1.6rem; }
    .contacts_bottom_title { font-size: 2.4rem; color: #000; margin: 0 0 4.2rem; }
    .contacts_bottom_map { width: 100%; height: 59.4rem; }


.modal { width: 90%; max-width: 90rem; padding: 3rem; text-align: center; }
    .popup-title { font-size: 4.8rem; color: #12181a; font-weight: 700; text-transform: uppercase; margin: 0 0 1.5rem; }
    .popup-subtitle { font-size: 2.4rem; color: #000; }




@media only screen and (max-width: 1699px) {
    
    html { font-size: 8.6px; }
    
}

@media only screen and (max-width: 1499px) {
    
    html { font-size: 7.5px; }
    
}

@media only screen and (max-width: 1299px) {
    
    html { font-size: 6.6px; }
    
}

@media only screen and (max-width: 992px) {
    
    html { font-size: 6px; }
    
    .main_b2_list { margin-left: 0; margin-right: 0; }
    
}

@media only screen and (max-width: 700px) {
    
    html { font-size: 10px; }
    .container { max-width: 45rem; }
    
    .header { padding: 3.9rem 0; }
        .h_logo { margin: 0; }
        .h_contacts { display: none; }
        .h_nav_mob_btn { cursor: pointer; position: relative; display: flex; align-items: center; justify-content: center; flex-direction: column; width: 5rem; gap: 0.8rem; }
            .h_nav_mob_btn span { width: 100%; height: 3px; background: #fff; border-radius: 3px; -webkit-transition: all 300ms; transition: all 300ms; }
            .h_nav_mob_btn.open span { position: absolute; left: 0; right: 0; margin: -1.5px auto 0; top: 50%; }
            .h_nav_mob_btn.open span:nth-child(1) { transform: rotate(45deg); }
            .h_nav_mob_btn.open span:nth-child(2) { transform: rotate(-45deg); }
            .h_nav_mob_btn.open span:nth-child(3) { display: none; }
        .header .h_nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #101614; }
            .h_nav ul { flex-direction: column; }
                .h_nav ul li { width: 100%; border-bottom: 1px solid #202825; }
                    .h_nav ul li a { display: block; width: 100%; box-sizing: border-box; text-align: center; padding: 1.65rem; }
                        .h_nav ul li a:after { content: none; display: none; }
                    .h_nav ul li.current-menu-item a, .h_nav ul li a:hover { background: #174a30; }
            .h_nav_mob_bottom { display: flex; align-items: center; justify-content: space-between; max-width: 45rem; margin: 0 auto; padding: 4.9rem 1.5rem 4rem; font-size: 1.8rem; color: #fff; }
                .h_nav_mob_bottom a { text-decoration: none; color: #fff; }
    
    .footer { padding: 2.4rem 0 12.3rem; }
        .footer .h_nav { display: none; }
        .footer .h_contacts { display: flex; }
    
    .main { min-height: calc(100vh - 12rem - 24.7rem); }
    
    .main_b1 { padding: 3.8rem 0 31.1rem; }
        .main_b1_sub_title { margin: 0 0 3rem; }
        .main_b1_title { font-size: 2.4rem; margin: 0 0 2.7rem; }
        .main_b1_logo { margin: 0 0 3rem; }
    
    .main_b2 { margin: 0 0 5rem; }
        .main_b2_list { margin: -27.6rem -1.5rem 0; padding: 5.5rem 9.5rem 6.5rem 6.5rem; flex-direction: column; gap: 5.5rem; }
            .main_b2_item { padding: 0; }
            .main_b2_item:first-child { padding-right: 0; max-width: 27rem; }
    
    .main_b3 { margin: 0 0 7rem; }
        .main_b3_title { max-width: 32rem; font-size: 3.8rem; }
        .main_b3_list { display: flex; flex-direction: column; gap: 4rem; }
            .main_b3_item, .main_b3_item:nth-child(2n) { flex-direction: column; gap: 3.2rem; align-items: flex-start; justify-content: flex-start; }
                .main_b3_item_img, .main_b3_item:nth-child(2n) .main_b3_item_content { margin: 0; }
    
    .main_form { padding: 4.5rem 0 4.5rem; }
        .main_form_row { flex-direction: column; gap: 4rem; }
            .main_form_top, .main_form_content { width: 100%; }
                .main_form_top_title { margin: 0 0 2.6rem; font-size: 3.8rem; }
    
    .about_top { padding: 1.5rem 0 5rem; margin: 0 0 4.5rem; }
        .about_top_title { font-size: 3.8rem; margin: 0 0 1.6rem; }
    
    .about_b1 { padding: 0 0 2.1rem; }
        .about_b1_list { margin: 0; }
            .about_b1_item { width: 100%; margin: 0 0 3.9rem; padding-right: 0; }
    
    .about_b2 { margin: 0 0 6rem; }
        .about_b2 h2 { margin: 0 0 3rem; font-size: 3.8rem; }
    
    .page_services { padding: 4.8rem 0 3rem; }
        .page_services_title { font-size: 3.8rem; margin: 0 0 4rem; }
        .page_services_list { display: block; gap: 0; }
            .page_services_row { width: 100%; }
                .page_services_item { margin-left: 4.2rem; }
    
    .page_service { padding: 4.8rem 0; }
        .service_breadcrumbs { font-size: 1.4rem; margin: 0 0 2.8rem; }
        .page_service_row { flex-direction: column; gap: 3.8rem; }
            .page_service_img { width: 100%; padding: 58.8% 0 0; position: relative; }
                .page_service_img img { position: absolute; left: 0; top: 0; height: 100%; object-fit: cover; object-position: center; }
            .page_service_title { font-size: 3rem; }
            .page_service_text { margin: 0 0 3.9rem; }
            .page_service_share .ya-share2__container_mobile .ya-share2__badge { border-radius: 2px; }
    
    .reviews_b1 { padding: 4.2rem 0 5rem; }
        .reviews_b1_title { margin: 0 0 4.4rem; font-size: 3.8rem; }
        .reviews_carousel { padding: 0; }
            .reviews_carousel_item { padding: 0; }
    
    .reviews_b2 { padding: 4.9rem 0 7rem; }
        .reviews_b2_title { font-size: 3.4rem; margin: 0 0 4.2rem; }
        .reviews_b2_list { width: auto; }
            .reviews_b2_item { width: calc(100% - 3rem); }
    
    .contacts_top { padding: 4.4rem 0 4.8rem; }
        .contacts_top_title { margin: 0 0 5rem; font-size: 3.8rem; }
        .contacts_top_row { flex-direction: column; gap: 3.8rem; }
    
    .contacts_bottom { padding: 3.2rem 0 5rem; }
        .contacts_bottom_desc { max-width: 30rem; }
        .contacts_bottom_title { margin: 0 0 3.4rem; }
        .contacts_bottom_map { height: 40rem; }
    
    .popup-title { font-size: 3.8rem; }
    
    
}

@media only screen and (max-width: 449px) {
    
    html { font-size: 9px; }
    
}

@media only screen and (max-width: 409px) {
    
    
    html { font-size: 7px; }
    
    
}

