/* 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;
    }
}






/*------------------
    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;

    -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: #212121;
    --font_size: 15px;
    --font_size_title: 42px;
    --font_family: 'Montserrat';
    --color: #D8443C;
}


::selection
{
    color: #fff;

    background: #9ebf41;
}

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

    background: #9ebf41;
}


.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: #ccc;
}

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

html.custom_scroll
{
    scrollbar-color: #D8443C #ccc;
    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;

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

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

    background: var(--bg);
}


.main
{
    flex: 1 0 auto;
}


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


.lozad
{
    transition: opacity .5s linear;

    opacity: 0;
}

.lozad.loaded
{
    opacity: 1;
}


.row
{
    display: flex;

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



.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;
}
.modal.fancybox__content > .carousel__button.is-close {
    color: #000;
    top: 14px;
    right: 14px;
    display: flex;
    width: 34px;
    height: 34px;
    transition: .2s linear !important;
    opacity: 1 !important;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}
.modal.fancybox__content > .carousel__button.is-close svg {
    display: block;
    width: 20px;
    height: 20px;
    filter: none;
    stroke: #000;
    stroke-width: 0;
}
.modal.fancybox__content > .carousel__button.is-close:hover {
    color: #000;
}






/* HEADER */

header {
    padding-top: 24px;
    padding-bottom: 28px;
}
.header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.header_logo {
    text-decoration: none;
    display: flex;
    align-items: center;
}
.header_logo img {
    padding-right: 22px;
    
}
.header_logo span {
    display: inline-block;
    padding-left: 22px;
    font-weight: 600;
    border-left: 2px solid var(--color);
    font-size: 14px;
    line-height: 142.9%;
    text-transform: uppercase;
    color: var(--text_color);
    max-width: 312px;
    width: 100%;
}
.header-contact {
    display: flex;
    align-items: center;
    flex-direction: column;
}
.header_email {
    margin-right: 0px;
}
.header_email,
.header_phone {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.header_email-icon,
.header_phone-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
   /* background: var(--color);*/
    border-radius: 50%;
    margin-right: 12px;
}
.header_email-text {
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    color: var(--text_color);
}
.header_phone-text {
    font-weight: 600;
    font-size: 18px;
    line-height: 22px;
    color: var(--text_color);
    white-space: nowrap;
}



