/*-----------
    Fonts
-----------*/
@font-face
{
    font-family: 'Sitka Small';
    font-weight: normal;
    font-style: normal;

    font-display: swap;
    src: url('../fonts/Sitka_Small.woff2') format('woff2'),
    url('../fonts/Sitka_Small.woff') format('woff'),
    url('../fonts/Sitka_Small.ttf') format('truetype');
}

@font-face
{
    font-family: 'Sitka Small';
    font-weight: 700;
    font-style: normal;

    font-display: swap;
    src: url('../fonts/sitka-small-bold.woff2') format('woff2'),
    url('../fonts/sitka-small-bold.woff') format('woff'),
    url('../fonts/sitka-small-bold.ttf') format('truetype');
}



/*------------------
    Reset styles
------------------*/
*
{
    box-sizing: border-box;
    margin: 0;
    padding: 0;

    scroll-margin-top: 24px;
}

*:before,
*:after
{
    box-sizing: border-box;
}

html
{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
        -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body
{
    margin: 0;

    overscroll-behavior: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-overflow-scrolling: touch;
    text-rendering: optimizeLegibility;
    text-decoration-skip: objects;
}

img
{
    border-style: none;
}

textarea
{
    overflow: auto;
}

input,
textarea,
input:active,
textarea:active,
button
{
    margin: 0;

    -webkit-border-radius: 0;
            border-radius: 0;
         outline: none transparent !important;
    box-shadow: none;

    -webkit-appearance: none;
            appearance: none;
    -moz-outline: none !important;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button
{
    margin: 0;

    -webkit-appearance: none;
}

input[type=number]
{
    -moz-appearance: textfield;
}

:focus
{
    outline: 0;
}

:hover,
:active
{
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-touch-callout: none;
}


::-ms-clear
{
    display: none;
}



/*-------------------
    Global styles
-------------------*/
:root
{
    --bg: #fff;
    --scroll_width: 17px;
    --text_color: #1b1b1b;
    --font_size: 16px;
    --font_size_title: 40px;
    --font_family: 'Sitka Small', 'Arial', sans-serif;
}


::selection
{
    color: #fff;
    background: #2a3c7b;
}

::-moz-selection
{
    color: #fff;
    background: #2a3c7b;
}


.clear
{
    clear: both;
}

.left
{
    float: left;
}

.right
{
    float: right;
}



html
{
    height: 100%;
    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height:         fill-available;
}

html.custom_scroll ::-webkit-scrollbar
{
    width: 10px;
    height: 10px;

    background-color: var(--bg);
}

html.custom_scroll ::-webkit-scrollbar-thumb
{
    background-color: #2a3c7b;
}

html.custom_scroll
{
    scrollbar-color: #2a3c7b var(--bg);
    scrollbar-width: thin;
}


body
{
    font: var(--font_size) var(--font_family);

    height: 100%;
    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height:         fill-available;

    color: var(--text_color);
}

body.menu_open
{
    overflow: hidden;
}


button
{
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;

    display: inline-block;

    cursor: pointer;
    vertical-align: top;

    color: inherit;
    border: none;
    background: none;
}



input:disabled {
    background: #c3c3c3 !important;
    color: #444 !important;
    border-color: #c3c3c3 !important;
    cursor: default !important;
}

.wrap
{
    position: relative;
    z-index: 9;

    display: flex;
    overflow: clip;
    flex-direction: column;

    min-width: 375px;
    min-height: 100%;

    background: var(--bg);
}


.wrap > .main
{
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
}


.cont
{
    width: 100%;
    max-width: 1488px;
    margin: 0 auto;
    padding: 0 24px;
}

.cont .cont {
    padding: 0;
}


.row
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;
}



.block
{
    margin-bottom: 80px;
}

.block.big_m
{
    margin-bottom: 110px;
}

.block.border
{
    padding-bottom: 80px;

    border-bottom: 1px solid #d3d3d3;
}



.overlay
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;

    opacity: .65;
    background: #000;
}



.modal_btn > *
{
    pointer-events: none;
}



/*--------------
    Fancybox
--------------*/
.fancybox__backdrop
{
    background: rgba(0, 0, 0, .8);
}


.fancybox__slide
{
    padding: 40px;
}


.fancybox__content > .f-button.is-close-btn
{
    top: 0;
    right: 0;

    opacity: 1;

    --f-button-width: 58px;
    --f-button-height: 58px;
    --f-button-border-radius: 0;
    --f-button-color: #334481;
    --f-button-hover-color: #8e8e8e;
    --f-button-svg-width: 18px;
    --f-button-svg-height: 18px;
    --f-button-bg: transparent;
    --f-button-hover-bg: #f6f6f6;
    --f-button-active-bg: #f6f6f6;
}

.is-compact .fancybox__content > .f-button.is-close-btn
{
    top: 0;
    right: 0;

    --f-button-border-radius: 0;
    --f-button-color: #334481;
    --f-button-hover-color: #8e8e8e;
    --f-button-outline-color: none;
    --f-button-bg: none;
    --f-button-active-bg: none;
    --f-button-hover-bg: none;
    --f-button-svg-width: 18px;
    --f-button-svg-height: 18px;
}


.fancybox__content > .f-button.is-close-btn svg
{
    stroke: none;
}



/*--------------
    All link
--------------*/
.all_link
{
    margin-top: 55px;

    text-align: center;
}


.all_link a
{
    line-height: 24px;

    transition: color .2s linear;

    color: #2a3c7b;
}

.all_link a:hover
{
    text-decoration: none;

    color: #898989;
}



/*----------
    Tabs
----------*/
.tab_content
{
    position: relative;

    visibility: hidden;
    overflow: hidden;

    height: 0;

    pointer-events: none;

    opacity: 0;
}

.tab_content.active
{
    visibility: visible;
    overflow: visible;

    height: auto;

    transition: opacity .5s linear;
    pointer-events: auto;

    opacity: 1;
}



/*----------------
    Pagination
----------------*/
.pagination
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    margin-top: 50px;
}


.pagination > * + *
{
    margin-left: 8px;
}


.pagination a,
.pagination .sep
{
    line-height: 38px;

    display: inline-block;

    width: 40px;
    height: 40px;

    transition: .2s linear;
    text-align: center;
    vertical-align: top;
    text-decoration: none;

    color: currentColor;
    border: 1px solid transparent;
}

.pagination a:hover,
.pagination a.active
{
    color: #2a3c7b;
    border-color: #2a3c7b;
}


.pagination .prev,
.pagination .next
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}

.pagination .prev
{
    margin-right: 15px;
}

.pagination .next
{
    margin-left: 15px;
}


.pagination .prev .icon,
.pagination .next .icon
{
    display: block;

    width: 20px;
    height: 13px;
}

.pagination .prev .icon
{
    transform: rotate(180deg);
}


.pagination .prev .icon + .icon,
.pagination .next .icon + .icon,
.pagination .prev:hover .icon,
.pagination .next:hover .icon
{
    display: none;
}

.pagination .prev:hover .icon + .icon,
.pagination .next:hover .icon + .icon
{
    display: block;
}



/*------------
    Header
------------*/
header
{
    position: relative;
    z-index: 9;
    top: 0;
    left: 0;

    width: 100%;
    padding: 34px 0 40px;

    background: var(--bg);
}



header .mob_close_btn
{
    position: absolute;
    top: 0;
    left: 100%;

    display: none;

    width: 50px;
    height: 50px;

    cursor: pointer;

    border: none;
    background: none;
}


header .mob_close_btn:before,
header .mob_close_btn: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 .mob_close_btn:after
{
    transform: rotate(-45deg);
}


header.show .mob_close_btn
{
    display: block;
}



header .cont
{
    align-content: center;
    align-items: center;
    justify-content: space-between;
}



header .col
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    width: calc(50% - 165px);
}

header .col.main_menu_cont{
    justify-content: space-between;
}



header .location
{
    font-size: 14px;
    line-height: 1.571;

    color: rgb(66, 66, 66);
}



header .map_link
{
    font-size: 14px;
    line-height: 22px;
    margin-left: 28px;
    position: relative;
    top: -1px;
}


header .map_link .btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    transition: color .2s linear;
    text-decoration: underline;

    color: #2a3c7b;
}


header .map_link .icon
{
    display: block;

    width: 16px;
    height: 21px;
    margin-right: 10px;
}


header .map_link .btn:hover
{
    color: #898989;
}



header .phone
{
    font-size: 18px;
    line-height: 22px;

    color: #424242;
}


header .phone a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}



header .callback_btn
{
    font-size: 14px;
    line-height: 22px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: 28px;

    transition: color .2s linear;
    text-decoration: underline;

    color: #2a3c7b;
}


header .callback_btn .icon
{
    display: block;

    width: 19px;
    height: 21px;
    margin-right: 10px;
}


header .callback_btn:hover
{
    color: #898989;
}



header .socials
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: auto;
}


header .socials a
{
    display: block;

    transition: color .2s linear;
    text-decoration: none;

    color: #d3d3d3;
}

header .socials a + a
{
    margin-left: 28px;
}


header .socials .icon
{
    display: block;
}

header .socials .whatsapp_link .icon
{
    width: 20px;
    height: 20px;
}

header .socials .telegram_link .icon
{
    width: 24px;
    height: 20px;
}

header .socials .vk_link .icon
{
    width: 31px;
    height: 18px;
}


header .socials a:hover
{
    color: #898989;
}



header .logo
{
    position: absolute;
    top: -4px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 120px;
    height: 128px;
    margin: auto;

    text-decoration: none;

    color: currentColor;
}

header .logo img
{
    display: block;

    width: 100%;
    height: 100%;
}



header .menu
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    width: 100%;
    margin-top: 40px;
}


header .menu_item + .menu_item
{
    /* margin-left: 68px; */
}


header .menu_item > a
{
    font-size: 24px;
    line-height: 32px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    height: 68px;

    transition: color .2s linear;
    text-decoration: none;

    color: #2a3c7b;
}


header .menu_item:hover > a,
header .menu_item > a.active
{
    color: #898989;
}


header .menu .sub_menu
{
    position: absolute;
    z-index: 9;
    top: 100%;
    left: 0;

    visibility: hidden;

    width: 100%;
    padding: 50px 0;

    transition: .2s linear;
    pointer-events: none;

    opacity: 0;
    background: #f6f6f6;
}

header .menu .sub_menu:before
{
    position: absolute;
    bottom: 100%;
    left: 0;

    display: block;

    width: 100%;
    height: 40px;

    content: '';
}


header .menu_item:hover > a.touch_link + .sub_menu
{
    visibility: hidden;

    pointer-events: none;

    opacity: 0;
}

header .menu_item:hover .sub_menu,
header .menu_item > a.touch_link + .sub_menu.show
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


header .menu .sub_menu .row
{
    margin-bottom: -25px;
    margin-left: -70px;
}

header .menu .sub_menu .row > *
{
    width: calc(25% - 70px);
    margin-bottom: 25px;
    margin-left: 70px;
}


header .menu .sub_menu .col
{
    display: block;
}

header .menu .sub_menu .col + .col
{
    margin-top: 0;
}

header .menu .sub_menu .col > * + *
{
    margin-top: 25px;
}


header .menu .sub_menu a
{
    font-size: 14px;
    font-style: italic;
    line-height: 18px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    transition: .2s linear;
    text-decoration: none;

    color: #2a3c7b;
}


header .menu .sub_menu a .icon
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 44px;
    height: 30px;
}


header .menu .sub_menu a .icon svg
{
    display: block;

    width: 100%;
    height: 100%;
}


