<title>block_h</title>
/* 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: 'MuseoSans';
    font-weight: 300;
    font-style: normal;

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

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

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

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

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

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

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



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

    /* content-visibility: auto; */
}

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

: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: #333;
    --font_size: 17px;
    --font_size_title: 42px;
    --font_family: 'Rubik', 'Arial', sans-serif;
    --font_family2: 'MuseoSans', 'Arial', sans-serif;
}


::selection
{
    color: #fff;

    background: #00afa1;
}

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

    background: #00afa1;
}


.clear
{
    clear: both;
}

.left
{
    float: left;
}

.right
{
    float: right;
}



html
{
    height: 100%;

    background: var(--bg);
}

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

    background-color: #ccc;
}

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

html.custom_scroll
{
    scrollbar-color: #00afa1 #ccc;
    scrollbar-width: thin;
}


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

    height: 100%;

    /*-webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;*/

    -webkit-touch-callout: none;
}

body.lock
{
    position: fixed;
    top: 0;
    left: 0;

    overflow: hidden;

    width: 100%;
    height: 100%;
}


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

    cursor: pointer;

    border: none;
    background: none;
}


.wrap
{
    position: relative;

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

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


.main
{
    flex: 1 0 auto;
}


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


.compensate-for-scrollbar
{
    margin-right: var(--scroll_width) !important;
}


.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;
}

.row.stretch
{
    align-items: stretch;
    align-content: stretch;
}



.block
{
    margin-bottom: 70px;
}

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



.owl-carousel,
.owl-carousel .slide:first-child
{
    display: block;
}

.owl-carousel .slide
{
    display: none;
}

.owl-carousel .owl-stage
{
    font-size: 0;

    white-space: nowrap;
}

.owl-carousel .owl-item
{
    font-size: var(--font_size);

    display: inline-block;

    vertical-align: top;
    white-space: normal;
}

.owl-carousel .slide .lozad
{
    transition: .2s linear;
}



.buttonUp
{
    position: fixed;
    z-index: 99;
    right: 50%;
    bottom: 20px;

    display: none;

    margin-right: -692px;
}

.buttonUp button
{
    position: relative;

    display: block;

    width: 50px;
    height: 50px;

    transition: background-color .2s linear;

    border-radius: 50%;
    background: rgba(196, 196, 196, .9) url(../images/ic_buttonUp.svg) 50% calc(50% + 2px) no-repeat;
}

.buttonUp button:hover
{
    background-color: #00afa1;
}



.modal_cont
{
    position: relative;
}

.mini_modal_link
{
    display: inline-block;

    vertical-align: top;
}

.mini_modal
{
    position: absolute;
    z-index: 100;
    top: calc(100% + 30px);
    left: 0;

    visibility: hidden;

    transition: .2s linear;
    pointer-events: none;

    opacity: 0;
}

.mini_modal.active
{
    top: 100%;

    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.irs-to {
    transform: translateX(-50%);
    margin-left: 8px;
}

.cat_numbers ul li a {white-space: nowrap}
@media (max-width: 450px) {
    .cat_numbers ul li a {white-space: normal}
}


.overlay
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;

    opacity: .65;
    background: #000;
}



.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;
}



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

    width: 100%;

    border-bottom: 1px solid #bdbdbd;
}


header > .close
{
    position: absolute;
    top: 0;
    left: 100%;

    display: none;

    width: 50px;
    height: 50px;

    cursor: pointer;

    border: none;
    background: none;
}

header.show > .close
{
    display: block;
}

header.show > .close:before,
header.show > .close:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 50%;
    height: 2px;
    margin: auto;

    content: '';
    transform: rotate(45deg);

    background: #fff;
}

header.show > .close:after
{
    transform: rotate(-45deg);
}



header .info
{
    padding: 12px 0 13px;
}

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