.first-section {
    padding-bottom: 158px;
    padding-top: 158px;
    background: url(../images/bckg-bn.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.first-section_title {
    font-weight: 600;
    font-size: 50px;
    line-height: 138.8%;
    color: var(--text_color);
    max-width: 770px;
    width: 100%;
    margin-bottom: 33px;
}
.first-section_title .color-red {
    background: var(--color);
    color: #fff;
}
.first-section_title .white-bg {
    background: #fff;
}
.first-section_text {
    font-weight: 400;
    font-size: 17px;
    line-height: 170.8%;
    color: var(--text_color);
    max-width: 475px;
    width: 100%;
}





.block {
    padding-top: 89px;
    padding-bottom: 100px;
}
.title {
    font-weight: 900;
    font-size: var(--font_size_title);
    line-height: 51px;
    text-align: center;
    color: var(--text_color);
    position: relative;
    margin-bottom: 103px;
}
.title::before {
   /* position: absolute;
    content: "";
    width: 73px;
    height: 3px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -27px;
    background: var(--color);*/
}

.bg2 {
    background: #F5F4F2;
}
.services_items {
    display: flex;
    justify-content: center;
    margin-left: -30px;
    margin-bottom: -67px;
    flex-wrap: wrap;
}
.services_items > * {
    margin-left: 30px;
    margin-bottom: 67px;
    width: calc(100%/4 - 30px);
}
.services_item-icon img {
    display: block;
    margin: 0 auto;
}
.services_item-title {
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    text-align: center;
    margin-top: 21px;    
    color: var(--text_color);
    color: var(--text_color);
}
.services_item-text {
    font-weight: 400;
    font-size: var(--font_size);
    line-height: 149.8%;
    text-align: center;
    color: var(--text_color);
    margin-top: 16px;
}





.steps_title {
    margin-bottom: 95px;
}
.steps_items {
    display: flex;
    justify-content: center;
    align-items: stretch;
    margin-left: -30px;
    margin-bottom: -30px;
    flex-wrap: wrap;
    counter-reset: step;  
}
.steps_items > * {
    width: calc(100%/3 - 30px);
    margin-left: 30px;
    margin-bottom: 30px;
}
.steps_item {
    background: #FFFFFF;
    border-radius: 20px;  
    padding: 23px 65px 25px 38px;
    position: relative;     
}
.steps_item:before {
    font-family: var(--font_family);
    font-weight: 600;
    font-size: 50px;
    text-align: right;
    color: #F0EEE9;
    position: absolute;
    top: 8px;
    right: 17px;
    content: "0" counter(step);
    counter-increment: step;
    text-align: center;
    border-radius: 50%;
}
.steps_item-icon {
    margin-bottom: 10px;
}
.steps_item-text {
    font-weight: 400;
    font-size: 16px;
    line-height: 162.8%;
    color: var(--text_color);
}
.steps_item-text span {
    font-weight: 700;
}






.advantages {
    padding-bottom: 48px;
}
.advantages_title {
    margin-bottom: 58px;
}
.advantages_items {
    display: flex;
    justify-content: space-between;
    margin-top: 100px;
}
.advantages_item-img {
    position: relative;
    margin-top: 7px;
}
.advantages_item-img2 {
    position: absolute;
    top: 38px;
    right: 324px;
}
.advantages_item-img4 {
    position: absolute;
    bottom: 50px;
    right: 324px;
}
.advantages_item-img5 {
    position: absolute;
    top: 37px;
    left: 323px;
}
.advantages_item-img7 {
    position: absolute;
    bottom: 50px;
    left: 323px;
}
.advantages_item-box {
    max-width: 360px;
    margin-bottom: 42px;
}
.advantages_item-box-title {
    font-weight: 600;
    font-size: 20px;
    line-height: 24px;    
    color: var(--text_color);
    margin-bottom: 37px;
}
.advantages_item-box-text {
    font-weight: 400;
    font-size: var(--font_size);
    line-height: 173.29%;
    color: var(--text_color);
}
.advantages_slider {
    display: none;
}
.item-box1 {
    margin-bottom: 57px;
}
.item-box5 {
    margin-bottom: 109px;
}





.contacts_title {
    margin-bottom: 64px;
}
.contacts_subtitle {
    font-weight: 600;
    font-size: 24px;
    line-height: 147.8%;
    text-align: center;
    color: var(--text_color);
    margin-bottom: 47px;
}
.contacts_items {
    display: flex;
    align-items: center;
    justify-content: space-around;
}
.contacts_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    margin-left: 10px;
    margin-right: 10px;
}
.contacts_item-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--color);
    flex-shrink: 0;
}
.contacts_item-text {
    font-weight: 400;
    font-size: 18px;
    line-height: 22px;
    color: var(--text_color);
    margin-top: 18px;
    white-space: nowrap;
}
.contacts_item:nth-child(1) .contacts_item-text {
    font-weight: 600;
}


.map_wrap {
    position: relative;
    overflow: hidden;
    max-width: 100%;
    width: 100%;
    height: 404px;
    margin-left: auto;
    margin-right: auto;
    transform: translateZ(0);
}
#map {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



footer {
    padding-top: 31px;
    padding-bottom: 31px;
    background: #2C4259;
}
footer .header_logo span {
    color: #fff;
}
footer .header_email-text,
footer .header_phone-text {
    color: #fff;
}




.lang{

}

.lang a{
    font-weight: 600;
    font-size: 14px;
    line-height: 142.9%;
    text-transform: uppercase;
    color: #212121;
    text-decoration: none;
}

.lang a.active{
     color: #D8443C;
}
















/*Новые стили*/

/*Хедар*/
header {
    background-color: #2C4259 !important;
}


header span,
header span a,
header a,
header p,
header div {
    color: #fff !important;
}

button.bs__form-popup {
    background-color: transparent;
    border: 1px solid #fff;
    padding: 10px 20px;
    font-size: 24px;
}

/*Логотип*/
a.header_logo img {
    width: 160px;
}


.lang {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}

.bs__block-lang-btn {
    margin: 0px 20px;
}

/*Первый экран*/
.cont.bs__cont-first-block {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-wrap: wrap;
    align-content: flex-end;
}


.first-section_title.bs__first-block {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    /* align-content: flex-end; */
}

span.white-bg {
    text-align: right;
}