header .menu .sub_menu a .name
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    width: calc(100% - 69px);
}


header .menu .sub_menu a span
{
    max-width: calc(100% - 17px);
}


header .menu .sub_menu a .arr
{
    display: block;

    width: 7px;
    height: 10px;
    margin-left: 10px;

    transform: rotate(90deg);
}


header .menu .sub_menu a:hover,
header .menu .sub_menu a.active
{
    color: #898989;
}



header .menu .sub
{
    display: none;

    padding-top: 20px;
    padding-left: 58px;
}


header .menu .sub > * + *
{
    margin-top: 10px;
}


header .menu .sub a
{
    position: relative;

    padding-left: 19px;

    color: #1b1b1b;
}


header .menu .sub a:before
{
    position: absolute;
    top: 7px;
    left: 0;

    display: block;

    width: 12px;
    height: 1px;

    content: '';

    background: #2a3c7b;
}


header .menu .sub a:hover,
header .menu .sub a.active
{
    color: #2a3c7b;
}



header.fixed
{
    position: fixed;

    margin: 0;
    padding: 20px 0 12px;

    animation: moveDown .5s;

    border-bottom: 2px solid #2a3c7b;
}


header.fixed .logo
{
    width: 85px;
    height: 91px;
}


header.fixed .menu
{
    margin-top: 20px;
}


header.fixed .menu_item > a
{
    height: 40px;
}


@-webkit-keyframes moveDown
{
    0%
    {
        -webkit-transform: translateY(-100%);
                transform: translateY(-100%);
    }
}

@-moz-keyframes moveDown
{
    0%
    {
        -webkit-transform: translateY(-100%);
                transform: translateY(-100%);
    }
}

@keyframes moveDown
{
    0%
    {
        -webkit-transform: translateY(-100%);
                transform: translateY(-100%);
    }
}



/*-----------------
    Mob. header
-----------------*/
.mob_header
{
    position: sticky;
    z-index: 9;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    padding: 16px 0;

    border-bottom: 2px solid #2a3c7b;
    background: var(--bg);
}


.mob_header .cont
{
    align-content: center;
    align-items: center;
    justify-content: space-between;
}



.mob_header .logo
{
    display: block;

    margin-right: auto;

    text-decoration: none;

    color: currentColor;
}

.mob_header .logo img
{
    display: block;

    height: 68px;
}



.mob_header .contacts
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
}



.mob_header .phone
{
    font-size: 16px;
    line-height: 20px;

    color: #424242;
}


.mob_header .phone a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}



.mob_header .callback_btn
{
    font-size: 14px;
    line-height: 22px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: 24px;

    transition: color .2s linear;
    text-decoration: underline;

    color: #2a3c7b;
}


.mob_header .callback_btn .icon
{
    display: block;

    width: 19px;
    height: 21px;
    margin-right: 10px;
}


.mob_header .callback_btn:hover
{
    color: #898989;
}



.mob_header .socials
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: 40px;
}


.mob_header .socials a
{
    display: block;

    transition: color .2s linear;
    text-decoration: none;

    color: #d3d3d3;
}

.mob_header .socials a + a
{
    margin-left: 20px;
}


.mob_header .socials .icon
{
    display: block;
}

.mob_header .socials .whatsapp_link .icon
{
    width: 17px;
    height: 17px;
}

.mob_header .socials .telegram_link .icon
{
    width: 21px;
    height: 17px;
}

.mob_header .socials .vk_link .icon
{
    width: 26px;
    height: 16px;
}


.mob_header .socials a:hover
{
    color: #898989;
}



.mob_header .mob_menu_btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 44px;
    height: 34px;
    margin-right: -8px;
    margin-left: 24px;
    padding: 8px;

    color: #2a3c7b;
}


.mob_header .mob_menu_btn span
{
    position: relative;

    display: block;

    width: 100%;
    height: 2px;

    background: currentColor;
}

.mob_header .mob_menu_btn span:before,
.mob_header .mob_menu_btn span:after
{
    position: absolute;
    top: -8px;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    background: currentColor;
}

.mob_header .mob_menu_btn span:after
{
    top: 8px;
}



/*---------------
    Page head
---------------*/
.page_head
{
    margin-bottom: 60px;
    padding-top: 35px;

    text-align: left;

    border-top: 2px solid #2a3c7b;
}



.breadcrumbs
{
    font-size: 13px;
    font-style: italic;
    line-height: 20px;

    color: #898989;
}


.breadcrumbs a
{
    transition: color .2s linear;
    text-decoration: none;

    color: currentColor;
}

.breadcrumbs a:hover
{
    color: #2a3c7b;
}


.breadcrumbs .sep
{
    position: relative;
    top: -1px;

    display: inline-block;

    width: 20px;
    height: 1px;
    margin: 0 10px;

    vertical-align: middle;

    background: #d3d3d3;
}



.page_title
{
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: calc(100% + 10px);

    display: block;

    margin-top: 30px;
}


.page_desc
{
    font-size: 24px;
    font-style: italic;
    line-height: 34px;

    margin-top: 10px;

    color: #898989;
}



/*----------------
    Block head
----------------*/
.block_head
{
    margin-bottom: 70px;

    text-align: center;
}

.block_head.small_m
{
    margin-bottom: 50px;
}


.block_head .title
{
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: calc(100% + 10px);

    display: block;
}


.block_head .desc
{
    font-size: 24px;
    font-style: italic;
    line-height: 34px;

    margin-top: 10px;

    color: #898989;
}



/*------------------
    Form elements
------------------*/
.form
{
    --form_border_color: #898989;
    --form_focus_color: #1b1b1b;
    --form_error_color: #e85252;
    --form_bg_color: none;
    --form_placeholder_color: #898989;
}


.form ::-webkit-input-placeholder
{
    color: var(--form_placeholder_color);
}

.form :-moz-placeholder
{
    color: var(--form_placeholder_color);
}

.form ::-moz-placeholder
{
    opacity: 1;
    color: var(--form_placeholder_color);
}

.form :-ms-input-placeholder
{
    color: var(--form_placeholder_color);
}

#tell-problem.form .columns{
    column-gap: 0;
}
#tell-problem.form .columns .line{
    margin-top: 0;
}
.form .columns
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: calc(var(--form_columns_offset) * -1);

    --form_columns_offset: 30px;
}

.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: 40px;
}


.form .field
{
    position: relative;
}


.form .input
{
    font-family: var(--font_family);
    font-size: 14px;

    display: block;

    width: 100%;
    height: 30px;
    padding: 0;

    transition: border-color .2s linear;

    color: var(--text_color);
    border: none;
    border-bottom: 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 textarea
{
    font-family: var(--font_family);
    font-size: 14px;

    display: block;

    width: 100%;
    height: 90px;
    min-height: 90px;
    padding: 10px 0;

    resize: none;
    transition: border-color .2s linear;

    color: var(--text_color);
    border: none;
    border-bottom: 1px solid var(--form_border_color);
    background: var(--form_bg_color);
}

.form textarea::-webkit-scrollbar
{
    width: 5px;
    height: 5px;
}


.form .input:focus,
.form textarea:focus
{
    border-color: var(--form_focus_color);
}


.form .error
{
    border-color: var(--form_error_color);
}


.form .error::-webkit-input-placeholder
{
    color: var(--form_error_color);
}

.form .error:-moz-placeholder
{
    color: var(--form_error_color);
}

.form .error::-moz-placeholder
{
    opacity: 1;
    color: var(--form_error_color);
}

.form .error:-ms-input-placeholder
{
    color: var(--form_error_color);
}


.form .error_text
{
    font-size: 13px;
    line-height: 20px;

    margin-top: 8px;

    color: var(--form_error_color);
}


.form select
{
    display: none;
}


.form .nice-select
{
    position: relative;

    display: block;

    cursor: pointer;
}

.form .nice-select:after
{
    display: none;
}


.form .nice-select .current
{
    font-size: 14px;
    line-height: 29px;

    display: block;
    overflow: hidden;

    height: 30px;
    padding: 0 30px 0 0;

    cursor: pointer;
    transition: border-color .2s linear;
    white-space: nowrap;
    text-overflow: ellipsis;

    color: var(--form_placeholder_color);
    border: none;
    border-bottom: 1px solid var(--form_border_color);
    background: var(--form_bg_color);
}

.form select.selected + .nice-select .current
{
    color: var(--text_color);
}


.form .nice-select-dropdown
{
    position: absolute;
    z-index: 9;
    top: 100%;
    left: 0;

    visibility: hidden;
    overflow: hidden;

    width: 100%;
    margin-top: -1px;

    transition: .2s linear;
    transform: none;

    opacity: 0;
    background: #f6f6f6;
}

.form .nice-select.open .nice-select-dropdown
{
    visibility: visible;

    transform: none;

    opacity: 1;
}


.form .nice-select .list
{
    overflow: auto;

    border-radius: 0;
}


.form .nice-select .list .option
{
    font-size: 14px;
    line-height: 18px;

    display: block;

    padding: 11px 25px;

    list-style-type: none;

    cursor: pointer;
    transition: background .2s linear;
}

.form .nice-select .list .option:empty
{
    display: none;
}


.form .nice-select .list .option:hover,
.form .nice-select .list .option.selected
{
    background: #eaeaea;
}


.form .nice-select + .arr
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;

    display: block;

    width: 12px;
    height: 8px;
    margin: auto 0;

    transition: transform .2s linear;
    pointer-events: none;
}

.form .nice-select.open + .arr
{
    transform: rotate(180deg);
}


.form .field > .icon
 {
     position: absolute;
     z-index: 3;
 
     display: flex;
     align-content: center;
     align-items: center;
     flex-wrap: wrap;
     justify-content: center;
 
     width: 41px;
     height: 30px;
 
     pointer-events: none;
 
     color: #898989;
 }
 
 
 .form .field > .icon svg
 {
     display: block;
 
     max-width: 100%;
     max-height: 100%;
 }
 
 
 .form .field > .icon + .input
 {
     padding-left: 40px;
 }

.form .file,
.form .agree
{
    margin-top: -20px;
}



.form .file label
{
    font-size: 14px;
    line-height: 22px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    cursor: pointer;
    transition: .2s linear;

    color: #2a3c7b;
}


.form .file label input
{
    display: none;
}


.form .file label .icon
{
    display: block;

    width: 17px;
    height: 20px;
}


.form .file label span
{
    overflow: hidden;
    align-self: center;

    width: calc(100% - 28px);

    white-space: nowrap;
    text-overflow: ellipsis;
}


.form .file label:hover
{
    color: #898989;
}


.form .checkbox
{
    font-size: 12px;
    line-height: 20px;

    position: relative;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    min-height: 20px;
    padding-left: 28px;

    cursor: pointer;

    color: #898989;
}


.form .checkbox input
{
    display: none;
}


.form .checkbox .check
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 20px;
    height: 20px;

    transition: .2s linear;

    color: #fff;
    border: 1px solid var(--form_border_color);
    background: var(--form_bg_color);
}

.form .checkbox .check:after
{
    position: absolute;
    top: -4px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 12px;
    height: 6px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid;
    border-left: 2px solid;
}


.form .checkbox a
{
    transition: color .2s linear;

    color: #2a3c7b;
}

.form .checkbox a:hover
{
    color: #898989;
}


.form .checkbox:hover .check
{
    border-color: #d3d3d3;
    background: #d3d3d3;
}


.form .checkbox input:checked ~ .check
{
    border-color: #2a3c7b;
    background: #2a3c7b;
}

