/* For old browsers */
@supports (not(--css: variables)){
    .supports_error{
        display: flex !important;
    }
}

/* For IE */
@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none){
    .supports_error{
        display: flex !important;
    }
}



/*-----------
    Fonts
-----------*/
@font-face{
    font-family: 'Circe';
    font-weight: 300;
    font-style: normal;

    font-display: swap;
    src: url('../fonts/Circe-Light.woff2') format('woff2'),
    url('../fonts/Circe-Light.woff') format('woff'),
    url('../fonts/Circe-Light.ttf') format('truetype');
}

@font-face{
    font-family: 'Circe';
    font-weight: normal;
    font-style: normal;

    font-display: swap;
    src: url('../fonts/Circe-Regular.woff2') format('woff2'),
    url('../fonts/Circe-Regular.woff') format('woff'),
    url('../fonts/Circe-Regular.ttf') format('truetype');
}

@font-face{
    font-family: 'Circe';
    font-weight: 700;
    font-style: normal;

    font-display: swap;
    src: url('../fonts/Circe-Bold.woff2') format('woff2'),
    url('../fonts/Circe-Bold.woff') format('woff'),
    url('../fonts/Circe-Bold.ttf') format('truetype');
}

@font-face{
    font-family: 'Circe';
    font-weight: 800;
    font-style: normal;

    font-display: swap;
    src: url('../fonts/Circe-ExtraBold.woff2') format('woff2'),
    url('../fonts/Circe-ExtraBold.woff') format('woff'),
    url('../fonts/Circe-ExtraBold.ttf') format('truetype');
}



/*------------------
    Reset styles
------------------*/
*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

*:before,
*:after{
    box-sizing: border-box;
}