.first-section_title {
    font-weight: 600;
    font-size: 50px;
    line-height: 138.8%;
    color: #ffffff;
    max-width: 770px;
    width: 100%;
    margin-bottom: 33px;
}

.first-section_title .white-bg {
    background: #2c4259;
    padding: 0px 20px;
	margin-bottom: 5px;
}

.first-section_text {
    font-weight: 400;
    font-size: 20px;
    line-height: 150.8%;
    color: var(--text_color);
    max-width: 585px;
    width: 100%;
    text-align: right;
}



.bs__title-text::after {
    position: absolute;
    content: "";
    width: 73px;
    height: 3px;
    /* left: 50%; */
    transform: translateX(10%);
    bottom: 25px;
    background: var(--color);

}



.bs__title-text::before {
    position: absolute;
    content: "";
    width: 73px;
    height: 3px;
    /* left: 50%; */
    /* transform: translateX(-50%); */
    bottom: 25px;
    background: var(--color);
    margin-left: -80px;
}


.bg2 {
    background: #D2E1F0;
}



.header_email-icon img,
.header_phone-icon img {
    width: 40px;
}



.contacts_item {

    width: 50% !important;
    height: 100% !important;
}


.bs__form-field input, .bs__form-field textarea {
    border: none;
    background-color: transparent;
    border-bottom: 1px solid #919191;
    width: 100%;
    box-sizing: border-box;
    font-size: 18px;
    color: black;
}



.bs__form-btn {
    background-color: red !important;
    color: white !important;
    width: 100%;
    border: none;
    cursor: pointer;
    padding: 10px;
    font-size: 30px;
    font-weight: 700;
}

.bs__form-field {
    margin-bottom: 15px;
}

.bs__contact-block-form {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding: 0px 40px;
}

.bs__cf7 {
    width: 100%;
    padding: 0px 40px;
}

.bs__form-field textarea.wpcf7-form-control.wpcf7-textarea {
    max-height: 120px;
}


.first-section_title .color-red {
    background: #df000e;
    color: #fff;
}

header {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

@media screen and (max-width: 579px) {

    a.header_logo img {
        width: 100px;
    }

    .lang {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
    }


    .first-section_title.bs__first-block {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        /* align-content: flex-end; */
    }

    .first-section_text {
        font-weight: 400;
        font-size: 17px;
        line-height: 170.8%;
        color: var(--text_color);
        max-width: 585px;
        width: 100%;
        text-align: left;
    }


    .lang {
        width: 220px !important;
        order: -1;
        margin-left: 5px;
    }

    .contacts_item {
        width: 100% !important;
        height: 100% !important;
    }
    .bs__contact-block-form {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        padding: 0px 10px;
    }

    .contacts_item {
        display: flex;
        flex-direction: column !important;
        justify-content: center;
        align-items: center;
        text-decoration: none;
        margin-left: 10px;
        margin-right: 10px;
    }

    .bs__cf7 {
        width: 100%;
        padding: 0px 10px;
    }
    .header-contact.bs__footer-contact {
        width: auto !important;
    }

    p.bs__title-text {
        font-size: 20px;
    }

    .bs__title-text::before {
        position: absolute;
        content: "";
        width: 40px;
        height: 3px;
        /* left: 50%; */
        /* transform: translateX(-50%); */
        bottom: 18px;
        background: var(--color);
        margin-left: -50px;
    }

    .bs__title-text::after {
        position: absolute;
        content: "";
        width: 40px;
        height: 3px;
        /* left: 50%; */
        transform: translateX(20%);
        bottom: 18px;
        background: var(--color);
    }


    .header_logo img {
        padding-right: 0px;
    }


    .lang {
        width: 50px;
        order: -1;
        margin-left: 0px;
    }

    a.header_logo {
        width: 100px;
    }

    .bs__block-lang-btn {
        display: flex;
    }

.bs__block-lang-btn a {
    margin-right: 5px;
}



button.bs__form-popup {
    background-color: transparent;
    border: 1px solid #fff;
    padding: 10px 10px !important;
    font-size: 16px !important;
    margin: 0 auto;
    width: 130px;
}

.contacts_items {
    display: flex;
    flex-direction: column-reverse !important;
}

.header-top.row.footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-content: center;
}


.header-contact {
    margin-top: 0px;
}

header {
    padding-top: 0px;
    padding-bottom: 5px;
}

}