.form .agree_text
 {
     font-size: 12px;
     line-height: 145.476%;
 
     width: 495px;
     max-width: 100%;
     margin-top: 20px;
 
     color: #898989;
 }
 
 
 .form .agree_text a
 {
     transition: color .2s linear;
 
     color: #2a3b7b;
 
     text-decoration-thickness: 1px;
 }
 
 
 .form .agree_text a:hover
 {
     color: #898989;
 }

.form .checkbox input:checked ~ .check:after
{
    opacity: 1;
}


.form .submit_btn
{
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;

    display: block;

    margin: 0 auto;
    padding: 12px 18px;

    transition: .2s linear;

    color: #2a3c7b;
    border: 2px solid #2a3c7b;
}

.form .submit_btn.fill
 {
     font-size: 12px;
     font-weight: 600;
     line-height: 162%;
 
     margin: 0;
     padding: 17px 28px 11px;
 
     text-transform: uppercase;
 
     color: #fff;
     border-color: #2a3c7b;
     background: #2a3c7b;
 }
 
 
 .form .submit_btn.fill:hover
 {
     border-color: #394e98;
     background: #394e98;
 }


.form .submit_btn:hover
{
    color: #fff;
    background: #2a3c7b;
}



/*----------------
    Typography
----------------*/
.text_block
{
    font-size: var(--font_size);
    line-height: 26px;
}


.text_block > *,
.text_block .cols .col > *,
.text_block .image_block > div > *
{
    margin-bottom: 24px;
}


.text_block > :last-child,
.text_block .cols .col > :last-child,
.text_block .image_block > div > :last-child
{
    margin-bottom: 0 !important;
}

.text_block > :first-child,
.text_block .cols .col > :first-child,
.text_block .image_block > div > :first-child
{
    margin-top: 0 !important;
}


.text_block h2
{
    font-size: 30px;
    font-weight: 400;
    line-height: 40px;

    margin-bottom: 30px !important;

    
}

.text_block h3
{
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;

    margin-bottom: 30px !important;

    text-align: center;
}

.text_block h3.alignleft
{
    text-align: left;
}


.text_block * + h2,
.text_block * + h3
{
    margin-top: 80px;
}

.text_block h2 + *,
.text_block h3 + *
{
    margin-top: 0 !important;
}


.text_block img
{
    display: block;

    max-width: 100%;
}

.text_block img.loaded
{
    height: auto !important;
}


.text_block hr
{
    position: relative;

    display: block;
    overflow: visible;

    width: 100%;
    height: 1px;
    margin: 80px 0;

    border: none;
}

.text_block hr:before
{
    position: absolute;
    top: 0;
    left: 50%;

    display: block;

    width: 100vw;
    height: 100%;

    content: '';
    transform: translateX(-50%);

    background: #d3d3d3;
}


.text_block blockquote,
.text_block q
{
    font-size: 20px;
    font-weight: 700;
    line-height: 30px;

    display: block;

    margin: 60px 0 60px 77px;
    padding-left: 50px;

    border-left: 3px solid #2a3c7b;
}


.text_block table
{
    width: 100%;

    border-spacing: 0;
    border-collapse: collapse;
}


.text_block table th
{
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;

    padding-bottom: 15px;

    text-align: left;
    vertical-align: top;

    border-bottom: 2px solid #2a3c7b;
}

.text_block table th + th
{
    padding-left: 50px;
}


.text_block table td
{
    padding: 15px 0;

    text-align: left;
    vertical-align: top;

    border-bottom: 1px solid #f1f1f1;
}

.text_block table td + td
{
    padding-left: 50px;
}


.text_block table tbody .nowrap
{
    white-space: nowrap;
}


.text_block .columns
{
    column-gap: 60px;
    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: 24px;
}


.text_block .cols
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}

.text_block .cols .col
{
    width: calc(50% - 30px);
}


.text_block ul li
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 20px;

    list-style-type: none;
}

.text_block ul li + li
{
    margin-top: 10px;
}

.text_block ul li:before
{
    position: absolute;
    top: 9px;
    left: 0;

    display: block;

    width: 6px;
    height: 6px;

    content: '';

    background: #2a3c7b;
}


.text_block ol
{
    counter-reset: li;
}

.text_block ol li
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 28px;

    list-style-type: none;
}

.text_block ol li + li
{
    margin-top: 10px;
}

.text_block ol li:before
{
    font-weight: 700;

    position: absolute;
    top: 0;
    left: 0;

    content: counter(li) '.';
    counter-increment: li;

    color: #2a3c7b;
}


.text_block a
{
    transition: color .2s linear;

    color: #2a3c7b;
}

.text_block a:hover
{
    text-decoration: none;

    color: #898989;
}


.our-specialists h2{
    text-align: center;
}

.text_block .specialists
{
    margin: 80px 0;
}


.text_block .image_block
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    margin: 80px 0;
}


.text_block .image_block.small_m
{
    margin-top: 60px;
    margin-bottom: 60px;
}


.text_block .image_block .image
{
    position: relative;

    width: calc(50% - 30px);
    padding-bottom: 50px;
}

.text_block .image_block .image:before
{
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 130px;

    display: block;

    width: 100%;
    height: calc(100% - 50px);

    content: '';

    background: #f6f6f6;
}


.text_block .image_block .image.bg_left
{
    width: calc(50% + 8px);
    padding-bottom: 43px;
    padding-left: 56px;
}


.text_block .image_block .image.bg_left:before
{
    left: 0;

    width: calc(100% - 78px);
    height: calc(100% - 38px);
}


.text_block .image_block .image img
{
    position: relative;
    z-index: 3;
}


.text_block .image_block > div
{
    position: relative;
    z-index: 3;

    width: calc(50% - 30px);
}


.text_block .image_block > div.small
{
    width: calc(50% - 39px);
}


.text_block .content_contacts
{
    margin-top: 80px;
    margin-bottom: 60px;
}


.text_block .service_steps,
.text_block .service_advantages
{
    margin-top: 60px;
    margin-bottom: 60px;
}



/*-----------------
    Main slider
-----------------*/
.main_slider
{
    color: #fff;
    background: #2a3c7b;
}


.main_slider .swiper-slide
{
    position: relative;

    overflow: hidden;
}


.main_slider .img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 50%;
    height: 100%;

/*    filter: grayscale(100%); */
    object-fit: cover;
    
    background-size: cover;
}


.main_slider .cont
{
    position: relative;
    z-index: 3;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;

    min-height: 570px;
    padding-top: 60px;
    padding-bottom: 107px;
}


.main_slider .data
{
    width: calc(50% - 165px);
}


.main_slider .title
{
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: calc(100% + 10px);
}


.main_slider .desc
{
    line-height: 26px;

    width: 375px;
    max-width: 100%;
    margin-top: 24px;
}


.main_slider .btn
{
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;

    margin-top: 50px;
    padding: 12px 18px;

    transition: .2s linear;

    border: 2px solid #fff;
}


.main_slider .btn:hover
{
    color: #2a3c7b;
    background: #fff;
}



/*--------------
    Services
--------------*/
.services .row
{
    align-content: stretch;
    align-items: stretch;

    padding-bottom: 1px;
    padding-left: 1px;
}

.services .row > *
{
    width: calc(25%);
    margin-bottom: -1px;
    margin-left: -1px;
}


.advocat-specialization h2{
    text-align: left;
}

.services .service
{
    font-style: italic;
    line-height: 24px;

    display: flex;
    flex-direction: column;

    padding: 31px 24px 23px;

    transition: .2s linear;
    text-decoration: none;

    color: currentColor;
    border: 1px solid #f1f1f1;
}


.services .service .icon
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-bottom: 30px;
}


.services .service .icon svg
{
    display: block;

    transition: color .2s linear;

    color: #2a3c7b;
}


.services .service .icon1 svg
{
    width: 70px;
    height: 50px;
}

.services .service .icon2 svg
{
    width: 61px;
    height: 50px;
}

.services .service .icon3 svg
{
    width: 58px;
    height: 50px;
}

.services .service .icon4 svg
{
    width: 62px;
    height: 50px;
}

.services .service .icon5 svg
{
    width: 73px;
    height: 50px;
}

.services .service .icon6 svg
{
    width: 81px;
    height: 50px;
}

.services .service .icon7 svg
{
    width: 61px;
    height: 50px;
}

.services .service .icon8 svg
{
    width: 50px;
    height: 50px;
}

.services .service .icon9 svg
{
    width: 62px;
    height: 50px;
}

.services .service .icon10 svg
{
    width: 68px;
    height: 50px;
}

.services .service .icon11 svg
{
    width: 58px;
    height: 50px;
}

.services .service .icon12 svg
{
    width: 58px;
    height: 50px;
}

.services .service .icon13 svg
{
    width: 67px;
    height: 50px;
}

.services .service .icon14 svg
{
    width: 69px;
    height: 50px;
}

.services .service .icon15 svg
{
    width: 50px;
    height: 50px;
}

.services .service .icon16 svg
{
    width: 60px;
    height: 50px;
}


.services .service .name
{
    margin-top: auto;
}


.services .service:hover
{
    z-index: 3;

    color: #fff;
    border-color: #2a3c7b;
    background: #2a3c7b;
}

.services .service:hover .icon svg
{
    color: #fff;
}


/*----------------
    In ratings
----------------*/
.in_ratings .row
{
    margin-bottom: -64px;
    margin-left: -64px;
}


.in_ratings .row > *
{
    width: calc(50% - 64px);
    margin-bottom: 64px;
    margin-left: 64px;
}



.in_ratings .item
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}


.in_ratings .item .logo
{
    width: 171px;
    max-width: 100%;
}


.in_ratings .item .logo img
{
    display: block;

    max-width: 100%;
}


.in_ratings .item .logo + *, .in_ratings_single .item .logo + *
{
    display: flex;
    flex-direction: column;

    width: calc(100% - 220px);

    gap: 16px;
}


.in_ratings .item .logo + *.name
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;

    height: 136px;
}


.in_ratings .item .name
{
    font-size: 21px;
    font-weight: 600;

    margin-bottom: 1px;

    color: #2a3c7b;
}


.in_ratings .item > .name + *
{
    display: flex;
    flex-direction: column;

    margin-top: 24px;

    gap: 20px;
}


.in_ratings .item .exp, .in_ratings_single .item .exp
{
    font-weight: 600;
    font-style: italic;
    line-height: 162%;

    color: #898989;
}


.in_ratings .item .desc
{
    line-height: 162%;
}

.in_ratings_single .item{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
}

.in_ratings_single .item .title{
    font-size: 18px;
    line-height: 28px;
}



/*-----------
    Cases
-----------*/
.cases .row
{
    align-content: stretch;
    align-items: stretch;

    margin-bottom: -30px;
    margin-left: -30px;
}

.cases .row > *
{
    width: calc(25% - 30px);
    margin-bottom: 30px;
    margin-left: 30px;
}


.cases .item
{
    position: relative;

    display: flex;
    flex-direction: column;

    padding-bottom: 64px;

    text-align: center;

    background: #f6f6f6;
}


.cases .item .head
{
    position: relative;

    margin-bottom: 20px;
    padding: 25px 20px 20px;

    border-bottom: 1px solid #d3d3d3;
    overflow: hidden;
}

.cases .item:nth-child(4n+1) .head:after
{
    position: absolute;
    right: 100%;
    bottom: -1px;

    display: block;

    width: 100vw;
    height: 1px;

    content: '';

    background: #d3d3d3;
}