header .logo a,
header .logo img
{
    display: block;

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


header .slogan
{
    color: #033b4a;
    font-size: 16px;
    line-height: 21px;

    margin-right: auto;
    margin-left: 59px;
}



header .contacts
{
    padding-left: 31px;

    background: url(../images/ic_phone.svg) 0 1px no-repeat;
}


header .contacts .phone
{
    font-size: 18px;
    line-height: 24px;
}

header .contacts .phone a
{
    color: var(--text_color);

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


header .contacts .callback_btn
{
    color: #00a0e3;
    font-size: 15px;
    line-height: 18px;

    margin-top: 1px;

    transition: color .2s linear;

    border-bottom: 1px dashed;
}

header .contacts .callback_btn:hover
{
    color: #033b4a;
}



header .email
{
    font-size: 14px;
    line-height: 21px;

    margin-left: 72px;
    padding-bottom: 20px;
}

header .email a
{
    color: var(--text_color);

    display: inline-block;

    padding-left: 30px;

    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;

    background: url(../images/ic_email.svg) 0 0 no-repeat;
}

header .email a:hover
{
    color: #00afa1;

    /*background: url(../images/ic_email_h.svg) 0 0 no-repeat;*/
}



header .order_btn
{
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    line-height: 20px;

    position: relative;

    margin-left: auto;
    padding: 14px 32px 16px;

    transition: background .2s linear;

    background: #033b4a;
}

header .order_btn:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 7px solid transparent;
    border-right-color: #fff;
    border-bottom-color: #fff;
}

header .order_btn:hover
{
    background: #00a0e3;
}



header .menu
{
    margin-bottom: -1px;

    justify-content: space-between;
}

header .menu .item
{
    position: relative;
}

header .menu .item > a
{
    color: var(--text_color);
    font-size: 18px;
    line-height: 24px;

    display: flex;

    padding: 15px 0;

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

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

header .menu .item > a .arr
{
    position: relative;
    top: -2px;

    display: block;

    width: 7px;
    height: 7px;
    margin-left: 9px;

    transform: rotate(-45deg);

    border-bottom: 1px solid #4f4f4f;
    border-left: 1px solid #4f4f4f;
}

header .menu .item > a:after
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    width: 0;
    height: 7px;
    margin: auto;

    content: '';
    transition: width .3s linear;

    background: #00afa1;
}


header .menu .item:hover > a,
header .menu .item > a.active
{
    color: #033b4a;
}

header .menu .item > a:hover:after,
header .menu .item > a.active:after
{
    width: 100%;
}


header .menu .sub_menu
{
    position: absolute;
    z-index: 99;
    top: calc(100% + 30px);
    left: 0;

    visibility: hidden;

    width: 407px;
    min-width: 100%;
    padding: 23px 0;

    transition: .2s linear;
    pointer-events: none;

    opacity: 0;
    border-radius: 0 0 6px 6px;
    background: #fff;
    box-shadow: 0 4px 20px rgba(230, 230, 230, .2);
}

header .menu .item:hover > a.touch_link + .sub_menu
{
    top: calc(100% + 30px);

    visibility: hidden;

    opacity: 0;
}

header .menu .item:hover .sub_menu,
header .menu .item > a.touch_link + .sub_menu.show
{
    top: 100%;

    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}

header .menu .sub_menu a
{
    color: #033b4a;
    line-height: 22px;

    display: block;

    padding: 7px 32px;

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

header .menu .sub_menu a:hover,
header .menu .sub_menu a.active
{
    color: #fff;

    background: #00afa1;
}



.mob_header
{
    position: relative;
    z-index: 99;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    padding: 15px 0;

    background: #fff;
}

.mob_header .cont
{
    display: flex;

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


.mob_header .logo
{
    margin-right: auto;
}

.mob_header .logo a,
.mob_header .logo img
{
    display: block;
}


.mob_header .contacts
{
    padding-left: 31px;

    background: url(../images/ic_phone.svg) 0 1px no-repeat;
}


.mob_header .contacts .phone
{
    font-size: 18px;
    line-height: 24px;
}

.mob_header .contacts .phone a
{
    color: var(--text_color);

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


.mob_header .contacts .callback_btn
{
    color: #00a0e3;
    font-size: 15px;
    line-height: 18px;

    margin-top: 1px;

    transition: border-color .2s linear;

    border-bottom: 1px dashed #00a0e3;
}

.mob_header .contacts .callback_btn:hover
{
    border-color: transparent;
}


.mob_header .email
{
    font-size: 14px;
    line-height: 21px;

    margin-left: 40px;
    padding-left: 30px;

    background: url(../images/ic_email.svg) 0 0 no-repeat;
}

.mob_header .email a
{
    color: var(--text_color);

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


.mob_header .mob_menu_btn
{
    display: block;

    width: 48px;
    height: 38px;
    margin-right: -10px;
    margin-left: 20px;
    padding: 10px;

    cursor: pointer;

    border: none;
    background: none;
}

.mob_header .mob_menu_btn span
{
    position: relative;

    display: block;

    width: 100%;
    height: 2px;

    background: var(--text_color);
}

.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: '';

    background: var(--text_color);
}

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



/*---------------
    Page head
---------------*/
.page_head
{
    margin-bottom: 40px;
    padding-top: 30px;
}

.page_head .cont > * + *
{
    margin-top: 30px;
}


.breadcrumbs
{
    color: #00afa1;
    font-size: 14px;
    line-height: 17px;
}

.breadcrumbs a
{
    color: #4f4f4f;

    transition: color .2s linear;
    white-space: nowrap;
    text-decoration: none;
}

.breadcrumbs a:hover
{
    color: #00afa1;
}

.breadcrumbs .sep
{
    position: relative;
    top: -1px;

    display: inline-block;

    width: 6px;
    height: 8px;
    margin: 0 10px;

    vertical-align: middle;
}

.breadcrumbs .sep:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

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

    content: '';
    transform: rotate(-45deg);

    border-right: 1px solid #00afa1;
    border-bottom: 1px solid #00afa1;
}


.page_title
{
    color: #033b4a;
    font-family: var(--font_family2);
    font-size: 48px;
    font-weight: 900;
    line-height: 56px;
}



/*----------------
    Block head
----------------*/
.block_head
{
    display: flex;

    width: 100%;
    margin-bottom: 35px;

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


.block_head .title
{
    color: #033b4a;
    font-family: var(--font_family2);
    font-size: var(--font_size_title);
    font-weight: 300;
    line-height: 49px;

    position: relative;

    padding-bottom: 11px;
}

.block_head .title:after
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

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

    content: '';

    background: #00afa1;
}


.block_head .title.mini
{
    color: #033b4a;
    font-size: 30px;
    font-weight: 500;
    line-height: 36px;
}


.block_head .desc
{
    font-size: 18px;
    line-height: 24px;

    margin-top: 30px;
}

.block_head .desc > * + *
{
    margin-top: 20px;
}


.block_head.white .title,
.block_head.white .desc
{
    color: #fff;
}

.block_head.white .title:after
{
    background: #fff;
}


.block_head.center
{
    text-align: center;

    justify-content: center;
}

.block_head.center .title:after
{
    right: 0;
}



/*----------------
    Block head 2
----------------*/
.block_head_2
{
    display: flex;

    width: 100%;
    margin-bottom: 35px;

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


.block_head_2 .title
{
    color: #033b4a;
    font-family: var(--font_family2);
    font-size: var(--font_size_title);
    font-weight: 300;
    line-height: 49px;

    position: relative;

    padding-bottom: 11px;
}

.block_head_2 .title:after
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

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

    content: '';

    background: #00afa1;
}


.block_head_2 .title.mini
{
    color: #033b4a;
    font-size: 30px;
    font-weight: 500;
    line-height: 36px;
}


.block_head_2 .desc
{
    font-size: 18px;
    line-height: 24px;

    margin-top: 30px;
}

.block_head_2 .desc > * + *
{
    margin-top: 20px;
}


.block_head_2.white .title,
.block_head_2.white .desc
{
    color: #fff;
}

.block_head_2.white .title:after
{
    background: #fff;
}


.block_head_2.center
{
    text-align: center;

    justify-content: center;
}

.block_head_2.center .title:after
{
    right: 0;
}






/*------------------
    Form elements
------------------*/
.form
{
    --form_border_color: transparent;
    --form_focus_color: transparent;
    --form_error_color: red;
    --form_border_radius: 4px;
    --form_bg_color: rgba(255, 255, 255, .9);
    --form_label_width: 250px;
    --form_placeholder_color: #333;
}


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

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

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


.form .columns
{
    margin-left: calc(var(--form_columns_offset) * -1);

    --form_columns_offset: 17px;
}

.form .columns > *
{
    width: calc(50% - var(--form_columns_offset));
    margin-left: var(--form_columns_offset);
}

.form .columns > *.width1of3
{
    width: calc(33.333% - var(--form_columns_offset));
}

.form .columns > *.width2of3
{
    width: calc(66.666% - var(--form_columns_offset));
}

.form .columns > *.width3of3
{
    width: calc(100% - var(--form_columns_offset));
}


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

.form .line.row
{
    justify-content: flex-end;
}

.form .line.row .label
{
    display: flex;

    width: var(--form_label_width);
    max-width: 100%;
    min-height: 42px;
    margin: 0;
    padding-right: 15px;

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

.form .line.row .field
{
    width: calc(100% - var(--form_label_width));
}


.form .label
{
    line-height: 22px;

    margin-bottom: 8px;
}


.form .label.big
{
    font-size: 24px;
    font-weight: 500;
    line-height: 28px;

    margin-bottom: 12px;
}


.form .field
{
    position: relative;
}


.form .input
{
    color: var(--text_color);
    font: var(--font_size) var(--font_family);

    display: block;

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

    transition: border-color .2s linear;

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

.form textarea
{
    color: var(--text_color);
    font: var(--font_size) var(--font_family);

    display: block;

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

    resize: none;
    transition: border-color .2s linear;

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


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


.form .input:focus,
.form textarea:focus,
.form .nice-select.open .current
{
    border-color: var(--form_focus_color);
}

.form .error,
.form .error + .nice-select .current
{
    border-color: var(--form_error_color);
}


.form select
{
    display: none;
}

.form .nice-select
{
    position: relative;

    display: block;
}

.form .nice-select .current
{
    color: var(--form_placeholder_color);
    line-height: 42px;

    position: relative;

    display: block;
    overflow: hidden;

    height: 51px;
    padding: 0 44px 0 20px;

    cursor: pointer;
    transition: .2s linear;
    white-space: nowrap;
    text-overflow: ellipsis;

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

.form .nice-select .current.selected
{
    color: var(--text_color);
}

.form .nice-select .current:after
{
    position: absolute;
    top: -4px;
    right: 16px;
    bottom: 0;

    display: block;

    width: 10px;
    height: 10px;
    margin: auto;

    content: '';
    transform: rotate(-45deg);

    border-bottom: 2px solid #bdbdbd;
    border-left: 2px solid #bdbdbd;
}

.form .nice-select .list
{
    position: absolute;
    z-index: 9;
    top: calc(100% + 30px);
    left: 0;

    visibility: hidden;
    overflow: hidden;

    min-width: 100%;
    padding: 5px 0;

    transition: .2s linear;

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

.form .nice-select.open .list
{
    top: calc(100% - 1px);

    visibility: visible;

    opacity: 1;
}

.form .nice-select .list .scrollbar
{
    overflow: auto;

    max-height: 240px;
}

.form .nice-select .list .list_item
{
    padding: 7px 20px;

    cursor: pointer;
    transition: .2s linear;
}

.form .nice-select .list .list_item:empty
{
    display: none;
}

.form .nice-select .list .list_item:hover,
.form .nice-select .list .list_item.selected
{
    color: #00afa1;
}


.form .agree
{
    color: #fafafa;
    font-size: 14px;
    line-height: 17px;
}

.form .agree a
{
    color: #033b4a;

    text-decoration: none;
}

.form .agree a:hover
{
    text-decoration: underline;
}


.form .bottom
{
    display: flex;

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

.form .bottom .agree
{
    width: 524px;
    max-width: calc(100% - 300px);
}

.form .bottom .submit
{
    width: 267px;
    max-width: 100%;
    padding: 0;
}

.form .bottom .submit_btn
{
    width: 100%;
}


.form .submit
{
    display: flex;

    padding-top: 10px;

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

.form .submit_btn
{
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 19px;

    display: inline-block;

    padding: 15px 39px 17px 28px;

    transition: background .2s linear;
    vertical-align: top;
    letter-spacing: .02em;

    background: #00afa1;
}

.form .submit_btn:hover
{
    background: #00a0e3;
}



/*----------------
    Typography
----------------*/
.text_block
{
    line-height: 22px;

    -webkit-user-select: text;
       -moz-user-select: text;
        -ms-user-select: text;
            user-select: text;

    -webkit-touch-callout: text;
}

.text_block.small
{
    font-size: 16px;
    line-height: 21px;
}


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

.text_block > :first-child
{
    margin-top: 0 !important;
}


.text_block h2
{
    color: #033b4a;
    font-family: var(--font_family2);
    font-size: 42px;
    font-weight: 300;
    line-height: 49px;

    margin-bottom: 30px;
}

.text_block h1 + h2
{
    margin-top: 0 !important;
}


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

.text_block .clear + h2
{
    margin-top: 20px;
}

.text_block h2 + *
{
    margin-top: 0 !important;
}


.text_block > *
{
    margin-bottom: 25px;
}


.text_block .columns
{
    margin: 40px 0;
}


.text_block img
{
    display: block;

    max-width: 100%;
}

.text_block img.left
{
    max-width: calc(50% - 35px);
    margin-top: 4px;
    margin-right: 35px;
}

.text_block img.right
{
    max-width: calc(50% - 35px);
    margin-top: 4px;
    margin-left: 35px;
}

.text_block img.loaded
{
    height: auto !important;
}


.text_block .columns
{
    column-gap: 70px;
    column-count: 2;
}

.text_block .columns > *
{
    transform: translateZ(0);

    --webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
}

.text_block .columns > * + *
{
    margin-top: 25px;
}


.text_block a
{
    color: #00a0e3;
}

.text_block a:hover
{
    text-decoration: none;
}



/*-----------------
    Main slider
-----------------*/
.main_slider
{
    position: relative;
}


.main_slider .slide
{
    overflow: hidden;
}

.main_slider .slide .cont
{
    display: flex;

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


.main_slider .slide .info
{
    width: 443px;
    max-width: 100%;
    padding: 104px 0;
}


.main_slider .slide .title
{
    color: #033b4a;
    font-family: var(--font_family2);
    font-size: 48px;
    font-weight: 900;
    line-height: 56px;
}


.main_slider .slide .desc
{
    font-family: var(--font_family2);
    font-size: 28px;
    font-weight: 500;
    line-height: 33px;

    margin-top: 25px;
}


.main_slider .slide .link
{
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 19px;

    position: relative;

    display: inline-block;

    margin-top: 31px;
    padding: 15px 45px 17px;

    transition: background .2s linear;
    vertical-align: top;
    text-decoration: none;
    letter-spacing: .02em;

    background: #033b4a;
}

.main_slider .slide .link:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 7px solid transparent;
    border-right-color: #fff;
    border-bottom-color: #fff;
}

.main_slider .slide .link:hover
{
    background: #00a0e3;
}


.main_slider .slide .img
{
    position: relative;

    width: 800px;
    max-width: calc(100% - 540px);
    height: 600px;
    margin-right: -180px;

    background: #ddd;
}

.main_slider .slide .img img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.main_slider .slide .img img.before
{
    z-index: 5;
    top: 0;
    bottom: 0;
    left: -133px;

    width: auto;
    height: auto;
    margin: auto;
}

.main_slider .slide .img:after
{
    position: absolute;
    z-index: 9;
    right: 0;
    bottom: 0;

    display: block;

    width: 306px;
    height: 306px;

    content: '';

    border: 153px solid transparent;
    border-right-color: #fff;
    border-bottom-color: #fff;
}


.main_slider .count
{
    font-size: 28px;
    font-weight: 300;
    line-height: 33px;

    position: absolute;
    z-index: 10;
    right: 50%;
    bottom: 27px;

    display: flex;

    margin-right: -616px;

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

.main_slider .count .total
{
    font-size: 18px;
    line-height: 21px;
}



/*------------------
    Promo blocks
------------------*/
.promo_blocks .row
{
    justify-content: space-between;
}

.promo_blocks .row > *
{
    width: calc(50% - 10px);
}



.promo_blocks .item .thumb
{
    position: relative;

    height: 326px;
    margin-bottom: 11px;

    counter-reset: point;
}

.promo_blocks .item .thumb img
{
    display: block;

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


.promo_blocks .item .thumb .point
{
    position: absolute;
    z-index: 5;

    width: 25px;
    height: 25px;
}

.promo_blocks .item .thumb .point1
{
    top: 85%;
    left: 46%;
}

.promo_blocks .item .thumb .point2
{
    top: 54%;
    left: 25%;
}

.promo_blocks .item .thumb .point3
{
    top: 64%;
    left: 59%;
}

.promo_blocks .item .thumb .point4
{
    top: 9%;
    left: 60%;
    display: none;
}

.promo_blocks .item .thumb .point5
{
    top: 25%;
    left: 70%;
}

.promo_blocks .item .thumb .point6
{
    top: 19.25%;
    left: 38.85%;
}

.promo_blocks .item .thumb .point7
{
    top: 25.5%;
    left: 27.75%;
}

.promo_blocks .item .thumb .point8 {
    top: 10%;
    left: 54.7%;
}

.promo_blocks .item .thumb .point9 {
    top: 26.4%;
    left: 47.5%
}

.promo_blocks .item .thumb .point:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    transform: rotate(-45deg);

    background: #00a0e3;
}

.promo_blocks .item .thumb .point:after
{
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    line-height: 25px;

    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    width: 25px;
    height: 25px;

    content: counters(point, '') '';
    counter-increment: point;
    text-align: center;
}

.promo_blocks .item .thumb .point .text
{
    color: #fff;
    font-size: 14px;
    line-height: 17px;

    position: absolute;
    top: 50%;
    left: calc(100% + 35px);

    visibility: hidden;

    width: 177px;
    padding: 15px 20px;

    transition: .2s linear;
    transform: translateY(-50%);
    pointer-events: none;

    opacity: 0;
    border: 1px solid #e0e0e0;
    border-radius: 2px;
    background: #033b4a;
}

.promo_blocks .item .thumb .point .text:before
{
    position: absolute;
    z-index: 1;
    top: 50%;
    left: -7px;

    display: block;

    width: 14px;
    height: 14px;
    margin-top: -7px;

    content: '';
    transform: rotate(-45deg);

    border-top: 1px solid #e0e0e0;
    border-left: 1px solid #e0e0e0;
    background: #033b4a;
}


.promo_blocks .item .thumb .point:hover
{
    z-index: 9;
}

.promo_blocks .item .thumb .point:hover .text
{
    left: calc(100% + 15px);

    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.promo_blocks .item .name
{
    color: #033b4a;
    font-family: var(--font_family2);
    font-size: 36px;
    font-weight: 700;
    line-height: 42px;

    margin-bottom: 19px;
}

.promo_blocks .item .name a
{
    color: currentColor;

    position: relative;

    display: inline-block;

    padding-bottom: 11px;

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

.promo_blocks .item .name a:after
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    width: 64px;
    height: 4px;

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

    background: #00afa1;
}

.promo_blocks .item .name a:hover:after
{
    background: transparent;
}


.promo_blocks .item .desc
{
    font-size: 18px;
    line-height: 24px;

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



/*-----------------
    Works types
-----------------*/
.works_types
{
    position: relative;

    width: calc(50% + 0px);
    margin-left: 0px;
    padding: 30px 30px 30px 30px;

    background: #033b4a;
}

.works_types:after
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 20px;
    height: 20px;

    content: '';

    border: 20px solid transparent;
    border-top-color: #fff;
    border-left-color: #fff;
}


.works_types .row
{
    margin-bottom: -15px;
    margin-left: -15px;
}

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


.works_types .type
{
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;

    position: relative;

    display: block;

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

    background: #0a566a;
}

.works_types .type:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 7px solid transparent;
    border-right-color: #033b4a;
    border-bottom-color: #033b4a;
}

.works_types .type .thumb
{
    position: relative;

    overflow: hidden;

    padding-bottom: 71.27%;

    background: #ddd;
}

.works_types .type .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    transition: transform .2s linear;

    object-fit: cover;
}

.works_types .type .name
{
    padding: 11px 20px 12px;
}

.works_types .type:hover
{
    background: #00a0e3;
}

.works_types .type:hover img
{
    transform: scale(1.1);
}



/*--------------------
    What gives img
--------------------*/
.what_gives_img
{
    position: relative;

    width: calc(50% + 180px);
    margin-left: -180px;

    background: #ddd;
}

.what_gives_img img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}



/*----------------
    What gives
----------------*/
.what_gives
{
    width: 50%;
    padding: 10px 0 30px 50px;

    background: #fcfcfc;
}


.what_gives .block_head
{
    margin-bottom: 50px;
}


.what_gives .list
{
    line-height: 20px;
}

.what_gives .list > *
{
    position: relative;

    padding-left: 44px;
}

.what_gives .list > * + *
{
    margin-top: 22px;
}

.what_gives .list > *:after
{
    position: absolute;
    top: 3px;
    left: 3px;

    display: block;

    width: 19px;
    height: 10px;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    border-bottom: 3px solid #00afa1;
    border-left: 3px solid #00afa1;
}


.what_gives .link
{
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 19px;

    position: relative;

    display: inline-block;

    margin-top: 20px;
    padding: 15px 39px 17px 28px;

    transition: background .2s linear;
    vertical-align: top;
    text-decoration: none;
    letter-spacing: .02em;

    background: #033b4a;
}

.what_gives .link:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 7px solid transparent;
    border-right-color: #fff;
    border-bottom-color: #fff;
}

.what_gives .link:hover
{
    background: #00a0e3;
    color: #fff;
}



/*------------------
    We guarantee
------------------*/
.we_guarantee .row
{
    margin-bottom: -30px;
    margin-left: -20px;

    justify-content: space-between;
}

.we_guarantee .row > *
{
    width: calc(20% - 20px);
    margin-bottom: 30px;
    margin-left: 20px;
}


.we_guarantee .item
{
    line-height: 22px;

    text-align: center;
}


.we_guarantee .item .icon
{
    position: relative;

    display: flex;

    height: 125px;
    margin-bottom: 25px;

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

.we_guarantee .item .icon:before
{
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 87px;
    height: 87px;
    margin: auto;

    content: '';
    transform: rotate(45deg);

    background: #f2f2f2;
}

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

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


.we_guarantee .item .desc
{
    display: inline-block;

    text-align: left;
    vertical-align: top;
}

.we_guarantee .item .desc span
{
    color: #033b4a;
}


.we_guarantee .item .order_btn
{
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 19px;

    position: relative;

    display: inline-block;

    width: 135px;
    height: 30px;
    margin-top: 18px;

    transition: background .2s linear;
    vertical-align: top;
    letter-spacing: .02em;

    background: #0a566a;
}

.we_guarantee .item .order_btn:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 7px solid transparent;
    border-right-color: var(--bg);
    border-bottom-color: var(--bg);
}

.we_guarantee .item .order_btn:hover
{
    background: #00a0e3;
}



/*--------------
    For whom
--------------*/
.for_whom .info
{
    width: 496px;
    max-width: calc(50% - 30px);
    padding-bottom: 70px;
}


.for_whom .info .item
{
    line-height: 22px;
}

.for_whom .info .item + .item
{
    margin-top: 47px;
}

.for_whom .info .item .name
{
    color: #033b4a;
    font-size: 30px;
    font-weight: 500;
    line-height: 36px;

    position: relative;

    padding-bottom: 11px;
}

.for_whom .info .item .name:after
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    width: 40px;
    height: 4px;

    content: '';

    background: #00afa1;
}

.for_whom .info .item .desc
{
    margin-top: 12px;
}


.for_whom .img
{
    position: relative;

    display: block;

    width: calc(50% + 180px);
    min-height: 473px;
    margin-right: -180px;
    margin-left: auto;

    background: #ddd;
}

.for_whom .img img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.for_whom .img img.before
{
    z-index: 5;
    top: 0;
    bottom: 0;
    left: -105px;

    width: auto;
    height: auto;
    margin: auto;
}



/*----------
    Calc
----------*/
.calc
{
    position: relative;

    background: #fcfcfc;
}

.calc:before
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 140px;
    height: 140px;

    content: '';

    border: 70px solid transparent;
    border-top-color: #fff;
    border-left-color: #fff;
}

.calc:after
{
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0;

    display: block;

    width: 140px;
    height: 140px;

    content: '';

    border: 70px solid transparent;
    border-right-color: #fff;
    border-bottom-color: #fff;
}


.calc .cont.row
{
    justify-content: space-between;
    align-items: stretch;
    align-content: stretch;
}


.calc .info
{
    position: relative;

    width: 50%;
    padding: 70px 70px 70px 0;

    background: #033b4a;
}

.calc .info:before
{
    position: absolute;
    top: 0;
    right: 100%;

    display: block;

    width: 2000px;
    height: 100%;

    content: '';

    background: #033b4a;
}


.calc .info .block_head
{
    margin-bottom: 0 !important;
}

.calc .info .block_head .title
{
    padding-bottom: 16px;
}


.calc .info .icon
{
    position: absolute;
    z-index: 5;
    top: 40px;
    right: 40px;

    display: flex;

    width: 143px;
    height: 143px;

    pointer-events: none;

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

.calc .info .icon:before
{
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 101px;
    height: 101px;
    margin: auto;

    content: '';
    transform: rotate(45deg);

    background: rgba(229, 229, 229, .09);
}

.calc .info .icon img
{
    display: block;

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


.calc .info .free
{
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    line-height: 28px;

    position: relative;

    display: inline-block;

    margin-top: 39px;
    padding: 10px 13px 13px;

    transition: .2s linear;
    text-align: center;
    vertical-align: top;
    text-decoration: none;

    border: 1px solid #c4c4c4;
}

.calc .info .free span
{
    display: inline-block;

    margin-bottom: -6px;

    transition: .2s linear;
    vertical-align: top;

    border-bottom: 6px solid #00afa1;
}

.calc .info .free:hover
{
    color: #fff;

    border-color: #00a0e3;
    background: #00a0e3;
}

.calc .info .free:hover span
{
    border-color: #fff;
}


.calc .form
{
    width: 50%;
    padding: 70px 0 70px 70px;

    --form_border_color: #e5e5e5;
    --form_focus_color: #e5e5e5;
    --form_bg_color: #fff;
}

.calc .form .line
{
    margin-bottom: 5px;
}

.calc .form .line.big_margin
{
    margin-bottom: 19px;
}

.calc .form .input,
.calc .form .nice-select .current
{
    height: 42px;
}

.calc .form .bottom
{
    padding-top: 33px;
}


.calc .form .amount
{
    position: relative;

    display: flex;

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

.calc .form .amount button
{
    position: relative;
    z-index: 3;

    display: block;

    width: 38px;
    height: 42px;
}

.calc .form .amount button:before
{
    position: absolute;
    top: 4px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 10px;
    height: 10px;
    margin: auto;

    content: '';
    transform: rotate(-45deg);

    border-top: 2px solid #bdbdbd;
    border-right: 2px solid #bdbdbd;
}

.calc .form .amount button.minus:before
{
    top: -4px;

    transform: rotate(-225deg);
}

.calc .form .amount .input
{
    width: 150px;
    height: 42px;
    margin: 0 -38px;
    padding: 0 37px;

    text-align: center;
}

.calc .form .amount .unit
{
    font-size: 18px;
    line-height: 21px;

    margin-left: 9px;
}

.calc .form .amount .unit sup
{
    font-size: 10px;
    line-height: 14px;

    display: inline-block;

    vertical-align: top;
}


.calc .form .bottom .total_price
{
    color: #033b4a;
    font-size: 36px;
    line-height: 51px;

    position: relative;

    width: calc(var(--form_label_width) - 15px);
}

.calc .form .bottom .total_price:before
{
    position: absolute;
    bottom: 100%;
    left: 0;

    display: block;

    width: 100%;
    height: 4px;

    content: '';

    background: #00afa1;
}

.calc .form .bottom .total_price small
{
    font-size: 30px;
}


.calc .form .bottom .submit
{
    width: calc(100% - var(--form_label_width));
}

.calc .form .bottom .submit_btn
{
    height: 51px;
    padding: 0 30px;

    transition: background .2s linear;

    border-radius: 0;
    background: #033b4a;
}

.calc .form .bottom .submit_btn:hover
{
    background: #00afa1;
}



/*---------------
    Our works
---------------*/
.our_works
{
    position: relative;

    padding: 70px 0;

    background: #535e6b;
}

.our_works:after
{
    position: absolute;
    top: 0;
    right: 0;

    display: block;

    width: 162px;
    height: 162px;

    content: '';

    border: 81px solid transparent;
    border-top-color: #fff;
    border-right-color: #fff;
}

.our_works:before
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    width: 162px;
    height: 162px;

    content: '';

    border: 81px solid transparent;
    border-bottom-color: #fff;
    border-left-color: #fff;
}


.our_works .gallery
{
    display: flex;

    margin-bottom: -50px;
    margin-left: -50px;

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

.our_works .gallery > *
{
    width: calc(33.333% - 50px);
    margin-bottom: 50px;
    margin-left: 50px;
}


.our_works .owl-stage-outer
{
    overflow: visible !important;
}

.our_works .owl-item
{
    visibility: hidden;

    transition: .3s linear;
    pointer-events: none;

    opacity: 0;
}

.our_works .owl-item.active
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.our_works .item
{
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;

    display: block;

    text-decoration: none;
}

.our_works .item .thumb
{
    position: relative;

    padding-bottom: 67%;

    background: #ddd;
    box-shadow: 0 24px 29px rgba(0, 0, 0, .25);
}

.our_works .item .thumb:after
{
    position: absolute;
    top: -6px;
    left: -6px;

    display: block;

    width: calc(100% + 12px);
    height: calc(100% + 12px);

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

    border: 6px solid transparent;
}

.our_works .item .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.our_works .item:hover .thumb:after
{
    border-color: #00afa1;
}


.our_works .item .name
{
    margin-top: 16px;
}


.our_works .video_link
{
    width: 56.85%;
    margin-right: auto;
}

.our_works .video_link .thumb
{
    padding-bottom: 56.15%;

    box-shadow: 0 16px 32px rgba(35, 23, 5, .26);
}

.our_works .video_link .name
{
    margin-top: 26px;
}


.our_works .video_link + .gallery
{
    width: 43.15%;
    margin-bottom: -27px;
    margin-left: -27px;
}

.our_works .video_link + .gallery > *
{
    width: calc(50% - 27px);
    margin-bottom: 27px;
    margin-left: 27px;
}



/*-------------------
    Partners info
-------------------*/
.partners_info .cont.row
{
    justify-content: space-between;
}


.partners_info .info
{
    width: calc(100% - 304px);
}

.partners_info .info .title
{
    color: #033b4a;
    font-family: var(--font_family2);
    font-size: 48px;
    font-weight: 900;
    line-height: 56px;

    margin-bottom: 30px;
}

.partners_info .info .sub_title
{
    color: #033b4a;
    font-size: 24px;
    font-weight: 500;
    line-height: 28px;

    margin-bottom: 30px;
}



.partners_info .manager
{
    width: 271px;
    max-width: 100%;
}


.partners_info .manager .photo
{
    position: relative;

    display: block;
    overflow: hidden;

    margin-bottom: 20px;
    padding-bottom: 107.38%;

    background: #ddd;
}

.partners_info .manager .photo:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 72px;
    height: 72px;

    content: '';

    border: 36px solid transparent;
    border-right-color: var(--bg);
    border-bottom-color: var(--bg);
}

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

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.partners_info .manager .name
{
    color: #033b4a;
    font-size: 17px;
    font-weight: 500;
    line-height: 20px;

    margin-bottom: 5px;
}

.partners_info .manager .post
{
    color: #4f4f4f;
    font-size: 16px;
    line-height: 21px;
}



/*------------------
    Partners map
------------------*/
.partners_map #map
{
    position: relative;

    overflow: hidden;

    height: 455px;

    border-top: 1px solid #bdbdbd;
    border-bottom: 1px solid #bdbdbd;
    background: #ddd;
}



/*-------------------
    Message block
-------------------*/
.message_block .data
{
    position: relative;

    display: flex;

    padding: 15px 62px 14px 21px;

    background: #033b4a;

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


.message_block .data .corner
{
    position: absolute;

    display: block;

    width: 23px;
    height: 23px;

    content: '';
}

.message_block .data .corner.top_left
{
    top: -9px;
    left: -8px;

    border-top: 4px solid #00afa1;
    border-left: 4px solid #00afa1;
}

.message_block .data .corner.top_right
{
    top: -9px;
    right: -8px;

    border-top: 4px solid #00afa1;
    border-right: 4px solid #00afa1;
}

.message_block .data .corner.bottom_left
{
    bottom: -9px;
    left: -8px;

    border-bottom: 4px solid #00afa1;
    border-left: 4px solid #00afa1;
}

.message_block .data .corner.bottom_right
{
    right: -8px;
    bottom: -9px;

    border-right: 4px solid #00afa1;
    border-bottom: 4px solid #00afa1;
}


.message_block .logo
{
    display: flex;

    width: 109px;
    height: 109px;
    padding: 15px;

    border-radius: 50%;
    background: #fff;

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

.message_block .logo img
{
    display: block;

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


.message_block .info
{
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    line-height: 20px;

    width: 523px;
    max-width: 100%;
    margin-left: 107px;
}

.message_block.garanti .info
{
    margin-left: 221px;
}


.message_block .info .title
{
    font-size: 24px;
    line-height: 28px;
}


.message_block .info .desc
{
    margin-top: 5px;
}


.message_block .link
{
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 19px;

    position: relative;

    display: inline-block;

    margin-left: auto;
    padding: 15px 40px 17px;

    transition: background .2s linear;
    vertical-align: top;
    text-decoration: none;
    letter-spacing: .02em;

    background: #00a0e3;
}
.message_block .link:hover{
  background: #00afa1;
}
.message_block .link:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 7px solid transparent;
    border-right-color: #033b4a;
    border-bottom-color: #033b4a;
}



/*-----------------
    Action form
-----------------*/
.action_form
{
    position: relative;

    overflow: hidden;

    padding: 70px 0 100px;

    background: #ddd;
}

.action_form:before
{
    position: absolute;
    z-index: 5;
    top: 0;
    left: 0;

    display: block;

    width: 140px;
    height: 140px;

    content: '';

    border: 70px solid transparent;
    border-top-color: #fff;
    border-left-color: #fff;
}

.action_form.two_corners:after
{
    position: absolute;
    z-index: 5;
    top: 0;
    right: 0;

    display: block;

    width: 140px;
    height: 140px;

    content: '';

    border: 70px solid transparent;
    border-top-color: #fff;
    border-right-color: #fff;
}


.action_form .bg
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
}


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


.action_form .form
{
    width: 850px;
    max-width: 100%;
    margin: 0 auto;
}



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

    margin-top: 70px;
    padding: 46px;

    background: #033b4a;
}

.order_form:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 60px;
    height: 60px;

    content: '';

    border: 30px solid transparent;
    border-right-color: var(--bg);
    border-bottom-color: var(--bg);
}


.order_form .form
{
    --form_bg_color: #fff;
}

.order_form .form .columns
{
    --form_columns_offset: 22px;
}


.order_form .form .line,
.order_form .form .submit
{
    margin-bottom: 15px;
}

.order_form .form .submit
{
    padding: 0;
}


.order_form .form .submit_btn
{
    position: relative;

    width: 100%;

    background: #00a0e3;
}

.order_form .form .submit_btn:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 20px;
    height: 20px;

    content: '';

    border: 10px solid transparent;
    border-right-color: #033b4a;
    border-bottom-color: #033b4a;
}

.order_form .form .submit_btn:hover
{
    background: #00afa1;
}


.order_form .form .agree
{
    color: #828282;

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

.order_form .form .agree a
{
    color: #828282;

    transition: color .2s linear;
    text-decoration: underline;
}

.order_form .form .agree a:hover
{
    color: #fff;
}



/*-------------------
    Contacts info
-------------------*/
.contacts_info .info
{
    line-height: 22px;

    display: flex;

    margin-bottom: -30px;
    margin-left: -20px;

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

.contacts_info .info > *
{
    max-width: calc(50% - 20px);
    margin-bottom: 30px;
    margin-left: 20px;
}


.contacts_info .phone
{
    padding-left: 38px;

    background: url(../images/ic_phone.svg) 0 2px no-repeat;
}

.contacts_info .phone .number
{
    font-size: 24px;
    line-height: 28px;
}

.contacts_info .phone a
{
    color: currentColor;

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


.contacts_info .callback_btn
{
    color: #00a0e3;

    display: inline-block;

    margin-top: 5px;

    transition: border-color .2s linear;
    vertical-align: top;

    border-bottom: 1px dashed #00a0e3;
}

.contacts_info .callback_btn:hover
{
    border-color: transparent;
}


.contacts_info .location
{
    padding-left: 38px;

    background: url(../images/ic_location.svg) 0 0 no-repeat;
}


.contacts_info .email
{
    line-height: 21px;

    padding-left: 38px;

    background: url(../images/ic_email.svg) 0 0 no-repeat;
}

.contacts_info .email a
{
    color: currentColor;

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


.contacts_info .requisites
{
    padding-left: 38px;
}

.contacts_info .requisites .download
{
    margin-top: 7px;
}

.contacts_info .requisites a
{
    color: #00a0e3;

    display: inline-block;

    transition: border-color .2s linear;
    vertical-align: top;
    text-decoration: none;

    border-bottom: 1px dashed;
}

.contacts_info .requisites a:hover
{
    border-color: transparent;
}


.contacts_info #map
{
    position: relative;

    overflow: hidden;

    height: 455px;
    margin-top: 70px;

    border-top: 1px solid #bdbdbd;
    border-bottom: 1px solid #bdbdbd;
    background: #ddd;
}



/*---------------
    Portfolio
---------------*/
.portfolio
{
    position: relative;

    background: #fcfcfc;
}

.portfolio:after
{
    position: absolute;
    top: 0;
    right: 0;

    display: block;

    width: 140px;
    height: 140px;

    content: '';

    border: 70px solid transparent;
    border-top-color: #fff;
    border-right-color: #fff;
}


.portfolio .work
{
    padding: 70px 0;
}

.portfolio .work + .work
{
    border-top: 1px solid #bdbdbd;
}


.portfolio .work .info
{
    line-height: 22px;
    margin-bottom: 20px;
}

.portfolio .work .info > *
{
    display: flex;

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

.portfolio .work .info > * + *
{
    margin-top: 20px;
}

.portfolio .work .info .name
{
    color: #033b4a;
    font-weight: 500;

    width: 110px;
    padding-right: 15px;
}

.portfolio .work .info .val
{
    width: calc(100% - 110px);
}


.portfolio .work .gallery
{
    display: flex;

    margin-bottom: -50px;
    margin-left: -50px;

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

.portfolio .work .gallery > *
{
    width: calc(33.333% - 50px);
    margin-bottom: 50px;
    margin-left: 50px;
}


.portfolio .work .item
{
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;

    display: block;

    text-decoration: none;
}

.portfolio .work .item .thumb
{
    position: relative;

    padding-bottom: 67%;

    background: #ddd;
    box-shadow: 0 24px 29px rgba(0, 0, 0, .25);
}

.portfolio .work .item .thumb:after
{
    position: absolute;
    top: -6px;
    left: -6px;

    display: block;

    width: calc(100% + 12px);
    height: calc(100% + 12px);

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

    border: 6px solid transparent;
}

.portfolio .work .item .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.portfolio .work .item:hover .thumb:after
{
    border-color: #00afa1;
}


.portfolio .work .video_link
{
    width: 56.85%;
    margin-right: auto;
}

.portfolio .work .video_link .thumb
{
    padding-bottom: 56.5%;

    box-shadow: 0 16px 32px rgba(35, 23, 5, .26);
}


.portfolio .work .video_link + .gallery
{
    width: 43.15%;
    margin-bottom: -66px;
    margin-left: -27px;
}

.portfolio .work .video_link + .gallery > *
{
    width: calc(50% - 27px);
    margin-bottom: 66px;
    margin-left: 27px;
}



/*---------------
    Documents
---------------*/
.documents .title
{
    color: #033b4a;
    font-family: var(--font_family2);
    font-size: 48px;
    font-weight: 900;
    line-height: 56px;

    margin-bottom: 40px;
}


.documents .cols
{
    justify-content: space-between;
}

.documents .cols .col
{
    width: calc(50% - 70px);
}


.documents .file
{
    color: var(--text_color);
    line-height: 22px;

    display: flex;

    padding: 7px 12px 6px 17px;

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

    border-top: 1px solid #bdbdbd;
    border-bottom: 1px solid #bdbdbd;

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

.documents .file + .file
{
    margin-top: -1px;
}

.documents .file .name
{
    width: calc(100% - 60px);
    margin-right: auto;
}

.documents .file .extension
{
    width: 24px;
    height: 26px;
    margin-right: 7px;
}

.documents .file .size
{
    color: #4f4f4f;

    display: flex;

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


.documents .file:hover
{
    color: #00a0e3;

    background: #f2f2f2;
}

/*-----------
    Certs
-----------*/
.certs
{
    position: relative;

    padding: 70px 0;

    background: #033b4a;
}

.certs:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 146px;
    height: 146px;

    content: '';

    border: 73px solid transparent;
    border-right-color: #fff;
    border-bottom-color: #fff;
}


.certs .row
{
    margin-bottom: -52px;
    margin-left: -52px;

    justify-content: center;
}

.certs .row > *
{
    width: calc(25% - 52px);
    margin-bottom: 52px;
    margin-left: 52px;
}


.certs .item
{
    color: #f2f2f2;
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;

    display: block;

    text-decoration: none;
}

.certs .item .thumb
{
    display: flex;

    padding: 30px;

    transition: .2s linear;

    background: #f2f2f2;

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

.certs .item .thumb img
{
    display: block;

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

.certs .item .name
{
    margin-top: 13px;
}

.certs .item:hover .thumb
{
    background: #00a0e3;
    box-shadow: 0 0 39px #384c64;
}



/*---------------
    Calc info
---------------*/
.calc_info .head
{
    display: flex;

    margin-bottom: 50px;

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


.calc_info .head .desc
{
    font-size: 18px;
    line-height: 24px;

    width: 670px;
    max-width: calc(100% - 506px);
}


.calc_info .head .free
{
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    line-height: 28px;

    position: relative;

    display: block;

    width: 476px;
    max-width: 100%;
    padding: 10px 25px 13px 15px;

    text-align: center;

    background: #033b4a;
}

.calc_info .head .free span
{
    display: inline-block;

    margin-bottom: -6px;

    vertical-align: top;

    border-bottom: 6px solid #00afa1;
}

.calc_info .head .free:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 7px solid transparent;
    border-right-color: var(--bg);
    border-bottom-color: var(--bg);
}



.calc_info .form
{
    --form_border_color: #e5e5e5;
    --form_focus_color: #e5e5e5;
    --form_bg_color: #fff;
    --form_label_width: 178px;
}

.calc_info .form .columns
{
    --form_columns_offset: 70px;
}

.calc_info .form .line
{
    margin-bottom: 30px;
}

.calc_info .form .input,
.calc_info .form .nice-select .current
{
    height: 42px;
}

.calc_info .form .bottom
{
    padding-top: 3px;

    justify-content: center;
}


.calc_info .form .amount
{
    position: relative;

    display: flex;

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

.calc_info .form .amount button
{
    position: relative;
    z-index: 3;

    display: block;

    width: 38px;
    height: 42px;
}

.calc_info .form .amount button:before
{
    position: absolute;
    top: 4px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 10px;
    height: 10px;
    margin: auto;

    content: '';
    transform: rotate(-45deg);

    border-top: 2px solid #bdbdbd;
    border-right: 2px solid #bdbdbd;
}

.calc_info .form .amount button.minus:before
{
    top: -4px;

    transform: rotate(-225deg);
}

.calc_info .form .amount .input
{
    width: 150px;
    height: 42px;
    margin: 0 -38px;
    padding: 0 37px;

    text-align: center;
}

.calc_info .form .amount .unit
{
    font-size: 18px;
    line-height: 21px;

    margin-left: 9px;
}

.calc_info .form .amount .unit sup
{
    font-size: 10px;
    line-height: 14px;

    display: inline-block;

    vertical-align: top;
}


.calc_info .form .mini_modal_link
{
    position: relative;

    display: flex;

    width: 100%;
    min-height: 97px;
    padding: 12px 52px 12px 40px;

    transition: border-color .2s linear;
    text-align: left;

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

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

.calc_info .form .mini_modal_link:after
{
    position: absolute;
    top: -4px;
    right: 21px;
    bottom: 0;

    display: block;

    width: 10px;
    height: 10px;
    margin: auto;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    border-bottom: 2px solid #bdbdbd;
    border-left: 2px solid #bdbdbd;
}


.calc_info .form .mini_modal_link .check
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;

    display: block;

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

    transition: border-color .2s linear;

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

.calc_info .form .mini_modal_link.active .check,
.calc_info .form .mini_modal_link.checked .check
{
    border-color: #00afa1;
}

.calc_info .form .mini_modal_link .check:after
{
    position: absolute;
    top: -3px;
    bottom: 0;
    left: 4px;

    display: block;

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

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #00afa1;
    border-left: 2px solid #00afa1;
}

.calc_info .form .mini_modal_link.active .check:after,
.calc_info .form .mini_modal_link.checked .check:after
{
    opacity: 1;
}


.calc_info .form .mini_modal_link .placeholder
{
    margin-left: 25px;
}

.calc_info .form .mini_modal_link.checked .placeholder
{
    display: none;
}


.calc_info .form .mini_modal_link .select_info
{
    display: flex;

    width: 100%;

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


.calc_info .form .mini_modal_link .thumb
{
    display: flex;

    width: 70px;
    height: 70px;

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

.calc_info .form .mini_modal_link .thumb + *
{
    width: calc(100% - 74px);
}

.calc_info .form .mini_modal_link .thumb img
{
    display: block;

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


.calc_info .form .mini_modal_link .name
{
    font-size: 16px;
    line-height: 21px;

    width: 100%;
}

.calc_info .form .mini_modal_link .price
{
    color: #033b4a;
    line-height: 22px;

    margin-top: 3px;

    white-space: nowrap;
}

.calc_info .form .mini_modal_link .price b
{
    font-weight: 500;
}

.calc_info .form .mini_modal_link sup
{
    font-size: 10px;
    line-height: 16px;

    display: inline-block;

    vertical-align: top;
}

.calc_info .form .mini_modal_link.active:after
{
    top: 4px;

    transform: rotate(-225deg);

    border-color: #00afa1;
}


.calc_info .form .mini_modal
{
    width: 100%;
    padding: 17px 10px 17px 0;

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

.calc_info .form .mini_modal .scroll
{
    overflow: auto;

    max-height: 308px;
    padding-right: 28px;
}

.calc_info .form .mini_modal .scroll::-webkit-scrollbar
{
    width: 25px;
    height: 25px;

    background-color: #e0e0e0;
}

.calc_info .form .mini_modal .scroll::-webkit-scrollbar-thumb
{
    background-color: #033b4a;
}

.calc_info .form .mini_modal .scroll
{
    scrollbar-color: #033b4a #e0e0e0;
    scrollbar-width: auto;
}


.calc_info .form .variant
{
    position: relative;

    display: flex;

    padding: 15px 52px 15px 40px;

    cursor: pointer;

    border-bottom: 1px solid var(--form_border_color);

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

.calc_info .form .variant .check
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;

    display: block;

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

    transition: .2s linear;

    opacity: 0;
    border: 2px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.calc_info .form .variant.active .check,
.calc_info .form .variant.checked .check
{
    border-color: #00afa1;
}

.calc_info .form .variant .check:after
{
    position: absolute;
    top: -3px;
    bottom: 0;
    left: 4px;

    display: block;

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

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #00afa1;
    border-left: 2px solid #00afa1;
}

.calc_info .form .variant:hover .check,
.calc_info .form .variant.checked .check
{
    opacity: 1;
}

.calc_info .form .variant.checked .check:after
{
    opacity: 1;
}


.calc_info .form .variant .placeholder
{
    margin-left: 25px;
}


.calc_info .form .variant .thumb
{
    display: flex;

    width: 70px;
    height: 70px;

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

.calc_info .form .variant .thumb + *
{
    width: calc(100% - 74px);
}

.calc_info .form .variant .thumb img
{
    display: block;

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


.calc_info .form .variant .name
{
    font-size: 16px;
    line-height: 21px;

    width: 100%;
}

.calc_info .form .variant .price
{
    color: #033b4a;
    line-height: 22px;

    margin-top: 3px;

    white-space: nowrap;
}

.calc_info .form .variant .price b
{
    font-weight: 500;
}

.calc_info .form .variant sup
{
    font-size: 10px;
    line-height: 16px;

    display: inline-block;

    vertical-align: top;
}


.calc_info .form .bottom .total_price
{
    color: #033b4a;
    font-size: 36px;
    line-height: 51px;

    margin-right: 20px;
}

.calc_info .form .bottom .total_price small
{
    font-size: 30px;
}


.calc_info .form .bottom .submit
{
    width: 300px;
    max-width: 100%;
}

.calc_info .form .bottom .submit_btn
{
    height: 51px;
    padding: 0 30px;

    transition: background .2s linear;

    border-radius: 0;
    background: #033b4a;
}

.calc_info .form .bottom .submit_btn:hover
{
    background: #00afa1;
}



/*----------------
    About info
----------------*/
.about_info .cont.row
{
    justify-content: space-between;
}


.about_info .info
{
    width: calc(100% - 304px);
}

.about_info .info .sub_title
{
    color: #033b4a;
    font-size: 24px;
    font-weight: 500;
    line-height: 28px;

    margin-bottom: 30px;
}



/*----------------
    Advantages
----------------*/
.advantages .row
{
    margin-bottom: -30px;
    margin-left: -20px;

    justify-content: space-between;
}

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


.advantages .item
{
    line-height: 22px;

    text-align: center;
}


.advantages .item .icon
{
    position: relative;

    display: flex;

    height: 125px;
    margin-bottom: 25px;

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

.advantages .item .icon:before
{
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 87px;
    height: 87px;
    margin: auto;

    content: '';
    transform: rotate(45deg);

    background: #f2f2f2;
}

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

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


.advantages .item .desc
{
    display: inline-block;

    text-align: left;
    vertical-align: top;
}



/*----------
    Team
----------*/
.team .row
{
    margin-bottom: -52px;
    margin-left: -52px;

    justify-content: center;
}

.team .row > *
{
    width: calc(25% - 52px);
    margin-bottom: 52px;
    margin-left: 52px;
}


.team .person .photo
{
    position: relative;

    display: block;
    overflow: hidden;

    margin-bottom: 20px;
    padding-bottom: 107.38%;

    background: #ddd;
}

.team .person .photo:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 72px;
    height: 72px;

    content: '';

    border: 36px solid transparent;
    border-right-color: var(--bg);
    border-bottom-color: var(--bg);
}

.team .person .photo img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.team .person .name
{
    color: #033b4a;
    font-size: 17px;
    font-weight: 500;
    line-height: 20px;

    margin-bottom: 5px;
}

.team .person .post
{
    color: #4f4f4f;
    font-size: 16px;
    line-height: 21px;
}



/*---------------------
    Requisites info
---------------------*/
.requisites_info .row
{
    margin-bottom: -52px;
    margin-left: -52px;

    justify-content: space-between;
}

.requisites_info .row > *
{
    max-width: calc(33.333% - 52px);
    margin-bottom: 52px;
    margin-left: 52px;
}


.requisites_info .item
{
    line-height: 160%;
}

.requisites_info .item + .item
{
    margin-top: 18px;
}

.requisites_info .item .title
{
    color: #033b4a;
    font-weight: 500;
    line-height: 20px;
}

.requisites_info .item * + *
{
    margin-top: 18px;
}

.requisites_info .item .title + *
{
    margin-top: 7px;
}


.requisites_info .big_boss .name
{
    color: #033b4a;
    font-size: 17px;
    font-weight: 500;
    line-height: 20px;

    margin-bottom: 5px;
}

.requisites_info .big_boss .post
{
    color: #4f4f4f;
    font-size: 16px;
    line-height: 21px;
}


.requisites_info .phone
{
    margin-top: 30px;
    padding-left: 38px;

    background: url(../images/ic_phone.svg) 0 2px no-repeat;
}

.requisites_info .phone .number
{
    font-size: 24px;
    line-height: 28px;
}

.requisites_info .phone a
{
    color: currentColor;

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


.requisites_info .callback_btn
{
    color: #00a0e3;

    display: inline-block;

    margin-top: 5px;

    transition: border-color .2s linear;
    vertical-align: top;

    border-bottom: 1px dashed #00a0e3;
}

.requisites_info .callback_btn:hover
{
    border-color: transparent;
}


.requisites_info .email
{
    line-height: 21px;

    margin-top: 28px;
    padding-left: 38px;

    background: url(../images/ic_email.svg) 0 0 no-repeat;
}

.requisites_info .email a
{
    color: currentColor;

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


.requisites_info .location
{
    margin-top: 24px;
    padding-left: 38px;

    background: url(../images/ic_location.svg) 0 0 no-repeat;
}

.requisites_info .location .map_link
{
    margin-top: 5px;
}

.requisites_info .location .map_link a
{
    color: #00a0e3;

    display: inline-block;

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

.requisites_info .location .map_link a:hover
{
    text-decoration: underline;
}



/*------------------
    Product head
------------------*/
.product_head .info
{
    width: 50%;
    margin-right: auto;
    padding-right: 70px;
    padding-bottom: 47px;
}

.product_head .info.big
{
    width: calc(50% + 70px);
    padding-right: 60px;
}


.product_head .product_name
{
    color: #033b4a;
    font-family: var(--font_family2);
    font-size: 48px;
    font-weight: 900;
    line-height: 56px;
}


.product_head .desc
{
    line-height: 22px;

    margin-top: 30px;
}


.product_head .link
{
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 19px;

    position: relative;

    display: inline-block;

    margin-top: 30px;
    padding: 15px 45px 17px;

    transition: background .2s linear;
    vertical-align: top;
    text-decoration: none;
    letter-spacing: .02em;

    background: #033b4a;
}

.product_head .link:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 7px solid transparent;
    border-right-color: #fff;
    border-bottom-color: #fff;
}

.product_head .link:hover
{
    background: #00a0e3;
}


.product_head .img
{
    width: 50%;
    margin-left: auto;
}

.product_head .info.big + .img
{
    width: calc(50% - 70px);
}

.product_head .img img
{
    display: block;

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



/*-------------------
    Product usage
-------------------*/
.product_usage
{
    position: relative;

    padding: 70px 0 96px;

    background: #fcfcfc;
}


.product_usage .block_head
{
    margin-bottom: 30px;
}


.product_usage .row
{
    justify-content: space-between;
}

.product_usage .row .col
{
    width: calc(50% - 70px);
}


.product_usage .row .title
{
    color: #033b4a;
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;

    margin-bottom: 30px;
}


.product_usage .items > *
{
    line-height: 22px;

    position: relative;

    padding-left: 44px;
}

.product_usage .items > * + *
{
    margin-top: 20px;
}

.product_usage .items > *:before
{
    position: absolute;
    top: 2px;
    left: 3px;

    display: block;

    width: 18px;
    height: 11px;

    content: '';
    transform: rotate(-45deg);

    border-bottom: 3px solid #00afa1;
    border-left: 3px solid #00afa1;
}



/*------------------------
    Pproduct equipment
------------------------*/
.product_equipment table
{
    width: 429px;
    margin-right: auto;

    border-spacing: 0;
    border-collapse: collapse;
}

.product_equipment table td
{
    color: #000;
    font-size: 15px;
    line-height: 19px;

    padding: 4px 8px;

    text-align: left;
    vertical-align: middle;

    border-bottom: 1px solid var(--bg);
}

.product_equipment table td.val
{
    white-space: nowrap;
}

.product_equipment table td .check
{
    position: relative;
    top: -3px;

    display: inline-block;

    width: 12px;
    height: 7px;
    margin: 0 10px;

    transform: rotate(-45deg);
    vertical-align: middle;

    border-bottom: 2px solid #033b4a;
    border-left: 2px solid #033b4a;
}

.product_equipment table td .line
{
    position: relative;
    top: -1px;

    display: inline-block;

    width: 17px;
    height: 3px;
    margin: 0 10px;

    vertical-align: middle;

    background: #033b4a;
}

.product_equipment table tbody tr:nth-child(odd) td
{
    background: #f4f6f8;
}


.product_equipment .img
{
    max-width: 50%;
    margin-top: -10px;
    margin-right: auto;
    margin-left: auto;
}

.product_equipment .img img
{
    display: block;

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



/*-------------------
    Product video
-------------------*/
.product_video
{
    position: relative;

    padding: 70px 0;

    background: #535e6b;
}

.product_video:before
{
    position: absolute;
    z-index: 5;
    bottom: 0;
    left: 0;

    display: block;

    width: 140px;
    height: 140px;

    content: '';

    border: 70px solid transparent;
    border-bottom-color: #fff;
    border-left-color: #fff;
}

.product_video:after
{
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 0;

    display: block;

    width: 140px;
    height: 140px;

    content: '';

    border: 70px solid transparent;
    border-right-color: #fff;
    border-bottom-color: #fff;
}


.product_video .video_link
{
    display: block;

    width: 705px;
    max-width: 100%;
    margin: 0 auto;
}

.product_video .video_link .thumb
{
    position: relative;

    padding-bottom: 56.5%;

    background: #ddd;
    box-shadow: 0 16px 32px rgba(35, 23, 5, .26);
}

.product_video .video_link .thumb:after
{
    position: absolute;
    top: -6px;
    left: -6px;

    display: block;

    width: calc(100% + 12px);
    height: calc(100% + 12px);

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

    border: 6px solid transparent;
}

.product_video .video_link .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.product_video .video_link:hover .thumb:after
{
    border-color: #00afa1;
}



/*------------
    Footer
------------*/
footer
{
    position: relative;
}

footer.corner:after
{
    position: absolute;
    top: 0;
    right: 0;

    display: block;

    width: 146px;
    height: 146px;

    content: '';

    border: 73px solid transparent;
    border-top-color: #fff;
    border-right-color: #fff;
}


footer .info
{
    padding: 70px 0;

    background: #033543;
}

footer .info .cont.row
{
    justify-content: space-between;
}


footer .bottom
{
    color: #bdbdbd;
    font-size: 13px;
    line-height: 15px;

    padding: 22px 0 24px;

    background: #012e3a;
}

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

footer .bottom a
{
    color: #bdbdbd;

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

footer .bottom a:hover
{
    color: #fff;
}



footer .contacts
{
    color: #fff;
    font-size: 15px;
    line-height: 18px;
}

footer .contacts > * + *
{
    margin-top: 20px;
}


footer .phone
{
    display: flex;

    padding-left: 37px;

    background: url(../images/ic_phone.svg) 0 calc(50% - 1px) no-repeat;

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

footer .phone .number
{
    font-size: 24px;
    line-height: 28px;
}

footer .phone a
{
    color: currentColor;

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


footer .callback_btn
{
    color: #00a0e3;

    margin-left: 13px;

    transition: color .2s linear;

    border-bottom: 1px dashed;
}

footer .callback_btn:hover
{
    color: #fff;
}



footer .email
{
    line-height: 21px;

    padding-left: 38px;

    background: url(../images/ic_email.svg) 0 0 no-repeat;
}

footer .email a
{
    color: #f2f2f2;

    transition: border-color .2s linear;
    white-space: nowrap;
    text-decoration: none;

    border-bottom: 1px dashed transparent;
}

footer .email a:hover
{
    border-color: currentColor;
}



footer .location
{
    padding-left: 38px;

    background: url(../images/ic_location.svg) 0 0 no-repeat;
}

footer .location .map_link
{
    margin-top: 5px;
}

footer .location .map_link a
{
    color: #00a0e3;

    display: inline-block;

    transition: color .2s linear;
    vertical-align: top;
    text-decoration: none;
}

footer .location .map_link a:hover
{
    color: #fff;
}



footer .requisites
{
    padding-left: 38px;
}

footer .requisites .download
{
    margin-top: 10px;
}

footer .requisites a
{
    color: #00a0e3;

    display: inline-block;

    transition: color .2s linear;
    vertical-align: top;
    text-decoration: none;

    border-bottom: 1px dashed;
}

footer .requisites a:hover
{
    color: #fff;
}



footer .menu > * + *
{
    margin-top: 2px;
}

footer .menu a
{
    color: #fff;
    font-size: 16px;
    line-height: 21px;

    position: relative;

    display: inline-block;

    padding: 5px 22px 5px 18px;

    transition: background .2s linear;
    vertical-align: top;
    text-decoration: none;
}

footer .menu a:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 7px solid transparent;
    border-right-color: #033543;
    border-bottom-color: #033543;
}

footer .menu a:hover,
footer .menu a.active
{
    background: #00afa1;
}



footer .links
{
    display: flex;

    margin-bottom: -11px;
    margin-bottom: 50px;
    margin-left: -22px;

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

footer .links > *
{
    margin-bottom: 11px;
    margin-left: 22px;
}


footer .links .calc_link
{
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    line-height: 20px;

    position: relative;

    display: flex;

    height: 50px;
    padding: 0 45px 0 10px;

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

    background: #00a0e3;

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

footer .links .calc_link:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 7px solid transparent;
    border-right-color: #033543;
    border-bottom-color: #033543;
}

footer .links .calc_link img
{
    display: block;

    margin-right: 9px;
}

footer .links .calc_link:hover
{
    background: #00afa1;
}


footer .links .order_btn
{
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    line-height: 20px;

    position: relative;

    display: flex;

    height: 50px;
    padding: 0 32px 0;

    transition: background .2s linear;

    background: #00a0e3;

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

footer .links .order_btn:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 7px solid transparent;
    border-right-color: #033543;
    border-bottom-color: #033543;
}

footer .links .order_btn:hover
{
    background: #00afa1;
}



footer .socials
{
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;

    display: flex;

    margin-top: 22px;

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

footer .socials .name
{
    width: 227px;
    max-width: 100%;
}

footer .socials a
{
    display: flex;

    width: 38px;
    height: 38px;

    transition: background .2s linear;

    border-radius: 50%;
    background: #0a566a;

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

footer .socials a + a
{
    margin-left: 23px;
}

footer .socials img
{
    display: block;
}

footer .socials a:hover
{
    background: #00a0e3;
}



/*-----------
    PopUp
-----------*/
.modal
{
    display: none;
    visibility: visible !important;

    width: 342px;
    max-width: 100%;
    padding: 35px;

    border: 1px solid #e0e0e0;
    background: #fff;
    box-shadow: 0 4px 20px rgba(230, 230, 230, .2);
}


.modal_title
{
    color: #033b4a;
    font-size: 30px;
    font-weight: 500;
    line-height: 36px;

    margin-bottom: 17px;
}


.modal .form
{
    --form_border_color: #e5e5e5;
    --form_focus_color: #e5e5e5;
    --form_bg_color: #fff;
}

.modal .form .line
{
    margin-bottom: 10px;
}

.modal .form .label
{
    color: #191919;
    font-size: 16px;
    line-height: 21px;

    margin-bottom: 5px;
}

.modal .form .input,
.modal .form .nice-select .current
{
    height: 37px;
}

.modal .form .agree
{
    color: #828282;
    font-size: 13px;
    line-height: 15px;
}

.modal .form .submit_btn
{
    position: relative;

    width: 100%;
    height: 51px;
    padding: 0 32px;

    text-transform: uppercase;

    background: #033b4a;
}

.modal .form .submit_btn:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 7px solid transparent;
    border-right-color: #fff;
    border-bottom-color: #fff;
}

.modal .form .submit_btn:hover
{
    background: #00a0e3;
}



.fixed_btns
{
    position: fixed;
    z-index: 99;
    top: 0;
    right: 0;
    bottom: 0;

    height: 141px;
    margin: auto;
}

.fixed_btns > * + *
{
    margin-top: 11px;
}

.fixed_btns a
{
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;

    display: flex;

    padding: 7px 0;

    transition: .2s linear;
    transform: translateX(100px);
    text-decoration: none;

    background: linear-gradient(45deg, transparent 12px, #033b4a 0) bottom left;

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

.fixed_btns .icon
{
    display: flex;

    width: 60px;
    height: 51px;

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

.fixed_btns .icon img
{
    display: block;

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

.fixed_btns .name
{
    width: 100px;
}

.fixed_btns a:hover
{
    transform: translateX(0);

    background: linear-gradient(45deg, transparent 12px, #00afa1 0) bottom left;
}



@media (max-width: 1439px)
{
    .main_slider .slide .img
    {
        margin-right: -90px;
    }

    .main_slider .owl-carousel .owl-nav button.owl-prev
    {
        margin-right: -437px;
    }

    .main_slider .owl-carousel .owl-nav button.owl-next
    {
        margin-right: -484px;
    }

    .main_slider .owl-dots
    {
        margin-right: -583px;
    }

    .main_slider .count
    {
        margin-right: -588px;
    }



    .calc:before,
    .calc:after,
    .our_works:before,
    .our_works:after,
    .certs:after,
    footer.corner:after,
    .action_form.two_corners:after
    {
        display: none;
    }
}