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

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



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

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

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

body
{
    margin: 0;

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

img
{
    border-style: none;
    max-width: 100%;
}

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: #333;
    --font_size: 14px;
    --font_size_title: 34px;
    --font_family: 'Roboto', 'Arial', sans-serif;
}


::selection
{
    color: #fff;

    background: #1b6097;
}

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

    background: #1b6097;
}


.clear
{
    clear: both;
}

.left
{
    float: left;
}

.right
{
    float: right;
}



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

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

    background-color: #ccc;
}

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

html.custom_scroll
{
    scrollbar-color: #1b6097 #ccc;
    scrollbar-width: thin;
}


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

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


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

    display: inline-block;

    cursor: pointer;
    vertical-align: top;

    border: none;
    background: none;
}


.wrap
{
    position: relative;

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

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

    background: var(--bg);
}


.main
{
    flex: 1 0 auto;
}


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


.lozad
{
    transition: opacity .5s linear;

    opacity: 0;
}

.lozad.loaded
{
    opacity: 1;
}


.row
{
    display: flex;

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



.block
{
    margin-bottom: 72px;
}

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

.block.gray
{
    background: #f2f6fa;
    padding: 68px;
}


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

    display: none;

    width: 100%;
    height: 100%;

    opacity: .65;
    background: #000;
}



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

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

    display: none;

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

    text-align: center;

    background: #fff;

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

.supports_error.show
{
    display: flex;
}



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


.fancybox__slide
{
    padding: 40px;
}



/*---------------
    Accordion
---------------*/
.accordion .accordion_item + .accordion_item
{
    margin-top: 20px;
}