.cases .item:nth-child(4n) .head:after
{
    position: absolute;
    bottom: -1px;
    left: 100%;

    display: block;

    width: 100vw;
    height: 1px;

    content: '';

    background: #d3d3d3;
}


.cases .item .head .icon
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    height: 25px;
    margin-bottom: 15px;
}


.cases .item .head .icon svg
{
    display: block;

    height: 25px;

    color: #898989;
}


.cases .item .head .service
{
    font-size: 13px;
    font-style: italic;
    line-height: 20px;

    color: #898989;
}


.cases .item .name
{
    font-size: 20px;
    font-weight: 700;
    line-height: 40px;

    padding: 0 20px;

    letter-spacing: .01em;
    text-transform: uppercase;
}


.cases .item .desc
{
    font-size: 14px;
    line-height: 22px;

    padding: 0 20px;
}


.cases .item .link
{
    margin-top: auto;
    padding: 40px 20px 0;
}


.cases .item .link a
{
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;

    display: inline-block;

    padding: 12px 18px;

    transition: .2s linear;
    vertical-align: top;
    text-decoration: none;

    color: #2a3c7b;
    border: 2px solid #2a3c7b;
}


.cases .item .link a:hover
{
    color: #fff;
    background: #2a3c7b;
}


.cases .item .arr
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    z-index: 9999;
}


.cases .item .arr .icon
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 64px;
    height: 32px;
    margin: 0 auto;
    padding-top: 8px;

    transition: .2s linear;

    color: #2a3c7b;
    border-radius: 50px 50px 0 0;
    background: var(--bg);
}


.cases .item .arr .icon svg
{
    display: block;

    width: 27px;
    height: 17px;
}


.cases .item .arr span
{
    font-size: 14px;
    line-height: 22px;

    position: absolute;
    top: 100%;
    left: 0;

    display: block;
    visibility: hidden;

    width: 100%;
    padding: 12px;

    transition: .2s linear;
    text-align: center;
    pointer-events: none;

    opacity: 0;
    color: #fff;
    background: #2a3c7b;
}


.cases .item .arr:hover .icon
{
    color: #fff;
    background: #2a3c7b;
}

.cases .item .arr:hover span
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}



/*-----------
    Media
-----------*/
.media .data
{
    position: relative;
    z-index: 3;

    width: calc(100% - 659px);
    padding-top: 105px;
    padding-left: 170px;
}


.media .data .logo
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 240px;
    height: 293px;

    pointer-events: none;
}


.media .data .text_block
{
    position: relative;
    z-index: 3;
}


.media .video
{
    position: relative;

    display: block;

    width: 609px;
    max-width: 100%;
    margin-left: auto;
    padding-bottom: 100px;

    text-decoration: none;

    color: currentColor;
}


.media .video:before
{
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;

    display: block;

    width: calc(100% + 96px);
    height: calc(100% - 50px);

    content: '';

    background: #f6f6f6;
}


.media .video .thumb
{
    position: relative;
    z-index: 2;

    overflow: hidden;

    padding-bottom: 63.875%;

    background: #ddd;
}


.media .video .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    filter: grayscale(100%);
    object-fit: cover;
}


.media .video .btn
{
    font-size: 14px;
    line-height: 22px;

    position: absolute;
    z-index: 3;
    bottom: 55px;
    left: 0;

    width: 140px;
    max-width: 100%;
    padding: 24px 20px 16px;

    transition: .2s linear;
    text-align: center;

    color: #fff;
    background: #2a3c7b;
}


.media .video .btn .icon
{
    display: block;

    width: 20px;
    height: 21px;
    margin: 0 auto 10px;
}


.media .video:hover .btn
{
    color: #2a3c7b;
    background: #f6f6f6;
}



/*------------
    Stats
------------*/
.stats .block_head
{
    padding-bottom: 40px;
}


.stats .row
{
    align-content: stretch;
    align-items: stretch;

    margin-bottom: -70px;
    margin-left: -30px;
}

.stats .row > *
{
    width: calc(25% - 30px);
    margin-bottom: 70px;
    margin-left: 30px;
}


.stats .item
{
    position: relative;

    padding-bottom: 75px;

    transition: transform .2s linear;
    text-align: center;
}

.stats .item:after
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 60px;
    height: 1px;
    margin: 0 auto;

    content: '';

    background: #d3d3d3;
}


.stats .item:nth-child(4) ~ .item
{
    padding-bottom: 0;
}

.stats .item:nth-child(4) ~ .item:after
{
    display: none;
}


.stats .item .val
{
    font-size: 60px;
    font-weight: 700;
    line-height: 50px;

    height: 50px;
    margin-bottom: 20px;

    white-space: nowrap;

    color: #2a3c7b;
}

.stats .item .val small
{
    font-size: 30px;

    margin-left: 10px;
}


.stats .item .name
{
    line-height: 26px;
}


.stats .item:hover
{
    transform: translateY(-20px);
}



/*-----------
    Steps
-----------*/
.steps
{
    padding: 90px 0 170px;

    background: #f6f6f6;
}


.steps .swiper
{
    overflow: visible !important;

    counter-reset: number;
}


.steps .swiper-slide
{
    position: relative;

    visibility: hidden;
    overflow: hidden;

    width: auto;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}

.steps .swiper-slide-fully-visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.steps .step
{
    font-size: 14px;
    line-height: 22px;

    padding-right: 45px;
}


.steps .step .number
{
    font-size: 30px;
    font-style: italic;
    line-height: 26px;

    position: relative;

    display: inline-block;

    margin-bottom: 20px;

    vertical-align: top;

    color: #2a3c7b;
}

.steps .step .number:after
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;

    display: block;

    width: 100vw;
    height: 1px;
    margin: auto 0 auto 10px;

    content: '';

    background: #d3d3d3;
}

.steps .step .number:before
{
    content: counter(number) '.';
    counter-increment: number;
}



/*----------------
    Boss quote
----------------*/
.boss_quote
{
    position: relative;
    z-index: 3;

    padding-top: 221px;
}


.boss_quote .data
{
    position: relative;
    z-index: 3;

    width: 705px;
    max-width: 100%;
    padding: 80px 95px 85px 105px;

    color: #fff;
    background: #2a3c7b;
}

.boss_quote .data:before
{
    position: absolute;
    top: 0;
    left: 100%;

    display: block;

    width: 100px;
    height: 100px;

    content: '';
    pointer-events: none;

    border: 50px solid transparent;
    border-top-color: #2a3c7b;
    border-left-color: #2a3c7b;
}


.boss_quote .data .quote
{
    font-size: 20px;
    font-style: italic;
    line-height: 30px;

    position: relative;
}

.boss_quote .data .quote:before,
.boss_quote .data .quote:after
{
    position: absolute;
    bottom: -20px;
    left: -64px;

    display: block;

    width: 34px;
    height: 27px;

    content: '';

    background: url(../images/ic_quote.svg) 0 0/100% 100% no-repeat;
}

.boss_quote .data .quote:after
{
    top: -20px;
    right: -64px;
    bottom: auto;
    left: auto;

    transform: rotate(180deg);
}


.boss_quote .data .author
{
    font-style: italic;

    margin-top: 35px;
}


.boss_quote .data .author .name
{
    font-weight: 700;
    line-height: 20px;
}


.boss_quote .data .author .post
{
    font-size: 14px;
    line-height: 20px;
}



.boss_quote .photo
{
    position: absolute;
    z-index: 1;
    bottom: 50px;
    left: 50%;

    margin-left: 75px;

    pointer-events: none;
}

.boss_quote .photo:before
{
    position: absolute;
    bottom: 73px;
    left: -377px;

    display: block;

    width: 600px;
    height: 498px;

    content: '';

    background: #f6f6f6;
}

.boss_quote .photo:after
{
    position: absolute;
    bottom: 0;
    left: 24px;

    display: block;

    width: 100vw;
    height: 2px;

    content: '';

    background: #1b1b1b;
}


.boss_quote .photo img
{
    display: block;

    width: 435px;
    height: 609px;

    transition: filter .2s linear;

    filter: grayscale(100%);
}


.boss_quote:hover .photo img
{
    filter: grayscale(0%);
}



/*-------------
    Clients
-------------*/
.clients .swiper
{
    overflow: visible !important;
}


.clients .swiper-slide
{
    visibility: hidden;
    overflow: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}

.clients .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.clients .item
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    height: 109px;
}


.clients .item img
{
    display: block;

    max-width: 100%;
    max-height: 100%;

    transition: .2s linear;

    opacity: .4;

    filter: grayscale(100%);
}


.clients .item:hover img
{
    opacity: 1;

    filter: grayscale(0%);
}



/*--------------
    Articles
--------------*/
.articles .row
{
    align-content: stretch;
    align-items: stretch;

    margin-bottom: -50px;
    margin-left: -30px;
}

.articles .row > *
{
    width: calc(33.333% - 30px);
    margin-bottom: 50px;
    margin-left: 30px;
}


.articles .swiper
{
    overflow: visible !important;
}


.articles .swiper-slide
{
    visibility: hidden;
    overflow: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}

.articles .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.articles .swiper-button-next,
.articles .swiper-button-prev
{
    top: 0;
    bottom: auto;

    margin: -11px 0 0;
}


.articles .article .thumb
{
    position: relative;

    display: block;
    overflow: hidden;

    margin-bottom: 25px;
    padding-bottom: 69.565%;

    text-decoration: none;

    color: currentColor;
    background: #ddd;
}


.articles .article .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    transition: filter .2s linear;

    object-fit: cover;
    filter: grayscale(100%);
}


.articles .article .date
{
    font-size: 14px;
    line-height: 22px;

    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;

    padding: 6px 15px;

    white-space: nowrap;

    color: #fff;
    background: #2a3c7b;
}


.articles .article .name
{
    font-size: 18px;
    line-height: 28px;
}


.articles .article .name a
{
    display: inline-block;

    transition: color .2s linear;
    vertical-align: top;

    color: #2a3c7b;
}

.articles .article .name a:hover
{
    text-decoration: none;

    color: #898989;
}


.articles .article .desc
{
    font-size: 14px;
    line-height: 22px;

    margin-top: 20px;
}


.articles .article:hover .thumb img
{
    filter: grayscale(0);
}



/*-----------------
    Get consult
-----------------*/
.get_consult .data
{
    position: relative;

    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
    padding: 57px;

    border: 3px solid #2a3c7b;
}


.get_consult .data:before,
.get_consult .data:after
{
    position: absolute;
    top: 0;
    right: 100%;
    bottom: 0;

    display: block;

    width: 100vw;
    height: 3px;
    margin: auto 0;

    content: '';

    background: #2a3c7b;
}

.get_consult .data:after
{
    right: auto;
    left: 100%;
}


.get_consult .block_title
{
    font-size: 30px;
    line-height: 40px;

    margin-bottom: 40px;

    text-align: center;
}


.get_consult .form
{
    width: 540px;
    max-width: 100%;
    margin: 0 auto;
}



/*----------------
    Advantages
----------------*/
.advantages
{
    padding: 80px 0 120px;

    color: #fff;
    background: #2a3c7b;
}


.advantages .row
{
    align-content: stretch;
    align-items: stretch;
}


.advantages .row > *
{
    width: 20%;
}

.advantages .row > * + *
{
    border-left: 1px solid #415695;
}


.advantages .item
{
    font-style: italic;
    line-height: 24px;

    padding: 30px 25px;

    text-align: center;
}


.advantages .item .icon
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    height: 50px;
    margin-bottom: 25px;
}