html{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
        -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body{
    margin: 0;

    overscroll-behavior: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-overflow-scrolling: touch;
    text-rendering: optimizeLegibility;
    text-decoration-skip: objects;
}

img{
    border-style: none;
}

textarea{
    overflow: auto;
}

input,
textarea,
input:active,
textarea:active,
button{
    margin: 0;

    -webkit-border-radius: 0;
            border-radius: 0;
         outline: none transparent !important;
    box-shadow: none;

    -webkit-appearance: none;
            appearance: none;
    -moz-outline: none !important;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button{
    margin: 0;

    -webkit-appearance: none;
}

input[type=number]{
    -moz-appearance: textfield;
}

:focus{
    outline: 0;
}

:hover,
:active{
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-touch-callout: none;
}


::-ms-clear{
    display: none;
}



/*-------------------
    Global styles
-------------------*/
:root{
    --bg: #fff;
    --scroll_width: 17px;
    --text_color: #000;
    --font_size: 16px;
    --font_size_title: 48px;
    --font_family: 'Circe', 'Arial', sans-serif;
}


::selection{
    color: #fff;

    background: #5fb130;
}

::-moz-selection{
    color: #fff;

    background: #5fb130;
}


.clear{
    clear: both;
}

.left{
    float: left;
}

.right{
    float: right;
}



html{
    height: 100%;
    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height:         fill-available;
}

html.custom_scroll ::-webkit-scrollbar{
    width: 10px;
    height: 10px;

    background-color: var(--bg);
}

html.custom_scroll ::-webkit-scrollbar-thumb{
    background-color: #5fb130;
}

html.custom_scroll{
    scrollbar-color: #5fb130 var(--bg);
    scrollbar-width: thin;
}


body{
    color: var(--text_color);
    font: var(--font_size) var(--font_family);

    height: 100%;
    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height:         fill-available;
}


button{
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;

    display: inline-block;

    cursor: pointer;
    vertical-align: top;

    border: none;
    background: none;
}


.wrap{
    position: relative;
    z-index: 9;

    display: flex;
    overflow: hidden;
    flex-direction: column;

    min-width: 375px;
    min-height: 100%;

    background: var(--bg);
}


.main{
    display: flex;
    flex-direction: column;

    flex: 1 0 auto;
}


.cont{
    width: 100%;
    max-width: 1224px;
    margin: 0 auto;
    padding: 0 24px;
}


.lazyload,
.swiper-lazy{
    transition: opacity .5s linear;

    opacity: 0;
}

.lazyload.loaded,
.swiper-lazy-loaded{
    opacity: 1;
}


.row{
    display: flex;

    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}



.block{
    margin-bottom: 60px;
}

.block.no_margin{
    margin-bottom: 0 !important;
}



.supports_error{
    font-family: 'Arial', sans-serif;
    font-size: 20px;
    line-height: 30px;

    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;
    padding: 20px;

    text-align: center;

    background: #fff;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.supports_error.show{
    display: flex;
}



/*--------------
    Fancybox
--------------*/
.fancybox__backdrop{
    background: rgba(0, 0, 0, .6);
}


.fancybox__slide{
    padding: 40px;
}


.fancybox__content > .carousel__button.is-close{
    color: #000;

    top: 12px;
    right: 12px;
}

.fancybox__content > .carousel__button.is-close svg{
    transition: transform .2s linear;

    filter: none;
}

.fancybox__content > .carousel__button.is-close:hover svg{
    transform: rotate(180deg);
}



/*----------
    Tabs
----------*/
.tab_content{
    position: relative;

    visibility: hidden;
    overflow: hidden;

    height: 0;

    pointer-events: none;

    opacity: 0;
}

.tab_content.active{
    visibility: visible;
    overflow: visible;

    height: auto;

    transition: opacity .5s linear;
    pointer-events: auto;

    opacity: 1;
}



/*------------
    Header
------------*/
header{
    position: relative;
    z-index: 20;
    top: 0;
    left: 0;

    width: 100%;
    background: #fff;
}

header.fixed{
    position: fixed;
    color: #000;
    box-shadow: 0px 20px 20px rgba(0, 0, 0, 0.05);
    /*transition-delay: 10s;*/
    /*animation-delay: -10s;*/
    animation: moveDown 1s;
}

.compensate-for-scrollbar header.fixed{
    width: calc(100% - var(--scroll_width) );
}

@keyframes moveDown{
    0%
    {
        transform: translateY(-220px);
    }
    100%
    {
        transform: translateY(0);
    }
}


header .info{
    padding: 19px 0 17px;
}

header .bottom{
    border-top: 1px solid #f7f7f7;
}

header .cont{
    justify-content: space-between;
    align-items: center;
    align-content: center;
}

header .logo{
    color: #565656;
    font-size: 11px;
    line-height: 14px;

    display: flex;

    text-decoration: none;
    text-transform: uppercase;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

header .logo img{
    display: block;
}

header .logo div{
    margin-left: 18px;
    padding: 7px 0 2px 18px;

    border-left: 1px solid #f4f4f4;
}

header .support{
    color: #565656;
    font-size: 11px;
    line-height: 14px;

    display: flex;

    margin-right: auto;
    padding-left: 15px;
    margin-left: 18px;

    text-transform: uppercase;

    border-left: 1px solid #f4f4f4;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

header .support img{
    display: block;
}

header .support div{
    margin-left: 9px;
}

header .phone{
    font-size: 18px;
    font-weight: 700;
    line-height: 27px;

    margin-left: auto;
}

header .phone a{
    color: currentColor;

    position: relative;

    display: inline-block;

    vertical-align: top;
    text-decoration: none;
}

header .phone a:before{
    position: absolute;
    right: 0;
    bottom: 0;

    width: 0;
    height: 1px;

    content: '';
    transition: .25s linear;

    background: currentColor;
}

header .phone a:hover:before{
    right: auto;
    left: 0;

    width: 100%;

    transition: .25s linear;
}



header .callback_btn{
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 22px;

    display: flex;

    margin-left: 24px;
    padding: 14px 20px;

    text-transform: uppercase;

    background: #5fb130;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
    transition: 0.2s linear;
}


header .callback_btn:hover{
    background: #4c9025;
}

header .callback_btn:before{
    content: '';
    width: 100%;
    transform: translateX(-100%);
    height: 100%;
    background: -webkit-linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    background: -o-linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    background: linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    animation: blink 4s infinite;
    transition: .3;
    animation-delay: 2s;
}


@keyframes blink {
    0% {
        transform: translateX(-20%);
    }
    20% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(100%);
    }
}

header .callback_btn .icon{
    display: block;

    width: 18px;
    height: 18px;
    margin-right: 15px;
}



header .menu_item + .menu_item{
    margin-left: 38px;
}


header .menu_item > .btn{
    color: var(--text_color);
    font-size: 14px;
    line-height: 21px;

    position: relative;

    display: block;

    padding: 10px 0;

    transition: color .2s linear;
    text-transform: uppercase;
}

header .menu_item > .btn.sub_link:after{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 8px;
    height: 4px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;

    opacity: 1;
    border-right: 4px solid transparent;
    border-bottom: 4px solid #5fb130;
    border-left: 4px solid transparent;
}

header .menu_item > .btn.active{
    font-weight: 700;
    color: #5fb130;
}

header .menu_item:hover > .btn{
    color: #5fb130;
}


header .sub_menu{
    position: absolute;
    z-index: 9;
    top: 100%;
    left: 0;

    width: 100%;

    transition: .2s linear;

    background: #5fb130;
}

header.fixed .menu_item > .btn.sub_link:after{
    opacity: 0;
}

header.fixed .sub_menu{
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
}

header.fixed .menu_item:hover > .sub_menu{
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

header.fixed .menu_item:hover > .btn.sub_link:after{
    opacity: 1;
    visibility: visible;
}


header .sub_menu .row{
    margin-left: -27px;
}

header .sub_menu .row > *{
    margin-left: 27px;
}


header .sub_menu .btn{
    color: #fff;
    font-size: 14px;
    line-height: 21px;

    display: block;

    padding: 11px 0 8px;

    text-decoration: none;
    text-transform: uppercase;
    transition: 0.2s linear;
}

header .sub_menu .btn.active{
    font-weight: 700;
}



/*-----------------
    Mob. header
-----------------*/
.mob_header{
    position: fixed;
    z-index: 102;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    padding: 16px 0;

    background: var(--bg);
}


.mob_header .cont{
    justify-content: space-between;
    align-items: center;
    align-content: center;
}



.mob_header .logo{
    color: #565656;
    font-size: 11px;
    line-height: 14px;
    display: flex;
    text-decoration: none;
    text-transform: uppercase;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    margin-right: auto;
}

.mob_header .logo img{
    display: block;
}

.mob_header .logo div {
    margin-left: 15px;
    padding: 7px 0 2px 15px;
    border-left: 1px solid #f4f4f4;
}

.mob_header .phone{
    font-size: 18px;
    font-weight: 700;
    line-height: 27px;

    margin-left: auto;
}

.mob_header .phone.phone_icon{
    display: none;
}

.mob_header .phone.phone_icon a{
    color: currentColor;
    display: flex;
    width: 30px;
    height: 30px;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.mob_header .phone.phone_number{
    margin-top: 4px;
}

.mob_header .phone.phone_number a{
    color: currentColor;
    text-decoration: none;
    position: relative;
}

.mob_header .phone.phone_number a:after{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    content: '';
    transition: .25s linear;
    background: currentColor;
}

.mob_header .phone.phone_number a:hover:after{
    right: auto;
    left: 0;
    width: 100%;
    transition: .25s linear;
}

.mob_header .phone svg {
    display: block;
    max-width: 100%;
    max-height: 100%;
}



.mob_header .mob_menu_btn{
    color: currentColor;

    display: flex;

    width: 44px;
    height: 34px;
    margin-right: -8px;
    margin-left: 16px;
    padding: 8px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.mob_header .mob_menu_btn span{
    position: relative;

    display: block;

    width: 100%;
    height: 2px;

    transition: background .2s linear;

    background: currentColor;
}

.mob_header .mob_menu_btn span:before,
.mob_header .mob_menu_btn span:after{
    position: absolute;
    top: -8px;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    transition: .2s linear;

    background: currentColor;
}

.mob_header .mob_menu_btn span:after{
    top: 8px;
}


.mob_header .mob_menu_btn.active span{
    background: transparent;
}

.mob_header .mob_menu_btn.active span:before{
    top: 0;

    transform: rotate(45deg);
}

.mob_header .mob_menu_btn.active span:after{
    top: 0;

    transform: rotate(-45deg);
}


/*----------------
    Block head
----------------*/
.block_head{
    width: 100%;
    margin-bottom: 51px;
}


.block_head .title{
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: 100%;

    display: block;
}

.block_head .title b{
    font-weight: 800;
}

.block_head .title span{
    color: #5fb130;
}


.block_head .desc{
    color: #585858;
    font-size: 21px;
    font-weight: 300;
    line-height: 24px;

    width: 777px;
    max-width: 100%;
    margin-top: 20px;
}

.block_head .desc a{
    text-decoration: none;
    transition: 0.2s linear;
    position: relative;

    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    display: inline-block;
}

.block_head .desc a:before{
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 2px;
    background: currentColor;
}

.block_head .desc a:hover{
    color: #5fb130;
}



/*------------------
    Form elements
------------------*/
.form{
    --form_border_color: #e9e9e9;
    --form_focus_color: #e9e9e9;
    --form_error_color: red;
    --form_border_radius: 0;
    --form_bg_color: #fff;
    --form_placeholder_color: #4a4a4a;
}


.form ::-webkit-input-placeholder{
    color: var(--form_placeholder_color);
}

.form :-moz-placeholder{
    color: var(--form_placeholder_color);
}

.form ::-moz-placeholder{
    color: var(--form_placeholder_color);

    opacity: 1;
}

.form :-ms-input-placeholder{
    color: var(--form_placeholder_color);
}


.form .fields{
    display: flex;

    margin-bottom: -14px;
    margin-left: -14px;

    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.form .fields > *{
    width: calc(33.333% - 14px);
    margin-bottom: 14px;
    margin-left: 14px;
}


.form .line{
    margin-bottom: 14px;
}


.form .field{
    position: relative;
}


.form .field .icon{
    color: #e4e4e4;

    position: absolute;
    z-index: 9;
    top: 0;
    bottom: 0;
    left: 23px;

    display: block;

    width: 18px;
    height: 18px;
    margin: auto;

    pointer-events: none;
}


.form .input{
    color: var(--text_color);
    font-family: var(--font_family);
    font-size: 18px;

    display: block;

    width: 100%;
    height: 60px;
    padding: 0 22px;

    transition: border-color .2s linear;

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.form .icon + .input{
    padding-left: 56px;
}

.form .input:-webkit-autofill{
    -webkit-box-shadow: inset 0 0 0 50px var(--form_bg_color) !important;
}


.form .input:focus{
    border-color: var(--form_focus_color);
}

.form .input[valid='false']:not(:focus){
    background-color: #ffeaea!important;
    border-color: #db422c!important;
    color: #db422c;
}


.form .submit_btn{
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 27px;

    display: block;

    width: 100%;
    height: 60px;

    text-transform: uppercase;

    background: #5fb130;
    position: relative;
    overflow: hidden;
    transition: 0.2s linear;
}

.form .submit_btn:hover{
    background: #4c9025;
}

.form .submit_btn:before{
    content: '';
    width: 100%;
    transform: translateX(-100%);
    height: 100%;
    background: -webkit-linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    background: -o-linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    background: linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    animation: blink 4s infinite;
    transition: .3;
    animation-delay: 2s;
}



/*----------------
    Typography
----------------*/
.text_block > :last-child{
    margin-bottom: 0 !important;
}


.text_block h2{
    font-family: var(--font_family);
    font-size: 26px;
    font-weight: bold;
    line-height: 1.2;

    margin-bottom: 14px;
}

.text_block * + h2{
    margin-top: 30px;
}


.text_block p,
.text_block ul,
.text_block ol{
    margin-bottom: 18px;
}


.text_block ul li{
    position: relative;

    display: block;

    padding-left: 20px;

    list-style-type: none;
}

.text_block ul li:before{
    position: absolute;
    top: 6px;
    left: 0;

    width: 9px;
    height: 9px;

    content: '';

    border-radius: 50%;
    background: #c7c7c7;
}


.text_block a{
    color: currentColor;

    transition: .2s linear;
    text-decoration: none;

    border-bottom: 1px solid;
}

.text_block a:hover{
    border-color: transparent;
}



/*-----------------
    Main slider
-----------------*/
.main_slider{
    margin-bottom: -207px;

    background: linear-gradient(180deg, #254910 0%, #254910 100%);
    position: relative;
    z-index: 5;
}


.main_slider .slide{
    position: relative;
    z-index: 3;

    overflow: hidden;
}

.main_slider .video_bg{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-width: 10px;
    min-height: 10px;
    object-fit: cover;
    z-index: 0;
    opacity: 0.25;
    filter: blur(1px);
}

.main_slider .bg{
    position: absolute;
    z-index: 1;
    bottom: 150px;
    left: 50%;
    margin-left: -206px;

    width: 1562px;
}

.main_slider .bg img{
    display: block;
    max-width: 100%;
}


.main_slider .cont{
    display: flex;

    padding-top: 143px;
    padding-bottom: 310px;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 10;
}


.main_slider .data{
    color: #fff;

    width: 612px;
    max-width: 100%;
}


.main_slider .title{
    font-size: 56px;
    line-height: 54px;
}

.main_slider .title b{
    font-weight: 800;
}


.main_slider .desc{
    font-size: 21px;
    line-height: 24px;

    width: 526px;
    max-width: 100%;
    margin-top: 23px;
}


.main_slider .do{
    line-height: 21px;

    margin-top: 57px;
}

.main_slider .do .swiper{
    padding-bottom: 25px;
}

.main_slider .slide{
    display: flex;

    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.main_slider .do .icon{
    display: flex;

    width: 66px;
    height: 66px;
    margin-right: 13px;

    border-radius: 50%;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.main_slider .do .icon img{
    display: block;

    max-width: 100%;
    max-height: 100%;
}


.main_slider .do .icon + *{
    width: calc(100% - 79px);

    align-self: center;
}



/*----------------
    Order form
----------------*/
.order_form{
    position: relative;
    z-index: 5;

    margin-bottom: 68px;
}


.order_form .block_title{
    color: #fff;
    font-size: 26px;
    font-weight: 800;
    line-height: 30px;

    padding: 15px 52px;

    background: #5fb130;
}


.order_form .data{
    position: relative;
    z-index: 9;

    padding: 44px 52px 48px;

    background: #fff;
    box-shadow: 0 4px 44px rgba(0, 0, 0, .1);
}


.order_form .title{
    color: #333;
    font-size: 26px;
    line-height: 30px;

    display: flex;

    margin-bottom: 23px;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: nowrap;
}


.order_form .title .icon{
    display: flex;

    width: 53px;
    height: 65px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.order_form .title .icon img{
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.order_form .title .icon + span{
    width: calc(100% - 72px);

    align-self: center;
}


.order_form .title b{
    font-weight: 800;
}


.order_form .options{
    display: flex;

    margin-bottom: 10px;
    margin-left: -13px;

    counter-reset: number;

    justify-content: flex-start;
    align-items: stretch;
    align-content: stretch;
    flex-wrap: wrap;
}


.order_form .options .col{
    position: relative;
    z-index: 3;

    width: 220px;
    margin-bottom: 13px;
    margin-left: 13px;
    padding: 26px 30px;

    background: #f9f9f9;
}

.order_form .options .col.middle_w{
    width: 289px;
    max-width: 100%;
}

.order_form .options .col.big_w{
    width: calc(100% - 548px);
    max-width: 100%;
}

.order_form .options .col:before{
    color: #fff;
    font-size: 96px;
    font-weight: 800;
    line-height: 142px;

    position: absolute;
    z-index: -1;
    top: -13px;
    right: 13px;

    content: counter(number, decimal-leading-zero);
    counter-increment: number;
    text-transform: uppercase;
}


.order_form .options .title{
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;

    margin-bottom: 14px;

    text-transform: uppercase;
}


.order_form .options .row{
    margin-left: -24px;
}

.order_form .options .row > *{
    margin-left: 24px;
}


.order_form .options label{
    color: #454545;
    line-height: 25px;

    display: flex;

    min-height: 25px;
    padding-left: 24px;

    cursor: pointer;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.order_form .options label input{
    display: none;
}


.order_form .options label .check{
    position: absolute;
    top: 4px;
    left: 0;

    width: 16px;
    height: 16px;

    transition: border-color .2s linear;

    border: 1px solid #dedede;
    border-radius: 50%;
}

.order_form .options label .check:after{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 8px;
    height: 8px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;

    opacity: 0;
    border-radius: 50%;
    background: #5fb130;
}


.order_form .options label input:checked + .check{
    border-color: #5fb130;
}

.order_form .options label input:checked + .check:after{
    opacity: 1;
}


.order_form .bottom{
    display: flex;

    margin-top: 23px;
    margin-left: -37px;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.order_form .managers{
    width: 400px;
    max-width: calc(100% - 37px);
    margin-left: 37px;
}


.order_form .managers .swiper{
    height: 64px;
}


.order_form .managers .swiper-pagination-vertical.swiper-pagination-bullets,
.order_form .managers .swiper-vertical > .swiper-pagination-bullets{
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;

    display: flex;

    width: 8px;
    height: 100%;
    margin: 0;

    transform: none;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.order_form .managers .swiper-pagination-bullet{
    margin: 0;

    opacity: 1;
    background: #e3e3e3;
}

.order_form .managers .swiper-pagination-bullet:hover,
.order_form .managers .swiper-pagination-bullet.active{
    background: #5fb130;
}

.order_form .managers .swiper-pagination-bullet + .swiper-pagination-bullet{
    margin-top: 10px;
    margin-left: 0 !important;
}


.order_form .manager{
    display: flex;

    padding-left: 27px;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.order_form .manager .photo{
    position: relative;

    overflow: hidden;

    width: 59px;
    height: 59px;

    border-radius: 50%;
    background: #f2f2f2;
}

.order_form .manager .photo img{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    mix-blend-mode: multiply;
    object-fit: cover;
}

.order_form .manager .photo + *{
    width: calc(100% - 76px);
}


.order_form .manager .label{
    color: #a0a0a0;
    font-size: 11px;
    line-height: 18px;

    margin-bottom: -3px;

    text-transform: uppercase;
}


.order_form .manager .name{
    font-size: 21px;
    font-weight: 800;
    line-height: 31px;
}


.order_form .manager .post{
    line-height: 21px;
}


.order_form .agree{
    color: #858585;
    line-height: 18px;

    display: flex;

    width: 404px;
    max-width: calc(100% - 37px);
    margin-left: 37px;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.order_form .agree .icon{
    color: #9d9d9d;
    line-height: 25px;

    width: 25px;
    height: 25px;

    text-align: center;

    border: 1px solid #ececec;
    border-radius: 50%;
}

.order_form .agree .icon + *{
    width: calc(100% - 37px);
}

.order_form .agree .btn{
    color: #5fb130;

    border-bottom: 1px solid;
    transition: 0.2s linear;
}

.order_form .agree .btn:hover{
    border-color: transparent;
}



/*----------------
    Categories
----------------*/
.categories{
    margin-bottom: 68px;
}


.categories .col_left{
    width: 375px;
    max-width: 100%;
    margin-right: auto;
}


.categories .tab_content{
    width: calc(100% - 399px);
}


.categories .tabs > * + *{
    margin-top: 22px;
}


.categories .tabs .button{
    color: #363636;
    line-height: 28px;

    position: relative;

    display: flex;

    width: 100%;
    padding: 19px 20px 20px;

    transition: .2s linear;
    text-align: left;
    text-transform: uppercase;

    background: #fff;
    box-shadow: 0 0 44px rgba(0, 0, 0, .05);

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    text-decoration: none;
}

.categories .tabs .button:after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;

    display: block;

    width: 6px;
    height: 12px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;
    pointer-events: none;

    opacity: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #5fb130;
}


.categories .tabs .icon{
    display: flex;

    width: 24px;
    height: 24px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.categories .tabs .icon + span{
    width: calc(100% - 36px);
    margin-left: auto;
}


.categories .tabs .button:hover,
.categories .tabs .button.active{
    color: #fff;

    background: #5fb130;
}

.categories .tabs .button.active:after{
    opacity: 1;
}


.categories .mob_tab_btn{
    color: #363636;
    line-height: 24px;

    position: relative;

    display: none;

    width: 100%;
    padding: 16px 20px;

    transition: .2s linear;
    text-align: left;
    text-transform: uppercase;

    background: #fff;
    box-shadow: 0 0 44px rgba(0, 0, 0, .05);

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    text-decoration: none;
}

.categories .mob_tab_btn ~ .mob_tab_btn{
    margin-top: 16px;
}


.categories .mob_tab_btn .icon{
    display: flex;

    width: 24px;
    height: 24px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.categories .mob_tab_btn .icon + span{
    width: calc(100% - 36px);
    margin-left: auto;
}


.categories .mob_tab_btn.active{
    color: #fff;

    background: #5fb130;
}

.categories .mob_tab_btn.active:after{
    border-top-color: #fff;
}


.categories .row:not(.cont){
    margin-bottom: -24px;
    margin-left: -24px;

    align-items: stretch;
    align-content: stretch;
}

.categories .row:not(.cont) > *{
    width: calc(50% - 24px);
    margin-bottom: 24px;
    margin-left: 24px;
}


.categories .tab_content .title{
    font-size: 30px;
    font-weight: 700;
    line-height: 36px;

    position: relative;
    z-index: 3;

    padding: 30px 50px 30px 51px;

    box-shadow: 0 0 44px rgba(0, 0, 0, .05);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
}

.categories .tab_content .title span{
    color: #5fb130;
}


.categories .tab_content .title_b{
    position: relative;
    z-index: 2;
}


.categories .tab_content .title picture{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}


.categories .title .bg{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-width: 10px;
    min-height: 10px;
    object-fit: cover;
}

.categories .title .loaded .bg{
    opacity: .15;
}


.categories .category{
    position: relative;
    z-index: 1;

    display: flex;

    padding: 25px 36px 41px 30px;

    background: #fff;
    box-shadow: 0 0 44px rgba(0, 0, 0, .05);

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
    transition: 0.2s linear;
}


.categories .category .thumb{
    display: flex;

    width: 90px;
    height: 90px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.categories .category .thumb img{
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.categories .category .thumb + *{
    width: calc(100% - 114px);
    margin-left: auto;
    padding-top: 16px;
}


.categories .category .name{
    font-size: 21px;
    font-weight: 700;
    line-height: 24px;

    min-height: 48px;
}


.categories .category .desc{
    color: #343434;
    line-height: 18px;

    margin-top: 9px;
}


.categories .category .btn{
    color: #5fb130;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;

    display: none;

    width: 100%;
    margin-top: 26px;
    padding: 9px 7px 7px;

    text-transform: uppercase;

    border: 1px solid #5fb130;
    transition: 0.2s linear;
    transition-property: background, color;
}

.categories .category .btn:hover{
    background: #5fb130;
    color: #fff;
}


.categories .category:hover{
    z-index: 3;

    box-shadow: 0 0 44px rgba(0, 0, 0, .10);
}

.categories .triangle{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: 0.2s linear;
    opacity: 0;
    cursor: pointer;
    z-index: 3;
}

.categories .category:hover .triangle{
    opacity: 1;
}

.categories .triangle:before{
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 80px;
    height: 80px;
    background: url('../images/ic_triangle.svg') 0 100% no-repeat;
    background-size: contain;
}

.categories .triangle:after{
    content: '';
    width: 22px;
    height: 22px;
    position: absolute;
    right: 12px;
    top: 12px;
    background: url('../images/ic_plus.svg') 50% 50% no-repeat;
    background-size: contain;
}



/*-------------
    Banners
-------------*/
* + .banners{
    margin-top: 26px;
}


.banners .swiper-horizontal > .swiper-pagination-bullets,
.banners .swiper-pagination-bullets.swiper-pagination-horizontal,
.banners .swiper-pagination-custom,
.banners .swiper-pagination-fraction{
    bottom: 43px;
    left: 50px;

    margin-left: 0;
}


.banners .banner{
    color: #fff;

    padding: 39px 28px 81px 38px;

    background: #5fb130;
    box-shadow: 0 0 44px rgba(0, 0, 0, .05);
}


.banners .title{
    font-size: 24px;
    line-height: 30px;

    padding-left: 12px;

    text-transform: uppercase;
}


.banners .discount{
    font-size: 72px;
    font-weight: 800;
    line-height: 36px;

    margin-top: 22px;
    padding-left: 12px;

    text-transform: uppercase;
}


.banners .thumb{
    display: flex;

    height: 161px;
    margin-top: 56px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.banners .thumb img{
    display: block;

    max-width: 100%;
    max-height: 100%;
}


.banners .link{
    color: currentColor;
    font-size: 18px;
    font-weight: 700;
    line-height: 27px;

    display: block;

    margin: 40px 22px 0 12px;
    padding: 15px 15px 14px;

    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #fff;
    position: relative;
    overflow: hidden;
    transition: 0.2s linear;
}

.banners .link:hover{
    background: #fff;
    color: #5fb130;
}

.banners .link:before{
    content: '';
    width: 100%;
    transform: translateX(-100%);
    height: 100%;
    background: -webkit-linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    background: -o-linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    background: linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    animation: blink 4s infinite;
    transition: .3;
    animation-delay: 2s;
}



/*----------------
    Advantages
----------------*/
.advantages{
    position: relative;
    z-index: 3;

    margin-bottom: 68px;
}


.advantages .block_head{
    margin-bottom: 40px;
}


.advantages .row{
    margin-bottom: -24px;
    margin-left: -24px;

    align-items: stretch;
    align-content: stretch;
}

.advantages .row > *{
    width: calc(50% - 24px);
    margin-bottom: 24px;
    margin-left: 24px;
}


.advantages .item{
    position: relative;
    z-index: 3;

    display: flex;

    padding: 50px;

    transition: .2s linear;

    background: rgba(255, 255, 255, .7);
    box-shadow: 0 4px 44px rgba(0, 0, 0, .05);

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}


.advantages .item picture{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.advantages .item .bg,
.advantages .item .bg.loaded{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-width: 10px;
    min-height: 10px;
    object-fit: cover;

    opacity: 0;
}


.advantages .item .icon{
    color: #5fb130;

    display: flex;

    width: 68px;
    height: 68px;

    transition: color .2s linear;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 3;
}

.advantages .item .icon svg{
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.advantages .item .icon + *{
    width: calc(100% - 96px);
    margin-left: auto;
    align-self: center;
}


.advantages .item .name{
    font-size: 24px;
    font-weight: 700;
    line-height: 28px;
    position: relative;
    z-index: 3;
}


.advantages .item .desc{
    color: #353535;
    line-height: 21px;

    margin-top: 15px;

    transition: color .2s linear;
    position: relative;
    z-index: 3;
}


.advantages .item:hover{
    color: #fff;

    background: #318600;
}

.advantages .item:hover .icon,
.advantages .item:hover .desc{
    color: #fff;
}

.advantages .item:hover .loaded .bg{
    opacity: .25;
}


.advantages .cont{
    position: relative;
    z-index: 2;
}

.advantages .bg{
    position: absolute;
    z-index: 0;
    top: -15px;
    width: 100%;
    height: calc(100% + 268px);
    left: 0;

    pointer-events: none;
}

.advantages .bg:before,
.advantages .bg:after{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 375px;

    content: '';

    background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.advantages .bg:after{
    top: auto;
    bottom: 0;

    height: 253px;

    transform: rotate(180deg);
}

.advantages .bg img{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-width: 10px;
    min-height: 10px;
    object-fit: cover;
}

.advantages .bg.loaded img{
    opacity: .1;
}



/*----------------
    Any spaces
----------------*/
.any_spaces{
    position: relative;
    z-index: 3;

    margin-top: -246px;
    margin-bottom: 68px;
    padding: 244px 0 73px;

    background: linear-gradient(180deg, #408519 0%, #5FB130 100%);
}

.any_spaces .cont{
    position: relative;
    z-index: 1;
}


.any_spaces .block_head{
    color: #fff;

    margin-bottom: 49px;
}

.any_spaces .block_head .desc{
    color: #fff;

    margin-top: 15px;
}


.any_spaces .data{
    width: 576px;
    max-width: 100%;
}


.any_spaces .row{
    margin-bottom: -24px;
    margin-left: -24px;

    align-items: stretch;
    align-content: stretch;
}

.any_spaces .row > *{
    width: calc(50% - 24px);
    margin-bottom: 24px;
    margin-left: 24px;
}


.any_spaces .item{
    display: flex;

    padding: 30px 16px 31px 26px;

    background: #fff;
    box-shadow: 0 4px 44px rgba(0, 0, 0, .05);

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}


.any_spaces .item .icon{
    display: flex;

    width: 60px;
    height: 48px;

    order: 2;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.any_spaces .item .icon img{
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.any_spaces .item .icon + *{
    width: calc(100% - 68px);
}


.any_spaces .item .name{
    font-size: 21px;
    font-weight: 700;
    line-height: 100%;
}


.any_spaces .item .desc{
    color: #555;
    line-height: 18px;

    margin-top: 9px;
}


.any_spaces picture{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.any_spaces .img{
    position: absolute;
    z-index: -1;
    right: 50%;
    bottom: 0;

    display: block;

    width: 1503px;
    height: 645px;
    margin-right: -1215px;

    pointer-events: none;

    object-fit: cover;
}


.any_spaces .bg{
    position: absolute;
    z-index: -2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    pointer-events: none;

    object-fit: cover;
}

.any_spaces .loaded .bg{
    opacity: .15;
}



/*----------------
    Guarantees
----------------*/
.guarantees{
    position: relative;
    z-index: 3;

    margin-bottom: 68px;
}


.guarantees .block_head{
    margin-bottom: 51px;
}


.guarantees .accordion{
    margin-bottom: 24px;
}


.guarantees .accordion_item{
    position: relative;

    padding: 32px 84px 32px 112px;

    background: rgba(255, 255, 255, .75);
    box-shadow: 0 0 44px rgba(0, 0, 0, .11);
}


.guarantees .accordion_item .icon{
    color: #d3d3d3;

    position: absolute;
    top: 0;
    bottom: 0;
    left: 49px;

    display: block;

    width: 24px;
    height: 26px;
    margin: auto;

    transition: .2s linear;
}


.guarantees .accordion_item .head{
    cursor: pointer;
}

.guarantees .accordion_item .head:after{
    position: absolute;
    top: 0;
    right: 40px;
    bottom: 0;

    display: block;

    width: 12px;
    height: 8px;
    margin: auto;

    content: '';
    transition: border-color .2s linear;

    border-top: 6px solid #000;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
}


.guarantees .accordion_item .head .title{
    color: #333;
    font-size: 24px;
    font-weight: 700;
    line-height: 30px;
}


.guarantees .accordion_item .data{
    color: #393939;
    font-size: 18px;
    font-weight: 300;
    line-height: 21px;

    display: none;

    width: 705px;
    max-width: 100%;
    padding-top: 13px;
    padding-bottom: 8px;
}


.guarantees .accordion_item.active .icon{
    color: #5fb130;

    left: 36px;

    width: 50px;
    height: 55px;
}

.guarantees .accordion_item.active .head:after{
    border-top-color: #5fb130;
}



.guarantees .directions{
    position: relative;
    z-index: 3;

    margin-bottom: 24px;
    padding: 32px 40px;

    background: rgba(255, 255, 255, .75);
    box-shadow: 0 4px 44px rgba(0, 0, 0, .11);
}


.guarantees .directions .title{
    color: #333;
    font-size: 24px;
    font-weight: 700;
    line-height: 30px;

    width: 776px;
    max-width: 100%;
    margin-bottom: 17px;
}


.guarantees .directions .list{
    font-size: 18px;
    line-height: 30px;
}

.guarantees .directions .list .hide{
    display: none;
}


.guarantees .directions .spoler_btn{
    color: #5fb130;
    font-weight: 300;
    line-height: 30px;

    margin-top: 8px;

    text-decoration-line: underline;
}

.guarantees .directions .spoler_btn span + span,
.guarantees .directions .spoler_btn.active span{
    display: none;
}

.guarantees .directions .spoler_btn.active span + span{
    display: inline;
}


.guarantees .pluses{
    position: relative;
    z-index: 5;

    display: flex;

    margin-bottom: -24px;
    margin-left: -24px;

    justify-content: flex-start;
    align-items: stretch;
    align-content: stretch;
    flex-wrap: wrap;
}

.guarantees .pluses > *{
    width: calc(50% - 24px);
    margin-bottom: 24px;
    margin-left: 24px;
}


.guarantees .pluses .item{
    display: flex;

    padding: 42px 56px 47px 44px;

    background: rgba(255, 255, 255, .75);
    box-shadow: 0 4px 44px rgba(0, 0, 0, .05);

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;

    font-size: 18px;
    line-height: 21px;
}


.guarantees .pluses .icon{
    display: flex;

    width: 69px;
    height: 68px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.guarantees .pluses .icon img{
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.guarantees .pluses .icon + *{
    width: 376px;
    max-width: calc(100% - 101px);
    margin-left: auto;
}


.guarantees .pluses b{
    font-weight: 800;
}



.guarantees .cont{
    position: relative;
    z-index: 2;
}


.guarantees .bg{
    position: absolute;
    z-index: 0;
    top: -7px;
    width: 100%;
    height: 1039px;
    left: 0;

    pointer-events: none;
}

.guarantees .bg:before,
.guarantees .bg:after{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 375px;

    content: '';

    background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.guarantees .bg:after{
    top: auto;
    bottom: 0;

    height: 253px;

    transform: rotate(180deg);
}

.guarantees .bg img{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-width: 10px;
    min-height: 10px;
    object-fit: cover;
}

.guarantees .bg.loaded img{
    opacity: .1;
}



/*------------
    Safety
------------*/
.safety{
    position: relative;
    z-index: 4;

    margin-bottom: 68px;
}

.safety .cont{
    position: relative;
    z-index: 3;
}

.safety .items{
    display: flex;

    margin-left: -24px;
    padding-bottom: 27px;

    justify-content: flex-start;
    align-items: stretch;
    align-content: stretch;
    flex-wrap: wrap;
}

.safety .items > *{
    width: calc(33.333% - 24px);
    margin-bottom: 24px;
    margin-left: 24px;
}


.safety .items .item{
    background: #fff;
    box-shadow: 0 0 44px rgba(0, 0, 0, .05);
}


.safety .items .thumb{
    position: relative;

    display: block;
    overflow: hidden;

    width: 100%;
    padding-bottom: 50.53%;

    background: #ddd;
}

.safety .items .thumb img{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.safety .items .info{
    padding: 29px 32px 35px 37px;
}


.safety .items .name{
    font-size: 24px;
    font-weight: 700;
    line-height: 100%;
}


.safety .items .exp{
    color: #8b8b8b;
    font-size: 16px;
    line-height: 18px;

    margin-top: 6px;
}


.safety .items .desc{
    color: #464646;
    line-height: 18px;

    margin-top: 17px;
}



.safety .specialist{
    display: flex;

    margin-bottom: 75px;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}


.safety .specialist .person{
    width: 233px;
    max-width: 100%;

    text-align: center;
}


.safety .specialist .photo{
    position: relative;

    display: block;
    overflow: hidden;

    width: 90px;
    height: 90px;
    margin: 0 auto 9px;

    border-radius: 50%;
    background: #E8F4ED;
}

.safety .specialist .photo img{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.safety .specialist .name{
    font-size: 24px;
    font-weight: 700;
    line-height: 100%;
}


.safety .specialist .post{
    font-weight: 300;
    line-height: 21px;

    margin-top: 9px;
}


.safety .specialist .quote{
    font-size: 21px;
    font-weight: 300;
    line-height: 24px;

    width: calc(100% - 253px);
    margin-left: auto;
    padding-top: 24px;
}

.safety .specialist .quote b{
    font-weight: 700;
}

.safety .specialist .quote img{
    display: block;

    margin-bottom: 32px;
}



.safety .license{
    display: flex;
    overflow: hidden;

    background: #fff;
    box-shadow: 0 0 44px rgba(0, 0, 0, .05);

    justify-content: space-between;
    align-items: stretch;
    align-content: stretch;
    flex-wrap: wrap;
}


.safety .license .text{
    font-size: 21px;
    font-weight: 300;
    line-height: 24px;

    display: flex;

    width: calc(100% - 387px);
    padding: 39px 38px 44px 48px;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.safety .license .text b{
    font-weight: 700;
}


.safety .license .gosts{
    color: #fff;
    font-size: 18px;
    font-weight: 300;
    line-height: 21px;

    display: flex;

    width: 387px;
    padding: 27px 36px 27px 35px;

    background: #5fb130;
    box-shadow: 0 0 44px rgba(0, 0, 0, .05);

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.safety .license .logo{
    display: block;

    width: 83px;
}

.safety .license .logo + *{
    width: calc(100% - 109px);
}

.safety .license .logo + * > * + *{
    margin-top: 12px;
}


.safety > picture{
    position: absolute;
    left: 0;
    width: 100%;
    top: -197px;
    height: 1080px;
}

@media print, (min-width: 1921px){
    .safety > picture:before,
    .safety > picture:after{
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 375px;
        content: '';
        background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
    }

    .safety > picture:after{
        top: auto;
        bottom: 0;
        height: 253px;
        transform: rotate(180deg);
    }
}

.safety .bg{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-width: 10px;
    min-height: 10px;
    object-fit: cover;
}

.safety .loaded .bg{
    opacity: .25;
}



/*------------
    Certs
------------*/
.certs{
    position: relative;
    z-index: 3;

    margin-bottom: 68px;
}


.certs .swiper{
    overflow: visible !important;
}

.certs .swiper-slide{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}

.certs .swiper-slide.visible{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.certs .cert{
    color: currentColor;

    position: relative;

    display: block;

    padding-bottom: 121.01%;

    text-decoration: none;

    background: #fff;
    box-shadow: 0 0 44px rgba(0, 0, 0, .05);
}

.certs .cert .icon{
    color: #fff;
    position: absolute;
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    width: 78px;
    height: 78px;
    transition: .2s linear;
    transform: translate(-50%, -50%);
    opacity: 0;
    border: 1px solid #5FB130;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.certs .cert:hover .icon{
    opacity: 1;
}

.certs .cert .icon:before{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 68px;
    height: 68px;
    content: '';
    transform: translate(-50%, -50%);
    opacity: .45;
    border-radius: 50%;
    background: #5FB130;
}

.certs .cert .icon svg{
    position: relative;
    z-index: 5;
    display: block;
    max-width: 100%;
    max-height: 100%;
}

.certs .cert picture{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;
    padding: 37px 45px 34px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.certs .cert img{
    display: block;

    max-width: 100%;
    max-height: 100%;
}


.certs .cont{
    position: relative;
    z-index: 2;
}

.certs .bg{
    position: absolute;
    z-index: 0;
    top: -89px;
    height: 1039px;
    width: 100%;
    left: 0;

    pointer-events: none;
}

.certs .bg:before,
.certs .bg:after{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 375px;

    content: '';

    background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.certs .bg:after{
    top: auto;
    bottom: 0;

    height: 253px;

    transform: rotate(180deg);
}

.certs .bg img{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-width: 10px;
    min-height: 10px;
    object-fit: cover;
}

.certs .bg.loaded img{
    opacity: .1;
}



/*----------------
    About info
----------------*/
.about_info{
    position: relative;
    z-index: 4;

    margin-top: 0;
    margin-top: -23px;
    margin-bottom: 70px;
    padding-top: 23px;
}


.about_info .block_head{
    width: calc(100% - 502px);
    padding-top: 23px;
    margin-bottom: 0 !important;
}


.about_info .block_head .icon{
    display: block;

    margin-bottom: 60px;
}


.about_info .block_head .desc{
    color: #585858;
    font-size: 18px;
    font-weight: 300;
    line-height: 21px;

    margin-top: 39px;
}


.about_info .big_boss{
    position: relative;

    width: 438px;
    max-width: 100%;
    margin-top: -68px;
    margin-left: auto;

    text-align: center;
}

.about_info .big_boss:after{
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 290px;

    content: '';

    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 66.67%);
}


.about_info .big_boss .img{
    position: relative;
    display: block;
    width: 100%;
    padding-bottom: 118%;
}

.about_info .big_boss .photo{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.about_info .big_boss .photo img{
    display: block;

    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
}

.about_info .big_boss .photo + *{
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;

    width: 100%;
}


.about_info .big_boss .name{
    font-size: 24px;
    font-weight: 700;
    line-height: 36px;
}


.about_info .big_boss .post{
    color: #585858;
    line-height: 28px;
}



.about_info .gallery{
    margin-top: 78px;
}



/*------------
    Gallery
------------*/
.gallery .swiper{
    overflow: visible !important;
}

.gallery .swiper-slide{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}

.gallery .swiper-slide.visible{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.gallery .item{
    color: currentColor;

    display: block;

    text-decoration: none;
}


.gallery .thumb{
    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 76.36%;

    background: #ddd;
    box-shadow: 0 0 44px rgba(0, 0, 0, .05);
}

.gallery .thumb img{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.gallery .item .icon{
    color: #fff;
    position: absolute;
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    width: 78px;
    height: 78px;
    transition: .2s linear;
    transform: translate(-50%, -50%);
    opacity: 0;
    border: 1px solid #5FB130;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.gallery .item:hover .icon{
    opacity: 1;
}

.gallery .item .icon:before{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 68px;
    height: 68px;
    content: '';
    transform: translate(-50%, -50%);
    opacity: .45;
    border-radius: 50%;
    background: #5FB130;
}

.gallery .item .icon svg{
    position: relative;
    z-index: 5;
    display: block;
    max-width: 100%;
    max-height: 100%;
}



/*-----------------
    Specialists
-----------------*/
.specialists{
    position: relative;
    z-index: 3;

    padding-bottom: 70px;
}


.specialists .block_head{
    margin-bottom: 52px;
}


.specialists .row{
    margin-bottom: -24px;
    margin-left: -24px;

    align-items: stretch;
    align-content: stretch;
}

.specialists .row > *{
    width: calc(50% - 24px);
    margin-bottom: 24px;
    margin-left: 24px;
}


.specialists .specialist{
    display: flex;

    padding: 24px 38px 0 0;

    background: #fff;
    box-shadow: 0 0 44px rgba(0, 0, 0, .05);

    justify-content: space-between;
    align-items: flex-end;
    align-content: flex-end;
    flex-wrap: wrap;
}

.specialists .spec_hide{
    display: none;
}


.specialists .specialist .photo{
    display: flex;

    width: 300px;
    max-width: 100%;

    justify-content: center;
    align-items: flex-end;
    align-content: flex-end;
    flex-wrap: wrap;
}

.specialists .specialist .photo img{
    display: block;

    max-width: 100%;
    min-height: 200px;
    max-height: 100%;
}

.specialists .specialist .photo + *{
    width: calc(100% - 318px);
    margin-left: auto;
    padding-bottom: 40px;
}


.specialists .specialist .name{
    font-size: 30px;
    font-weight: 700;
    line-height: 32px;
}

.specialists .specialist .post{
    color: #585858;
    line-height: 32px;
}


.specialists .specialist .spec_certs{
    margin-top: 33px;
}


.specialists .specialist .spec_certs .label{
    color: #585858;
    line-height: 36px;

    margin-bottom: 6px;
}


.specialists .specialist .spec_certs .swiper{
    padding: 0 26px;
}

.specialists .specialist .spec_certs .swiper-slide{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}

.specialists .specialist .spec_certs .swiper-slide.visible{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.specialists .specialist .spec_certs .swiper-button-next,
.specialists .specialist .spec_certs .swiper-button-prev{
    color: #e2e2e2;

    width: 13px;
    height: 22px;

    background: none;
    box-shadow: none;
}

.specialists .specialist .spec_certs .swiper-button-prev{
    left: 0;
}

.specialists .specialist .spec_certs .swiper-button-next{
    right: 0;
}


.specialists .specialist .spec_certs .cert{
    color: currentColor;

    position: relative;

    display: block;

    padding-bottom: 141.66%;

    text-decoration: none;
}

.specialists .specialist .spec_certs .cert > *{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.specialists .specialist .spec_certs .cert img{
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.specialists .specialist .spec_certs .cert .icon{
    color: #fff;
    position: absolute;
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    width: 48px;
    height: 48px;
    transition: .2s linear;
    transform: translate(-50%, -50%);
    opacity: 0;
    border: 1px solid #5FB130;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.specialists .specialist .spec_certs .cert:hover .icon{
    opacity: 1;
}

.specialists .specialist .spec_certs .cert .icon:before{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 38px;
    height: 38px;
    content: '';
    transform: translate(-50%, -50%);
    opacity: .45;
    border-radius: 50%;
    background: #5FB130;
}

.specialists .specialist .spec_certs .cert .icon svg{
    position: relative;
    z-index: 5;
    display: block;
    max-width: 100%;
    max-height: 100%;
}



.specialists .load_more{
    margin-top: 33px;

    text-align: center;
}


.specialists .load_more .btn{
    color: #4a4a4a;
    font-size: 18px;
    line-height: 27px;

    padding: 14px 26px 12px;

    border: 1px solid #5fb130;
    transition: 0.2s linear;
}

.specialists .load_more .btn:hover{
    background: #5fb130;
    color: #fff;
}

.specialists .load_more .btn.active span,
.specialists .load_more .btn span + span{
    display: none;
}

.specialists .load_more .btn.active span + span{
    display: inline;
}



.specialists .cont{
    position: relative;
    z-index: 2;
}


.specialists .bg{
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 672px;
    bottom: 0;
    left: 0;

    pointer-events: none;
}

.specialists .bg:before{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 375px;

    content: '';

    background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.specialists .bg:after{
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 192px;
    content: '';
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
}

.specialists .bg img{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-width: 10px;
    min-height: 10px;
    object-fit: cover;
}

.specialists .bg.loaded img{
    opacity: .1;
}



/*-------------
    Clients
-------------*/
.clients{
    position: relative;
    z-index: 3;

    margin-bottom: -296px;
    padding: 67px 0 364px;

    background: linear-gradient(180deg, #408519 0%, #5fb130 100%);
}

.clients .cont{
    position: relative;
    z-index: 3;
}

.clients .block_head{
    color: #fff;

    margin-bottom: 46px;
}


.clients .data > .swiper,
.clients .logos .swiper{
    overflow: visible !important;
}

.clients .data > .swiper .swiper-slide,
.clients .logos .swiper .swiper-slide{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}

.clients .data > .swiper .swiper-slide.visible,
.clients .logos .swiper .swiper-slide.visible{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.clients .data > .swiper-horizontal > .swiper-pagination-bullets,
.clients .data > .swiper .swiper-pagination-bullets.swiper-pagination-horizontal,
.clients .data > .swiper .swiper-pagination-custom,
.clients .data > .swiper .swiper-pagination-fraction{
    bottom: -52px;
    left: 0;

    width: 100%;
    height: 12px;
    margin: 0;
}

.clients .data > .swiper .swiper-pagination-bullet{
    width: 12px;
    height: 12px;

    opacity: .35;
    background: #fff;
}

.clients .data > .swiper .swiper-pagination-bullet + .swiper-pagination-bullet{
    margin-left: 15px !important;
}

.clients .data > .swiper .swiper-pagination-bullet:hover,
.clients .data > .swiper .swiper-pagination-bullet.active{
    opacity: 1;
}



.clients .data .item{
    display: flex;

    justify-content: space-between;
    align-items: stretch;
    align-content: stretch;
    flex-wrap: wrap;
}


.clients .data .item .col{
    overflow: hidden;

    width: calc(50% - 12px);
    padding: 40px 50px 50px;

    background: #fff;
    box-shadow: 0 0 44px rgba(0, 0, 0, .15);
}


.clients .data .company{
    display: flex;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.clients .data .company .logo{
    display: flex;

    width: 75px;
    height: 54px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.clients .data .company .logo img{
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.clients .data .company .logo + *{
    width: calc(100% - 89px);
    margin-left: auto;
}


.clients .data .company .name{
    font-size: 21px;
    font-weight: 700;
    line-height: 31px;
}


.clients .data .company .location{
    color: #575757;
    font-size: 14px;
    line-height: 21px;

    text-transform: uppercase;
}


.clients .data .images{
    margin-top: 41px;
}


.clients .data .images .thumb{
    color: currentColor;

    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 109.64%;

    text-decoration: none;

    background: #ddd;
}

.clients .data .images .thumb img{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.clients .data .images .thumb .icon{
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    width: 78px;
    height: 78px;
    transition: .2s linear;
    transform: translate(-50%, -50%);
    opacity: 0;
    border: 1px solid #5FB130;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.clients .data .images .thumb:hover .icon{
    opacity: 1;
}

.clients .data .images .thumb .icon:before{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 68px;
    height: 68px;
    content: '';
    transform: translate(-50%, -50%);
    opacity: .45;
    border-radius: 50%;
    background: #5FB130;
}

.clients .data .images .thumb .icon svg{
    position: relative;
    z-index: 5;
    display: block;
    max-width: 100%;
    max-height: 100%;
}

.clients .data .images .thumb picture{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;
    padding: 37px 45px 34px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.clients .data .images .thumb img{
    display: block;

    max-width: 100%;
    max-height: 100%;
}


.clients .data .images .swiper-button-next,
.clients .data .images .swiper-button-prev{
    color: #fff;

    width: 43px;
    height: 100%;

    background: none;
    box-shadow: none;
}

.clients .data .images .swiper-button-next:before,
.clients .data .images .swiper-button-prev:before{
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;

    display: block;

    width: 53px;
    height: 100%;

    content: '';

    opacity: .55;
    background: linear-gradient(270deg, #000 .0%, rgba(0, 0, 0, 0) 100%);
}

.clients .data .images .swiper-button-prev:before{
    right: auto;
    left: 0;

    transform: rotate(180deg);
}


.clients .data .images .swiper-button-prev{
    left: 0;
}

.clients .data .images .swiper-button-next{
    right: 0;
}


.clients .data .task{
    font-size: 18px;
    line-height: 21px;
}

.clients .data .task .label{
    font-size: 21px;
    font-weight: 700;
    line-height: 36px;

    margin-bottom: 8px;
}


.clients .data .desc{
    color: #585858;
    font-size: 18px;
    font-weight: 300;
    line-height: 21px;

    margin-top: 34px;
}

.clients .data .desc .hidden{
    display: none;
}


.clients .data .spoler_btn{
    color: #5fb130;
    line-height: 21px;

    margin-top: 27px;

    text-decoration-line: underline;
}

.clients .data .spoler_btn.active span,
.clients .data .spoler_btn span + span{
    display: none;
}

.clients .data .spoler_btn.active span + span{
    display: none;
}


.clients .data .consult{
    display: flex;

    margin-top: 34px;
    margin-bottom: -10px;
    margin-left: -20px;

    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.clients .data .consult > *{
    width: calc(50% - 20px);
    margin-bottom: 10px;
    margin-left: 20px;
}


.clients .data .consult .label{
    color: #333;
    font-weight: 700;
    line-height: 24px;

    display: flex;

    height: 60px;
    padding: 11px;

    text-align: center;

    border: 1px solid #eee;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.clients .data .consult .btn{
    color: #fff;
    font-weight: 700;
    line-height: 24px;

    display: flex;

    height: 60px;
    padding: 12px;

    text-align: center;
    text-transform: uppercase;

    background: #5fb130;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
    transition: 0.2s linear;
}

.clients .data .consult .btn:hover{
    background: #4c9025;
}

.clients .data .consult .btn:before{
    content: '';
    width: 100%;
    transform: translateX(-100%);
    height: 100%;
    background: -webkit-linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    background: -o-linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    background: linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    animation: blink 4s infinite;
    transition: .3;
    animation-delay: 2s;
}



.clients .logos{
    margin-top: 99px;
}


.clients .logos .item{
    display: flex;

    height: 130px;
    padding: 24px 45px;

    background: #fff;
    box-shadow: 0 0 44px rgba(0, 0, 0, .05);

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.clients .logos .item img{
    display: block;

    max-width: 100%;
    max-height: 100%;
}


.clients > picture{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.clients .bg{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-width: 10px;
    min-height: 10px;
    object-fit: cover;
}

.clients .loaded .bg{
    opacity: .15;
}



/*-------------------
    Contacts info
-------------------*/
.contacts_info{
    position: relative;
    z-index: 3;

    margin-bottom: 70px;
}


.contacts_info .cont{
    pointer-events: none;
}


.contacts_info .block_head{
    margin-bottom: 47px;
    position: relative;
    pointer-events: auto;
    z-index: 3;
}


.contacts_info .data{
    width: 442px;
    max-width: 100%;
    padding: 41px 51px;

    pointer-events: auto;
    position: relative;
    z-index: 3;

    background: #fff;
    box-shadow: 0 4px 44px rgba(0, 0, 0, .15);
}

.contacts_info .data > * + *{
    margin-top: 20px;
}


.contacts_info .company{
    font-size: 26px;
    line-height: 30px;

    margin-bottom: 28px;
}


.contacts_info .data .label{
    color: #737373;
    font-weight: 300;
    line-height: 19px;

    margin-bottom: 4px;

    text-transform: uppercase;
}


.contacts_info .data .val{
    font-weight: 300;
    line-height: 19px;
}


.contacts_info .data .phone .val{
    font-size: 24px;
    line-height: 29px;
}

.contacts_info .data .phone .val a{
    color: currentColor;

    white-space: nowrap;
    text-decoration: none;
    transition: 0.2s linear;
}

.contacts_info .data .phone .val a:hover{
    color: #5fb130;
}


.contacts_info .data .exp{
    color: #787878;
    font-weight: 300;
    line-height: 19px;
}


.contacts_info .data .email .val{
    font-size: 24px;
    line-height: 29px;
}

.contacts_info .data .email .val a{
    color: #5fb130;

    white-space: nowrap;
    text-decoration: none;

    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: 0 calc(100% - 5px);
    background-size: 100% 1px;
    transition: 0.2s linear;
}

.contacts_info .data .email .val a:hover{
    color: #4c9025;
}


.contacts_info .gallery{
    margin-top: 70px;

    pointer-events: auto;
    position: relative;
    z-index: 3;
}


.contacts_info #map{
    position: absolute;
    z-index: 0;
    top: 100px;
    left: 0;

    width: 100%;
    height: calc(100% - 186px);
    pointer-events: painted;
}

.contacts_info #map:before,
.contacts_info #map:after{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 251px;
    pointer-events: none;

    content: '';

    background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.contacts_info #map:after{
    top: auto;
    bottom: 0;

    height: 114px;

    transform: rotate(180deg);
}


.ymaps-layers-pane{
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
}

[class*='ymaps-2-1'][class*='-ground-pane']{
            filter: url('data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale');
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
}



/*------------
    Footer
------------*/
footer{
    background: #fff;
    box-shadow: 0 4px 44px rgba(0, 0, 0, .15);
}


footer .info{
    padding: 19px 0 17px;
}


footer .bottom{
    position: relative;

    border-top: 1px solid #f7f7f7;
    border-bottom: 40px solid #5fb130;
}


footer .cont{
    justify-content: space-between;
    align-items: center;
    align-content: center;
}



footer .logo{
    color: #565656;
    font-size: 11px;
    line-height: 14px;

    display: flex;

    text-decoration: none;
    text-transform: uppercase;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

footer .logo img{
    display: block;
}

footer .logo div{
    margin-left: 18px;
    padding: 7px 0 2px 18px;

    border-left: 1px solid #f4f4f4;
}



footer .plentry_group{
    color: #565656;
    font-size: 11px;
    line-height: 14px;

    display: flex;

    height: 62px;
    margin-right: auto;
    padding-left: 18px;
    margin-left: 18px;

    text-transform: uppercase;

    border-left: 1px solid #f4f4f4;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

footer .plentry_group img{
    display: inline-block;
    max-width: 100%;
    max-height: 100%;
}

footer .plentry_group div{
    margin-left: 9px;
}



footer .phone{
    font-size: 18px;
    font-weight: 700;
    line-height: 27px;

    margin-left: auto;
}

footer .phone a{
    color: currentColor;

    display: inline-block;

    vertical-align: top;
    text-decoration: none;
    position: relative;
}

footer .phone a:before{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    content: '';
    transition: .25s linear;
    background: currentColor;
}

footer .phone a:hover:before{
    right: auto;
    left: 0;
    width: 100%;
    transition: .25s linear;
}



footer .callback_btn{
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 22px;

    display: flex;

    margin-left: 24px;
    padding: 14px 20px;

    text-transform: uppercase;

    background: #5fb130;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
    transition: 0.2s linear;
}

footer .callback_btn:hover{
    background: #4c9025;
}

footer .callback_btn:before{
    content: '';
    width: 100%;
    transform: translateX(-100%);
    height: 100%;
    background: -webkit-linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    background: -o-linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    background: linear-gradient(60deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0) 35%);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    animation: blink 4s infinite;
    transition: .3;
    animation-delay: 2s;
}

footer .callback_btn .icon{
    display: block;

    width: 18px;
    height: 18px;
    margin-right: 15px;
}



footer .menu_item + .menu_item{
    margin-left: 38px;
}


footer .menu_item > .btn{
    color: var(--text_color);
    font-size: 14px;
    line-height: 21px;

    position: relative;

    display: block;

    padding: 10px 0;

    transition: color .2s linear;
    text-transform: uppercase;
}

footer .menu_item > .btn.active{
    font-weight: 700;
    color: #5fb130;
}

footer .menu_item > .btn.sub_link:after{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 8px;
    height: 4px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;

    border-right: 4px solid transparent;
    border-bottom: 4px solid #5fb130;
    border-left: 4px solid transparent;
}


footer .menu_item:hover > .btn{
    color: #5fb130;
}


footer .sub_menu{
    position: absolute;
    z-index: 9;
    top: 100%;
    left: 0;


    width: 100%;

    transition: .2s linear;

    background: #5fb130;
}


footer .menu_item:hover > a.touch_link + .sub_menu{
    visibility: hidden;

    pointer-events: none;

    opacity: 0;
}


footer .sub_menu .row{
    margin-left: -27px;
}

footer .sub_menu .row > *{
    margin-left: 27px;
}


footer .sub_menu .btn{
    color: #fff;
    font-size: 14px;
    line-height: 21px;

    display: block;

    padding: 11px 0 8px;

    text-decoration: none;
    text-transform: uppercase;
}

footer .sub_menu .btn.active{
    font-weight: 700;
}



/*-----------
    PopUp
-----------*/
.modal{
    color: var(--text_color);

    display: none;
    visibility: visible !important;

    width: 484px;
    max-width: 100%;
    padding: 50px;

    border-radius: 2px;
    background: #fff;
    box-shadow: 0 0 33px rgb(0 0 0 / 10%);
}


.modal .block_head .title{
    font-size: calc(var(--font_size_title) - 10px);
}


.modal .agree{
    color: #858585;
    line-height: 18px;

    display: flex;

    margin-top: 20px;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.modal .agree .icon{
    color: #9d9d9d;
    line-height: 25px;

    width: 25px;
    height: 25px;

    text-align: center;

    border: 1px solid #ececec;
    border-radius: 50%;
}

.modal .agree .icon + *{
    width: calc(100% - 37px);
}

.modal .agree .btn{
    color: #5fb130;

    text-decoration: underline;
}


.modal .close_btn{
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;

    display: flex;

    width: 200px;
    margin-top: 28px;
    padding: 16px 24px;

    text-transform: uppercase;

    background: #5fb130;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.modal.privacy_policy{
    width: 1100px;
}



#success_modal .block_head{
    margin-bottom: 0 !important;
}