.accordion .accordion_item .head
{
    color: #1b6097;

    position: relative;

    padding: 8px 0 8px 24px;

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


.accordion .accordion_item .head .icon
{
    position: absolute;
    top: 13px;
    left: 2px;

    display: block;

    width: 8px;
    height: 8px;

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

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


.accordion .accordion_item .head .title
{
    font-size: 24px;
    font-weight: 700;
    line-height: 100%;

    text-transform: uppercase;
}


.accordion .accordion_item .head:hover
{
    color: #b80000;
}

.accordion .accordion_item.active .head .icon
{
    top: 17px;

    transform: rotate(-225deg);
}


.accordion .accordion_item .data
{
    display: none;

    width: calc(100% + 48px);
    margin: 0 -24px;
    padding: 32px 24px;
}



/*------------------
    Mob all link
------------------*/
.mob_all_link
{
    display: none;

    width: 100%;
    margin-top: 24px;
}

.mob_all_link a
{
    color: #b80000;
    line-height: 22px;

    position: relative;

    display: inline-block;

    padding-right: 16px;

    vertical-align: top;
    text-decoration: none;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.mob_all_link a:after
{
    position: absolute;
    top: -1px;
    right: 1px;
    bottom: 0;

    display: block;

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

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

    border-right: 1px solid;
    border-bottom: 1px solid;
}

.mob_all_link a:hover
{
    color: #1b6097;
}



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

    width: 100%;
    padding-bottom: 8px;
}


header .info
{
    padding: 30px 0;
}

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


header .info .col_left,
header .info .col_right
{
    display: flex;

    width: 372px;
    max-width: calc(50% - 121px);

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

header .info .col_right
{
    flex-wrap: nowrap;
    align-items: flex-start;
}

header .info .col_right > * {
    flex: 0 0 calc(45%)
}

header .bottom {
    background: #1B6097;
    border-bottom: 3px solid #B80000;
    height: 63px;
    /*overflow-x: hidden;*/
}
header .bottom .data
{
    display: flex;

    padding: 0;


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



header .logo,
header .logo img
{
    color: currentColor;

    display: block;

    text-decoration: none;
}



header .slogan
{
    color: #369;
    font-size: 17px;
    line-height: 28px;

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

    text-transform: uppercase;
}

header .slogan b
{
    font-size: 19px;
}

header h1 {
	position: absolute;
    top: -3000px;
}

header .age
{
    color: #b80000;
    font-size: 9px;
    font-weight: 700;
    line-height: 14px;

    display: flex;

    letter-spacing: .1em;
    text-transform: uppercase;

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

header .age img
{
    display: block;

    margin-right: 8px;
}



header .catalog_link
{
    color: #fff;
    font-size: 12px;
    line-height: 14px;

    display: inline-block;

    padding: 11px 19px;

    transition: .2s linear;
    vertical-align: top;
    text-decoration: none;
    letter-spacing: .1em;
    text-transform: uppercase;

    border-radius: 17px;
    background: rgb(27, 96, 151);
    box-shadow: 0 10px 25px 0 rgba(22, 62, 114, .2);
}

header .catalog_link:hover
{
    background: #b80000;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .2);
}



header .location
{
    color: #369;
    line-height: 20px;
}

header .location + .location
{
    margin-top: 15px;
}

header .location .name
{
    font-weight: 700;

    margin-bottom: 4px;

    letter-spacing: .05em;
    text-transform: uppercase;
}



header .contacts
{
    /*
    display: flex;

    width: 100%;
    margin-top: 20px;

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

    text-align: right;
}

header .contacts .mail a {
    color: #369;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    text-decoration: none;
}
header .contacts .phone + .mail {
    margin-top: 12px;
}

header .contacts .phone
{
    color: #369;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;

    white-space: nowrap;
}

header .contacts .phone a
{
    color: currentColor;

    text-decoration: none;
}


header .contacts .callback_btn
{
    margin-top: 20px;

    color: #fff;
    font-size: 12px;
    line-height: 14px;

    padding: 11px 22px;

    transition: .2s linear;
    text-decoration: none;
    letter-spacing: .1em;
    text-transform: uppercase;

    border-radius: 17px;
    background: rgb(27, 96, 151);
    box-shadow: 0 10px 25px 0 rgba(22, 62, 114, .2);
}

header .contacts .callback_btn:hover
{
    background: #b80000;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .2);
}

header .contacts .catalog_link {
    display: none;
}

header .directions-link {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 16px;
    width: 172px;
    height: 39px;
    background: #FFFFFF;
    border-radius: 40px;

    font-weight: 500;
    font-size: 16px;
    line-height: 22px;
    color: #1B6097;
    text-decoration: none;
    transition: all .2s linear;
}
header .directions-link:hover {
    color: #fff;
    background: #b80000;
}
header .directions-link .icon {
    width: 17px;
    height: 17px;
    color: #b80000;
    margin-left: 8px;
    transition: color .2s linear;
}
header .directions-link:hover .icon {
    color: #fff;
}

header .directions-link .burger {
    display: block;
    position: relative;
    height: 2px;
    margin-left: 8px;
    color: #b80000;
    background: currentColor;
    width: 13px;
    transition: color 0.2s linear, background 0.2s linear;
}

header .directions-link:hover .burger {
    color: #fff;
}

header .directions-link .burger:before,
header .directions-link .burger:after {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: currentColor;
    content: "";
    transform: translateY(0) rotate(0);
}

header .directions-link .burger:before {
    top: -5px;
    transition: transform .1s linear, top .2s linear .1s;
}

header .directions-link .burger:after {
    bottom: -5px;
    transition: transform .1s linear, bottom .2s linear .1s;
}


header .directions-link.active .burger {
    background-color: transparent;
}

header .directions-link.active .burger:before {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    transition: top .1s linear, transform .2s linear .1s;
}

header .directions-link.active .burger:after {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
    transition: bottom .1s linear, transform .2s linear .1s;
}

.mobile-menu-link,
.mobile-but-search {
    display: none;
}

header .menu .item
{
    position: relative;
}

header .menu .item > a,
header .menu .item > span
{
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 100%;

    display: flex;

    min-height: 60px;
    padding: 12px 20px;

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

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

header .menu .burger
{
    display: flex;

    width: 25px;
    height: 20px;
    margin-right: 20px;
    margin-left: 4px;

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


header .menu .burger span
{
    position: relative;

    display: block;

    width: 100%;
    height: 2px;

    background: currentColor;
}

header .menu .burger span:before,
header .menu .burger span:after
{
    position: absolute;
    top: -9px;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    background: currentColor;
}

header .menu .burger span:after
{
    top: 9px;
}


header .menu .item > a .arr
{
    display: block;

    width: 10px;
    height: 10px;
    margin-top: -6px;
    margin-left: 10px;

    transform: rotate(-45deg);

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


header .menu .item:hover > a,
header .menu .item > a.active,
header .menu .item > span
{
    color: #f66;
}



header .menu .sub_menu
{
    position: absolute;
    z-index: 100;
    top: 100%;
    left: -130px;
    right: -100vw;

    visibility: hidden;


    min-width: 500px;
    padding-top: 11px;

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

    opacity: 0;
    background: transparent;


}

header .menu .sub_menu .sub_menu_inner {
    background: #f7f9fb;
    border-bottom: 8px solid #B80000;
    padding: 30px 0;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

header .menu .item:hover > a.touch_link + .sub_menu,
header .menu .sub_menu > *: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,
header .menu .sub_menu > *:hover > .sub_menu,
header .menu .sub_menu a.touch_link + .sub_menu.show
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}

header .menu .sub_menu_inner > div
{
    padding: 12px 40px 12px 150px;
}
header .menu .sub_menu a
{
    color: #1B6097;
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;

    position: relative;

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

header .menu .sub_menu a.sub_link:after
{
    position: absolute;
    top: 16px;
    right: 22px;

    display: block;

    width: 8px;
    height: 8px;

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

    border-right: 2px solid;
    border-bottom: 2px solid;
}

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


header .menu .sub_menu.level3
{
    z-index: -2;
    top: 0;
    left: 100%;

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

    background: #fff;
}

header .menu .sub_menu.level3 a
{
    font-size: 18px;
    font-weight: 400;

    padding: 8px 24px;
}

.search-header {
    position: relative;
    color: #fff;
    width: 200px;
    --form_placeholder_color: #D2E0CA;
}
.search-header ::-webkit-input-placeholder
{
    color: var(--form_placeholder_color);
}

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

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

.search-header .btn-search {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.search-header .btn-search .icon {
    width: 16px;
    height: 16px;
}
.search-header .input {
    margin: 0;
    padding: 0;

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

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

    font-family: var(--font_family);
    font-size: 12px;
    display: block;
    width: 100%;
    height: 42px;
    padding-right: 25px;
    color: currentColor;
    border: none;
    background: none;
    border-bottom: 1px solid #fff;
}


header .socials
{
    display: flex;

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

header .socials a
{
    color: #fff;
    border: 1px solid currentColor;
    display: flex;
    width: 31px;
    height: 31px;
    transition: color .2s linear;
    text-decoration: none;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

header .socials a + a
{
    margin-left: 20px;
}

header .socials .icon
{
    display: block;

    width: 14px;
    height: 14px;
}

header .socials a:hover
{
    color: #f66
}



header .bg
{
    position: absolute;
    z-index: -1;

    display: block;

    height: 100%;
    margin: auto;

    inset: 0;
}



/*-----------------
    Mob. header
-----------------*/
.mob_header
{
    display: none;

    width: 100%;
    padding: 20px 0 0;
}


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


.mob_header .logo,
.mob_header .logo img
{
    color: currentColor;

    display: block;

    width: 120px;

    text-decoration: none;
}


.mob_header .contacts .phone
{
    color: #369;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;

    white-space: nowrap;
}

.mob_header .contacts .phone a
{
    color: currentColor;

    text-decoration: none;
}


.mob_header .contacts .catalog_link
{
    color: #fff;
    font-size: 12px;
    line-height: 14px;

    display: block;

    margin-top: 4px;
    padding: 10px 20px;

    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    letter-spacing: .1em;
    text-transform: uppercase;

    border-radius: 17px;
    background: rgb(27, 96, 151);
    box-shadow: 0 10px 25px 0 rgba(22, 62, 114, .2);
}

.mob_header .contacts .catalog_link:hover
{
    background: #b80000;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .2);
}



.mob_header .mob_menu_btn
{
    color: #369;
    font-size: 15px;
    font-weight: 500;
    line-height: 100%;

    display: flex;

    width: 100%;
    min-height: 64px;
    margin-top: 20px;
    padding: 14px 24px 12px;

    transition: .2s linear;
    text-decoration: none;
    letter-spacing: .1em;
    text-transform: uppercase;

    border-bottom: 4px solid #aec2d7;
    background: #fff;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .4);

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


.mob_header .mob_menu_btn .burger
{
    display: flex;

    width: 25px;
    height: 20px;
    margin-right: 20px;

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

.mob_header .mob_menu_btn .burger span
{
    position: relative;

    display: block;

    width: 100%;
    height: 2px;

    transition: background .2s linear;

    background: currentColor;
}

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

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    transition: top .2s linear, transform .2s linear;

    background: currentColor;
}

.mob_header .mob_menu_btn .burger span:after
{
    top: 9px;
}


.mob_header .mob_menu_btn.active
{
    color: #fff;

    border-color: #b80000;
    background: #1b6097;
}

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

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

    transform: rotate(45deg);
}

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

    transform: rotate(-45deg);
}



/*---------------
    Mob. menu
---------------*/
.mob_menu
{
    position: absolute;
    z-index: 5;
    left: 0;

    display: none;

    width: 100%;

    background: #1B6097;
    border-bottom: 8px solid #B80000;
    padding: 40px 20px;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);

}

.mob_menu.show,
.mob_menu.active
{
    display: block;
}

.mob_menu .menu .item + .item
{
    margin-top: 34px;
}
.mob_menu .menu .item > a
{
    color: #fff;
    font-size: 16px;
    line-height: 22px;
    font-weight: 500;

    position: relative;

    text-decoration: none;
}

.mob_menu .menu .item > a.sub_link:after
{
    display: inline-block;

    width: 8px;
    height: 8px;

    content: '';

    border-right: 2px solid;
    border-bottom: 2px solid;

    transform: rotate(45deg);
    top: -2px;
    position: relative;
    transition: all .3s linear;
    transform-origin: 5px 5px;
    margin-left: 12px;
}


.mob_menu .menu .item > a.active:after
{
    transform: rotate(-135deg);
}


.mob_menu .menu .sub_menu
{
    position: relative;

    display: none;
    visibility: hidden;

    width: 100%;
    padding: 16px 0;
}

.mob_menu .menu .sub_menu.visible
{
    display: block !important;
    visibility: visible !important;
}

.mob_menu .menu .item > a.touch_link + .sub_menu.show,
.mob_menu .menu .sub_menu a.touch_link + .sub_menu.show
{
    display: block;
    visibility: visible;
}


.mob_menu .menu .sub_menu a
{
    color: #1b6097;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;

    position: relative;

    display: block;

    padding: 8px 48px 8px 24px;

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

.mob_menu .menu .sub_menu a.sub_link:after
{
    position: absolute;
    top: 16px;
    right: 22px;

    display: block;

    width: 8px;
    height: 8px;

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

    border-right: 2px solid;
    border-bottom: 2px solid;
}

.mob_menu .menu .sub_menu a:hover,
.mob_menu .menu .sub_menu a.active
{
    color: #ea6168;
}

.mob_menu .menu .sub_menu a.sub_link:hover:after
{
    top: 15px;

    transform: rotate(45deg);
}


.mob_menu .menu a.sub_link + .sub_menu.level2,
.mob_menu .menu .sub_menu.level3
{
    margin: 4px 0 12px;
    padding: 12px 0;

    background: #fff;
}

.mob_menu .menu .sub_menu.level3 a,
.mob_menu .menu a.sub_link + .sub_menu.level2 a
{
    font-size: 16px;
    font-weight: 400;

    padding: 6px 24px;
}

.mob_menu .socials
{
    display: flex;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    margin-top: 34px;
}

.mob_menu .socials a
{
    color: #fff;
    border: 1px solid currentColor;
    display: flex;
    width: 31px;
    height: 31px;
    transition: color .2s linear;
    text-decoration: none;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.mob_menu .socials a + a
{
    margin-left: 20px;
}

.mob_menu .socials .icon
{
    display: block;

    width: 14px;
    height: 14px;
}




/*---------------
    Page head
---------------*/
.page_head
{
    position: relative;
    z-index: 3;

    overflow: hidden;

    padding: 80px 0 40px;

    background: #1b6097;
}


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

    width: 100%;
    height: 100%;

    background-repeat: no-repeat;
    background-position: 50% 0;
}

.page_head .bg.loaded
{
    opacity: .5;
}


.page_head .cont.row
{
    display: flex;

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


.page_title
{
    color: #fff;
    font-size: 48px;
    font-weight: 700;
    line-height: calc(100% + 4px);

    display: block;

    margin-bottom: 16px;

    letter-spacing: .05em;
    text-transform: uppercase;
}

.page_head .breadcrumbs {
	margin-bottom: 25px;
	margin-top: -15px;
}


.page_head .back_link
{
    margin-top: 4px;
    margin-left: auto;
}

.page_head .back_link a, 
.page_head .breadcrumbs a
{
    color: #fff;
    line-height: 22px;

    position: relative;

    display: inline-block;

    padding-right: 16px;

    vertical-align: top;
    text-decoration: none;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.page_head .back_link a:after,
.page_head .breadcrumbs a:after
{
    position: absolute;
    top: -1px;
    right: 1px;
    bottom: 0;

    display: block;

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

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

    border-right: 1px solid;
    border-bottom: 1px solid;
}

.page_head .breadcrumbs a {
	font-size: 11px;
	margin-right: 10px;
	transition: all .2s linear;
}
.page_head .breadcrumbs a span {
	border-bottom: 1px solid rgba(255, 255, 255, 0.6);
	transition: all .2s linear;
}

.page_head .breadcrumbs a:hover span,
.page_head .breadcrumbs a.active span
{
    border-bottom-color: #f66;
    color: #f66;
}


.page_head .desc
{
    color: #fff;
    font-size: 20px;
    font-weight: 300;
}

.page_head .desc a
{
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
    transition: all .2s linear;
}

.page_head .desc a:hover
{
    border-bottom-color: #f66;
    color: #f66;
}


.page_head .links
{
    display: flex;

    margin-top: 32px;
    margin-bottom: -12px;
    margin-left: -32px;

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

.page_head .links > *
{
    margin-bottom: 12px;
    margin-left: 32px;
}

.page_head .links a,
.page_head .links span
{
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;

    transition: all .2s linear;
    text-decoration: none;
    letter-spacing: .05em;
    text-transform: uppercase;
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}

.page_head .links a:hover,
.page_head .links a.active,
.page_head .links span
{
    color: #f66;
    border-bottom-color: #f66;
}


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

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

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

.block_head:last-child
{
	margin-bottom: 0;
}

.block_head .title
{
    color: #1b6097;
    font-size: var(--font_size_title);
    font-weight: 700;
    line-height: calc(var(--font_size_title) + 6px);

    display: block;

    letter-spacing: .05em;
    text-transform: uppercase;
}

.block_head .title.mini
{
    font-size: 24px;
    line-height: 28px;
}


.block_head .all_link
{
    margin-top: 4px;
    margin-left: auto;
}

.block_head .all_link a
{
    color: #b80000;
    line-height: 22px;

    position: relative;

    display: inline-block;

    padding-right: 16px;

    vertical-align: top;
    text-decoration: none;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.block_head .all_link a:after
{
    position: absolute;
    top: -1px;
    right: 1px;
    bottom: 0;

    display: block;

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

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

    border-right: 1px solid;
    border-bottom: 1px solid;
}

.block_head .all_link a:hover
{
    color: #1b6097;
}


.block_head .download_link
{
    margin-left: auto;
}

.block_head .download_link a
{
    color: #fff;
    font-size: 12px;
    line-height: 14px;

    display: inline-block;

    padding: 11px 28px;

    transition: .2s linear;
    vertical-align: top;
    text-decoration: none;
    letter-spacing: .1em;
    text-transform: uppercase;

    border-radius: 17px;
    background: rgb(27, 96, 151);
    box-shadow: 0 10px 25px 0 rgba(22, 62, 114, .2);
}

.block_head .download_link a:hover
{
    background: #b80000;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .2);
}



/*------------------
    Form elements
------------------*/
.form
{
    --form_border_color: #aec2d7;
    --form_focus_color: #336699;
    --form_error_color: red;
    --form_border_radius: 3px;
    --form_bg_color: #fff;
    --form_label_width: 200px;
    --form_placeholder_color: #999;
}


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

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

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


.form .cols
{
    margin-left: -20px;
}

.form .cols .col
{
    width: calc(50% - 20px);
    margin-left: 20px;
}


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

    --form_columns_offset: 20px;
}

.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: 20px;
}


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

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

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

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


.form .label
{
    margin-bottom: 8px;
}


.form .field
{
    position: relative;
}


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

    display: block;

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

    transition: border-color .2s linear;

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

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


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

    display: block;

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

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

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


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

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

.form p.error {
	color: var(--form_error_color);
	margin-top: 5px;
}

.form input[type=checkbox]
{
    display: none;
}

.form input[type=checkbox] + label
{
    font-size: 14px;
    line-height: 16px;

    position: relative;

    display: table-cell;

    height: 20px;
    padding-left: 30px;

    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}

.form input[type=checkbox] + label a
{
    color: var(--text_color);
}

.form input[type=checkbox] + label a:hover
{
    text-decoration: none;
}

.form input[type=checkbox] + label:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 20px;
    height: 20px;

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

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

.form input[type=checkbox] + label:after
{
    position: absolute;
    top: 5px;
    left: 5px;

    display: block;

    width: 10px;
    height: 6px;

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

    opacity: 0;
    border-bottom: 2px solid var(--form_focus_color);
    border-left: 2px solid var(--form_focus_color);
}

.form input[type=checkbox]:checked + label:after
{
    opacity: 1;
}
.form input[type=checkbox]:checked + label:before
{
    border-color: var(--form_focus_color);
}


.form select
{
    display: none;
}

.form .nice-select
{
    position: relative;

    display: block;
}

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

    position: relative;

    display: block;
    overflow: hidden;

    height: 40px;
    padding: 0 50px 0 20px;

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

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

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

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

    display: block;

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

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

    border-bottom: 2px solid var(--form_focus_color);
    border-left: 2px solid var(--form_focus_color);
}

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

    visibility: hidden;
    overflow: hidden;

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

    transition: .2s linear;

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

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

    visibility: visible;

    opacity: 1;
}

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

    max-height: 240px;
}

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

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

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

.form .nice-select .list .list_item:hover,
.form .nice-select .list .list_item.selected
{
    color: #fff;

    background: var(--form_border_color);
}


.form input[type=file]
{
    display: none;
}

.form input[type=file] + label
{
    position: relative;

    display: block;

    cursor: pointer;
}


.form .submit
{
    display: flex;

    padding-top: 10px;

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

.form .submit_btn
{
    height: 40px;
    padding: 0 32px;

    transition: .2s linear;

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

.form .submit_btn:hover
{
    border-color: var(--btn_bg_h);
    background: var(--btn_bg_h);
}



/*----------------
    Typography
----------------*/
.text_block
{
    line-height: 22px;
    font-size: 16px;
}


.text_block > *,
.text_block p + p
{
    margin-bottom: 16px;
}

.text_block p + p
{
    margin-top: 16px;
}

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

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

.text_block h2 {
    color: #1b6097;
    font-size: var(--font_size_title);
    font-weight: 700;
    line-height: calc(var(--font_size_title) + 6px);
    display: block;
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-bottom: 0.588em;
    margin-top: 1.3em
}

.text_block h3 {
    color: #1b6097;
    font-size: 24px;
    font-weight: 700;
    line-height: 28px;
    display: block;
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-bottom: 0.588em;
    margin-top: 1.3em
}

.text_block h4 {
    color: #1b6097;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
    display: block;
    letter-spacing: .05em;
    margin-bottom: 0.588em;
    margin-top: 1.3em
}

.text_block h2:first-child,
.text_block h3:first-child,
.text_block h4:first-child   {
	margin-top: 0;
}

.text_block ul li
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 18px;

    list-style-type: none;
}

.text_block ul li+li
{
	margin-top: 8px;
}

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

    display: block;

    width: 10px;
    height: 1px;

    content: '';

    background: #cf6264;
}

.text_block table ul li:before {
    top: 7px;
}

.text_block ul.big
{
    font-size: 18px;
    line-height: 24px;
}

.text_block ul.big li
{
    padding-left: 22px;
}

.text_block ul.big li + li
{
    margin-top: 8px;
}

.text_block ul.big li:before
{
    top: 12px;

    width: 12px;
}

.text_block ol
{
    counter-reset: li;
    margin-top: 10px;
}

.text_block ol > li
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 20px;

    list-style-type: none;
}

.text_block ol > li + li
{
    margin-top: 10px;
}

.text_block ol > li:before
{
    color: #cf6264;
    font-weight: 700;

    position: absolute;
    top: 0;
    left: 0;

    content: counters(li, '') '';
    counter-increment: li;
}

.text_block ul
{
    margin-top: 10px;
}


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

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

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


.text_block a
{
    color: #1b6097;

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

.text_block a:hover
{
    color: #b80000;
}

.text_block blockquote {
    padding: 33px 28px;
    margin: 45px 0 60px;
    font-size: 15px;
    color: #2c2c2c;
    border-left: 3px solid #b80000;
    box-shadow: 1px 2px 20px rgb(0 0 0 / 28%);
}

.text_block table {
	width: 100% !important;
	height: auto !important;
	border-collapse: collapse;
	border: 1px solid #dee2e6;
	margin-bottom: 15px;
}
.text_block table td,
.text_block table th {
	padding: 10px;
    font-size: 13px;
    line-height: 1.2;
    vertical-align: top;
    border: 1px solid #dee2e6;
}
.text_block table th {
	font-weight: bold;
	color: #336699;
    font-size: 14px;
    border-bottom: 2px solid #dee2e6;
}
.text_block table tr:nth-child(even) td {
	background-color: #f0f0f0;
}

.text_block .image-align-left {
	float: left;
	margin: 0 20px 20px 0;
}

.text_block .image-align-right {
	float: right;
	margin: 0 0 20px 20px;
}

/*---------------------
    Categories wall
---------------------*/
.categories_wall
{
    position: relative;
    z-index: 3;

    overflow: hidden;

    padding: 90px 0 50px;

    background: #1b6097;
}


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

    width: 100%;
    height: 100%;

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

.categories_wall .bg.loaded
{
    opacity: .5;
}


.categories_wall .row
{
    margin-bottom: -32px;
    margin-left: -24px;
}

.categories_wall .row > *
{
    width: calc(20% - 24px);
    margin-bottom: 32px;
    margin-left: 24px;
}


.categories_wall .category
{
    color: #fff;
    font-weight: 500;
    line-height: 24px;

    display: block;

    transition: color .2s linear;
    text-align: center;
    text-decoration: none;
    letter-spacing: .05em;
    text-transform: uppercase;
}


.categories_wall .category .thumb
{
    position: relative;

    overflow: hidden;

    width: 160px;
    height: 160px;
    margin: 0 auto 20px;

    transition: .2s linear;

    border: 3px solid #fff;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 10px 25px rgba(22,62,114,.25);
}

.categories_wall .category .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.categories_wall .category:hover
{
    color: #f66;
}

.categories_wall .category:hover .thumb
{
    border: 3px solid #f66;
    background: #f66;
    box-shadow: 0 10px 25px rgba(22,62,114,.35);
}



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


.about_info .data
{
    width: calc(100% - 520px);
}


.about_info .data .details_link
{
    color: #b80000;
    line-height: 22px;

    position: relative;

    display: inline-block;

    margin-top: 16px;
    padding-right: 16px;

    vertical-align: top;
    text-decoration: none;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.about_info .data .details_link:after
{
    position: absolute;
    top: -1px;
    right: 1px;
    bottom: 0;

    display: block;

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

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

    border-right: 1px solid;
    border-bottom: 1px solid;
}

.about_info .data .details_link:hover
{
    color: #1b6097;
}



.about_info .catalog
{
    width: 468px;
    max-width: 100%;
    margin-left: auto;

    text-align: center;
}


.about_info .catalog img
{
    display: block;

    max-width: 100%;
    margin-right: auto;
    margin-left: auto;

    filter: drop-shadow(0 15px 30px rgba(0,0,0,.05));
}


.about_info .catalog .download_link
{
    color: #fff;
    font-size: 12px;
    line-height: 14px;

    display: inline-block;

    margin-top: 32px;
    padding: 11px 28px;

    transition: .2s linear;
    vertical-align: top;
    text-decoration: none;
    letter-spacing: .1em;
    text-transform: uppercase;

    border-radius: 17px;
    background: rgb(27, 96, 151);
    box-shadow: 0 10px 25px 0 rgba(22, 62, 114, .2);
}

.about_info .catalog .download_link:hover
{
    background: #b80000;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .2);
}



.about_info .logo
{
    width: 100%;
}

.about_info .logo img
{
    display: block;

    max-width: 50%;
    margin-right: auto;
    margin-left: auto;
}



.about_info .links
{
    position: relative;

    width: 100%;
    margin-top: 36px;
}

.about_info .links:before
{
    position: absolute;
    right: 0;
    bottom: 100%;
    left: -1px;

    display: block;

    width: 1px;
    height: 20px;
    margin: auto;

    content: '';

    background: #d8e3ee;
}

.about_info .links:after
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    display: block;

    width: 80%;
    height: 1px;
    margin: auto;

    content: '';

    background: #d8e3ee;
}


.about_info .links .row
{
    justify-content: space-between;
}

.about_info .links .row + .row
{
    justify-content: center;
}


.about_info .links .row > *
{
    position: relative;

    width: 20%;
    padding-top: 36px;

    text-align: center;
}

.about_info .links .row > *.big
{
    width: 27%;
}

.about_info .links .row > *:before
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    display: block;

    width: 1px;
    height: 32px;
    margin: auto;

    content: '';

    background: #d8e3ee;
}

.about_info .links .row > *.big:before
{
    top: -58px;

    height: 82px;
}


.about_info .links .row > *.empty:before
{
  display: none
}

.about_info .links a
{
    color: #1b6097;
    font-size: 18px;
    font-weight: 500;
    line-height: 22px;

    display: inline-block;

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

.about_info .links a:hover
{
    color: #b80000;
}



/*------------
    Pluses
------------*/
.pluses
{
    padding: 68px 0 44px;

    background: #f2f6fa;
}

.pluses:last-child {
    margin-bottom: 0;
}

.pluses .row
{
    margin-bottom: -40px;
    margin-left: -120px;
}

.pluses .row > *
{
    width: calc(50% - 120px);
    margin-bottom: 40px;
    margin-left: 120px;
}


.pluses .item
{
    display: flex;

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


.pluses .item .icon
{
    width: 164px;
}

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

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

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


.pluses .item .name
{
    color: #1b6097;
    font-size: 24px;
    font-weight: 700;
    line-height: 100%;

    letter-spacing: .05em;
    text-transform: uppercase;
}


.pluses .item .desc
{
    margin-top: 16px;
}



/*--------------
    Articles
--------------*/
.articles .block_head
{
    margin-bottom: 28px;
}


.articles .row
{
    margin-bottom: -52px;
    margin-left: -32px;
}

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


.articles .article .thumb
{
    position: relative;

    display: block;
    overflow: hidden;

    margin-bottom: 24px;
    padding-bottom: 75%;

    background: #f2f6fa;
    box-shadow: 0 7px 15px rgba(22,62,114,.15);
}

.articles .article .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.articles .article .name
{
    color: #1b6097;
    font-size: 18px;
    font-weight: 500;
    line-height: 22px;

    letter-spacing: .05em;
    text-transform: uppercase;
}

.articles .article .name a
{
    color: currentColor;

    display: inline-block;

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

.articles .article .name a:hover,
.articles .article .thumb:hover ~ .info .name a
{
    color: #b80000;
}


.articles .article .date
{
    color: #666;
    font-size: 13px;
    line-height: 18px;

    margin-top: 12px;
}

.articles .article .desc
{
    line-height: 22px;

    margin-top: 12px;
}



/*-------------------
    Contacts info
-------------------*/
.contacts_info .data
{
    display: flex;

    margin-bottom: -40px;
    margin-left: -40px;
    padding-top: 20px;

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

.contacts_info .data > *
{
    width: calc(25% - 40px);
    margin-bottom: 40px;
    margin-left: 40px;
}


.contacts_info .data .item
{
    font-size: 16px;
    line-height: 22px;
}

.contacts_info .data .item .title
{
    color: #1b6097;
    font-size: 18px;
    font-weight: 500;

    margin-bottom: 16px;

    letter-spacing: .05em;
    text-transform: uppercase;
}

.contacts_info .data .item a
{
    color: #1b6097;

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

.contacts_info .data .item a:hover
{
    color: #b80000;
}

.contacts_info .data .item .phones a
{
    color: currentColor;
}


.contacts_info .map_wrap
{
    position: relative;

    overflow: hidden;

    margin-top: 28px;
    padding-bottom: 300px;

    background: #f2f6fa;
}

.contacts_info .map_wrap .map
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}



/*-------------
    Persons
-------------*/
.persons .row
{
    margin-bottom: -50px;
    margin-left: -40px;
}

.persons .row > *
{
    width: calc(33.333% - 40px);
    margin-bottom: 50px;
    margin-left: 40px;
}


.persons .person
{
    display: flex;

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


.persons .person .photo
{
    position: relative;

    overflow: hidden;

    width: 140px;
    height: 140px;

    border-radius: 50%;
    background: #f2f6fa;
    box-shadow: 0 7px 15px rgba(22,62,114,.15);
}

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

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}

.persons .person .photo + *
{
    width: calc(100% - 160px);

    align-self: center;
}


.persons .person .post
{
    font-weight: 500;
    line-height: 20px;

    margin-bottom: 4px;
}

.persons .person .name
{
    font-size: 16px;
    line-height: 22px;
}


.persons .person .phone,
.persons .person .email
{
    margin-top: 8px;
}

.persons .person .phone
{
    margin-top: 12px;
}

.persons .person .phone a,
.persons .person .email a
{
    color: #1b6097;

    display: inline-block;

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

.persons .person .email a:hover
{
    color: #b80000;
}

.persons .person .phone a
{
    color: currentColor;
}



.persons .person .big .post
{
    font-size: 18px;

    margin-bottom: 12px;
}

.persons .person .big .name
{
    font-size: 20px;
}

.persons .person .big .phone,
.persons .person .big .email
{
    font-size: 18px;

    margin-top: 12px;
}

.persons .person .big .phone
{
    margin-top: 16px;
}



/*-----------------------
    Corporate edition
-----------------------*/
.corporate_edition .block_head
{
    margin-bottom: 28px;
}


.corporate_edition .row
{
    margin-bottom: -52px;
    margin-left: -32px;
}

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


.corporate_edition .item
{
    color: #1b6097;
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;

    display: block;

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

.corporate_edition .item .name
{
    text-decoration: none;
    transition: color .2s linear;
    color: #1b6097;
}

.corporate_edition .item .thumb
{
    position: relative;

    display: block;
    overflow: hidden;

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

    background: #f2f6fa;
    box-shadow: 0 7px 15px rgba(22,62,114,.15);
}

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

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.corporate_edition .item .thumbs
{
    display: flex;

    margin-bottom: 24px;

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

.corporate_edition .item .thumbs > *
{
    position: relative;
    z-index: 3;

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

.corporate_edition .item .thumbs > * + *
{
    z-index: 2;

    width: 178px;
    margin-left: -117px;
}

.corporate_edition .item .thumbs .thumb
{
    margin-bottom: 0;
}


.corporate_edition .item:hover,
.corporate_edition .item .name:hover
{
    color: #b80000;
}



/*-------------------
    Photo gallery
-------------------*/
.photo_gallery .swiper-container
{
    overflow: visible !important;
}

.photo_gallery .swiper-container:before
{
    position: absolute;
    z-index: 5;
    top: -24px;
    left: 100%;

    display: block;

    width: 50vw;
    height: calc(100% + 48px);

    content: '';

    background: var(--bg);
}

.photo_gallery .swiper-container:after
{
    position: absolute;
    z-index: 5;
    top: -24px;
    right: -126px;

    display: block;

    width: 266px;
    height: calc(100% + 48px);

    content: '';

    background:    -moz-linear-gradient( 0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.50196) 25%, rgb(255,255,255) 50%, rgb(255,255,255) 100%);
    background: -webkit-linear-gradient( 0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.50196) 25%, rgb(255,255,255) 50%, rgb(255,255,255) 100%);
    background:     -ms-linear-gradient( 0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.50196) 25%, rgb(255,255,255) 50%, rgb(255,255,255) 100%);
}

.photo_gallery .swiper-slide
{
    display: flex;
    visibility: hidden;

    width: auto;

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

    opacity: 0;

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

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

    pointer-events: auto;

    opacity: 1;
}


.photo_gallery .item
{
    color: currentColor;

    position: relative;
    top: 0;

    display: block;

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

.photo_gallery .item img
{
    display: block;

    max-width: 100%;

    transition: .2s linear;

    box-shadow: 0 7px 15px rgba(22,62,114,.15);
}


.photo_gallery .item:hover
{
    
}

.photo_gallery .item:hover img
{
    
}



/*--------------
    Partners
--------------*/
.partners .swiper-container
{
    padding: 0 72px;
}


.partners .item
{
    display: flex;

    height: 92px;

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

.partners .item img
{
    display: block;

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



/*-----------------------
    Group composition
-----------------------*/
.group_composition .row
{
    margin-bottom: -32px;
    margin-left: -32px;

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

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


.group_composition .item
{
    color: currentColor;
    line-height: 22px;

    display: flex;
    flex-direction: column;

    padding: 28px 16px 20px 20px;

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

    border-bottom: 4px solid #aec2d7;
    background: #fff;
    box-shadow: 0 7px 15px rgba(22,62,114,.15);
}

.group_composition .item .name
{
    color: #1b6097;
    font-size: 18px;
    font-weight: 700;
    line-height: 20px;

    margin-bottom: 16px;

    letter-spacing: .05em;
    text-transform: uppercase;
    /*word-break: break-all;*/
}


.group_composition .item .desc
{
    flex: 1 0 auto;
}


.group_composition .item .person
{
    color: #666;
    font-size: 13px;
    line-height: 18px;

    margin-top: 12px;
}


.group_composition .item .details
{
    min-height: 22px;
    margin-top: 20px;
}

.group_composition .item .details span
{
    color: #b80000;
    line-height: 22px;

    position: relative;

    display: inline-block;

    padding-right: 16px;

    vertical-align: top;
    text-decoration: none;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.group_composition .item .details span:after
{
    position: absolute;
    top: -1px;
    right: 1px;
    bottom: 0;

    display: block;

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

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

    border-right: 1px solid;
    border-bottom: 1px solid;
}


.group_composition .item:hover
{
    background: #f2f6fa;
    box-shadow: 0 10px 25px rgba(22,62,114,.2);
}



/*-------------
    History
-------------*/
.history .swiper-container
{
    z-index: 3;

    margin-top: 32px;
    padding-right: 60px;
}

.history .swiper-container:before
{
    position: absolute;
    z-index: -1;
    top: 95px;
    left: 0;

    display: block;

    width: 100%;
    height: 4px;

    content: '';

    background: #aec2d7;
}

.history .swiper-container:after
{
    position: absolute;
    z-index: 5;
    top: 0;
    right: 0;

    display: block;

    width: 110px;
    height: 100%;

    content: '';

    background:    -moz-linear-gradient( 0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.50196) 25%, rgb(255,255,255) 50%, rgb(255,255,255) 100%);
    background: -webkit-linear-gradient( 0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.50196) 25%, rgb(255,255,255) 50%, rgb(255,255,255) 100%);
    background:     -ms-linear-gradient( 0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.50196) 25%, rgb(255,255,255) 50%, rgb(255,255,255) 100%);
}


.history .swiper-button-next,
.history .swiper-button-prev
{
    top: 62px;
    bottom: auto;

    height: 70px;
}


.history .item
{
    padding: 0 20px;
}


.history .item .team
{
    color: #a6aeb3;
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;

    margin-bottom: 40px;
}

.history .item .team img
{
    display: block;

    height: 43px;
    margin-bottom: 12px;
}


.history .item .year
{
    color: #1b6097;
    font-size: 20px;
    font-weight: 700;
    line-height: 22px;

    position: relative;
}

.history .item .year:before
{
    position: absolute;
    top: -27px;
    left: 0;

    display: block;

    width: 14px;
    height: 14px;

    content: '';

    border: 2px solid #fff;
    border-radius: 50%;
    background: currentColor;
}


.history .item .text_block
{
    margin-top: 12px;
}



/*------------------
    Perspectives
------------------*/
.perspectives .data
{
    width: calc(100% - 360px);
}



.perspectives .person
{
    line-height: 22px;

    width: 328px;
    max-width: 100%;
    margin-left: auto;

    text-align: center;
}


.perspectives .person .photo
{
    position: relative;

    overflow: hidden;

    width: 250px;
    max-width: 100%;
    height: 250px;
    margin: 0 auto 20px;

    border-radius: 50%;
    background: #f2f6fa;
    box-shadow: 0 7px 15px rgba(22,62,114,.15);
}

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

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.perspectives .person .name
{
    font-weight: 700;
}


.perspectives .person .post
{
    margin-bottom: 4px;
}



/*----------------
    Conditions
----------------*/
.conditions
{
    padding: 52px 0;

    background: #f2f6fa;
}


.conditions .row
{
    margin-bottom: -48px;
    margin-left: -48px;
    padding-top: 20px;
}

.conditions .row > *
{
    width: calc(33.333% - 48px);
    margin-bottom: 48px;
    margin-left: 48px;
}


.conditions .item
{
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;

    display: flex;

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


.conditions .item .icon
{
    display: flex;

    width: 140px;
    height: 140px;

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

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

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

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

.conditions .item .icon + *
{
    width: calc(100% - 158px);

    align-self: center;
}



/*--------------
    Practice
--------------*/
.practice .text_block
{
    width: calc(100% - 458px);
}


.practice .info
{
    font-size: 18px;
    line-height: 26px;

    width: 360px;
    max-width: 100%;
    margin-left: auto;
    padding: 36px 34px;

    border: 3px solid #aec2d7;
}

.practice .info > * + *
{
    margin-top: 16px;
}

.practice .info a
{
    color: #1b6097;

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

.practice .info a:hover
{
    color: #b80000;
}



/*-------------------
    Friendly team
-------------------*/
.friendly_team .data
{
    width: calc(100% - 428px);
}


.friendly_team .corporate_edition
{
    width: 360px;
    max-width: 100%;
    margin-left: auto;
    padding: 0 40px;
}



/*------------------
    Service info
------------------*/
.service_info .data
{
    width: calc(100% - 524px);
}


.service_info .images
{
    display: flex;

    width: 458px;
    max-width: 100%;
    margin-left: auto;

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


.service_info .images .item
{
    color: currentColor;

    display: block;

    text-decoration: none;
}


.service_info .images .item .thumb
{
    position: relative;

    overflow: hidden;

    width: 308px;
    height: 217px;

    background: #f2f6fa;
    box-shadow: 0 10px 25px rgba(22,62,114,.2);
}

.service_info .images .item + .item .thumb
{
    width: 156px;
    height: 220px;
    margin-top: 23px;
    margin-left: -34px;
}

.service_info .images .item .thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}



/*--------------
    Services
--------------*/
.services .row
{
    margin-bottom: -40px;
    margin-left: -30px;

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

.services .row > *
{
    width: calc(33.333% - 30px);
    margin-bottom: 40px;
    margin-left: 30px;
}


.services .service
{
    color: #1b6097;

    display: block;

    padding: 26px 22px;

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

    border-bottom: 4px solid #aec2d7;
    background: #fff;
    box-shadow: 0 7px 15px 0 rgba(22, 62, 114, .15);
}

.services .service .name
{
    font-size: 20px;
    font-weight: 500;
    line-height: 26px;
	/*min-height: 3.9em;*/
    letter-spacing: .05em;
    text-transform: uppercase;
}


.services .service:hover
{
    color: #fff;

    border-color: #b80000;
    background: #1b6097;
    box-shadow: 0 10px 25px 0 rgba(22, 62, 114, .35);
}



/*--------------------
    Contacts block
--------------------*/
.contacts_block .data
{
    display: flex;

    padding: 36px 56px 36px 46px;

    border: 4px solid #aec2d7;

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


.contacts_block .icon img
{
    display: block;

    width: 120px;
    height: 120px;
}


.contacts_block .text_block
{
    width: calc(100% - 712px);
    margin-right: auto;
    margin-left: 32px;
}


.contacts_block .contacts + .contacts
{
    margin-left: 76px;
}


.contacts_block .contacts .title
{
    font-size: 16px;
    line-height: 22px;

    margin-bottom: 4px;

    letter-spacing: .05em;
    text-transform: uppercase;
}


.contacts_block .contacts .phone,
.contacts_block .contacts .email
{
    color: #1b6097;
    font-size: 24px;
    font-weight: 700;
    line-height: 32px;

    white-space: nowrap;
    text-transform: uppercase;
}

.contacts_block .contacts .phone a,
.contacts_block .contacts .email a
{
    color: currentColor;

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

.contacts_block .contacts .email a:hover,
.contacts_block .contacts .phone a:hover
{
    color: #b80000;
}


.contacts_block .contacts .btn,
.btn-default
{
    color: #fff !important;
    font-size: 12px;
    line-height: 14px;

    margin-top: 12px;
    padding: 11px 38px;

    transition: .2s linear;
    text-decoration: none;
    letter-spacing: .1em;
    text-transform: uppercase;
    
    display: inline-block;

    border-radius: 17px;
    background: rgb(27, 96, 151);
    box-shadow: 0 10px 25px 0 rgba(22, 62, 114, .2);
}

.contacts_block .contacts .btn:hover,
.btn-default:hover
{
    background: #b80000;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .2);
}

.btn-red:hover {
    background: #b80000;
}
.btn-red {
    background: rgb(27, 96, 151);
}

.wrap-button-download {
	margin-top: 30px;
}

/*--------------------------
    Secrvice information
--------------------------*/
.secrvice_information
{
    padding: 50px 0;

    background: #f2f6fa;
}


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


.secrvice_information .col
{
    width: 540px;
    max-width: calc(50% - 20px);
    padding-right: 40px;
}


.secrvice_information .text_block
{
    font-size: 16px;
}

.secrvice_information .text_block ul li + li
{
    margin-top: 12px;
}



/*----------------
    Advantages
----------------*/
.advantages .row
{
    margin-bottom: -40px;
    margin-left: -32px;
    padding-top: 12px;
}

.advantages .row > *
{
    width: calc(25% - 32px);
    margin-bottom: 40px;
    margin-left: 32px;
}


.advantages .item
{
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;

    display: flex;

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


.advantages .item .icon
{
    display: flex;

    width: 80px;
    height: 80px;

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

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

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

    width: 40px;
    max-width: 100%;
    height: 40px;
    max-height: 100%;
    object-fit: contain;
}

.advantages .item .icon + *
{
    width: calc(100% - 98px);

    align-self: center;
}



/*------------
    Footer
------------*/
footer
{
    color: #fff;
    line-height: 22px;

    padding: 40px 0;

    background: #1b6097;
}


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



footer .copyright
{
    width: 224px;
    max-width: 100%;
}



footer .logo img
{
    display: block;
}



footer .links
{
    width: 224px;
    max-width: 100%;
}

footer .links a
{
    color: currentColor;

    display: inline-block;

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

footer .links a:hover,
footer .links a.active
{
    text-decoration: underline;
}



/*-----------
    PopUp
-----------*/
.modal
{
    display: none;
    visibility: visible !important;

    width: 480px;
    max-width: 100%;
    padding: 40px 50px;

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

.modal_title
{
    font-size: var(--font_size_title);
    font-weight: 700;
    line-height: normal;

    text-align: center;
}

.modal_desc
{
    margin-top: 24px;

    text-align: center;
}


.wrap-pagination ul {
	margin:0;
	padding:0;
	list-style:none;	
}

.wrap-pagination li,
.wrap-pagination ul {
	display:-moz-inline-stack;
	display:inline-block;	
	zoom:1;
	*display:inline;
	vertical-align:top;
}
.wrap-pagination {
	margin-top:54px;
	color: #6d6d6d;
	font-size: 14px;	
}
.wrap-pagination ul {
	vertical-align: middle;
	margin-left: 5px;
}
.wrap-pagination li {
	margin-right:5px;
}
.wrap-pagination li a,
.wrap-pagination li span {
	font-size: 13px;
	font-weight: 400;
	display:block;
	min-width:35px;
	height:35px;
	text-align:center;
	line-height: 33px;
    color: #336699;
    padding: 0 10px;
    border: 1px solid #336699;
    text-transform: uppercase;
}
.wrap-pagination li span {
	color:#030303;
	border-color: transparent;
	font-size: 18px;
}

.news-date {
	color: #666;
    font-size: 13px;
    line-height: 18px;
    margin-top: 12px;
}


/*------------------
    Gallery info
------------------*/
.gallery_info .block_title
{
    margin-bottom: 24px;
}

.gallery_info .date
{
    color: #666;
    line-height: 24px;

    margin-bottom: 20px;
}


.gallery_info .row
{
    margin-bottom: -30px;
    margin-left: -20px;
}

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


.gallery_info .item
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 66.75%;

    transition: box-shadow .2s linear;

    background: #ddd;
}

.gallery_info .item img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.gallery_info .item:hover
{
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .15);
}


.spec_field {
	display: none;
}
.ajax_contener {
	position: relative;
}


.popup-inner h2,
.popup-inner h3 {
	color: #336699;
	font: 24px Roboto, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	margin-bottom: 20px;
}
.popup-inner h3 {
	font-size: 18px;	
}

.mfp-close {
	cursor: pointer !important;
}
.mfp-close-btn-in .form .mfp-close {
	color: rgb(27, 96, 151);
	right: 12px;
	top: 11px;
	font: 300 34px/1 'NotoSans', sans-serif;
	width: 1em;
	height: 1em;
	opacity: 1 !important;
	transition: all .3s ease;
}

.mfp-content .form {
	width: 450px;
	background-color: #fff;
    box-shadow: 0 5px 20px 0 rgb(0 0 0 / 15%);
	padding: 30px 40px;
	margin: 0px auto 0;
	border-bottom: 4px solid #aec2d7;
	max-width: 100%;
}
.popup-title {
	color: #336699;
    font: bold 24px Roboto, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    margin-bottom: 20px;
}



.form .agree
{
    display: flex;

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

.form .agree label.checkbox
{
    color: #999;
    font-size: 13px;
    line-height: 18px;

    padding-top: 2px;
}

.form .agree label.checkbox a
{
    color: #336699;
    transition: color .2s linear;
    text-decoration: none;
}

.form .agree label.checkbox a:hover
{
    color: #b80000;
}

.form .submit
{
    display: flex;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    margin-top: 20px;
}

.form .submit_btn
{
    color: #fff;
    font-size: 14px;
    font-weight: 500;

    display: inline-block;

    width: 100%;
    min-height: 46px;
    padding: 14px 24px 12px;

    transition: background .2s linear;
    vertical-align: top;
    letter-spacing: .05em;
    text-transform: uppercase;
	
	max-width: 350px;
    text-align: center;
	
    border-radius: 25px;
    background: #336699;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .1);
}

.form .submit_btn:hover
{
    background: #b80000;
}

.docs {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.docs-item {
	display: flex;
	justify-content: space-between;
	width: calc(50% - 25px);
	margin-bottom: 50px;
}
.docs-item .wrap-image {
	margin-right: 30px;
	width: 170px;
	flex: 0 0 170px;
}

.docs-item .name {
	color: #1b6097;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0.5em;
}

.docs .img-thumbnail {
    border-radius: 0;
    -webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2);
}


.docs .file {
    font-size: 14px;
    margin-top: 10px;
    text-align: center;
}
.docs .file a {
	color: #1b6097;
	font-weight: bold;
    transition: color .2s linear;
    text-decoration: none;
}
.docs .file a:hover
{
    color: #b80000;
}

.docs .date {
    margin-top: 10px;
    font-size: 13px;
    color: #999;
}

.services-groups {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.services-block {
	width: calc(50% - 30px);
	background-position: center center;
	background-size: cover;
	background-color: #fff;
	border-left: 3px solid #b80000;
	padding: 30px 28px 20px;
    box-shadow: 1px 2px 20px rgba(0, 0, 0, 0.28);
}
.services-block.block1 {
	background-image: url('../images/services1.jpg');
}
.services-block.block2 {
	background-image: url('../images/services2.jpg');
}
.services-block .title {
	font: bold 26px/36px 'Roboto', sans-serif;
	color: #00669c;
	margin-bottom: 30px;
	display: inline-block;
}
.services-block ul {
	list-style: none;
	padding: 0;
	margin: 0;
	max-width: 400px;
	font-size: 17px;
	line-height: 1.2 !important;
}
.services-block ul li {
	margin-bottom: 10px;
}
.services-block ul a {
	color: #1b6097;
    transition: color .2s linear;
    text-decoration: none;
}
.services-block ul a:hover {
    color: #b80000;
}
.services-block ul a span {
	background-color: #b80000;
	display: inline-block;
	color: #fff;
	padding: 0 5px;
}

.pulse {
  box-shadow: 0 0 0 rgba(184,0,0, 0.6);
  animation: pulse 2s infinite;
}
.pulse:hover {
  animation: none;
}

@-webkit-keyframes pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(184,0,0, 0.6);
  }
  70% {
      -webkit-box-shadow: 0 0 0 20px rgba(184,0,0, 0);
  }
  100% {
      -webkit-box-shadow: 0 0 0 0 rgba(184,0,0, 0);
  }
}
@keyframes pulse {
  0% {
    -moz-box-shadow: 0 0 0 0 rgba(184,0,0, 0.6);
    box-shadow: 0 0 0 0 rgba(184,0,0, 0.4);
  }
  70% {
      -moz-box-shadow: 0 0 0 20px rgba(184,0,0, 0);
      box-shadow: 0 0 0 20px rgba(184,0,0, 0);
  }
  100% {
      -moz-box-shadow: 0 0 0 0 rgba(184,0,0, 0);
      box-shadow: 0 0 0 0 rgba(184,0,0, 0);
  }
}

.wrap-calculator {
	max-width: 750px;
	padding: 33px 28px 40px;
    margin: 50px 0 0;
    font-size: 15px;
    color: #2c2c2c;
    border-left: 3px solid #b80000;
    box-shadow: 1px 2px 20px rgba(0, 0, 0, 0.28);
}
.wrap-calculator .title-label {
	font-size: 18px;
	color: #00669c;
	font-weight: 500;
	margin-bottom: 10px;
}

.wrap-calculator .wrap-options {
	margin-top: 38px;
}

.wrap-calculator select {
	width: 100%;
}

.wrap-calculator .wrap-options .options {
	margin: 22px 0 40px;
	padding: 0;
	list-style: none;
}
.wrap-calculator .wrap-options .options li {
	margin-bottom: 12px;
	position: relative;
}
.wrap-calculator .wrap-options .options label {
	font-weight: 400;
	font-size: 14px;
	color: #3b3b3b;
}

.wrap-calculator .wrap-price {
	font-size: 18px;
	margin-bottom: 33px;
}
.wrap-calculator .wrap-price span {
	font-size: 14px;
}
.wrap-calculator .wrap-price .price {
	color: #ba0000;
	font-size: 19px;
}
.wrap-calculator .jq-checkbox {
	position: absolute;
	left: 0;
	top: 0;
}
.wrap-calculator .price-note {
	margin-top: 15px;
	color: #999;
    font-size: 13px;
    line-height: 1.3;
}

.order-param {
    font-size: 16px;
}


/*---------------
    Documents
---------------*/
.documents .row
{
    margin-bottom: -50px;
    margin-left: -50px;
}

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


.documents .item
{
    color: var(--text_color);

    display: flex;

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

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


.documents .item .icon
{
    display: flex;

    width: 130px;
    height: 130px;

    border-radius: 50%;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .1);

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

.documents .item .icon > *
{
    display: block;

    width: 78px;
    height: 78px;

    transition: fill .2s linear;

    fill: #1b6097;
}

.documents .item .icon + *
{
    
    width: calc(100% - 163px);

}


.documents .item .name
{
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;

    width: 100%;
   
}

.documents .item .name.small
{
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
}


.documents .item .size
{
    color: #666;
    line-height: 24px;

    margin-top: 8px;
}

.documents .item:hover
{
    color: #b80000;
}

.documents .item:hover .icon > *
{
    fill: #b80000;
}


.park-pribors {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;	
}
.park-pribors-item {
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
	padding: 35px 32px;
	width: calc(50% - 20px);
	background-color: rgb(255, 255, 255);
	box-shadow: 0px 7px 15px 0px rgba(22, 62, 114, 0.15);
}

.park-pribors-item .wrap-image {
	width: 200px;
	flex: 0 0 200px;
}
.park-pribors-item .wrap-info {
	width: calc(100% - 225px);
	flex: 0 0 calc(100% - 225px);
}
.park-pribors-item .name {
    font-size: 20px;
	color: rgb(27, 96, 151);
	font-weight: 500;
	line-height: 1.3;
}

.park-pribors-item .chars {
	font-size: 14px;
	line-height: 1.3
}
.park-pribors-item .chars ul li+li {
    margin-top: 5px;
}


/*------------
    Cookie
------------*/
.cookie
{
    position: fixed;
    z-index: 50;
    left: 0;
    bottom: 0;

    display: none;

    width: 475px;
    max-width: 100%;
    padding: 20px;

    text-align: left;

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


.cookie .text
{
    font-size: 14px;

    color: #000;
}

.cookie .text a
{
    color: inherit;
    text-decoration: underline;
}

.cookie .buttons
{
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.cookie .buttons a
{
    font-size: 14px;
    line-height: 22px;
    color: #1B6097;
    text-transform: uppercase;
    text-decoration: none;
    margin-right: 38px;
}


.main-services-and-slides .wrap-main-slider {
    margin-left: 388px;
}
.main-services-and-slides {
    position: relative;
    padding-bottom: 40px;
    margin-bottom: 40px;
}
.main-services-and-slides:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background: #f2f6fa;
    height: 316px;
    width: 100%;
}
.main-services-and-slides .cont {
    position: relative;
}

.wrap-main-slider .swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block;
}
.wrap-main-slider .swiper-button-next,
.wrap-main-slider .swiper-button-prev {
    top: 50%;
    bottom: auto;
    width: 40px;
    height: 40px;
    margin: 0;
    transform: translateY(-50%);
    background: #1B6097;
    border-radius: 50%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.wrap-main-slider .swiper-button-next {
    right: 16px;
}
.wrap-main-slider .swiper-button-prev {
    left: 16px;
}

.wrap-main-slider .swiper-button-next:after,
.wrap-main-slider .swiper-button-prev:after {
    left: -6px;
    width: 16px;
    height: 16px;
    margin: auto;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
}
.wrap-main-slider .swiper-button-prev:after {
    left: 6px;
}
.wrap-main-slider .slide {
    position: relative;
}
.wrap-main-slider img {
    display: block;
    width: 100%;
    height: auto;
}
.wrap-main-slider .slide .btn {
    position: absolute;
    bottom: 20px;
    right: 20px;
}

.wrap-main-slider .thumbs {
    margin-top: 26px;
}
.wrap-main-slider .thumbs .swiper-slide {
    border-bottom: 3px solid #b80000;
    padding-bottom: 17px;
    cursor: pointer;
}
.wrap-main-slider .thumbs .swiper-slide .title {
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: #1B6097;
    padding-top: 16px;
    height: 56px;
    overflow: hidden;
}
.wrap-main-slider .thumbs .swiper-slide.swiper-slide-thumb-active .title {
    color: #b80000;
}


header .bottom .cont {
    position: relative;
}
.direction-overlay {
    position: absolute;
    top: calc(100% + 11px);
    left: 24px;
    width: 380px;
    height: 688px;
    background: #1B6097;
    color: #fff;
    padding: 24px 23px;

    visibility: hidden;
    transition: .2s linear;
    pointer-events: none;
    opacity: 0;
}
.direction-overlay.active {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
}

@media print, (min-width: 1024px) {
    .direction-overlay.main-active {
        visibility: visible;
        pointer-events: auto;
        opacity: 1;
    }
}
.direction-overlay .title {
    font-weight: 700;
    font-size: 28px;
    line-height: 26px;
    text-transform: uppercase;
    margin-bottom: 28px;
}

.services-nav {
    margin: 0 -24px 40px;
}
.services-nav-item {
    padding: 0 24px;
}
.services-nav-item + .services-nav-item {
    margin-top: 12px;
}
.services-nav-item-link {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    color: #fff;
    text-decoration: none;
    transition: color .2s linear;
}
.services-nav-item:hover .services-nav-item-link {
    color: #f66
}
.services-nav-item-link .icon {
    width: 36px;
    height: 36px;
    margin-right: 21px;
    flex: 0 0 36px;
    color: #fff;
}
.services-nav-item-link .name {
    font-weight: 500;
    font-size: 16px;
    line-height: 22px;
}
.services-nav-item-link.sub_link .name:after {
    display: inline-block;
    width: 8px;
    height: 8px;
    content: '';
    transform: rotate(-45deg);
    border-right: 2px solid;
    border-bottom: 2px solid;
    margin-left: 8px;
}

.services-nav .sub_menu {
    position: absolute;
    visibility: hidden;
    min-width: 280px;
    transition: .3s .2s linear;
    /*pointer-events: none;*/
    opacity: 0;

    top: 0;
    left: 100%;
    width: 760px;
    min-height: 100%;
    padding-left: 8px;
}
.services-nav .sub_menu_inner {
    background: #f7f9fb;
    position: absolute;
    top: 0;
    left: 8px;
    right: 0;
    bottom: 0;
    padding: 76px 24px 24px;
    height: 100%;
}

.services-nav-item:hover > .sub_menu,
.services-nav-item .sub_menu.show
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}

.services-nav .sub_menu a {
    font-weight: 500;
    font-size: 16px;
    line-height: 22px;
    color: #1B6097;
    text-decoration: none;
    transition: color .2s linear;
}
.services-nav .sub_menu a:hover {
    color: #b80000
}

.services-nav .sub_menu_inner > div + div {
    margin-top: 20px;
}
.products-nav {
    margin-top: -28px;
}
.products-nav-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: -16px;
}
.products-nav-list-item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px;
    margin-bottom: 16px;
    width: calc(50% - 8px);
    height: 77px;
    background: #FFFFFF;
    border-radius: 12px;

    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -0.01em;
    color: #1B6097;
    text-decoration: none;
    transition: color .2s;
}
.products-nav-list-item:nth-child(2),
.products-nav-list-item:nth-child(3),
.products-nav-list-item:nth-child(6) {
    background: #C1CDE5;
}
.products-nav-list-item:hover {
    color: #b80000;
}

.products-nav .swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 28px 0;
    z-index: 1;
    display: block;
    height: 319px;
}
.products-nav .swipe .swiper-slide {
    height: 263px;
}

.products-nav .swiper-button-next,
.products-nav .swiper-button-prev {
    left: 50%;
    width: 40px;
    height: 40px;
    margin: 0;
    transform: translateX(-50%);
    background: transparent;
    border-radius: 50%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.products-nav .swiper-button-prev {
    top: 0;
    bottom: auto;
}
.products-nav .swiper-button-next {
    top: auto;
    bottom: 0;
}
.products-nav .swiper-button-next.swiper-button-disabled,
.products-nav .swiper-button-prev.swiper-button-disabled {
    display: none;
}
.products-nav .swiper-button-next:after,
.products-nav .swiper-button-prev:after {
    left: 0;
    width: 16px;
    height: 16px;
    margin: auto;
    transform: rotate(-45deg);
    border: 0;
    border-bottom: 2px solid;
    border-left: 2px solid;
}
.products-nav .swiper-button-prev:after {
    transform: rotate(135deg);
}


.form-search {
    margin-top: 35px;
    position: relative;
    color: #fff;
    --form_placeholder_color: #D2E0CA;
}
.form-search ::-webkit-input-placeholder
{
    color: var(--form_placeholder_color);
}

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

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

.form-search .btn-search {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.form-search .btn-search .icon {
    width: 24px;
    height: 24px;
}
.form-search .input {
    margin: 0;
    padding: 0;

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

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

    font-family: var(--font_family);
    font-weight: bold;
    font-size: 16px;
    display: block;
    width: 100%;
    height: 42px;
    padding-right: 40px;
    color: currentColor;
    border: none;
    background: none;
    border-bottom: 1px solid #fff;
}

.search-results {
    padding: 77px 0;
}

.search-result {
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0.5px;
}

.search-result ol
{
    counter-reset: li;
}

.search-result ol > li
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 2.5625em;

    list-style-type: none;
}

.search-result ol > li + li
{
    margin-top: 2.1875em;
}

.search-result ol > li:before
{
    font-size: 1.125em;
    line-height: 1.35em;

    color: #999999;

    position: absolute;
    top: 0;
    left: 0;

    content: counters(li, '') '.';
    counter-increment: li;
}

.search-result ol > li .title a
{
    font-weight: 500;
    font-size: 1.2em;
    line-height: 1.25em;

    color: #369;
    text-decoration: none;
    transition: color 0.2s linear

}

.search-result ol > li .title a:hover
{
    color: #b80000;
}

.search-result ol > li .title + p {
    margin-top: 8px;
}

.search-result .hightlights {
    font-weight: bold;
}

.contacts_info + .contacts_info {
    margin-top: 100px;
}
/* media */

@media print, (max-width: 1187px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --font_size: 14px;
        --font_size_title: 30px;
    }


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



    /*--------------
        Fancybox
    --------------*/
    .fancybox__slide
    {
        padding: 32px;
    }



    /*---------------
        Accordion
    ---------------*/
    .accordion .accordion_item + .accordion_item
    {
        margin-top: 12px;
    }


    .accordion .accordion_item .head .title
    {
        font-size: 20px;
    }



    .cont {
        max-width: 1024px;
        padding: 0 15px;
    }

    header .directions-link {
        padding: 0 16px;
        width: 156px;
    }

    header .menu .item > a, header .menu .item > span {
        font-size: 15px;
        padding: 12px 10px;
    }
    .search-header {
        width: 150px;
    }
    header .socials a + a {
        margin-left: 8px;
    }

    .direction-overlay {
        top: calc(100% + 11px);
        left: 15px;
        width: 320px;
        height: 621px;
        padding: 20px 15px;
    }

    .direction-overlay .title {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .products-nav-list-item {
        padding: 8px;
        margin-bottom: 10px;
        width: calc(50% - 5px);
        font-size: 13px;
    }

    .products-nav-list {
        margin-bottom: -10px;
    }

    .main-services-and-slides .wrap-main-slider {
        margin-left: 328px;
    }

    .services-nav-item-link .icon {
        width: 28px;
        height: 28px;
        margin-right: 12px;
        flex: 0 0 28px;
    }
    .services-nav-item-link .name {
        font-size: 14px;
        line-height: 20px;
    }
    .services-nav .sub_menu {
        width: 674px;
    }
    .services-nav .sub_menu a {
        font-size: 14px;
        line-height: 24px;
    }
    .services-nav {
        margin: 0 -15px 38px;
    }
    .services-nav-item {
        padding: 0 15px;
    }
    .products-nav .swiper {
        padding: 28px 0;
        height: 307px;
    }
    /*-------------
        Sidebar
    -------------*/



    /*---------------
        Page head
    ---------------*/
    .page_head
    {
        padding: 64px 0 40px;
    }


    .page_title
    {
        font-size: 40px;
    }


    .page_head .desc
    {
        font-size: 17px;
    }


    .page_head .links
    {
        margin-bottom: -8px;
        margin-left: -28px;
    }

    .page_head .links > *
    {
        margin-bottom: 8px;
        margin-left: 28px;
    }


    .page_head .back_link
    {
        margin-top: 8px;
    }



    /*----------------
        Block head
    ----------------*/



    /*------------------
        Form elements
    ------------------*/



    /*----------------
        Typography
    ----------------*/



    /*---------------------
        Categories wall
    ---------------------*/
    .categories_wall
    {
        padding: 72px 0;
    }


    .categories_wall .category .thumb
    {
        width: 152px;
        height: 152px;
    }



    /*----------------
        About info
    ----------------*/
    .about_info .data
    {
        width: calc(100% - 440px);
    }


    .about_info .catalog
    {
        width: 400px;
    }


    .about_info .logo img
    {
        width: 172px;
    }


    .about_info .links .row > *.big:before
    {
        top: -78px;

        height: 102px;
    }

    .about_info .links a
    {
        font-size: 17px;
        line-height: 21px;
    }



    /*------------
        Pluses
    ------------*/
    .pluses
    {
        padding: 64px 0;
    }


    .pluses .row
    {
        margin-left: -40px;
    }

    .pluses .row > *
    {
        width: calc(50% - 40px);
        margin-left: 40px;
    }


    .pluses .item .icon
    {
        width: 148px;
        height: 148px;
    }

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

    .pluses .item .name
    {
        font-size: 22px;
    }



    /*--------------
        Articles
    --------------*/
    .articles .block_head
    {
        margin-bottom: 24px;
    }


    .articles .row
    {
        margin-bottom: -40px;
        margin-left: -24px;
    }

    .articles .row > *
    {
        width: calc(25% - 24px);
        margin-bottom: 40px;
        margin-left: 24px;
    }


    .articles .article .thumb
    {
        margin-bottom: 20px;
    }

    .articles .article .name
    {
        font-size: 17px;
        line-height: 21px;
    }

    .articles .article .desc
    {
        line-height: 20px;
    }



    /*------------------
        Perspectives
    ------------------*/
    .perspectives .data
    {
        width: calc(100% - 302px);
    }


    .perspectives .person
    {
        width: 250px;
    }



    /*----------------
        Conditions
    ----------------*/
    .conditions
    {
        padding: 64px 0;
    }


    .conditions .row
    {
        margin-bottom: -32px;
        margin-left: -32px;
        padding-top: 12px;
    }

    .conditions .row > *
    {
        width: calc(33.333% - 32px);
        margin-bottom: 32px;
        margin-left: 32px;
    }


    .conditions .item
    {
        font-size: 15px;
        line-height: 21px;
    }

    .conditions .item .icon
    {
        width: 100px;
        height: 100px;
    }

    .conditions .item .icon img
    {
        width: 56px;
        height: 56px;
    }

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




    /*--------------
        Practice
    --------------*/
    .practice .text_block
    {
        width: calc(100% - 392px);
    }


    .practice .info
    {
        font-size: 17px;
        line-height: 25px;

        width: 340px;
        padding: 29px 37px;
    }



    /*-------------------
        Friendly team
    -------------------*/
    .friendly_team .data
    {
        width: calc(100% - 392px);
    }


    .friendly_team .corporate_edition
    {
        width: 340px;
        padding: 0 24px;
    }



    /*------------------
        Service info
    ------------------*/
    .service_info .data
    {
        width: calc(100% - 452px);
    }


    .service_info .images
    {
        width: 400px;
    }

    .service_info .images .item .thumb
    {
        width: 280px;
        height: 197px;
    }

    .service_info .images .item + .item .thumb
    {
        width: 152px;
        height: 216px;
        margin-top: 20px;
        margin-left: -32px;
    }



    /*--------------
        Services
    --------------*/
    .services .row
    {
        margin-bottom: -24px;
        margin-left: -24px;
    }

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


    .services .service
    {
        padding: 24px;
    }

    .services .service .name
    {
        font-size: 17px;
        line-height: 23px;
    }



    /*--------------------
        Contacts block
    --------------------*/
    .contacts_block .data
    {
        padding: 29px 37px;
    }


    .contacts_block .icon img
    {
        width: 112px;
        height: 112px;
    }


    .contacts_block .text_block
    {
        width: calc(100% - 600px);
        margin-left: 24px;
    }


    .contacts_block .contacts + .contacts
    {
        margin-left: 40px;
    }

    .contacts_block .contacts .title
    {
        font-size: 14px;
        line-height: 20px;
    }

    .contacts_block .contacts .phone,
    .contacts_block .contacts .email
    {
        font-size: 20px;
        line-height: 26px;
    }



    /*--------------------------
        Secrvice information
    --------------------------*/
    .secrvice_information
    {
        padding: 64px 0;
    }


    .secrvice_information .col
    {
        max-width: calc(50% - 26px);
        padding-right: 0;
    }



    /*----------------
        Advantages
    ----------------*/
    .advantages .row
    {
        margin-bottom: -24px;
        margin-left: -24px;
    }

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


    .advantages .item
    {
        font-size: 15px;
        font-weight: 500;
        line-height: 21px;
    }

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



    /*-----------------------
        Corporate edition
    -----------------------*/
    .corporate_edition .block_head
    {
        margin-bottom: 24px;
    }


    .corporate_edition .row
    {
        margin-bottom: -40px;
        margin-left: -24px;
    }

    .corporate_edition .row > *
    {
        width: calc(25% - 24px);
        margin-bottom: 40px;
        margin-left: 24px;
    }



    /*-------------
        Persons
    -------------*/
    .persons .row
    {
        margin-bottom: -32px;
        margin-left: -32px;
    }

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



    .persons .person .photo
    {
        width: 120px;
        height: 120px;
    }

    .persons .person .photo + *
    {
        width: calc(100% - 140px);
    }


    .persons .person .name br
    {
        display: none;
    }


    .persons .person .big .post
    {
        font-size: 16px;

        margin-bottom: 8px;
    }

    .persons .person .big .name
    {
        font-size: 18px;
    }

    .persons .person .big .phone,
    .persons .person .big .email
    {
        margin-top: 8px;
    }

    .persons .person .big .phone
    {
        margin-top: 12px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .data
    {
        margin-left: -24px;
        padding-top: 16px;

        justify-content: space-between;
    }

    .contacts_info .data > *
    {
        width: auto;
        max-width: calc(25% - 24px);
        margin-left: 24px;
    }


    .contacts_info .data .item
    {
        font-size: 14px;
        line-height: 20px;
    }

    .contacts_info .data .item .title
    {
        font-size: 16px;

        margin-bottom: 12px;
    }



    /*-----------------------
        Group composition
    -----------------------*/
    .group_composition .row
    {
        margin-bottom: -24px;
        margin-left: -24px;
    }

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


    .group_composition .item
    {
        padding: 24px;
    }

    .group_composition .item .name
    {
        font-size: 19px;
        line-height: 23px;
    }

	/*------------------
        Gallery info
    ------------------*/
    .gallery_info .date
    {
        line-height: 23px;
    }


    .gallery_info .row
    {
        margin-bottom: -24px;
        margin-left: -24px;
    }

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


	/*---------------
        Documents
    ---------------*/
    .documents .row
    {
        margin-bottom: -40px;
        margin-left: -40px;
    }

    .documents .row > *
    {
        width: calc(50% - 40px);
        margin-bottom: 40px;
        margin-left: 40px;
    }
    
    .documents .item .icon
    {
        width: 120px;
        height: 120px;
    }

    .documents .item .icon > *
    {
        width: 72px;
        height: 72px;
    }

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

    .documents .item .name
    {
        font-size: 18px;
    }

    .documents .item .size,
    .documents .item .date
    {
        line-height: 23px;
    }

    /*------------
        Footer
    ------------*/



    /*-----------
        PopUp
    -----------*/
}

@media print, (max-width: 1023px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --font_size: 14px;
        --font_size_title: 28px;
    }


    .block
    {
        margin-bottom: 64px;
    }



    .swiper-button-next
    {
        right: -24px;
    }



    /*--------------
        Fancybox
    --------------*/
    .fancybox__slide
    {
        padding: 24px;
    }



    /*---------------
        Accordion
    ---------------*/
    .accordion .accordion_item .head .title
    {
        font-size: 18px;
    }


    /*------------
        Header
    ------------*/

    header .info
    {
        padding: 20px 0 24px;
    }


    header .bottom
    {
        padding: 0;
    }

    header .bottom .data
    {
        margin-bottom: 0;
        padding-top: 9px;
    }

    header .bottom .cont {
        height: 60px;
    }


    header .logo,
    header .logo img
    {
        width: 164px;
    }



    header .info .col_left,
    header .info .col_right
    {
        max-width: calc(50% - 124px);
    }



    header .slogan
    {
        font-size: 15px;
        line-height: 25px;

        margin-bottom: 16px;
    }

    header .slogan b
    {
        font-size: 17px;
    }



    header .age
    {
        font-size: 8px;
        line-height: 12px;
    }

    header .age img
    {
        width: 48px;
        margin-right: 6px;
    }



    header .contacts .phone
    {
        font-size: 22px;
        line-height: 28px;
    }



    header .menu .item > a
    {
        font-size: 16px;

        min-height: 56px;
    }


    header .menu .burger
    {
        margin-right: 16px;
    }


    header .menu .sub_menu
    {
        padding: 16px 0;
    }

    header .menu .sub_menu a
    {
        font-size: 18px;
        line-height: 22px;

        padding: 8px 48px 8px 22px;
    }


    header .menu .sub_menu.level3 a
    {
        font-size: 16px;
    }



    /*-----------------
        Mob. header
    -----------------*/
    .mob_header
    {
        display: block;
    }

    /*------------
        Header
    ------------*/
    header .logo,
    header .logo img
    {
        width: 120px;
    }



    header .info
    {
        padding: 20px 0;
    }


    header .info .col_left
    {
        display: none;
    }

    header .info .col_right
    {
        max-width: none;
        width: auto;
    }

    header .info .col_right .wrap-address {
        display: none;
    }




    header .contacts
    {
        display: block;

        width: auto;
        margin: 0;
    }

    header .contacts .phone
    {
        font-size: 20px;
        line-height: 28px;
    }

    header .contacts .mail
    {
        display: none;
    }

    header .contacts .callback_btn
    {
        display: none;

        width: 100%;
    }

    header .contacts .catalog_link {
        display: block;
        margin-top: 2px;
        text-align: center;
    }


    header .socials {
        display: none;
    }

    header .menu
    {
        display: none;
    }



    header .mobile-menu-link {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
        font-weight: 500;
        font-size: 16px;
        line-height: 22px;
        color: #fff;
        text-decoration: none;
        transition: all .2s linear;
    }
    header .mobile-menu-link .burger {
        display: block;
        position: relative;
        height: 2px;
        margin-left: 8px;
        color: #fff;
        background: currentColor;
        width: 13px;
        transition: color 0.2s linear, background 0.2s linear;
    }

    header .mobile-menu-link .burger:before,
    header .mobile-menu-link .burger:after {
        position: absolute;
        display: block;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: currentColor;
        content: "";
        transform: translateY(0) rotate(0);
    }

    header .mobile-menu-link .burger:before {
        top: -5px;
        transition: transform .1s linear, top .2s linear .1s;
    }

    header .mobile-menu-link .burger:after {
        bottom: -5px;
        transition: transform .1s linear, bottom .2s linear .1s;
    }

    header .mobile-menu-link.active .burger {
        background-color: transparent;
    }

    header .mobile-menu-link.active .burger:before {
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        transition: top .1s linear, transform .2s linear .1s;
    }

    header .mobile-menu-link.active .burger:after {
        bottom: 50%;
        transform: translateY(50%) rotate(-45deg);
        transition: bottom .1s linear, transform .2s linear .1s;
    }

    .search-header {
        width: calc(100% - 300px);
    }

    .mob_menu .menu .sub_menu {
        position: relative;
        display: none;
        visibility: visible;
        width: 100%;
    }

    .mob_menu .menu a.sub_link + .sub_menu.level2,
    .mob_menu .menu .sub_menu.level3 {
        margin: 0;
        padding: 12px 0 0;
        background: transparent;
    }

    .mob_menu .menu .sub_menu a {
        color: #fff;
    }


    .direction-overlay {
        left: 0;
        width: 100%;
        height: auto;
        padding: 20px 15px;
    }

    .services-nav-item-link .name {
        font-size: 16px;
        line-height: 22px;
    }
    .services-nav-item-link .icon {
        width: 36px;
        height: 36px;
        margin-right: 15px;
        flex: 0 0 36px;
    }
    .products-nav-list-item {
        font-size: 14px;
    }

    .services-nav .sub_menu a {
        font-size: 16px;
        line-height: 26px;
    }

    .services-nav-item-link.sub_link .name:after {
        transform: rotate(45deg);
        top: -2px;
        position: relative;
        transition: all .3s linear;
        transform-origin: 5px 5px;
        margin-left: 12px;
    }
    .services-nav-item-link.sub_link.active .name:after {
        transform: rotate(-135deg);
    }


    .services-nav .sub_menu {
        display: none;
        width: auto;
        margin: 10px -15px 0;
        visibility: visible;
        opacity: 1;
        position: relative;
        left: 0;
        padding-left: 0;
        min-height: 0;
        transition: none;
    }
    .services-nav .sub_menu_inner {
        background: #f7f9fb;
        position: relative;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 40px 15px;
        height: auto;
    }

    .main-services-and-slides .wrap-main-slider {
        margin-left: 0;
    }


    /*-------------
        Sidebar
    -------------*/



    /*---------------
        Page head
    ---------------*/
    .page_head
    {
        padding: 52px 0 40px;
    }


    .page_title
    {
        font-size: 36px;
    }


    .page_head .desc
    {
        font-size: 15px;
    }


    .page_head .links a,
    .page_head .links span
    {
        font-size: 15px;
        line-height: 23px;
    }


    .page_head .back_link
    {
        margin-top: 4px;
    }



    /*----------------
        Block head
    ----------------*/
    .block_head .all_link
    {
        font-size: 13px;
    }


    .block_head .download_link
    {
        width: 100%;
        margin-top: 12px;
    }



    /*------------------
        Form elements
    ------------------*/



    /*----------------
        Typography
    ----------------*/
    .text_block ul.big
    {
        font-size: 16px;
        line-height: 22px;
    }

    .text_block ul.big li
    {
        padding-left: 18px;
    }

    .text_block ul.big li + li
    {
        margin-top: 4px;
    }

    .text_block ul.big li:before
    {
        top: 10px;

        width: 10px;
    }



    /*---------------------
        Categories wall
    ---------------------*/
    .categories_wall
    {
        padding: 56px 0 52px;
    }


    .categories_wall .row_wrap
    {
        overflow: auto;

        width: calc(100% + 48px);
        margin: 0 -24px;

        scrollbar-color: transparent transparent;
        scrollbar-width: thin;
    }

    .categories_wall .row_wrap::-webkit-scrollbar
    {
        width: 0;
        height: 0;

        background-color: transparent;
    }

    .categories_wall .row_wrap::-webkit-scrollbar-thumb
    {
        background-color: transparent;
    }


    .categories_wall .row
    {
        font-size: 0;

        display: inline-block;

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

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

    .categories_wall .row > *
    {
        font-size: 13px;
        line-height: 19px;

        display: inline-block;

        width: 164px;
        margin-bottom: 0;
        margin-left: 0;

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

    .categories_wall .row > * + *
    {
        margin-left: 32px;
    }


    .categories_wall .category .thumb
    {
        width: 140px;
        height: 140px;
        margin-bottom: 16px;
    }



    /*----------------
        About info
    ----------------*/
    .about_info .data
    {
        width: 100%;
    }


    .about_info .catalog
    {
        width: 100%;
        margin-top: 32px;
    }


    .about_info .logo img
    {
        width: 140px;
    }


    .about_info .catalog .download_link
    {
        margin-top: 24px;
    }


    .about_info .links
    {
        margin-top: 44px;
    }

    .about_info .links .row > *.big:before
    {
        top: -74px;

        height: 98px;
    }

    .about_info .links a
    {
        font-size: 15px;
        line-height: 19px;
    }



    /*------------
        Pluses
    ------------*/
    .pluses
    {
        padding: 52px 0;
    }


    .pluses .row
    {
        margin-bottom: -40px;
        margin-left: 0;
    }

    .pluses .row > *
    {
        width: 100%;
        margin-bottom: 40px;
        margin-left: 0;
    }


    .pluses .item .icon
    {
        width: 124px;
        height: 124px;
    }

    .pluses .item .icon + *
    {
        width: calc(100% - 144px);

        align-self: center;
    }


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



    /*--------------
        Articles
    --------------*/
    .articles .row > * {
	    width: calc(33.33% - 24px);
	    margin-bottom: 40px;
	    margin-left: 24px;
	}

    .articles.articles-one-line .row_wrap
    {
        overflow: auto;

        width: calc(100% + 48px);
        margin: 0 -24px;

        scrollbar-color: transparent transparent;
        scrollbar-width: thin;
    }

    .articles.articles-one-line .row_wrap::-webkit-scrollbar
    {
        width: 0;
        height: 0;

        background-color: transparent;
    }

    .articles.articles-one-line .row_wrap::-webkit-scrollbar-thumb
    {
        background-color: transparent;
    }


    .articles.articles-one-line .row
    {
        font-size: 0;

        display: inline-block;

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

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

    .articles.articles-one-line .row > *
    {
        font-size: 13px;
        line-height: 19px;

        display: inline-block;

        width: 260px;
        margin-bottom: 0;
        margin-left: 0;

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

    .articles.articles-one-line .row > * + *
    {
        margin-left: 24px;
    }



    /*------------------
        Perspectives
    ------------------*/
    .perspectives .data
    {
        width: calc(100% - 240px);
    }


    .perspectives .person
    {
        width: 200px;
    }

    .perspectives .person .photo
    {
        width: 200px;
        height: 200px;
        margin-bottom: 16px;
    }



    /*----------------
        Conditions
    ----------------*/
    .conditions
    {
        padding: 52px 0;
    }


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



    /*--------------
        Practice
    --------------*/
    .practice .text_block
    {
        width: 100%;
    }


    .practice .info
    {
        font-size: 16px;
        line-height: 24px;

        width: 100%;
        margin-top: 32px;
        padding: 21px 29px;
    }




    /*-------------------
        Friendly team
    -------------------*/
    .friendly_team .data
    {
        width: calc(100% - 280px);
    }


    .friendly_team .corporate_edition
    {
        width: 240px;
        padding: 0;
    }

    .corporate_edition .item .thumbs > *
    {
        width: 180px;
    }

    .corporate_edition .item .thumbs > * + *
    {
        width: 152px;
        margin-left: -100px;
    }



    /*-------------------
        Photo gallery
    -------------------*/
    .photo_gallery .item img
    {
        max-height: 200px;
    }



    /*------------------
        Service info
    ------------------*/
    .service_info .data
    {
        width: 100%;
    }


    .service_info .images
    {
        margin: 40px auto 0;
    }



    /*--------------
        Services
    --------------*/
    .services .service
    {
        padding: 20px;
    }

    .services .service .name
    {
        font-size: 15px;
        line-height: 21px;
    }



    /*--------------------
        Contacts block
    --------------------*/
    .contacts_block .data
    {
        padding: 24px 37px 32px;
    }


    .contacts_block .text_block
    {
        width: calc(100% - 136px);
    }


    .contacts_block .contacts
    {
        margin-left: 136px;
    }



    /*--------------------------
        Secrvice information
    --------------------------*/
    .secrvice_information
    {
        padding: 52px 0;
    }


    .secrvice_information .col
    {
        width: 100%;
        max-width: 100%;
    }

    .secrvice_information .col + .col
    {
        margin-top: 32px;
    }



    /*----------------
        Advantages
    ----------------*/
    .advantages .row
    {
        padding-top: 4px;
    }

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



    /*-----------------------
        Corporate edition
    -----------------------*/
    
    .corporate_edition .row > * {
	    width: calc(33.33% - 24px);
	    margin-bottom: 40px;
	    margin-left: 24px;
	}
    
    .corporate_edition.corporate_edition-one-line .row_wrap
    {
        overflow: auto;

        width: calc(100% + 48px);
        margin: 0 -24px;

        scrollbar-color: transparent transparent;
        scrollbar-width: thin;
    }

    .corporate_edition.corporate_edition-one-line .row_wrap::-webkit-scrollbar
    {
        width: 0;
        height: 0;

        background-color: transparent;
    }

    .corporate_edition.corporate_edition-one-line .row_wrap::-webkit-scrollbar-thumb
    {
        background-color: transparent;
    }


    .corporate_edition.corporate_edition-one-line .row
    {
        font-size: 0;

        display: inline-block;

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

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

    .corporate_edition.corporate_edition-one-line .row > *
    {
        display: inline-block;

        width: 260px;
        margin-bottom: 0;
        margin-left: 0;

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

    .corporate_edition.corporate_edition-one-line .row > * + *
    {
        margin-left: 24px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .data
    {
        margin-bottom: -32px;
    }

    .contacts_info .data > *
    {
        width: calc(33.333% - 24px);
        max-width: calc(33.333% - 24px);
        margin-bottom: 32px;
    }



    /*-----------------------
        Group composition
    -----------------------*/
    .group_composition .row_wrap
    {
        overflow: auto;

        width: calc(100% + 48px);
        margin: -20px -24px;
        padding: 20px 0;

        scrollbar-color: transparent transparent;
        scrollbar-width: thin;
    }

    .group_composition .row_wrap::-webkit-scrollbar
    {
        width: 0;
        height: 0;

        background-color: transparent;
    }

    .group_composition .row_wrap::-webkit-scrollbar-thumb
    {
        background-color: transparent;
    }


    .group_composition .row
    {
        font-size: 0;

        display: inline-block;

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

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

    .group_composition .row > *
    {
        font-size: 13px;
        line-height: 19px;

        display: inline-block;

        width: 260px;
        margin-bottom: 0;
        margin-left: 0;

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

    .group_composition .row > * + *
    {
        margin-left: 24px;
    }



    /*--------------
        Partners
    --------------*/
    .partners .swiper-container
    {
        overflow: visible !important;
    }

    .partners .swiper-slide
    {
        visibility: hidden;

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

        opacity: 0;
    }

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

        pointer-events: auto;

        opacity: 1;
    }



    /*-------------
        History
    -------------*/
    .history .swiper-container
    {
        overflow: visible !important;

        margin-top: 28px;
        padding-right: 32px;
    }

    .history .swiper-container:after
    {
        right: -24px;
    }

    .history .swiper-slide
    {
        visibility: hidden;

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

        opacity: 0;
    }

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

        pointer-events: auto;

        opacity: 1;
    }



    /*-------------
        History
    -------------*/
    .history .swiper-container
    {
        overflow: visible !important;

        margin-top: 28px;
        padding-right: 32px;
    }

    .history .swiper-container:after
    {
        right: -24px;
    }

    .history .swiper-slide
    {
        visibility: hidden;

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

        opacity: 0;
    }

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

        pointer-events: auto;

        opacity: 1;
    }



    /*------------
        Footer
    ------------*/
    footer
    {
        padding: 32px 0;
    }
	
	/*------------------
        Gallery info
    ------------------*/
    .gallery_info .row
    {
        margin-bottom: -20px;
        margin-left: -20px;
    }

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

	.services-groups {
		flex-wrap: wrap;
	}
	.services-block {
		width: 100%;
		margin-bottom: 30px;
		min-height: 400px;
	}
	
	/*---------------
        Documents
    ---------------*/
    .documents .row
    {
        margin-bottom: -32px;
        margin-left: -32px;
    }

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


    .documents .section .title
    {
        font-size: 21px;
        line-height: 23px;

        margin-bottom: 20px;
    }


    .documents .item .icon
    {
        width: 100px;
        height: 100px;
    }

    .documents .item .icon > *
    {
        width: 60px;
        height: 60px;
    }

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

    .documents .item .name
    {
        font-size: 16px;
        line-height: 22px;
    }

    .documents .item .size,
    .documents .item .date
    {
        font-size: 13px;
        line-height: 17px;
    }

	.park-pribors-item {
		width: 100%;
	}

    /*-----------
        PopUp
    -----------*/
}


@media print, (max-width: 767px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --font_size: 14px;
        --font_size_title: 30px;
    }


    .block
    {
        margin-bottom: 52px;
    }



    /*--------------
        Fancybox
    --------------*/
    .fancybox__slide
    {
        padding: 20px;
    }



    /*---------------
        Accordion
    ---------------*/
    .accordion .accordion_item .data
    {
        padding: 20px 0;
    }


    .accordion .accordion_item .head .title
    {
        font-size: 17px;
        line-height: 21px;
    }


    .accordion .accordion_item .head .icon
    {
        top: 12px;
    }

    .accordion .accordion_item.active .head .icon
    {
        top: 16px;
    }



    /*------------------
        Mob all link
    ------------------*/
    .mob_all_link
    {
        display: block;
    }



    /*------------
        Header
    ------------*/
    header .info
    {
        padding: 16px 0;
    }


    header .logo,
    header .logo img
    {
        width: 120px;
    }


    header .info .col_right
    {
        width: auto;
        margin-left: auto;
    }


    header .location
    {
        display: none;
    }


    header .menu
    {
        width: calc(100% - 92px);
    }


    header .menu .item > a
    {
        font-size: 15px;
    }

    header .menu .item > a > span
    {
        position: relative;
        top: 1px;
    }


    header .menu .burger
    {
        width: 22px;
        height: 18px;
        margin-right: 12px;
        margin-left: 0;
    }

    header .menu .burger span:before
    {
        top: -7px;
    }

    header .menu .burger span:after
    {
        top: 7px;
    }


    header .socials a + a
    {
        margin-left: 12px;
    }



    /*-------------
        Sidebar
    -------------*/



    /*---------------
        Page head
    ---------------*/
    .page_head
    {
        padding: 48px 0 40px;
    }


    .page_title
    {
        font-size: 32px;
    }


    .page_head .back_link
    {
        font-size: 13px;

        width: 100%;
    }



    /*----------------
        Block head
    ----------------*/
    .block_head .title
    {
        line-height: calc(var(--font_size_title) + 4px);
    }


    .block_head .all_link
    {
        font-size: 12px;

        display: none;

        width: 100%;
        margin-top: 8px;
    }



    /*------------------
        Form elements
    ------------------*/



    /*----------------
        Typography
    ----------------*/
    .text_block .columns
    {
        column-gap: 0;
        column-count: 1;
    }


    .text_block ul.big
    {
        font-size: 15px;
        line-height: 21px;
    }



    /*---------------------
        Categories wall
    ---------------------*/
    .categories_wall
    {
        padding: 52px 0 48px;
    }



    /*----------------
        About info
    ----------------*/
    .about_info .logo
    {
        
    }

    .about_info .logo img
    {
        width: 120px;
        margin: 0;
    }


    .about_info .links
    {
        margin-top: 32px;
    }

    .about_info .links:before
    {
        top: auto;
        right: auto;
        bottom: 10px;
        left: 0;

        width: 1px;
        height: calc(100% + 4px);
    }

    .about_info .links:after
    {
        display: none;
    }


    .about_info .links .row
    {
        display: block;

        margin: 0;
    }

    .about_info .links .row + .row
    {
        margin-top: 12px;
    }


    .about_info .links .row > *,
    .about_info .links .row > *.big
    {
        width: 100%;
        padding-top: 0;
        padding-left: 28px;

        text-align: left;
    }

    .about_info .links .row > *:before,
    .about_info .links .row > *.big:before
    {
        top: 8px;
        right: auto;
        bottom: auto;
        left: 0;

        width: 16px;
        height: 1px;
    }

    .about_info .links .row > * + *
    {
        margin-top: 12px;
    }



    /*------------
        Pluses
    ------------*/
    .pluses .row
    {
        margin-bottom: -32px;
    }

    .pluses .row > *
    {
        margin-bottom: 32px;
    }


    .pluses .item .icon
    {
        width: 112px;
        height: 112px;
    }

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



    /*--------------
        Articles
    --------------*/
    .articles .row > * {
	    width: 100%;
	    margin-bottom: 40px;
	    margin-left: 24px;
	}

    .articles .article .name
    {
        font-size: 16px;
        line-height: 20px;
    }



    /*------------------
        Perspectives
    ------------------*/
    .perspectives .data
    {
        width: 100%;
    }


    .perspectives .person
    {
        width: 100%;
        margin-top: 40px;
    }



    /*----------------
        Conditions
    ----------------*/
    .conditions .row
    {
        margin-bottom: -20px;
        margin-left: 0;
    }

    .conditions .row > *
    {
        width: 100%;
        margin-bottom: 20px;
        margin-left: 0;
    }


    .conditions .item .icon
    {
        width: 80px;
        height: 80px;
    }

    .conditions .item .icon img
    {
        width: 48px;
        height: 48px;
    }

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



    /*--------------
        Practice
    --------------*/
    .practice .info
    {
        font-size: 15px;
        line-height: 23px;

        padding: 18px 25px;
    }



    /*-------------------
        Friendly team
    -------------------*/
    .friendly_team .data
    {
        width: 100%;
    }


    .friendly_team .corporate_edition
    {
        margin: 40px auto 0;
    }



    /*-------------------
        Photo gallery
    -------------------*/
    .photo_gallery .item img
    {
        max-height: 180px;
    }



    /*--------------
        Services
    --------------*/
    .services .row
    {
        margin-bottom: -20px;
        margin-left: -20px;
    }

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


    .services .service .name
    {
        font-size: 14px;
        line-height: 20px;
    }



    /*--------------------
        Contacts block
    --------------------*/
    .contacts_block .data
    {
        padding: 24px;
    }


    .contacts_block .contacts
    {
        margin-top: 24px;
        margin-left: 0;
    }

    .contacts_block .contacts + .contacts
    {
        margin-left: auto;
    }

    .contacts_block .contacts .title
    {
        font-size: 13px;
        line-height: 19px;
    }

    .contacts_block .contacts .phone,
    .contacts_block .contacts .email
    {
        font-size: 19px;
        line-height: 25px;
    }

    .contacts_block .contacts .btn,
    .btn-default
    {
        margin-top: 8px;
        padding: 10px 24px;
    }



    /*----------------
        Advantages
    ----------------*/
    .advantages .row
    {
        margin-bottom: -16px;
        margin-left: 0;
    }

    .advantages .row > *
    {
        width: 100%;
        margin-bottom: 16px;
        margin-left: 0;
    }


    .advantages .item .icon
    {
        width: 64px;
        height: 64px;
    }

    .advantages .item .icon img
    {
        width: 32px;
        height: 32px;
    }

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



    /*-------------
        Persons
    -------------*/
    .persons .row
    {
        margin-bottom: -24px;
        margin-left: 0;
    }

    .persons .row > *
    {
        width: 100%;
        margin-bottom: 24px;
        margin-left: 0;
    }


    .persons .person .photo
    {
        width: 112px;
        height: 112px;
    }

    .persons .person .photo + *
    {
        width: calc(100% - 132px);
    }


    .persons .person .name
    {
        font-size: 15px;
        line-height: 21px;
    }


    .persons .person .big .post
    {
        font-size: 14px;

        margin-bottom: 4px;
    }

    .persons .person .big .name
    {
        font-size: 17px;
    }

    .persons .person .big .phone,
    .persons .person .big .email
    {
        font-size: 16px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .data
    {
        margin-left: -20px;
    }

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


    .contacts_info .data .item br
    {
        display: none;
    }




    /*--------------
        Partners
    --------------*/
    .partners .swiper-container
    {
        padding: 0;
    }

    .partners .swiper-button-next,
    .partners .swiper-button-prev
    {
        display: none !important;
    }


    .partners .swiper-slide
    {
        visibility: visible;

        width: 200px;

        pointer-events: auto;

        opacity: 1;
    }



    /*------------
        Footer
    ------------*/
    footer .copyright
    {
        width: auto;
        margin-left: auto;

        order: 2;
    }


    footer .logo
    {
        order: 1;
    }


    footer .links
    {
        font-size: 17px;
        line-height: 25px;

        width: 100%;
        margin-top: 24px;

        order: 3;
    }

    footer .links > * + *
    {
        margin-top: 8px;
    }

	.wrap-pagination li {
		display: none;
	}
	.wrap-pagination li.prev-page,
	.wrap-pagination li.now-page,
	.wrap-pagination li.next-page {
		display: inline-block;
	}
	
	
	.corporate_edition .row > * {
	    width: 100%;
	    margin-bottom: 40px;
	    margin-left: 24px;
	}
	
	/*------------------
        Gallery info
    ------------------*/
    .gallery_info .row
    {
        margin-bottom: -12px;
        margin-left: -12px;
    }

    .gallery_info .row > *
    {
        width: calc(50% - 12px);
        margin-bottom: 12px;
        margin-left: 12px;
    }
    
    .docs-item {
		width: 100%;
	}
	.docs-item .wrap-image {
	    margin-right: 20px;
	    width: 100px;
	    flex: 0 0 100px;
	}
	.docs-item .wrap-info {
		width: calc(100% - 120px);
	}
	.docs-item .name {
		font-size: 16px;
	}

    /*-----------
        PopUp
    -----------*/
    .mfp-content .form {
	    padding-left: 20px;
	    padding-right: 20px;
    }
    .mfp-close-btn-in .form .mfp-close {
	    right: 2px;
	    top: 2px;
    }
    
    .wrap-calculator .top-selects > div {
	    width: 100%;
	    margin-bottom: 25px;
    }
    .wrap-calculator .wrap-options {
	    margin-top: 0;
	}
	
	 /*---------------
        Documents
    ---------------*/
    .documents .row
    {
        margin-bottom: -24px;
        margin-left: 0;
    }

    .documents .row > *
    {
        width: 100%;
        margin-bottom: 24px;
        margin-left: 0;
    }


    .documents .section .title
    {
        font-size: 20px;
        line-height: 24px;
    }


    .documents .item .name.small
    {
        font-size: 15px;
        line-height: 21px;
    }
    
    .text_block .image-align-left,
    .text_block .image-align-right {
		float: none;
		margin: 20px 0;
	}
	
	.park-pribors-item {
	    margin-bottom: 25px;
	    padding: 15px 12px;
	}
	.park-pribors-item .wrap-image {
	    width: 80px;
		flex: 0 0 80px;
	}
	.park-pribors-item .wrap-info {
	    width: calc(100% - 90px);
	    flex: 0 0 calc(100% - 90px);
	}
	.park-pribors-item .name {
    	font-size: 16px;
    }
    .park-pribors-item .chars {
    	font-size: 12px;
    }
    .text_block .park-pribors-item .chars ul {
	    margin-top: 7px;
	}

    .text_block .park-pribors-item .chars ul li:before {
	    top: 6px;
    }

    .search-result {
        font-size: 14px;
        line-height: 22px;
    }
    .search-result ol > li {
        padding-left: 2em;
    }
}

@media (max-width: 479px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --font_size: 14px;
    }



    /*--------------
        Fancybox
    --------------*/
    .fancybox__slide
    {
        padding: 16px;
    }



    /*---------------
        Accordion
    ---------------*/
    .accordion .accordion_item + .accordion_item
    {
        margin-top: 8px;
    }


    .accordion .accordion_item .head .title
    {
        font-size: 15px;
        line-height: 21px;
    }



    /*------------
        Header
    ------------*/


    header .info .col_right
    {
        max-width: calc(100% - 132px);
    }


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

    header .contacts .callback_btn
    {
        padding: 10px 20px;
    }

    header .contacts .catalog_link {
        padding: 8px 19px;
        margin-top: 4px;
    }


    header .bg {
        display: none;
    }

    header .menu
    {
        width: 100%;
    }


    header .menu .sub_menu > *:hover > .sub_menu,
    header .menu .sub_menu.level3
    {
        position: relative;
        z-index: 1;
        top: 0;
        left: 0;

        display: none;
        visibility: hidden;

        width: 100%;
        margin: 4px 0 12px;
        padding: 12px 0;

        pointer-events: auto;

        opacity: 1;
    }

    header .menu .sub_menu a.touch_link + .sub_menu.show
    {
        left: 0;

        display: block;
    }


    header .socials
    {
        display: none;
    }

    header .bottom .data {
        padding-top: 10px;
    }
    .mobile-but-search {
        display: block;
        color: #fff
    }
    .mobile-but-search .icon {
        width: 20px;
        height: 20px;
        margin-top: 3px;
    }

    .search-header {
        position: absolute;
        top: 0;
        left: 15px;
        right: 15px;
        width: auto;
        height: 60px;
        padding-top: 6px;
        background: #1B6097;
        transition: all .3s;
        transform: translateX(150%);
    }
    .search-header.active {
        transform: translateX(0);
    }



    /*-----------------
        Mob. header
    -----------------*/
    .mob_header .contacts .phone
    {
        font-size: 18px;
        line-height: 28px;
    }



    /*-------------
        Sidebar
    -------------*/



    /*---------------
        Page head
    ---------------*/
    .page_head
    {
        padding: 40px 0;
    }


    .page_title
    {
        font-size: 26px;
    }


    .page_head .desc
    {
        font-size: 14px;
        line-height: 20px;
    }


    .page_head .links
    {
        margin-bottom: -12px;
        margin-left: -24px;
    }

    .page_head .links > *
    {
        margin-bottom: 12px;
        margin-left: 24px;
    }

    .page_head .links a,
    .page_head .links span
    {
        font-size: 14px;
        line-height: 20px;
    }



    /*----------------
        Block head
    ----------------*/
    .block_head .title.mini
    {
        font-size: 21px;
        line-height: 27px;
    }



    /*------------------
        Form elements
    ------------------*/



    /*----------------
        Typography
    ----------------*/



    /*------------
        Pluses
    ------------*/
    .pluses .item .icon
    {
        display: none;
    }

    .pluses .item .icon + *
    {
        width: 100%;
    }



    /*------------------
        Service info
    ------------------*/
    .service_info .images
    {
        width: 312px;
    }


    .service_info .images .item .thumb
    {
        width: 224px;
        height: 158px;
    }

    .service_info .images .item + .item .thumb
    {
        width: 120px;
        height: 170px;
        margin-top: 16px;
    }



    /*--------------
        Services
    --------------*/
    .services .row
    {
        margin-left: 0;
    }

    .services .row > *
    {
        width: 100%;
        margin-left: 0;
    }


    .services .service
    {
        padding: 16px 20px;
    }




    /*--------------------
        Contacts block
    --------------------*/
    .contacts_block .icon
    {
        margin: 0 auto 8px;
    }

    .contacts_block .icon img
    {
        width: 92px;
        height: 92px;
    }


    .contacts_block .text_block
    {
        width: 100%;
        margin-left: 0;

        text-align: center;
    }


    .contacts_block .contacts
    {
        width: 100%;

        text-align: center;
    }



    /*-------------
        Persons
    -------------*/
    .persons .person .photo
    {
        width: 92px;
        height: 92px;
    }

    .persons .person .photo + *
    {
        width: calc(100% - 112px);
    }


    .persons .person .big .post
    {
        font-size: 14px;
    }

    .persons .person .big .name
    {
        font-size: 16px;
    }

    .persons .person .big .phone,
    .persons .person .big .email
    {
        font-size: 15px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .data
    {
        margin-bottom: -24px;
        margin-left: 0;
    }

    .contacts_info .data > *
    {
        width: 100%;
        max-width: 100%;
        margin-bottom: 24px;
        margin-left: 0;
    }


    .contacts_info .data .item .title
    {
        font-size: 15px;
    }



    /*-------------
        History
    -------------*/
    .history .swiper-container
    {
        margin-top: 24px;
    }



    /*------------
        Footer
    ------------*/
    footer .logo img
    {
        display: block;

        width: 92px;
    }


    footer .copyright
    {
        font-size: 12px;
        line-height: 18px;

        align-self: flex-end;
    }


    footer .links
    {
        margin-top: 24px;
    }

	/*---------------
        Documents
    ---------------*/
    .documents .section .title
    {
        font-size: 18px;
        line-height: 22px;
    }


    .documents .item .icon
    {
        width: 92px;
        height: 92px;
    }

    .documents .item .icon > *
    {
        width: 52px;
        height: 52px;
    }

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

    .documents .item .name
    {
        font-size: 15px;
        line-height: 21px;
    }

    /*-----------
        PopUp
    -----------*/
}