.advantages .item .icon img
{
    display: block;

    max-width: 100%;
    max-height: 100%;
}


.single_article .date{
    font-size: 14px;
    line-height: 22px;
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;
    padding: 6px 15px;
    white-space: nowrap;
    color: #fff;
    background: #2a3c7b;
}

.single_article .thumb{
    position: relative;
    margin-bottom: 25px;
    text-decoration: none;
    color: currentColor;
    text-align: center;
    background: #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
   
}







/*-------------
    Persons
-------------*/
.persons .person
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-top: 120px;
}

.persons .person + .person
{
    margin-top: 205px;
}


.persons .person .photo
{
    position: relative;
    z-index: 3;

    align-self: flex-end;

    width: 630px;
    max-width: 100%;
}

.persons .person .photo img
{
    position: absolute;
    bottom: 0;
    left: 50%;

    display: block;

    max-width: 75%;
    margin: 0 auto;

    transition: filter .2s linear;
    transform: translateX(-50%);

    /* filter: grayscale(100%); */
}


.persons .person .data
{
    position: relative;

    width: calc(100% - 630px);
    padding: 40px 0;
}

.persons .person .data:before
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 50%;

    display: block;

    width: 100vw;
    height: 100%;
    margin-left: -35px;

    content: '';

    background: #f6f6f6;
}

.persons .person .photo + .data:before
{
    right: 50%;
    left: auto;

    margin-right: -35px;
    margin-left: 0;
}


.persons .person .name
{
    font-size: 30px;
    line-height: 40px;

    position: relative;
    z-index: 2;
}


.persons .person .name a
{
    display: inline-block;

    transition: color .2s linear;
    vertical-align: top;

    color: #2a3c7b;

    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
}


.persons .person .name a:hover
{
    text-decoration: none;

    color: #898989;
}


.persons .person .post
{
    font-style: italic;
    line-height: 26px;

    position: relative;
    z-index: 2;

    margin-top: 10px;
}


.persons .person .contacts
{
    line-height: 26px;

    position: relative;
    z-index: 2;

    margin-top: 35px;
    padding-top: 35px;

    border-top: 1px solid #d3d3d3;
}

.persons .person .contacts > * + *
{
    margin-top: 12px;
}


.persons .person .contacts .phone,
.persons .person .contacts .email
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}


.persons .person .contacts .icon
{
    display: block;
    align-self: center;

    color: #2a3c7b;
}

.persons .person .contacts .phone .icon
{
    width: 19px;
    height: 21px;
}

.persons .person .contacts .email .icon
{
    position: relative;
    top: -2px;

    width: 19px;
    height: 15px;
}

.persons .person .contacts .icon + *
{
    align-self: center;

    width: calc(100% - 28px);
}


.persons .person .contacts a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}


.persons .person .desc
{
    position: relative;
    z-index: 2;

    margin-top: 30px;
}


.persons .person:hover .photo img
{
    filter: grayscale(0);
}



/*-------------
    Ratings
-------------*/
.ratings .swiper
{
    overflow: visible !important;
}


.ratings .swiper-slide
{
    visibility: hidden;

    width: auto;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}

.ratings .swiper-slide-fully-visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.ratings .item
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    height: 85px;
}


.ratings .item img
{
    display: block;

    max-width: 100%;
    max-height: 100%;

    transition: .2s linear;

    opacity: .4;

    filter: grayscale(100%);
}


.ratings .item:hover img
{
    opacity: 1;

    filter: grayscale(0);
}



/*------------
    Certs.
------------*/
.certs .swiper
{
    overflow: visible !important;
}


.certs .swiper-slide
{
    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}

.certs .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.certs .swiper-button-next,
.certs .swiper-button-prev
{
    top: 0;
    bottom: auto;

    margin: -11px 0 0;
}


.certs .item
{
    display: block;

    text-decoration: none;

    color: currentColor;
}


.certs .item .thumb
{
    position: relative;

    overflow: hidden;

    padding-bottom: 138.549%;

    transition: .2s linear;

    border: 1px solid #d3d3d3;
}


.certs .item .thumb img
{
    position: absolute;
    z-index: 1;

    display: block;

    width: calc(100% - 18px);
    height: calc(100% - 18px);
    margin: auto;

    transition: filter .2s linear;

    filter: grayscale(100%);
    inset: 0;
    object-fit: cover;
}


.certs .item .thumb .icon
{
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 79px;
    height: 79px;

    transition: opacity .2s linear;

    opacity: 0;
    color: #fff;
    background: #2a3c7b;
}

.certs .item .thumb .icon svg
{
    display: block;

    width: 32px;
    height: 32px;
}


.certs .item:hover .thumb
{
    border-color: #2a3c7b;
    box-shadow: inset 0 0 0 2px #2a3c7b;
}

.certs .item:hover .thumb img
{
    filter: grayscale(0);
}

.certs .item:hover .thumb .icon
{
    opacity: 1;
}



/*------------
    Videos
------------*/
.videos .swiper
{
    overflow: visible !important;
}


.videos .swiper-slide
{
    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}

.videos .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.videos .swiper-button-next,
.videos .swiper-button-prev
{
    top: 0;
    bottom: auto;

    margin: -11px 0 0;
}


.videos .video
{
    position: relative;

    display: block;

    padding-bottom: 45px;

    text-decoration: none;

    color: currentColor;
}


.videos .video .thumb
{
    position: relative;
    z-index: 2;

    overflow: hidden;

    padding-bottom: 63.875%;

    background: #ddd;
}


.videos .video .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    filter: grayscale(100%);
    object-fit: cover;
}


.videos .video .btn
{
    font-size: 14px;
    line-height: 22px;

    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;

    width: 140px;
    max-width: 100%;
    padding: 24px 20px 16px;

    transition: .2s linear;
    text-align: center;

    color: #fff;
    background: #2a3c7b;
}


.videos .video .btn .icon
{
    display: block;

    width: 20px;
    height: 21px;
    margin: 0 auto 10px;
}


.videos .video:hover .btn
{
    color: #2a3c7b;
    background: #f6f6f6;
}



/*-----------------
    Person info
-----------------*/
.person_info
{
    position: relative;

    margin-top: 115px;
    padding-top: 70px;
}

.person_info:before
{
    position: absolute;
    z-index: 1;
    right: 50%;
    bottom: 0;

    display: block;

    width: 100%;
    height: 100%;
    margin-right: -355px;

    content: '';

    background: #f6f6f6;
}


.person_info .cont
{
    position: relative;
    z-index: 3;

    align-content: stretch;
    align-items: stretch;
    justify-content: space-between;
}


.person_info .data
{
    position: relative;

    width: 455px;
    max-width: 100%;
    padding-bottom: 40px;
}


.person_info .contacts
{
    line-height: 26px;

    position: relative;
    z-index: 2;

    margin-top: 35px;
    padding-top: 35px;
}

.person_info .contacts:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 810px;
    height: 1px;

    content: '';

    background: #d3d3d3;
}


.person_info .contacts > * + *
{
    margin-top: 10px;
}


.person_info .contacts .phone,
.person_info .contacts .email,
.person_info .contacts .location
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}


.person_info .contacts .icon
{
    display: block;
    align-self: center;

    color: #2a3c7b;
}

.person_info .contacts .phone .icon
{
    width: 19px;
    height: 21px;
}

.person_info .contacts .email .icon
{
    position: relative;
    top: -2px;

    width: 19px;
    height: 15px;
}

.person_info .contacts .location .icon
{
    width: 16px;
    height: 21px;
    margin-left: 2px;
}

.person_info .contacts .icon + *
{
    align-self: center;

    width: calc(100% - 28px);
}


.person_info .contacts a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}


.person_info .contacts .messengers,
.person2_info .contacts .messengers
{
    display: flex;
    align-content: center;
    align-items: center;
    align-self: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: 15px;
}


.person_info .contacts .messengers a,
.person2_info .contacts .messengers a
{
    display: block;

    transition: color .2s linear;
    text-decoration: none;

    color: #d3d3d3;
}

.person_info .contacts .messengers a + a,
.person2_info .contacts .messengers a + a
{
    margin-left: 10px;
}


.person_info .contacts .messengers .icon,
.person2_info .contacts .messengers .icon
{
    display: block;

    color: currentColor;
}

.person_info .contacts .messengers .whatsapp_link .icon,
.person2_info .contacts .messengers .whatsapp_link .icon
{
    width: 18px;
    height: 18px;
}

.person_info .contacts .messengers .telegram_link .icon,
.person2_info .contacts .messengers .telegram_link .icon
{
    width: 21px;
    height: 18px;
}

.person_info .contacts .messengers .telegram_link .icon:hover,
.person2_info .contacts .messengers .telegram_link .icon:hover{
    color: #27a7e7;
}

.person_info .contacts .messengers .whatsapp_link .icon:hover,
.person2_info .contacts .messengers .whatsapp_link .icon:hover{
    color: #2cb742;
}


.person_info .business_card
{
    position: absolute;
    bottom: -40px;

    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: flex-start;
}


.person_info .business_card .qr_code img
{
    display: block;

    width: 80px;
    height: 80px;
}


.person_info .business_card .name
{
    font-size: 14px;
    line-height: 18px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: 10px;
    padding: 20px;

    transition: .2s linear;

    color: #fff;
    background: #2a3c7b;
}


.person_info .business_card:hover .name
{
    color: #2a3c7b;
    background: #f6f6f6;
}


.person_info .photo
{
    position: relative;
    z-index: 3;

    align-self: flex-end;

    width: 435px;
    max-width: 100%;
}

.person_info .photo img
{
    position: absolute;
    bottom: 0;
    left: 50%;

    display: block;

    max-width: 100%;
    margin: 0 auto;

    transform: translateX(-50%);

    filter: grayscale(100%);
}


.person_info .desc
{
    width: 465px;
    max-width: 100%;
    padding-bottom: 40px;
}



/*-----------------
    Specialists
-----------------*/
.specialists .swiper
{
    overflow: visible !important;
}


.specialists .swiper-slide
{
    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}

.specialists .swiper-slide-fully-visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.specialists .swiper-button-next,
.specialists .swiper-button-prev
{
    transform: translateY(75px);
}


.specialists .person
{
    margin-top: 170px;
    padding: 40px;

    background: #f6f6f6;
}


.specialists .person .photo
{
    position: relative;

    height: 219px;
    margin-bottom: 35px;

    border-bottom: 2px solid #1b1b1b;
}


.specialists .person .photo img
{
    position: absolute;
    bottom: 0;
    left: 50%;

    display: block;

    max-width: 100%;
    max-height: calc(100% + 200px);

    transform: translateX(-50%);

    filter: grayscale(100%);
}


.specialists .person .name
{
    font-size: 22px;
    line-height: 30px;
}


.specialists .person .name a
{
    display: inline-block;

    transition: color .2s linear;
    vertical-align: top;

    color: #2a3c7b;

    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
}

.specialists .person .name a:hover
{
    text-decoration: none;

    color: #898989;
}


.specialists .person .post
{
    font-style: italic;
    line-height: 26px;

    margin-top: 10px;
}


.specialists .person .contacts
{
    line-height: 26px;

    position: relative;
    z-index: 2;

    margin-top: 35px;
    padding-top: 35px;

    border-top: 1px solid #d3d3d3;
}

.specialists .person .contacts > * + *
{
    margin-top: 12px;
}


.specialists .person .contacts .phone,
.specialists .person .contacts .email
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}


.specialists .person .contacts .icon
{
    display: block;
    align-self: center;

    color: #2a3c7b;
}

.specialists .person .contacts .phone .icon
{
    width: 19px;
    height: 21px;
}

.specialists .person .contacts .email .icon
{
    position: relative;
    top: -2px;

    width: 19px;
    height: 15px;
}

.specialists .person .contacts .icon + *
{
    align-self: center;

    width: calc(100% - 28px);
}


.specialists .person .contacts a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}



/*--------------
    Branches
--------------*/
.branches .tabs
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: -30px;
}


.branches .tabs .btn
{
    position: relative;

    display: flex;
    flex-direction: column;

    width: calc(33.333% - 30px);
    margin-bottom: 30px;
    margin-left: 30px;

    text-align: left;
}


.branches .tabs .name
{
    font-size: 18px;
    font-weight: 700;
    font-style: italic;
    line-height: 28px;

    width: 100%;
    margin-bottom: 15px;
}


.branches .tabs .contacts
{
    line-height: 26px;

    position: relative;
    z-index: 2;

    flex: 1 0 auto;

    width: 100%;
    padding: 22px 21px;

    transition: .2s linear;

    border: 3px solid #f6f6f6;
    background: #f6f6f6;
}

.branches .tabs .contacts > * + *
{
    margin-top: 12px;
}


.branches .tabs .contacts .phone,
.branches .tabs .contacts .time,
.branches .tabs .contacts .location
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}


.branches .tabs .contacts .icon
{
    display: block;
    align-self: center;

    color: #2a3c7b;
}

.branches .tabs .contacts .phone .icon
{
    width: 19px;
    height: 21px;
}

.branches .tabs .contacts .time .icon
{
    width: 18px;
    height: 18px;
}

.branches .tabs .contacts .location .icon
{
    width: 16px;
    height: 21px;
    margin-left: 2px;
}

.branches .tabs .contacts .icon + *
{
    align-self: center;

    width: calc(100% - 28px);
}


.branches .tabs .contacts a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}


.branches .tabs .btn:hover .contacts,
.branches .tabs .btn.active .contacts
{
    border-color: #2a3c7b;
    background: transparent;
}


.branches .map
{
    position: relative;

    overflow: hidden;

    height: 570px;

    background: #ddd;
}


[class*='ymaps-2'][class*='-ground-pane']
{
    -webkit-filter: grayscale(100%);
}



/*------------------
    Free consult
------------------*/
.free_consult .data
{
    position: relative;

    padding: 43px 80px 48px;

    background: #f9f9f9;
}


.free_consult .online
{
    font-size: 13px;
    line-height: 162%;

    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 143px;
    height: 67px;

    color: #fff;
    background: #2a3c7b;

    gap: 6px;
}


.free_consult .online .point
{
    width: 12px;
    height: 12px;

    border: 2px solid #fff;
    border-radius: 50%;
    background: #78b96d;
}


.free_consult .info
{
    width: 706px;
    max-width: 100%;
    margin-left: auto;
}


.free_consult .title
{
    font-size: 34px;
    font-weight: 400;

    margin-bottom: 20px;

    text-align: center;

    color: #2a3c7b;
}


.free_consult .title small
{
    font-size: 29px;
    font-style: italic;

    display: block;
}


.free_consult .features
{
    margin-bottom: 28px;
}


.free_consult .features .row
{
    align-content: center;
    align-items: center;
    justify-content: space-between;
}


.free_consult .features .item
{
    font-size: 13px;
    line-height: 162%;

    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;
}


.free_consult .features .item .icon
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 46px;
    height: 46px;
    margin-right: 16px;
}


.free_consult .features .item .icon img
{
    display: block;

    max-width: 100%;
    max-height: 100%;
    margin: 0;
}


.free_consult .features .item .icon + *
{
    align-self: center;

    max-width: 100% - 62px;
}


.free_consult .features .item .name
{
    font-size: 14px;
    font-weight: 600;
    line-height: 162%;

    color: #2a3c7b;
}


.free_consult .features .item .name span
{
    font-size: 22px;
}


.free_consult .mob_img
{
    position: relative;

    display: none;

    width: calc(100% + 48px);
    height: 94px;
    margin: 0 -24px 28px;

    background: #2a3c7b;
}


.free_consult .mob_img img
{
    position: absolute;
    bottom: 0;
    left: 12px;

    display: block;

    width: 230px;
    max-width: 100%;
}


.free_consult .form
{
    --form_border_color: #d3d3d3;
    --form_focus_color: #d3d3d3;
    --form_bg_color: #fff;
    --form_placeholder_color: #1b1b1b;
}


.free_consult .form .cols
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}


.free_consult .form .cols + .cols
{
    margin-top: 12px;
}


.free_consult .form .col.big
{
    width: calc(100% - 222px);
}


.free_consult .form .col
{
    width: 216px;
    max-width: 100%;
}


.free_consult .form .col > *:last-child
{
    margin-bottom: 0;
}


.free_consult .form .line
{
    margin-bottom: 5px;
}


.free_consult .form .online
{
    top: -11px;
    right: 0;
    left: auto;

    width: 81px;
    height: 23px;
}


.free_consult .form .input
{
    font-size: var(--font_size);

    height: 42px;
    padding: 0 14px;

    border: 1px solid var(--form_border_color);
}


.free_consult .form textarea
{
    font-size: var(--font_size);
    line-height: 120%;

    height: 89px;
    padding: 22px 24px;

    border: 1px solid var(--form_border_color);
}


.free_consult .form .agree
{
    width: 364px;
    max-width: 100%;
    margin-top: 0;
}


.free_consult .form .checkbox
{
    font-size: 11px;
    line-height: 123%;

    padding-left: 41px;

    color: #898989;
}


.free_consult .form .checkbox a
{
    color: currentColor;
}


.free_consult .form .checkbox .check
{
    background: none;
}


.free_consult .form .checkbox input:checked ~ .check
{
    color: #1b1b1b;
    border-color: #1b1b1b;
    background: none;
}


.free_consult .form .submit
{
    margin: 0;
    padding: 7px 0 0;
}


.free_consult .form .submit_btn
{
    width: 100%;
    height: 38px;
    padding: 0;

    color: #fff;
    border-color: #2a3c7b;
    background: #2a3c7b;
}


.free_consult .form .submit_btn:hover
{
    border-color: #394e98;
    background: #394e98;
}


.free_consult .img1
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    height: 100%;

    pointer-events: none;

    object-fit: cover;
}


.free_consult .img2
{
    position: absolute;
    z-index: 2;
    bottom: -56px;
    left: -20px;

    display: block;

    width: 654px;

    pointer-events: none;
}



/*------------------
    Service info
------------------*/
.service_info .free_consult
{
    width: 100%;
    margin-bottom: 87px;
}



.service_info .content
{
    width: calc(100% - 418px);
}


.service_info aside
{
    position: sticky;
    top: 140px;

    display: flex;
    flex-direction: column;

    width: 320px;
    max-width: 100%;
    margin-left: auto;

    gap: 33px;
}



.service_info .services .title
{
    font-size: 24px;
    font-weight: 600;

    margin-bottom: 13px;

   
    text-align: center;
    color: #2a3c7b;
}


.service_info .services .list > *
{
    border: 1px solid #f0f0f0;
}

.service_info .services .list > * + *
{
    margin-top: -1px;
}


.service_info .services .list .main
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.service_info .services .list .main.active a{
    background: #2a3c7b;
    color: #fff;
}


.service_info .services .list .main.active.has-inn a{
    background: #2a3c7b;
    color: #fff;
}

.service_info .services .list .main.active:hover svg{
    transform: rotate(0deg);
}

.service_info .services .list .main.opened.has-inn a{
    background: #B8B8B8;
    color: #fff;
}

.service_info .services .list .main.opened.has-inn .arr{
    background: #B8B8B8;
    color: #fff;
}




.service_info .services .list .main a
{
    font-size: 15px;
    font-weight: 600;
    line-height: 130%;
    position: relative;
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    width: 100%;
    min-height: 60px;
   
    margin-left: auto;
    padding: 7px 11px 7px 48px;

    transition: .2s linear;
    text-decoration: none;
    color: #1b1b1b;
    background: #fff;

}

.service_info .services .list .main .arr
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 37px;
    min-height: 60px;

    transition: .2s linear;

    border-right: 1px solid #f0f0f0;
}


.service_info .services .list .main .arr svg
{
    display: block;

    width: 7px;
    height: 10px;
    transform: rotate(0deg);
    transition: transform .2s linear;
}





.service_info .services .list .main:not(.active) .arr:hover
{
    color: #fff;
    border-color: #7d90cf;
    background: #7d90cf;
}





.service_info .services .list .main.active .arr
{
    color: #fff;
    border-color: #fff;
    background: #687ec5;
}

.service_info .services .list .main:not(.active) .arr:hover
{
    background: #687ec5;
}


.service_info .services .list .main.active svg
{
    transform: rotate(-90deg);
}




.service_info .services .list .main .arr + a
{
    

    width: calc(100% - 37px);
    padding-left: 11px;
}





.service_info .services .list .main:not(.active):hover a
{
    background: #f6f6f6;
    color: #2a3c7b;
}

.service_info .services .list .main:not(.active) a:hover
{
    color: #fff;
    background: #687ec5;
}

.service_info .services .list .main:not(.active):hover .arr
{
    background: #2a3c7b;
    color: #fff;
}

.service_info .services .list .main:not(.active) .arr:hover{
    background: #687ec5;
    color: #fff;
}

.service_info .services .list .main:not(.active) .arr:hover svg{
    transform: rotate(90deg);
}

.service_info .services .list .main.active:hover > a{
    background: #7d90cf;
    color: #fff;
}




.service_info .services .list .sub
{
    display: none;

    padding: 12px 0;

    background: #f6f6f6;
}

.service_info .services .list .sub > * + *
{
    margin-top: 2px;
}


.service_info .services .list .sub a
{
    
    font-size: 15px;
    line-height: 130%;

    position: relative;

    display: block;

    
    padding: 6px 19px 2px 56px;

    transition: .2s linear;
    text-decoration: none;

    color: currentColor;
}

.service_info .services .list .sub a:hover,
.service_info .services .list .sub a.active
{
    color: #fff;
    background: #2a3c7b;
}

.service_info .services .list .sub a:before
{
    position: absolute;
    top: 14px;
    left: 36px;

    display: block;

    width: 12px;
    height: 1px;

    content: '';
    transition: background .2s linear;

    background: #2a3c7b;
}




.service_info .services .list .sub a:hover:before,
.service_info .services .list .sub a.active:before
{
    background: #fff;
}



.service_info .callback_form
{
    border: 2px solid #2a3c7b;
    background: #f6f6f6;
    position: relative;
    top: 32px;
}


.service_info .callback_form .title
{
    font-size: 24px;
    font-weight: 600;

    padding: 18px;

    text-align: center;

    color: #fff;
    background: #2a3c7b;
}


.service_info .callback_form .desc
{
    font-size: 15px;
    line-height: 130%;

    margin-bottom: 13px;

    text-align: center;

    color: #2a3c7b;
}


.service_info .callback_form .form
{
    padding: 18px 34px 34px;

    --form_border_color: #d3d3d3;
    --form_focus_color: #d3d3d3;
    --form_bg_color: #fff;
    --form_placeholder_color: #2a3c7b;
}


.service_info .callback_form .form .line
{
    margin-bottom: 10px;
}


.enter-field{
    position: relative;
}

.enter-field-error {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: #fff;
    font-size: 13px;
    line-height: 15px;
    color: #000;
    display: none;
    border: 2px solid #ff0000;
    border-radius: 5px;
    box-sizing: border-box;
    z-index: 3;
}

.enter-field-error tr td {
    padding: 0 20px 0 50px;
    vertical-align: middle;
}

.efe-t {
    width: 13px;
    height: 13px;
    position: absolute;
    border-left: 1px solid #bdbdbd;
    transform: rotate(-135deg);
    bottom: -8px;
    left: 20px;
    background: #fff;
    border-top: 1px solid #bdbdbd;
    display: none;
}

.enter-field-error tr td:after {
    content: "!";
    color: #fff;
    width: 25px;
    height: 25px;
    background: #ff8c00;
    border-radius: 3px;
    position: absolute;
    top: 13px;
    left: 13px;
    text-align: center;
    font-size: 19px;
    box-sizing: border-box;
    padding-top: 5px;
    font-weight: 600;
}

.input-error .enter-field-error {
    display: table;
}

.service_info .callback_form .form .input
{
    font-size: var(--font_size);

    height: 48px;
    padding: 0 16px;

    border: 1px solid var(--form_border_color);
}


.service_info .callback_form .form .agree
{
    margin-top: 0;
    padding-top: 7px;
}


.service_info .callback_form .form .checkbox
{
    font-size: 10px;
    line-height: 123%;

    color: #1b1b1b;
}


.service_info .callback_form .form .checkbox a
{
    color: currentColor;
}


.service_info .callback_form .form .checkbox .check
{
    background: none;
}


.service_info .callback_form .form .checkbox input:checked ~ .check
{
    color: #2a3c7b;
    border-color: #2a3c7b;
    background: #fff;
}


.service_info .callback_form .form .submit
{
    padding-top: 16px;
}


.service_info .callback_form .form .submit_btn
{
    font-size: 12px;
    font-weight: 600;
    line-height: 162%;

    display: block;

    width: 100%;
    height: 38px;
    padding: 2px 0 0;

    transition: background .2s linear;
    text-transform: uppercase;

    color: #fff;
    background: #2a3c7b;
}


.service_info .callback_form .form .submit_btn:hover
{
    background: #394e98;
}




/*----------------------
    Content contacts
----------------------*/
.content_contacts
{
    line-height: normal;

    position: relative;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    padding: 18px;

    border: 2px solid #2a3c7b;
    background: #f6f6f6;
    box-shadow: inset 0 0 0 5px var(--bg);
}


.content_contacts .btn
{
    font-size: 12px;
    font-weight: 700;
    line-height: 162%;

    height: 38px;
    padding: 4px 30px 0;

    transition: background .2s linear;
    text-transform: uppercase;

    color: #fff;
    background: #2a3c7b;
}


.content_contacts .btn:hover
{
    background: #394e98;
}


.content_contacts .label
{
    font-size: 16px;
    font-style: italic;

    margin-left: 52px;

    text-align: center;

    color: #000;
}


.content_contacts .phone
{
    font-size: 26px;
    font-weight: 600;
    font-style: italic;

    margin-left: 60px;

    white-space: nowrap;

    color: #2a3c7b;
}


.content_contacts .phone a
{
    text-decoration: none;

    color: currentColor;
}


.content_contacts .img
{
    position: absolute;
    z-index: 3;
    right: -14px;
    bottom: -9px;

    display: block;

    width: 260px;

    pointer-events: none;
}



/*-------------------
    Service steps
-------------------*/
.service_steps
{
    padding: 46px 42px 42px;

    background: #f6f6f6;
}


.service_steps .block_title
{
    font-size: 30px;
    font-weight: 400;
    line-height: normal;

    margin-bottom: 7px;

    text-align: center;
}


.service_steps .block_desc
{
    font-size: 20px;
    line-height: 162%;

    margin-bottom: 32px;

    text-align: center;
}


.service_steps .row
{
    margin-bottom: -40px;
    margin-left: -24px;

    counter-reset: number;
}


.service_steps .row > *
{
    width: calc(25% - 24px);
    margin-bottom: 40px;
    margin-left: 24px;
}


.service_steps .item
{
    font-size: 14px;
    line-height: 115%;
}


.service_steps .item .number
{
    font-size: 29px;
    font-style: italic;
    line-height: 130%;

    margin-bottom: 11px;

    color: #000;
}


.service_steps .item .number:before
{
    content: counter(number) '.';
    counter-increment: number;
}



/*------------------------
    Service advantages
------------------------*/
.service_advantages
{
    padding: 46px 42px 42px;

    background: #f6f6f6;
}


.service_advantages .block_title
{
    font-size: 30px;
    font-weight: 400;
    line-height: normal;

    margin-bottom: 30px;

    text-align: center;
}


.service_advantages .row
{
    margin-bottom: -40px;
    margin-left: -40px;

    counter-reset: number;
}


.service_advantages .row > *
{
    width: calc(33.333% - 40px);
    margin-bottom: 40px;
    margin-left: 40px;
}


.service_advantages .item
{
    font-size: 14px;
    line-height: 115%;
}


.service_advantages .item .number
{
    font-size: 29px;
    font-style: italic;
    line-height: 130%;

    margin-bottom: 11px;

    color: #000;
}


.service_advantages .item .number:before
{
    content: counter(number) '.';
    counter-increment: number;
}


/*------------------
     Action block
 ------------------*/
 .content .action_block
 {
     margin-top: 40px;
     margin-bottom: 40px;
 }
 
 
 .action_block
 {
     padding: 7px;
 
     border: 1px solid #2a3b7b;
     background: #fff;
 }
 
 
 .action_block .data
 {
     position: relative;
 
     background: #f6f6f6;
 }
 
 
 .action_block .info
 {
     font-size: 18px;
     line-height: 145.45%;
 
     position: relative;
     z-index: 3;
 
     width: 666px;
     max-width: 100%;
     padding: 42px;
 
     color: #2a3c7b;
 }
 
 
 .action_block .title
 {
     font-size: 27px;
 }
 
 
 .action_block .desc
 {
     margin-top: 24px;
 }
 
 
 .action_block .phone
 {
     display: flex;
     flex-direction: column;
 
     margin-top: 20px;
 
     gap: 8px;
 }
 
 
 .action_block .phone a
 {
     font-size: 26px;
     font-weight: 600;
     font-style: italic;
 
     white-space: nowrap;
     text-decoration: none;
 
     color: currentColor;
 }
 
 
 .action_block .or
 {
     margin-top: 24px;
 }
 
 
 .action_block .btn
 {
     font-size: 12px;
     font-weight: 600;
     line-height: 162%;
 
     height: 38px;
     margin-top: 14px;
     padding: 4px 28px 0;
 
     transition: background .2s linear;
     text-transform: uppercase;
 
     color: #fff;
     background: #2a3c7b;
 }
 
 
 .action_block .btn:hover
 {
     background: #687ec5;
 }
 
 
 .action_block .img
 {
     position: absolute;
     z-index: 1;
     right: 0;
     bottom: 0;
 
     display: block;
 
     height: 100%;
 
     pointer-events: none;
 }
 
 
 .action_block .img img
 {
     display: block;
 
     height: 100%;
 }
 
 
 
 /*-----------------
     Action form
 -----------------*/
 .content .action_form
 {
     margin-top: 64px;
 }
 
 
 .action_form
 {
     position: relative;
 
     min-height: 532px;
 
     border: 8px solid #f2f2f2;
     background: #f6f6f6;
 }
 
 
 .action_form .data
 {
     width: 606px;
     max-width: 100%;
     padding: 42px 0 34px 42px;
 }
 
 
 .action_form .title
 {
     font-size: 27px;
 
     color: #2a3c7b;
 }
 
 
 .action_form .desc
 {
     font-size: 18px;
     line-height: 145.45%;
 
     margin-top: 15px;
 
     color: #2a3c7b;
 }
 
 
 .action_form .form
 {
     margin-top: 19px;
 
     --form_border_color: #d3d3d3;
     --form_focus_color: #d3d3d3;
     --form_bg_color: #fff;
     --form_placeholder_color: #898989;
 }
 
 
 .action_form .form .line
 {
     margin-bottom: 15px;
 }
 
 
 .action_form .form .field > .icon
 {
     height: 48px;
 }
 
 
 .action_form .form .input
 {
     font-size: var(--font_size);
 
     height: 48px;
     padding: 2px 12px 0;
 
     border: 1px solid var(--form_border_color);
 
     --form_placeholder_color: #1b1b1b;
 }
 
 
 .action_form .form textarea
 {
     font-size: var(--font_size);
     line-height: 162%;
 
     height: 74px;
     min-height: 74px;
     padding: 10px 12px;
 
     border: 1px solid var(--form_border_color);
 }
 
 
 .action_form .form .file
 {
     margin-top: 0;
 }
 
 
 .action_form .form .submit
 {
     padding-top: 10px;
 }
 
 
 .action_form .person
 {
     position: absolute;
     top: -17px;
     right: 0;
 
     display: flex;
     align-content: flex-end;
     align-items: flex-end;
     flex-wrap: wrap;
     justify-content: flex-start;
 
     width: 384px;
     max-width: 100%;
 
     color: #2a3c7b;
 }
 
 
 .action_form .person picture,
 .action_form .person img
 {
     display: block;
 
     width: 100%;
 }
 
 
 .action_form .person .name
 {
     font-size: 16px;
     font-weight: 600;
     line-height: 162%;
 
     width: 100%;
     margin-top: 22px;
     padding-right: 42px;
 
     text-align: right;
 }
 
 
 .action_form .person .post
 {
     font-size: 14px;
     font-style: italic;
     line-height: 162%;
 
     width: 100%;
     padding-right: 42px;
 
     text-align: right;
 }


/*--------------------
    Other services
--------------------*/
.content .other_services
{
    margin-top: 64px;
}


.other_services .title
{
    margin-bottom: 30px;

    font-size: 30px;

    text-align: center;
}


.other_services .desc
{
    margin-bottom: 30px;

    line-height: 162%;
}


.other_services .items
{
    display: flex;
    flex-direction: column;

    gap: 2px;
}


.other_services .items a
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: flex-start;

    font-weight: 600;
    line-height: 162%;

    transition: .2s linear;
    text-decoration: none;

    color: currentColor;
    background: #f6f6f6;
}


.other_services .items .icon
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 52px;

    transition: .2s linear;

    color: #2a3c7b;
    border-right: 1px solid #2a3c7b;
}


.other_services .items .icon svg
{
    display: block;

    width: 9px;
    height: 15px;
}


.other_services .items .icon + *
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    width: calc(100% - 52px);
    min-height: 46px;
    padding: 10px;
}


.other_services .items a:hover
{
    color: #fff;
    background: #2a3c7b;
}


.other_services .items a:hover .icon
{
    color: #fff;
    border-color: #fff;
}



/*----------------
    Intresting
----------------*/
.content .intresting
{
    margin-top: 64px;
}


.intresting
{
    padding-top: 51px;
}


.intresting .row
{
    position: relative;

    align-content: stretch;
    align-items: stretch;

    margin-bottom: -16px;
    margin-left: -16px;
}


.intresting .row > *
{
    width: calc(33.333% - 16px);
    margin-bottom: 16px;
    margin-left: 16px;
}


.intresting .row > *:nth-child(7) ~ *
{
    display: none;
}


.intresting .row.show_all > *:nth-child(7) ~ *
{
    display: flex;
}


.intresting .title
{
    width: calc(66.666% - 16px);
    padding-block: 15px 31px;

    font-size: 30px;
}


.intresting .picture
{
    position: relative;

    height: 0;
}


.intresting .photo
{
    position: relative;

    display: block;

    width: calc(100% - 64px);
    margin-inline: auto;

    z-index: 3;
    pointer-events: none;

    background: #e7e8e8;

    aspect-ratio: 1 / 1.2007;
}


.intresting .photo img,
.intresting .photo .img
{
    position: absolute;
    bottom: 0;
    left: -11px;

    display: block;

    width: calc(100% + 19px);
    
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    height: calc(100% + 19px);
}


.intresting .link
{
    display: flex;
    flex-direction: column;

    min-height: 159px;
    padding: 31px;

    transition: .2s linear;
    text-decoration: none;

    color: #fff;
    border: 1px solid #2a3b7b;
    background: #2a3c7b;
}


.intresting .link:nth-child(6)
{
    justify-content: flex-end;
}


.intresting .link:hover
{
    color: #1b1b1b;
    border-color: #2a3c7b;
    background: #f6f6f6;
}


.intresting .all
{
    display: flex !important;
    align-content: flex-end;
    align-items: flex-end;
    flex-direction: column;
    justify-content: flex-end;

    padding: 31px;

    border: 1px solid #f0f0f0;
}


.intresting .all .btn
{
    height: 50px;
    padding-inline: 23px;

    font-size: 14px;
    font-weight: 600;

    transition: .2s linear;
    text-transform: uppercase;

    color: #2a3c7b;
    border: 1px solid #2a3c7b;
}


.intresting .all .btn span + span,
.intresting .all .btn.active span
{
    display: none;
}


.intresting .all .btn:hover
{
    color: #fff;
    background: #2a3c7b;
}


.intresting .all .btn.active span + span
{
    display: block;
}



/*------------------
    Person2 info
------------------*/
.person2_info .data
{
    position: relative;

    display: flex;
    align-content: flex-end;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: flex-end;

    padding-block: 50px;
}


.person2_info .data > *
{
    position: relative;

    z-index: 3;
}


.person2_info .data:before
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    width: calc(100% - 400px);
    height: 100%;

    content: '';
    z-index: 1;
    pointer-events: none;

    background: #f6f6f6;
}


.person2_info .photo
{
    width: 426px;
    max-width: 100%;
    margin-bottom: -50px;
}

.person2_info .photo img
{
    display: block;

    width: 100%;
}


.person2_info .contacts
{
    display: flex;
    flex-direction: column;

    width: 288px;
    max-width: 100%;
    margin-left: 90px;

    line-height: 162%;

    gap: 14px;
}


.person2_info .contacts .phone,
.person2_info .contacts .email,
.person2_info .contacts .location
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}


.person2_info .contacts .icon
{
    display: block;
    align-self: center;
}

.person2_info .contacts .phone .icon
{
    width: 19px;
    height: 21px;
}

.person2_info .contacts .email .icon
{
    position: relative;
    top: -2px;

    width: 19px;
    height: 15px;
}

.person2_info .contacts .location .icon
{
    width: 16px;
    height: 21px;
    margin-left: 2px;
}

.person2_info .contacts .icon + *
{
    align-self: center;

    width: calc(100% - 39px);
}


.person2_info .contacts a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}


.person2_info .business_card
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-top: 34px;
}


.person2_info .business_card .qr_code img
{
    display: block;

    width: 80px;
    height: 80px;
}


.person2_info .business_card .name
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    width: calc(100% - 112px);
    padding: 20px;

    font-size: 14px;
    line-height: 18px;

    color: #fff;
    background: #2a3c7b;
}


.person2_info .desc
{
    align-self: flex-start;

    width: 465px;
    max-width: 100%;
    margin-right: 90px;
    margin-left: auto;
}



/*-----------------
    Person desc
-----------------*/
.person_desc
{
    margin-bottom: 74px;
}


.person_desc .mob
{
    display: none;

    margin-top: 40px;
}


.person_desc .text_block
{
    position: relative;
}


.person_desc .text_block h2,
.person_desc .text_block h3
{
    text-align: left;
}


.person_desc .text_block h3
{
    margin-bottom: 20px !important;
}


.person_desc .text_block * + h2,
.person_desc .text_block * + h3
{
    margin-top: 40px;
}


.person_desc .spoler_btn
{
    position: absolute;
    bottom: 0;
    left: 50%;

    display: none;

    padding: 10px 18px;

    font-size: 14px;
    font-weight: 700;
    line-height: calc(100% + 6px);

    z-index: 3;
    transition: .2s linear;
    transform: translateX(-50%);
    white-space: nowrap;

    color: #2a3c7b;
    border: 2px solid #2a3c7b;
}


.person_desc .spoler_btn span + span,
.person_desc .spoler_btn.active span
{
    display: none;
}


.person_desc .spoler_btn.active span + span
{
    display: block;
}



/*------------
    Footer
------------*/
footer
{
    padding: 60px 0 70px;

    background: #f6f6f6;
}


footer .cont
{
    align-content: stretch;
    align-items: stretch;
    justify-content: space-between;
}


footer .col_left
{
    display: flex;
    flex-direction: column;

    width: 250px;
    max-width: 100%;
}


footer .col_center
{
    display: flex;
    flex-direction: column;

    width: 670px;
    max-width: 100%;
}


footer .col_right
{
    display: flex;
    flex-direction: column;

    width: 340px;
    max-width: 100%;
}



footer .logo
{
    margin-bottom: 40px;
}


footer .logo img
{
    display: block;

    width: 85px;
    height: 90px;
}



footer .copyright
{
    font-size: 13px;
    line-height: 20px;

    margin-top: auto;

    color: #898989;
}


footer .copyright > * + *
{
    margin-top: 20px;
}



footer .title
{
    font-size: 30px;
    font-weight: 700;
    line-height: 40px;

    margin-bottom: 20px;

    color: #d3d3d3;
}



footer .services_links
{
    position: relative;

    padding-bottom: 35px;
}

footer .services_links:after
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 1px;

    content: '';

    background: linear-gradient(to right,  rgba(211,211,211,1) 0%,rgba(211,211,211,1) 50%,rgba(211,211,211,0) 100%);
}


footer .services_links .items
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-bottom: -10px;
    margin-left: -30px;
}


footer .services_links .items > *
{
    margin-bottom: 10px;
    margin-left: 30px;
}

footer .services_links .items > *:nth-child(2n+1)
{
    width: calc(100% - 325px);
}

footer .services_links .items > *:nth-child(2n)
{
    width: 265px;
    max-width: 100%;
}


footer .services_links .items a
{
    font-size: 14px;
    line-height: 20px;

    display: inline-block;

    transition: color .2s linear;
    vertical-align: top;
    text-decoration: none;

    color: #2a3c7b;
}

footer .services_links .items a:hover,
footer .services_links .items a.active
{
    color: #898989;
}



footer .menu
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-top: 35px;
    margin-bottom: 35px;
    margin-left: -48px;
}

footer .menu > *
{
    margin-left: 48px;
}


footer .menu a
{
    font-size: 18px;
    line-height: 22px;

    display: inline-block;

    transition: color .2s linear;
    vertical-align: top;
    text-decoration: none;

    color: #2a3c7b;
}

footer .menu a:hover,
footer .menu a.active
{
    color: #898989;
}



footer .privacy_policy_link
{
    font-size: 13px;
    line-height: 20px;

    margin-top: auto;
}


footer .privacy_policy_link a
{
    display: inline-block;

    transition: color .2s linear;
    vertical-align: top;
    text-decoration: none;

    color: #2a3c7b;
}


footer .privacy_policy_link a:hover
{
    color: #898989;
}



footer .phone
{
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;

    color: #424242;
}


footer .phone a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}



footer .callback_btn
{
    font-size: 14px;
    line-height: 22px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: 28px;

    transition: color .2s linear;
    text-decoration: underline;

    color: #2a3c7b;
}


footer .callback_btn .icon
{
    display: block;

    width: 19px;
    height: 21px;
    margin-right: 10px;
}


footer .callback_btn:hover
{
    color: #898989;
}



footer .location
{
    font-size: 14px;
    line-height: 22px;

    margin-top: 20px;

    color: #898989;
}

footer .location > * + *
{
    margin-top: 5px;
}



footer .socials
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-top: 30px;
    margin-bottom: 35px;
}


footer .socials a
{
    display: block;

    transition: color .2s linear;
    text-decoration: none;

    color: #d3d3d3;
}

footer .socials a + a
{
    margin-left: 28px;
}


footer .socials .icon
{
    display: block;
}

footer .socials .whatsapp_link .icon
{
    width: 20px;
    height: 20px;
}

footer .socials .telegram_link .icon
{
    width: 24px;
    height: 20px;
}

footer .socials .vk_link .icon
{
    width: 31px;
    height: 18px;
}


footer .socials a:hover
{
    color: #898989;
}



footer .creator
{
    font-size: 13px;
    line-height: 20px;

    margin-top: auto;

    color: #898989;
}


footer .creator a
{
    display: inline-block;

    vertical-align: top;
    text-decoration: none;

    color: currentColor;
}


footer .creator span
{
    transition: color .2s linear;

    color: #2a3c7b;
}


footer .creator a:hover span
{
    color: #898989;
}



/*-----------
    PopUp
-----------*/
.modal
{
    display: none;
    visibility: visible !important;

    width: 800px;
    max-width: 100%;
    padding: 55px 55px 65px;

    color: var(--text_color);
    background: #fff;
}


.modal_title
{
    font-size: 30px;
    font-weight: 400;
    line-height: 40px;

    margin-bottom: 40px;

    text-align: center;
}


.modal .form
{
    width: 540px;
    max-width: 100%;
    margin: 0 auto;
}



#map_modal
{
    padding: 0;
}


#map_modal .map
{
    position: relative;

    overflow: hidden;

    height: 570px;

    background: #ddd;
}


.cookie_modal
{
    position: fixed;
    bottom: 24px;
    left: 50%;

    display: none;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    width: 440px;
    max-width: 100%;
    padding: 32px;

    z-index: 100;
    transform: translateX(-50%);

    color: var(--text_color);
    
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 0 4px 0 rgba(5, 29, 54, .07), 0 7px 8px 0 rgba(5, 29, 54, .05), 0 8px 24px 0 rgba(5, 29, 54, .05);
    
            backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}


.cookie_modal.show
{
    display: flex;
}


.cookie_modal a:link, .cookie_modal a:visited
{
    text-decoration: underline;
    color: #2a3c7b;
}

.cookie_modal a:hover {
    color: #898989;
}

.cookie_modal .btn
{
    display: block;

    width: 140px;
    max-width: 100%;
    height: 50px;

    font-family: inherit;
    font-size: 14px;
    line-height: 145%;

    cursor: pointer;
    transition: .2s linear;
    text-transform: uppercase;

    color: #fff;
    border: none;
    background: #2a3c7b;
    
    margin-top: 15px;
}


.cookie_modal .btn:hover
{
    color: var(--text_color);
    background: #fff;
    box-shadow: 0 0 4px 0 rgba(5, 29, 54, .07), 0 7px 8px 0 rgba(5, 29, 54, .05), 0 8px 24px 0 rgba(5, 29, 54, .05);    
}


@media print,
(max-width: 767px)
{
    .cookie_modal
    {
        bottom: 0;

        width: 375px;
        max-width: 100%;
        padding: 15px;

        font-size: 16px;
    }


    .cookie_modal .btn
    {
        width: 116px;
        height: 48px;
    }
}