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


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

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

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

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

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

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

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

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

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

body
{
    margin: 0;

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

img
{
    border-style: none;
}

textarea
{
    overflow: auto;
}

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

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

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

:focus
{
    outline: 0;
}

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


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



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


::selection
{
    color: #fff;

    background: #ef7f1a;
}

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

    background: #ef7f1a;
}


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

html.custom_scroll
{
    scrollbar-color: #ef7f1a #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: var(--text_color);
    font: var(--font_size) var(--font_family);

    cursor: pointer;

    border: none;
    background: none;
}


.wrap
{
    position: relative;

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

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

    background: var(--bg);
}


.main
{
    flex: 1 0 auto;
}


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


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


.lozad
{
    transition: opacity .5s linear;

    opacity: 0;
}

.lozad.loaded
{
    opacity: 1;
}


.row
{
    display: flex;

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



.content_flex.row,
.content_flex > .cont.row
{
    justify-content: space-between;
    align-items: stretch;
    align-content: stretch;
}

.content_flex .content
{
    position: relative;

    width: calc(100% - var(--sidebar_width) - 60px);
}

.content_flex .content > :first-child
{
    margin-top: 0;
}

.content_flex .content > :last-child
{
    margin-bottom: 0;
}


.btn {
	display: inline-block;
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
}

.green-btn {
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    display: block;
    width: 195px;
    max-width: 100%;
    margin-left: 24px;
    padding: 12px 24px 12px;
    transition: background .2s linear;
    text-align: center;
    letter-spacing: .05em;
    text-transform: uppercase;
    border-radius: 20px;
    background: #009846;
    text-decoration: none;
    box-shadow: 0 3px 7px 0 rgb(0 0 0 / 10%);
}
.green-btn:hover {
    background: #ef7f1a;
}

.orange-btn {
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    display: inline-block;
    width: 195px;
    max-width: 100%;
    padding: 17px 24px 15px;
    transition: background .2s linear;
    text-align: center;
    vertical-align: top;
    text-decoration: none;
    letter-spacing: .05em;
    text-transform: uppercase;
    border-radius: 25px;
    background: #ef7f1a;
    box-shadow: 0 3px 7px 0 rgb(0 0 0 / 10%);
}
.orange-btn:hover
{
    background: #009846;
}

.btn.big {
	width: 310px;
}

.block
{
    margin-bottom: 60px;
}



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



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


.accordion .item .head
{
    position: relative;

    padding: 13px 64px 13px 30px;

    cursor: pointer;

    border-radius: 3px;
    background: #f7f7f7;
}

.accordion .item .head:after
{
    position: absolute;
    top: 23px;
    right: 23px;

    display: block;

    width: 9px;
    height: 9px;

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

    border-bottom: 1px solid #093;
    border-left: 1px solid #093;
}


.accordion .item .head .title
{
    font-size: 24px;
    font-weight: 700;
    line-height: 34px;
}


.accordion .item .data
{
    display: none;

    padding: 20px 30px;
}

.accordion .item .data .text_block
{
    width: 1020px;
    max-width: 100%;

    text-align: justify;
}


.accordion .item.active .head:after
{
    top: 28px;

    transform: rotate(-225deg);
}



/*----------------
    Pagination
----------------*/
.pagination
{
    line-height: 46px;

    display: flex;

    margin-top: 60px;

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

.pagination.center
{
    justify-content: center;
}

.pagination.alignright
{
    justify-content: flex-end;
}

.pagination a,
.pagination span,
.pagination .sep
{
    color: #666;
    font-weight: 500;

    display: inline-block;

    width: 45px;
    height: 45px;

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

    border-radius: 3px;
}

.pagination a:hover
{
    color: #ef7f1a;

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

.pagination .active
{
    color: #000;

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


.pagination .prev,
.pagination .next
{
    position: relative;
}

.pagination .prev:after,
.pagination .next:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 2px;

    display: block;

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

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

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

.pagination .next:after
{
    left: -2px;

    transform: rotate(-225deg);
}



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

    width: 100%;
}


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

    display: none;

    width: 50px;
    height: 50px;

    cursor: pointer;

    border: none;
    background: none;
}

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

    display: block;

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

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

    background: #fff;
}

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

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



header .top
{
    background: #ef7f1a;
}

header .top .cont
{
    min-height: 50px;

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


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

header .info.default_pad
{
    padding-bottom: 20px;
}

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


header .bottom
{
    background: #009846;
}

.home header .bottom
{
    background: rgba(0,152,.70,.8);
}



header .socials
{
    display: flex;

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

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

header .socials a
{
    display: flex;

    width: 25px;
    height: 24px;
    padding-right: 1px;

    transition: .2s linear;

    border-radius: 50%;

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

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

header .socials img
{
    display: block;
}

/*
header .socials img + img,
header .socials a:hover img
{
    display: none;
}
*/

header .socials a.vkontakte_link
{
    background: #0072ff;
}

header .socials a.viber_link:hover
{
    background: #7b519d;
}

header .socials a.whatsapp_link
{
    background: #57b246;
}

header .socials a:hover img + img
{
    display: block;
}



header .search
{
    width: 330px;
    max-width: 100%;
    margin-right: auto;
    margin-left: 20px;
}

header .search form
{
    display: flex;

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

header .search ::-webkit-input-placeholder
{
    color: #fff;
}

header .search :-moz-placeholder
{
    color: #fff;
}

header .search :-ms-input-placeholder
{
    color: #fff;
}

header .search .input
{
    color: #fff;
    font-family: var(--font_family);
    font-size: var(--font_size);

    display: block;

    width: calc(100% - 35px);
    height: 50px;
    padding: 0;

    border: none;
    background: none;
}

header .search .icon
{
    display: block;

    margin-right: 15px;
}



header .account a
{
    color: #fff;

    display: flex;

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

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

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

header .account a img
{
    display: block;

    margin-right: 15px;
}

header .account a:hover
{
    text-decoration: underline;
}



header .logo
{
    width: 320px;
    max-width: 100%;
}

header .logo img
{
    display: block;

    margin-left: -50px;
}



header .slogan
{
    font-size: 26px;
    font-weight: 800;
    line-height: 28px;

    position: relative;
    z-index: 3;

    display: flex;

    width: 280px;
    max-width: 100%;
    margin-right: auto;
    margin-left: 25px;

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

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

header .slogan .small
{
    font-size: var(--font_size);
    font-weight: 300;
    line-height: 24px;

    margin-top: 8px;

}

header .slogan img
{
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 15px;

    display: block;

    margin: auto;

    pointer-events: none;
    width: 280px;
    height: auto;
}



header .contacts .row
{
    justify-content: space-between;
}

header .contacts .row + .row
{
    margin-top: 20px;
}


header .contacts .col_left
{
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;

    max-width: 280px;
}

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

header .contacts .col_left > * + * {
    margin-top: 10px;
}


header .contacts .city {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 18px;
    line-height: 1;
}
header .contacts .city span {
    font-size: 12px;
    font-weight: 400;
}

header .contacts .phone
{
    font-size: 22px;
    font-weight: 700;
    line-height: 24px;

    position: relative;

    padding-left: 33px;
}

header .contacts .phone img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;
}

header .contacts .phone a
{
    color: currentColor;

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

header .contacts .phone .phone_dop
{
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 16px;
}
header .contacts .phone .phone_dop span,
header .contacts .phone .phone_dop a
{
    font-weight: normal;
}


header .contacts .email
{
    margin-top: 2px;
    margin-left: 33px;
}

header .contacts .email a
{
    color: #009846;

    display: inline-block;

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

header .contacts .email a:hover
{
    color: #ef7f1a;
}


header .contacts .callback_btn
{
    color: #fff;
    font-size: 13px;
    font-weight: 500;

    display: block;

    width: 195px;
    max-width: 100%;
    margin-left: 24px;
    padding: 12px 24px 12px;

    transition: background .2s linear;
    text-align: center;
    letter-spacing: .05em;
    text-transform: uppercase;

    border-radius: 20px;
    background: #009846;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .1);
}

header .contacts .callback_btn:hover
{
    background: #ef7f1a;
}


header .contacts .location
{
    position: relative;

    padding-left: 33px;
}

header .contacts .location img
{
    position: absolute;
    top: 0;
    left: 1px;

    display: block;
}


header .contacts .map_link
{
    margin-top: 2px;
    margin-left: 33px;
}

header .contacts .map_link a
{
    color: #009846;

    display: inline-block;

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

header .contacts .map_link a:hover
{
    color: #ef7f1a;
}


header .contacts .time
{
    position: relative;
    padding-left: 33px;
}

header .contacts .time img
{
    position: absolute;
    top: 0;
    left: 1px;

    display: block;
}




header .stats {
    font-weight: 700;
    line-height: 22px;
    padding: 0 0 15px;
    justify-content: flex-start;
}

header .stats > *
{
    display: flex;

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

header .stats > * + * {
    margin-left: 30px;
}

header .stats .val
{
    color: #ef7f1a;
    font-size: 54px;
    line-height: 67px;

    position: relative;
    top: 0;

    margin-right: 22px;

    white-space: nowrap;
}

header .stats a
{
    color: #009846;

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

header .stats a:hover
{
    color: #ef7f1a;
}



header .menu
{
    justify-content: space-between;
}

header .menu .item
{
    position: relative;
}

header .menu .item > a,
header .menu .item > span
{
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;

    position: relative;

    display: flex;

    min-height: 83px;

    text-align: center;
    text-decoration: none;
    letter-spacing: .05em;
    text-transform: uppercase;

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

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

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

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

    background: #ef7f1a;
}

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


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

    visibility: hidden;

    min-width: 100%;
    width: 320px;
    padding: 16px 0;

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

    opacity: 0;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .15);
}

header .menu .item:last-child .sub_menu
{
	left: auto;
	right: 0;
}

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

    visibility: hidden;

    opacity: 0;
}

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

    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


header .menu .sub_menu > div
{
    position: relative;
}

header .menu .sub_menu a
{
    color: #000;
    font-size: 15px;
    font-weight: 700;
    line-height: 19px;

    display: block;

    padding: 8px 22px;

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

header .menu .sub_menu a.sub_link
{
    position: relative;

    padding-right: 46px;
}

header .menu .sub_menu a.sub_link:after
{
    position: absolute;
    top: 12px;
    right: 20px;
    bottom: 0;

    display: block;

    width: 7px;
    height: 7px;

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

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

header .menu .sub_menu > div:hover > a,
header .menu .sub_menu a.active
{
    color: #009846;
}

header .menu .sub_menu > div:hover > a:after,
header .menu .sub_menu a.active:after
{
    border-color: #009846;
}


header .menu .sub_menu .sub_menu
{
    top: 0;
    left: calc(100% + 18px);

    width: 254px;
    padding: 10px 0 6px;

    border-radius: 0 3px 3px 0;
}

header .menu .sub_menu > div:hover > .sub_menu
{
    left: 100%;

    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}

header .menu .sub_menu .sub_menu a
{
    color: #333;
    font-size: 13px;
    line-height: 20px;

    padding-right: 24px;
    padding-left: 24px;

    white-space: normal;
}



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

    display: none;

    width: 100%;

    background: #fff;
}


.mob_header .top
{
    background: #ef7f1a;
}


.mob_header .info
{
    padding: 16px 0;
}

.mob_header .bottom
{
    background: #009846;
}


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

.mob_header .socials
{
    display: flex;

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

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

.mob_header .socials a
{
    display: flex;

    width: 25px;
    height: 24px;
    padding-right: 1px;

    transition: .2s linear;

    border-radius: 50%;

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

.mob_header .socials a + a
{
    margin-left: 15px;
}

.mob_header .socials a.vkontakte_link
{
    background: #0072ff;
}

.mob_header .socials a.whatsapp_link
{
    background: #57b246;
}



.mob_header .search
{
    width: 192px;
    max-width: 100%;
}

.mob_header .search form
{
    display: flex;

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

.mob_header .search ::-webkit-input-placeholder
{
    color: #fff;
}

.mob_header .search :-moz-placeholder
{
    color: #fff;
}

.mob_header .search :-ms-input-placeholder
{
    color: #fff;
}

.mob_header .search .input
{
    color: #fff;
    font-family: var(--font_family);
    font-size: var(--font_size);

    display: block;

    width: calc(100% - 35px);
    height: 44px;
    padding: 0;

    border: none;
    background: none;
}

.mob_header .search .icon
{
    display: block;

    margin-right: 15px;
}



.mob_header .account a
{
    color: #fff;

    display: flex;

    text-decoration: none;

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

.mob_header .account a img
{
    display: block;

    margin-right: 15px;
}

.mob_header .account a:hover
{
    text-decoration: underline;
}



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


.mob_header .slogan
{
    font-size: 20px;
    font-weight: 800;
    line-height: 22px;

    position: relative;
    z-index: 3;

    display: flex;

    width: 188px;
    margin-right: auto;
    margin-left: 32px;

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

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

.mob_header .slogan .small
{
    font-size: 9px;
    font-weight: 500;
    line-height: 15px;

    margin-top: 4px;
}

.mob_header .slogan img
{
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: -4px;

    display: block;

    width: 202px;
    margin: auto;

    pointer-events: none;
}



.mob_header .mob_menu_btn
{
    color: #fff;
    font-weight: 700;

    display: flex;

    height: 50px;

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

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

.mob_header .mob_menu_btn .icon
{
    position: relative;

    display: block;

    width: 20px;
    height: 2px;
    margin-right: 14px;

    transition: background .2s linear;

    background: currentColor;
}

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

    display: block;

    width: 100%;
    height: 100%;

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

    background: currentColor;
}

.mob_header .mob_menu_btn .icon:after
{
    top: 6px;
}

.mob_header .mob_menu_btn span
{
    display: block;

    margin-top: 2px;
}


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

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

    transform: rotate(-45deg);
}

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

    transform: rotate(45deg);
}



.mob_header .contacts_link
{
    color: #fff;
    font-weight: 700;

    display: flex;

    height: 50px;

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

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

.mob_header .contacts_link .icon
{
    display: block;

    margin-right: 14px;
}

.mob_header .contacts_link span
{
    display: block;

    margin-top: 2px;
}



.mob_header .mob_menu
{
    position: absolute;
    z-index: 90;
    top: 100%;
    left: 0;

    display: none;

    width: 100%;
    padding: 20px 0;

    background: #009846;
}


.mob_header .mob_menu .item > a,
.mob_header .mob_menu .item > span
{
    color: #fff;
    font-size: 15px;
    font-weight: 700;

    position: relative;

    display: block;

    padding: 10px 28px 10px 0;

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

.mob_header .mob_menu .item > a.sub_link:after,
.mob_header .mob_menu .item > span.sub_link:after
{
    position: absolute;
    top: -4px;
    right: 2px;
    bottom: 0;

    display: block;

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

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

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


.mob_header .mob_menu .sub
{
    display: none;
}

.mob_header .mob_menu .sub .title
{
    color: #fff;
    font-size: 18px;
    font-weight: 700;

    position: relative;

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

    cursor: pointer;
    text-transform: uppercase;
}

.mob_header .mob_menu .sub .title:before
{
    position: absolute;
    top: -4px;
    bottom: 0;
    left: 2px;

    display: block;

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

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

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



/*-------------
    Sidebar
-------------*/
aside
{
    position: relative;

    width: var(--sidebar_width);
    max-width: 100%;
}

aside > * + *
{
    margin-top: 60px;
}



aside .img
{
    position: relative;

    display: block;
    
    /*
    overflow: hidden;

    padding-bottom: 66.45%;
    */

    background: #ddd;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .1);
}

aside .img img
{
    display: block;
    /*
    position: absolute;
    top: 0;
    left: 0;


    width: 100%;
    height: 100%;

    object-fit: cover;
    */
}



aside .file a
{
    color: currentColor;
    font-weight: 500;
    line-height: 22px;

    display: flex;

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

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

aside .file a .icon
{
    display: block;

    width: 20px;
    height: 24px;

    transition: fill .2s linear;

    fill: #093;
}

aside .file a span
{
    display: block;

    width: calc(100% - 32px);

    align-self: flex-end;
}

aside .file a:hover
{
    color: #093;
}

aside .file a:hover .icon
{
    fill: #ef7f1a;
}



aside .organizations .row
{
    margin-bottom: 0;
    margin-left: 0;
}

aside .organizations .row > *
{
    width: 100%;
    margin-bottom: 0;
    margin-left: 0;
}

aside .organizations .row .organization + .organization
{
    margin-top: 40px;
}



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

.page_head.search-groups {
	padding-top: 0;
}

.page_head .head
{
    display: flex;

    padding-bottom: 8px;

    border-bottom: 3px solid #009846;

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



.page_title
{
    font-size: 50px;
    font-weight: 700;
    line-height: 50px;

    display: block;

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



.breadcrumbs
{
    color: #666;
    font-size: 15px;
    font-weight: 500;

    margin-bottom: 8px;
	margin-top: 15px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.breadcrumbs > * + *
{
    margin-left: 6px;
}

.breadcrumbs a
{
    color: currentColor;

    display: inline-block;

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

.breadcrumbs a:hover
{
    color: #ef7f1a;
}

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

    display: inline-block;

    width: 8px;
    height: 12px;

    vertical-align: middle;
}

.breadcrumbs .sep:after
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: -2px;

    display: block;

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

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

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



.page_head .links
{
    color: #009846;
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;

    display: flex;

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

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

.page_head .links > *
{
    max-width: calc(100% - 36px);
    margin-bottom: 12px;
    margin-left: 36px;
}

.page_head .links a,
.page_head .links span
{
    color: currentColor;

    display: inline-block;

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

.page_head .links a:hover
{
    color: #ef7f1a;
}

.page_head .links a.active,
.page_head .links span
{
    color: #000;
}



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

    width: 100%;
    margin-bottom: 30px;
    padding-bottom: 8px;

    border-bottom: 3px solid #009846;

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


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

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


.block_head .all_link
{
    color: #009846;
    line-height: 24px;

    margin-left: auto;
}

.block_head .all_link a
{
    color: currentColor;

    display: inline-block;

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

.block_head .all_link a:hover
{
    color: #f4981b;
}



.block_title
{
    font-size: 36px;
    font-weight: 700;
    line-height: 40px;

    margin-bottom: 35px;
}



/*------------------
    Form elements
------------------*/
.form
{
    --form_border_color: #e6e6e6;
    --form_focus_color: #009846;
    --form_error_color: red;
    --form_border_radius: 3px;
    --form_bg_color: #fff;
    --form_placeholder_color: #666;
}


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

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

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


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

    --form_columns_offset: 30px;
}

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


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

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

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

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


.big-form {
    max-width: 600px;
}

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


.form .field
{
    position: relative;
}

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

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

    display: block;

    width: 100%;
    height: 46px;
    padding: 2px 19px 0;

    transition: border-color .2s linear;

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

.form textarea.input
{
    height: 100px;
    padding-top: 10px;
    padding-bottom: 10px;
}

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


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

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

.form p.error
{
    color: var(--form_error_color);
    margin-top: 5px;
    font-size: 13px;
    line-height: 18px;
}
.form .center,
.success-form.center
{
    text-align: center;
}

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


.form label.checkbox
{
    line-height: 20px;

    position: relative;

    display: flex;

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

    cursor: pointer;

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

.form label.checkbox:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 20px;
    height: 20px;

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

    border: 2px solid #ccc;
    border-radius: 3px;
}

.form label.checkbox:after
{
    position: absolute;
    top: 3px;
    left: 6px;

    display: block;

    width: 14px;
    height: 6px;

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

    opacity: 0;
    border-bottom: 2px solid #093;
    border-left: 2px solid #093;
    background: #fff;
    box-shadow: 0 1px 0 2px #fff;
}

.form input:checked + label.checkbox:before
{
    border-color: #093;
}

.form input:checked + label.checkbox:after
{
    opacity: 1;
}


.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: #009846;
    transition: color .2s linear;
    text-decoration: none;
}

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


.form .submit
{
    display: flex;

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

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

    display: inline-block;

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

    transition: background .2s linear;
    vertical-align: top;
    letter-spacing: .05em;
    text-transform: uppercase;

    border-radius: 25px;
    background: #ef7f1a;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .1);
}

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



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

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

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


.text_block > *,
.text_block blockquote > *
{
    margin-bottom: 24px;
}


.text_block h2
{
    font-size: 24px;
    font-weight: 700;
    line-height: 24px;

    margin-bottom: 20px;
}


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

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


.text_block .big
{
    font-size: 20px;
    font-weight: 500;
    line-height: 28px;
}


.text_block img
{
    display: block;

    max-width: 100%;
    height: auto !important;
}

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


.text_block blockquote
{
    font-style: italic;

    position: relative;

    margin-top: 32px;
    margin-bottom: 32px;
    padding: 36px 60px 36px 176px;

    border-radius: 20px;
    background: #f7f7f7;
}

.text_block blockquote:before
{
    color: #fff;
    font-size: 66px;
    font-weight: 500;
    font-style: normal;
    line-height: 112px;

    position: absolute;
    top: 40px;
    left: 40px;

    display: block;

    width: 100px;
    height: 100px;

    content: '!';
    text-align: center;

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


.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: #ef7f1a;
    font-weight: 700;

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

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

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

.text_block ul > li
{
    font-size: 15px;
    line-height: 19px;

    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 22px;

    list-style-type: none;
}

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

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

    display: block;

    width: 8px;
    height: 8px;

    content: '';

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



.text_block a
{
    color: #009846;

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

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

.text_block table {
	margin: 1em 0;
	border: 1px solid #e6e6e6;
    border-collapse: collapse;
}

.text_block table td {
	padding: 1em;
    border-top: 1px solid #e6e6e6;
    border-left: 1px solid #e6e6e6;
}
.text_block table th {
	font-size: 1.125em;
    font-weight: 700;
    background: #f7f7f7;
    border-left: 1px solid #e6e6e6;
    text-align: left;
    
	padding: 0.88889em;
}



/*-----------------
    Main slider
-----------------*/
.main_slider
{
    position: relative;
    z-index: 3;

    /*margin-top: -140px;*/

    background: #ddd;
}



.main_slider .stats
{
    font-weight: 700;
    line-height: 22px;

    position: absolute;
    z-index: 9;
    top: 32px;
    left: 24px;

    display: none;

    width: calc(100% - 48px);
    padding: 24px 32px;

    border-radius: 20px;
    background: #fff;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .15);

    justify-content: space-between;
}

.main_slider .stats > *
{
    display: flex;

    width: calc(50% - 20px);

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

.main_slider .stats .val
{
    color: #ef7f1a;
    font-size: 54px;
    line-height: 67px;

    position: relative;
    top: 4px;

    margin-right: 22px;

    white-space: nowrap;
}

.main_slider .stats a
{
    color: #009846;

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

.main_slider .stats a:hover
{
    color: #ef7f1a;
}



.main_slider .slide
{
    position: relative;

    overflow: hidden;
    max-height: 640px;
}


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

    width: 100%;
    height: 100%;

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

.main_slider .slide .bg:after
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    opacity: .2;
    background: #000;
}


.main_slider .slide .cont
{
    min-height: 640px;
    padding-top: 240px;
    padding-bottom: 86px;
}

.main_slider .slide .cont.for-html
{
    padding-top: 30px;
    padding-bottom: 40px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
}


.main_slider .slide .info
{
    width: 800px;
    max-width: 100%;
}


.main_slider .slide .title
{
    color: #fff;
    font-size: 40px; 
    line-height: 1.2;
    font-weight: 700;

    letter-spacing: .05em;
    /*
    font-size: 50px; 
    text-transform: uppercase;
    */
}


.main_slider .slide .link
{
    color: #fff;
    font-size: 13px;
    font-weight: 500;

    display: inline-block;

    margin-top: 35px;
    padding: 12px 27px 12px;

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

    border-radius: 20px;
    background: #009846;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .1);
}

.main_slider .slide .buttons
{
    margin-top: 35px;
    display: flex;
    justify-content: flex-start;
}

.main_slider .slide .buttons .link
{
    margin-top: 0;
    margin-right: 98px;
}

.main_slider .slide .link:hover,
.main_slider .slide .link2
{
    background: #ef7f1a;
}

.main_slider .slide .link2:hover
{
    background: #009846;
}

.main_slider .info-introduction {
    color: #fff;
    width: 100%;
}
.main_slider .introduction-prices {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin-top: 20px;
    width: 100%;
    flex-direction: column;
}
.main_slider .introduction-prices .col {
    /*width: calc(100% / 3 - 40px);*/
    margin-bottom: 25px;
    padding-left: 20px;
    position: relative;
}
.main_slider .introduction-prices .col:before {
    position: absolute;
    top: 10px;
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    content: '';
    border-radius: 50%;
    background: #ef7f1a;
}
.main_slider .introduction-prices .item-name {
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .02em;
}
.main_slider .introduction-prices .item-price {
    margin-top: 10px;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .05em;
    color: #ef7f1a;
}
.main_slider .introduction-contacts {
    display: flex;
    justify-content: flex-start;
    margin: 30px 0 10px;
}
.main_slider .introduction-contacts .col + .col {
    margin-left: 80px;
}
.main_slider .introduction-contacts .city {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 18px;
    line-height: 1;
}
.main_slider .introduction-contacts .city span {
    font-size: 14px;
    font-weight: 400;
}
.main_slider .introduction-contacts .phone
{
    font-size: 22px;
    font-weight: 700;
    line-height: 24px;

    position: relative;

    padding-left: 33px;
}

.main_slider .introduction-contacts .phone .phone_dop
{
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 16px;
}
.main_slider .introduction-contacts .phone .phone_dop span,
.main_slider .introduction-contacts .phone .phone_dop a
{
    font-weight: normal;
}

.main_slider .introduction-contacts .phone img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;
}

.main_slider .introduction-contacts .phone a
{
    color: currentColor;

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

/*----------------
    Advantages
----------------*/
.advantages
{
    padding: 54px 0;
}


.advantages .notice
{
    position: relative;

    display: flex;

    margin-bottom: 60px;
    padding: 40px 30px 30px 170px;

    border-radius: 20px;
    background: #009846;

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


.advantages .notice > .icon
{
    color: #fff;
    font-size: 36px;
    font-weight: 500;
    line-height: 106px;

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

    overflow: hidden;

    width: 100px;
    height: 100px;
    margin: auto;

    text-align: center;

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

.advantages .notice .wrap-title {
	width: calc(100% - 220px);
}

.advantages .notice.without-btn .wrap-title {
    width: 100%;
}

.advantages .notice .title
{
    font-size: 30px;

    
}
.advantages .notice .text
{	
	margin-top: 30px;
	line-height: 1.3;
    position: relative;
}

.advantages .notice .link
{
    color: #fff;
    font-size: 13px;
    font-weight: 500;

    display: inline-block;

    width: 188px;
    padding: 12px 24px 12px;

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

    border-radius: 20px;
    background: #ef7f1a;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .1);
}

.advantages .notice .link:hover
{
    background: #009846;
}

.advantages .notice-img {
	margin-bottom: 30px;
}
.advantages .notice-img img {
	max-width: 100%;
}


.notice-contacts {
    display: flex;
    justify-content: space-between;
    max-width: 820px;
}

.notice-contacts .phone
{
    font-size: 22px;
    font-weight: 700;
    line-height: 24px;

    position: relative;

    padding-left: 33px;
}

.notice-contacts .phone .phone_dop
{
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 16px;
}
.notice-contacts .phone .phone_dop span,
.notice-contacts .phone .phone_dop a
{
    font-weight: normal;
}

.notice-contacts .phone img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;
}

.notice-contacts .phone a
{
    color: currentColor;

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

.notice-contacts .location
{
    position: relative;

    padding-left: 33px;
    font-weight: bold;
}

.notice-contacts .location img
{
    position: absolute;
    top: 0;
    left: 1px;

    display: block;
}



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

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

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


.advantages .item
{
    color: currentColor;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;

    position: relative;

    display: flex;

    padding: 24px;

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

    border-radius: 20px;

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

.advantages .item .icon
{
    display: flex;

    width: 96px;
    height: 92px;

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

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

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

    transition: fill .2s linear;

    fill: #009846;
}

.advantages .item .icon + *
{
    position: relative;

    width: calc(100% - 120px);
}

.advantages .item div span {
    color: #EF7F19;
}

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

    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .1);
}

.advantages .item:hover .icon > *
{
    fill: #ef7f1a;
}



/*--------------
    Articles
--------------*/
.articles.bg
{
    padding: 50px 0;

    background: #f7f7f7;
}


.articles .block_title
{
    margin-bottom: 24px;
}


.articles .sections
{
    display: flex;

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

.articles .section
{
    width: calc(50% - 40px);
}


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

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


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

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


.articles .article .thumb
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 66.43%;

    transition: box-shadow .2s linear;

    background: #ddd;
}

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

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


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

    margin-top: 18px;
}



.articles .article .name
{
    color: #009846;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;

    margin-top: 12px;
}

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

    display: inline-block;

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

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


.articles .article .desc
{
    font-size: 15px;
    line-height: 24px;

    margin-top: 12px;
}


.articles .article:hover .thumb
{
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .1);
}



/*--------------
    Partners
--------------*/
.partners
{
    padding: 40px 0;
}


.partners .swiper-container
{
    overflow: visible !important;

    padding-right: 50px;
}

.partners .swiper-container .slide
{
    transition: opacity .2s linear;
    pointer-events: none;

    opacity: .1;
}

.partners .swiper-container .slide.visible
{
    pointer-events: auto;

    opacity: 1;
}


.partners .item
{
    display: flex;

    height: 160px;
    padding: 24px;

    transition: box-shadow .2s linear;

    border-radius: 20px;

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

.partners .item img
{
    display: block;

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

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



/*------------------
    Free consult
------------------*/
.free_consult .row
{
    justify-content: space-between;
}


.free_consult .item
{
    width: calc(50% - 45px);
}

.free_consult .item .title
{
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;

    margin-bottom: 4px;
}

.free_consult .item * + .title
{
    margin-top: 40px;
}

.free_consult .item ul
{
    margin-top: 20px;
}

.free_consult .item ul li
{
    font-size: 15px;
    line-height: 19px;

    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 22px;

    list-style-type: none;
}

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

.free_consult .item ul li:before
{
    position: absolute;
    top: 4px;
    left: 0;

    display: block;

    width: 8px;
    height: 8px;

    content: '';

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

.free_consult .item .contacts
{
    font-weight: 500;
    line-height: 26px;
}



/*------------
    Videos
------------*/
.videos .row
{
    margin-bottom: -45px;
    margin-left: -32px;

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

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


.videos .video
{
    color: #009846;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;

    display: block;

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

.videos .video .thumb
{
    position: relative;

    overflow: hidden;

    margin-bottom: 16px;
    padding-bottom: 66.67%;

    background: #ddd;
}

.videos .video .thumb:after
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    opacity: .7;
    background: #000 url(../images/ic_video_play.svg) 50%/64px 64px no-repeat;
}

.videos .video .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.videos .video:hover
{
    color: #ef7f1a;
}



/*-----------
    Calc
-----------*/
.calc .data
{
    display: flex;
    overflow: hidden;

    border-radius: 20px;
    background: #fff;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .1);

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


.calc .col_left
{
    width: 50%;
    padding: 50px 55px;
}


.calc .step + .step
{
    margin-top: 45px;
}

.calc .step .name
{
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;

    margin-bottom: 16px;
}


.calc .field + .field
{
    margin-top: 20px;
}


.calc input[type=checkbox],
.calc input[type=radio]
{
    display: none;
}


.calc .inline
{
    display: flex;

    border-radius: 3px;
    background: #f7f7f7;

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

.calc .inline .field
{
    width: 100%;
}

.calc .inline .field + .field
{
    margin-top: 0;
}

.calc .inline label
{
    font-size: 14px;
    font-weight: 500;

    display: block;

    width: 100%;
    padding: 15px 8px;

    cursor: pointer;
    transition: .2s linear;
    text-align: center;

    border-radius: 3px;
}

.calc .inline input[type=radio]:checked + label
{
    background: #fff;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .1);
}


.calc .checkboxes label
{
    line-height: 20px;

    position: relative;

    display: flex;

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

    cursor: pointer;

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

.calc .checkboxes label:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 20px;
    height: 20px;

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

    border: 2px solid #ccc;
    border-radius: 3px;
}

.calc .checkboxes label:after
{
    position: absolute;
    top: 3px;
    left: 6px;

    display: block;

    width: 14px;
    height: 6px;

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

    opacity: 0;
    border-bottom: 2px solid #093;
    border-left: 2px solid #093;
    background: #fff;
    box-shadow: 0 1px 0 2px #fff;
}

.calc .checkboxes input:checked + label:before
{
    border-color: #093;
}

.calc .checkboxes input:checked + label:after
{
    opacity: 1;
}


.calc .submit
{
    margin-top: 40px;
}

.calc .submit_btn
{
    color: #fff;
    font-size: 13px;
    font-weight: 500;

    display: inline-block;

    width: 200px;
    padding: 12px 24px 12px;

    transition: background .2s linear;
    vertical-align: top;
    letter-spacing: .05em;
    text-transform: uppercase;

    border-radius: 20px;
    background: #ef7f1a;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .1);
}

.calc .submit_btn:hover
{
    background: #009846;
}


.calc .col_right
{
    width: 50%;
    padding: 50px 55px;

    background: #f7f7f7;
}

.calc .col_right .title
{
    font-size: 30px;
    font-weight: 700;
    line-height: 30px;

    margin-bottom: 25px;
}

.calc .col_right .desc
{
    line-height: 24px;
}

.calc .col_right img
{
    display: block;

    width: 360px;
    max-width: 85%;
    margin: 20px auto -20px;

    opacity: .07;
}


.calc .result
{
    padding-top: 5px;
}

.calc .result > * + *
{
    margin-top: 30px;
}

.calc .result .name
{
    font-size: 18px;
    font-weight: 800;
    line-height: 24px;

    margin-bottom: 8px;
}

.calc .result ul li
{
    line-height: 22px;

    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 22px;

    list-style-type: none;
}

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

.calc .result ul li:before
{
    position: absolute;
    top: 7px;
    left: 0;

    display: block;

    width: 8px;
    height: 8px;

    content: '';

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

.calc .result a {
	color: #009846;
	transition: color .2s linear;
    text-decoration: none;
}

.calc .result a:hover
{
    color: #ef7f1a;
}


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

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


.documents .section + .section
{
    margin-top: 60px;
}

.documents .section .title
{
    font-size: 24px;
    font-weight: 700;
    line-height: 24px;

    margin-bottom: 30px;
}

.documents .section h3
{
	margin-bottom: 30px;
}

.documents .section a
{
	text-decoration: none;
	color: #009846;
	transition: color .2s linear;
}
.documents .section a:hover
{
	color: #ef7f1a;
}

.documents .section .row
{
    margin-bottom: -30px;
}

.documents .section .row > *
{
    margin-bottom: 30px;
}


.documents .item
{
    color: #333;

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

.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,
.documents .item .date
{
    color: #666;
    line-height: 24px;

    margin-top: 8px;
}

.documents .item .date
{
    color: #666;
    font-size: 14px;
    line-height: 20px;
}

.documents .item .date + .date
{
	margin-top: 0;
}


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

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



/*-----------
    Steps
-----------*/
.steps .row
{
    margin-bottom: -60px;
    margin-left: -60px;
}

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


.steps .step
{
    display: flex;

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


.steps .step .icon
{
    display: flex;

    width: 130px;
    height: 130px;

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

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

.steps .step .icon > *
{
    display: block;

    width: 80px;
    height: 80px;
}

.steps .step .icon + *
{
    width: calc(100% - 166px);

    align-self: center;
}

.steps .step .number
{
    color: #ef7f1a;
    font-size: 24px;
    font-weight: 700;
    line-height: 24px;

    margin-bottom: 12px;
}

.steps .step .name
{
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
}



/*-------------------
    Organizations
-------------------*/
.organizations .filter
{
    margin-bottom: 50px;
    padding: 29px 31px;

    border-radius: 20px;
    background: #f7f7f7;
}

.organizations .filter .form
{
    display: flex;

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

.organizations .filter .form .line
{
    width: calc((100% - 190px) / 3);
    margin: 0;
}

.organizations .filter .form .input
{
    text-transform: uppercase;
}

.organizations .filter .form .submit
{
    width: 130px;
}



.organizations .head
{
    display: flex;

    margin-bottom: 50px;
    padding: 0 20px;

    border-radius: 3px;
    background: #f7f7f7;

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

.organizations .head > * + *
{
    margin-left: 30px;
}


.organizations .head select
{
    display: none;
}

.organizations .head .nice-select
{
    position: relative;

    display: block;
}

.organizations .head .nice-select .current
{
    color: #333;
    font-size: 14px;
    line-height: 46px;

    position: relative;

    display: block;
    overflow: hidden;

    height: 46px;
    padding: 0 22px 0 0;

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

.organizations .head .nice-select .current:after
{
    position: absolute;
    top: -7px;
    right: 2px;
    bottom: 0;

    display: block;

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

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

    border-bottom: 1px solid #0b9d3b;
    border-left: 1px solid #0b9d3b;
}

.organizations .head .nice-select .list
{
    position: absolute;
    z-index: 9;
    top: calc(100% + 30px);
    right: -20px;

    visibility: hidden;
    overflow: hidden;

    min-width: calc(100% + 30px);
    padding: 10px 20px 10px 10px;

    transition: .2s linear;

    opacity: 0;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .15);
}

.organizations .head .nice-select.open .list
{
    top: 100%;

    visibility: visible;

    opacity: 1;
}

.organizations .head .nice-select .list .scrollbar
{
    overflow: auto;

    max-height: 488px;
    padding-right: 20px;

    scrollbar-color: #ef7f1a #f1f1f1;
    scrollbar-width: thin;
}

.organizations .head .nice-select .list .scrollbar::-webkit-scrollbar
{
    border-radius: 5px;
    background-color: #f1f1f1;
}

.organizations .head .nice-select .list .scrollbar::-webkit-scrollbar-thumb
{
    border-radius: 5px;
    background-color: #ef7f1a;
}

.organizations .head .nice-select .list .list_item
{
    font-size: 15px;
    line-height: 24px;

    padding: 8px 10px;

    cursor: pointer;
    transition: background .2s linear;
    white-space: nowrap;
}

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

.organizations .head .nice-select .list .list_item:hover,
.organizations .head .nice-select .list .list_item.selected
{
    background: #f7f7f7;
}


.organizations .head .category
{
    max-width: 50%;
    margin-right: auto;
}

.organizations .head .category .nice-select .list
{
    right: auto;
    left: -20px;

    width: 500px;
}

.organizations .head .category .nice-select .list .list_item
{
    white-space: normal;
}



.organizations .row
{
    margin-bottom: -40px;
    margin-left: -40px;

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

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


.organizations .row .organization
{
    overflow: hidden;

    transition: box-shadow .2s linear;

    border-radius: 3px;
    background: #fff;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .1);
}


.organizations .row .organization .thumb
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 75%;

    background: #ddd;
}

.organizations .row .organization .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.organizations .row .organization .info
{
    font-size: 15px;
    font-weight: 500;
    line-height: 20px;

    padding: 20px;
}

.organizations .row .organization .name
{
    color: #009846;

    margin-top: 12px;
	
	-ms-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;

    /*word-break: break-all;*/
}

.organizations .row .organization .name a
{
    color: currentColor;

    display: inline-block;

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

.organizations .row .organization .thumb:hover ~ .info .name a,
.organizations .row .organization .name a:hover
{
    color: #ef7f1a;
}

.organizations .row .organization:hover
{
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .15);
}



.organizations .cont > .list
{
    column-gap: 80px;
    column-count: 2;
}

.organizations .cont > .list > *
{
    transform: translateZ(0);

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

.organizations .cont > .list > * + *
{
    margin-top: 35px;
}


.organizations .cont > .list .organization
{
    position: relative;

    padding-left: 38px;
}

.organizations .cont > .list .organization.archive
{
	opacity: 0.4;
}

.organizations .cont > .list .organization .number
{
    color: #666;
    font-size: 18px;
    line-height: 24px;

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

.organizations .cont > .list .organization .name
{
    color: #009846;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
}

.organizations .cont > .list .organization .name a
{
    color: currentColor;

    display: inline-block;

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

.organizations .cont > .list .organization .name a:hover
{
    color: #f4981b;
}

.organizations .cont > .list .organization .location
{
    font-size: 15px;
    line-height: 24px;

    margin-top: 8px;
}

.organizations-all-info {
	margin-top: 40px;
}

/*-------------------
    Contacts info
-------------------*/
.contacts_info .row
{
    margin-bottom: -40px;
    margin-left: -40px;
    padding-top: 8px;
}

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

.contacts_info .row > .big {
    width: calc(30% - 40px);
}


.contacts_info .title
{
    font-size: 24px;
    font-weight: 700;

    margin-bottom: 16px;
}

.contacts_info span
{
    font-size: 14px;
    font-weight: 400;
}


.contacts_info .phone
{
    font-weight: 700;
    line-height: 24px;

    position: relative;

    padding-left: 34px;
}

.contacts_info .phone .phone_dop
{
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 16px;
}
.contacts_info .phone .phone_dop span,
.contacts_info .phone .phone_dop a
{
    font-weight: normal;
}

.contacts_info .phone img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;
}

.contacts_info .phone a
{
    color: currentColor;

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


.contacts_info .email
{
    font-weight: 500;
    line-height: 24px;

    position: relative;

    margin-top: 15px;
    padding-left: 34px;
}

.contacts_info .email img
{
    position: absolute;
    top: 3px;
    left: 0;

    display: block;
}

.contacts_info .email a
{
    color: #009846;

    display: inline-block;

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

.contacts_info .email a:hover
{
    color: #ef7f1a;
}


.contacts_info .location
{
    font-weight: 500;
    line-height: 24px;

    position: relative;

    padding-left: 33px;
    margin-top: 15px;
}

.contacts_info .location img
{
    position: absolute;
    top: 0;
    left: 1px;

    display: block;
}


.contacts_info .map_link
{
    font-weight: 500;
    line-height: 24px;

    margin-top: 2px;
    margin-left: 33px;
}

.contacts_info .map_link a
{
    color: #009846;

    display: inline-block;

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

.contacts_info .map_link a:hover
{
    color: #ef7f1a;
}


.contacts_info .time
{
    font-weight: 500;
    line-height: 24px;

    position: relative;

    padding-left: 39px;
}

.contacts_info .time img
{
    position: absolute;
    top: 0;
    left: 6px;

    display: block;
}


.contacts_info .socials
{
    display: flex;

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

.contacts_info .socials a
{
    display: flex;

    width: 25px;
    height: 24px;
    padding: 5px;

    transition: .2s linear;

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

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

.contacts_info .socials a + a
{
    margin-left: 15px;
}

.contacts_info .socials img
{
    display: block;
}

.contacts_info .socials a.vkontakte_link
{
    background: #0072ff;
}

.contacts_info .socials a.viber_link
{
    background: #7b519d;
}

.contacts_info .socials a.whatsapp_link
{
    background: #57b246;
}


.contacts_info .map
{
    position: relative;

    overflow: hidden;

    height: 508px;
    margin-top: 40px;

    background: #ddd;
}

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

    display: block;

    width: 100%;
    height: 100%;
}



/*---------------------
    LK info - Enter
---------------------*/
.lk_info .enter
{
    display: flex;

    padding: 29px 59px;

    border-radius: 20px;
    background: #f7f7f7;

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


.lk_info .enter .title
{
    font-size: 30px;
    font-weight: 700;
    line-height: 34px;

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


.lk_info .enter .link
{
    color: #fff;
    font-size: 13px;
    font-weight: 500;

    display: inline-block;

    width: 310px;
    max-width: 100%;
    padding: 17px 24px 15px;

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

    border-radius: 25px;
    background: #ef7f1a;
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, .1);
}

.lk_info .enter .link:hover
{
    background: #009846;
}



/*---------------------------
    LK info - Information
---------------------------*/
.lk_info .information
{
    margin-top: 70px;
    margin-bottom: 120px;
}


.lk_info .information .row
{
    margin-bottom: -40px;
    margin-left: -20px;

    justify-content: space-between;
}

.lk_info .information .row > *
{
    max-width: calc(33.333% - 20px);
    margin-bottom: 40px;
    margin-left: 20px;
}


.lk_info .information .item
{
    display: flex;

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


.lk_info .information .item .icon
{
    color: currentColor;

    display: flex;

    width: 130px;
    height: 130px;

    text-decoration: none;

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

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

.lk_info .information .item .icon > *
{
    display: block;

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

    transition: fill .2s linear;

    fill: #009846;
}

.lk_info .information .item .icon + *
{
    width: calc(100% - 152px);

    align-self: center;
}


.lk_info .information .item .title
{
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;

    margin-bottom: 8px;
}


.lk_info .information .item .desc
{
    font-size: 15px;
    line-height: 24px;

    white-space: nowrap;
}

.lk_info .information .item .desc a
{
    color: #009846;

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

.lk_info .information .item .desc a:hover
{
    color: #ef7f1a;
}


.lk_info .information .item:hover .icon > *
{
    fill: #ef7f1a;
}



/*------------------
    Article info
------------------*/
.article_info .head
{
    margin-bottom: 20px;
}

.article_info .head .article_title
{
    color: #333;
    font-size: 36px;
    font-weight: 700;
    line-height: 46px;

    display: block;
}

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

    margin-top: 16px;
}


.article_info .source
{
    font-style: italic;
    line-height: 24px;

    margin-top: 20px;

    text-align: right;
}

.article_info .source a
{
    color: #009846;

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

.article_info .source a:hover
{
    color: #ef7f1a;
}



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

.gallery .swiper-container:before
{
    position: absolute;
    z-index: 5;
    top: 0;
    left: 100%;

    display: block;

    width: 100vw;
    height: 100%;

    content: '';

    background: var(--bg);
}

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

    display: block;

    width: 191px;
    height: 100%;

    content: '';

    background:    -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
    background:         linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
}

.gallery .swiper-container .slide
{
    transition: opacity .2s linear;
    pointer-events: none;

    opacity: 0;
}

.gallery .swiper-container .slide.visible
{
    pointer-events: auto;

    opacity: 1;
}


.gallery .item
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 66.75%;

    transition: box-shadow .2s linear;

    background: #ddd;
}

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

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

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



/*-----------------------
    Organization info
-----------------------*/
.organization_info .data
{
    overflow: hidden;

    border: 1px solid #e6e6e6;
    border-radius: 3px;
}

.organization-wrap-btn {
	margin-top: 30px;
}

.organization_info .data .item
{
    line-height: 24px;

    display: flex;

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

.organization_info .data .item + .item
{
    border-top: 1px solid #e6e6e6;
}

.organization_info .data .name
{
    font-weight: 500;

    width: 50%;
    padding: 16px 19px;

    background: #f7f7f7;
}

.organization_info .data .name.full_w
{
    width: 100%;
}

.organization_info .data .val
{
    width: 50%;
    padding: 16px 19px;
}

.organization_info .data .name + .val
{
    border-left: 1px solid #e6e6e6;
}

.organization_info .data .val > * + *
{
    margin-top: 12px;
}

.organization_info .data .val a
{
    color: #009846;

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

.organization_info .data .val a:hover
{
    color: #ef7f1a;
}



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



/*-------------------
    Search result
-------------------*/
.search_result .form
{
    display: flex;

    margin-bottom: 60px;
    padding: 29px 31px;

    border-radius: 20px;
    background: #f7f7f7;

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

.search_result .form .line
{
    width: calc(100% - 160px);
    margin: 0;
}

.search_result .form .submit
{
    width: 130px;
    padding: 0;
}



.search_result .list
{
    width: 1060px;
    max-width: 100%;
}

.search_result .list > * + *
{
    margin-top: 25px;
}


.search_result .item
{
    position: relative;

    padding-left: 30px;
}

.search_result .item .number
{
    color: #666;
    font-size: 18px;
    line-height: 24px;

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

.search_result .item .name
{
    color: #009846;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
}

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

    display: inline-block;

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

.search_result .item .thumb:hover ~ .name a,
.search_result .item .name a:hover
{
    color: #f4981b;
}

.search_result .item .desc
{
    font-size: 15px;
    line-height: 24px;

    margin-top: 8px;
}



/*----------------
    Requisites
----------------*/
.requisites .data
{
    display: flex;
    overflow: hidden;

    border: 1px solid #e6e6e6;
    border-radius: 3px;

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


.requisites .data .item
{
    line-height: 26px;

    width: 25%;
}

.requisites .data .item + .item
{
    border-left: 1px solid #e6e6e6;
}

.requisites .data .name
{
    font-size: 18px;
    font-weight: 700;

    padding: 16px 19px;

    background: #f7f7f7;
}

.requisites .data .val
{
    padding: 16px 19px;

    border-top: 1px solid #e6e6e6;
}



/*-----------------
    Specialists
-----------------*/
.specialists h2 {
	margin-bottom: 30px;
}
.specialists .row + h2 {
	margin-top: 20px;
}
.specialists .row
{
    margin-bottom: 0;
    margin-left: -60px;
}

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


.specialists .person
{
    display: flex;

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


.specialists .person .photo
{
    position: relative;

    display: block;
    overflow: hidden;

    width: 130px;
    height: 130px;

    border-radius: 50%;
    background: #f7f7f7 url(../images/no_image.png) 50% no-repeat;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .1);
}

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

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}

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

    align-self: center;
}


.specialists .person .name
{
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
}

.specialists .person .post
{
    font-weight: 500;
    line-height: 24px;

    margin-top: 8px;
}

.specialists .person .contacts
{
    font-weight: 500;
    line-height: 26px;

    display: flex;

    margin-top: 8px;
    margin-left: -20px;

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

.specialists .person .contacts > *
{
    margin-left: 20px;
}

.specialists .person .contacts a,
.specialists .person a.name 
{
    color: #093;
    line-height: inherit;

    display: inline-block;

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

.specialists .person .contacts a:hover,
.specialists .person a.name:hover
{
    color: #ef7f1a;
}



/*-------------------
    Photo_gallery
-------------------*/
.photo_gallery .row
{
    margin-bottom: -40px;
    margin-left: -40px;
}

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


.photo_gallery .item
{
    color: currentColor;

    display: block;

    text-decoration: none;
}


.photo_gallery .item .thumb
{
    position: relative;

    overflow: hidden;

    padding-bottom: 66.43%;

    transition: box-shadow .2s linear;

    background: #ddd;
}

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

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.photo_gallery .item .date
{
    color: #666;
    font-size: 13px;

    margin-top: 15px;
}


.photo_gallery .item .name
{
    color: #009846;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;

    margin-top: 12px;

    transition: color .2s linear;
}


.photo_gallery .item:hover .thumb
{
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .2);
}

.photo_gallery .item:hover .name
{
    color: #f4981b;
}



/*--------------
    Registry
--------------*/
.registry .cont > .row
{
    overflow: hidden;

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

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


.registry .filter
{
    width: 50%;
    padding: 60px;
}


.registry .filter .title
{
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;

    position: relative;

    margin-bottom: 20px;
}

.registry .filter .title.spoler_btn
{
    margin: 0;
    padding-right: 25px;

    cursor: pointer;
}

.registry .filter .title.spoler_btn:after
{
    position: absolute;
    top: -4px;
    right: 2px;
    bottom: 0;

    display: block;

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

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

    border-bottom: 1px solid #ef7f1a;
    border-left: 1px solid #ef7f1a;
}

.registry .filter .title.spoler_btn.active:after
{
    top: 3px;

    transform: rotate(-225deg);
}


.registry .filter .form .line
{
    margin-bottom: 24px;
}


.registry .filter * + .category
{
    margin-top: 40px;
}


.registry .filter .form .data
{
    display: none;

    margin-top: 20px;
}


.registry .filter .form .scroll
{
    overflow: auto;

    max-height: 815px;
    padding-right: 20px;

    scrollbar-color: #ef7f1a #f1f1f1;
    scrollbar-width: thin;
}

.registry .filter .form .scroll.big_h
{
    max-height: 1075px;
}

.registry .filter .form .scroll::-webkit-scrollbar
{
    border-radius: 5px;
    background-color: #f1f1f1;
}

.registry .filter .form .scroll::-webkit-scrollbar-thumb
{
    border-radius: 5px;
    background-color: #ef7f1a;
}


.registry .filter .form .checkbox
{
    font-size: 15px;
    line-height: 18px;

    padding-top: 2px;
}

.registry .filter .form .checkbox ~ .checkbox
{
    margin-top: 20px;
}

.registry .filter .form .checkbox .arr
{
    position: relative;
    top: -1px;

    display: inline-block;

    width: 12px;
    height: 8px;
    margin-left: 6px;

    vertical-align: middle;
}

.registry .filter .form .checkbox .arr:after
{
    position: absolute;
    top: -3px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

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

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

    border-bottom: 1px solid #ef7f1a;
    border-left: 1px solid #ef7f1a;
}



.registry .list
{
    width: 50%;
    padding: 60px;

    background: #f7f7f7;
}


.registry .list .title
{
    font-size: 30px;
    font-weight: 700;
    line-height: 30px;

    margin-bottom: 25px;
}


.registry .list .organization
{
    position: relative;

    padding-left: 38px;
}

.registry .list .organization.archive
{
	opacity: 0.7;
}

.registry .list .organization + .organization
{
    margin-top: 25px;
}

.registry .list .organization .number
{
    color: #666;
    font-size: 18px;
    line-height: 24px;

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

.registry .list .organization .name
{
    color: #009846;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
}

.registry .list .organization .name a
{
    color: currentColor;

    display: inline-block;

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

.registry .list .organization .name a:hover
{
    color: #f4981b;
}



/*----------------------
    Last page update
----------------------*/
.last_page_update
{
    color: #666;
    font-size: 14px;
    line-height: 20px;
    margin-top: 30px;
}



/*-----------------
    Action form
-----------------*/
.action_form
{
    padding: 50px 0;

    background: #f7f7f7;
}

.action_form .title
{
    font-size: 30px;
    font-weight: 700;
    line-height: 34px;

    margin-bottom: 30px;

    text-align: center;
}

.action_form .form label.checkbox:after
{
    background: #f7f7f7;
    box-shadow: 0 1px 0 2px #f7f7f7;
}



/*------------
    Footer
------------*/
footer
{
    padding: 40px 0;

    background: #009846;
}

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


footer .col_left
{
    position: relative;

    width: 420px;
    max-width: 420px;
    padding-bottom: 70px;
}



footer .copyright
{
    color: #fff;
    line-height: 22px;
}


footer .required_link
{
    color: #fff;
    font-size: 14px;
    line-height: 20px;

    margin-top: 25px;
}


footer .bottom
{
    color: #fff;
    font-size: 14px;
    line-height: 24px;

    position: absolute;
    bottom: 0;
    left: 0;

    display: flex;

    width: 100%;

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

footer .bottom > * + *
{
    margin-left: 60px;
}

footer .bottom .policy_link {
    width: 100%;
    margin-bottom: 10px;
}

footer .creator {
    margin-left: 0;
}


footer .creator a
{
    color: currentColor;

    display: inline-block;

    transition: opacity .2s linear;
    vertical-align: top;
    text-decoration: none;
    border-bottom: 1px solid #fff;
    opacity: .5;
    line-height: 18px;
}

footer .creator a:hover
{
    opacity: 1;
}


footer .site_map_link a,
footer .bottom .policy_link a
{
    color: currentColor;

    display: inline-block;

    transition: border .2s linear;
    vertical-align: top;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    line-height: 18px;
}

footer .site_map_link a:hover,
footer .bottom .policy_link a:hover
{
    border-bottom-color: #fff;
}

footer .menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}
footer .menu a,
footer .menu span
{
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;

    display: inline-block;

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

footer .menu a:hover
{
    color: #ef7f1a;
}

footer .contacts-groups {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}


footer .contacts
{
    color: #fff;
    font-weight: 500;
    line-height: 24px;
}

footer .contacts:first-child
{
    margin-right: 70px;
}

footer .contacts > *
{
    position: relative;

    padding-left: 33px;
}

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

footer .contacts .city {
    font-weight: 700;
    font-size: 20px;
    padding-left: 0;
    line-height: 1;
}
footer .contacts .city span {
    font-weight: 400;
    font-size: 14px;
}

footer .contacts .icon
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;
}


footer .contacts .phone a
{
    color: currentColor;
    font-weight: 700;

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

footer .contacts .phone_dop {
    line-height: 18px;
    font-size: 14px;
    margin-top: 10px;
}
footer .contacts .phone .phone_dop span,
footer .contacts .phone .phone_dop a {
    font-weight: normal;
}

footer .contacts .email .icon
{
    top: 2px;
}

footer .contacts .email a
{
    color: currentColor;

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

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

.mfp-close {
	cursor: pointer !important;
}
.mfp-close-btn-in .form .mfp-close {
	color: #ef7f1a;
	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-radius: 20px;
}
.popup-title {
	font-size: 30px;
    font-weight: 700;
    line-height: 34px;
    margin-bottom: 30px;
    text-align: center;
}
.form .popup-submit {
	margin-top: 30px;
	justify-content: center
}
.form .popup-submit .submit_btn {
	width: 250px;
}


.help_links_item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.help_links_item + .help_links_item {
    margin-top: 60px;
}
.help_links_item .help_links_logo {
    width: 230px;
    flex: 0 0 230px;
    margin-right: 30px;
    display: flex;
    justify-content: center;
}
.help_links_item .help_links_logo img {
    max-width: 100%;
    height: auto;
}


@media (min-width: 1024px) and (max-height: 975px) {
	.arrow-wr {
	    height: 70px;
	    margin: 20px 0;
	    position: fixed;
	    right: 20px;
	    bottom: 20px;
	    transition: all 0.3s;
	    z-index: 1000;
	}
	.arrow-wr.hide {
		opacity: 0;
		visibility: hidden;
	}
	.arrow {
	    width: 0;
	    height: 40px;
	    border: 3px solid #ef7f1a;
	    position: relative;
	    animation: scroll 1.5s infinite;
	    margin: auto;
	}
	.arrow::after {
	    content: '';
	    display: block;
	    position: absolute;
	    top: 100%;
	    left: -10px;
	    width: 1px;
	    height: 20px;
	    border-top: 20px solid #ef7f1a;
	    border-left: 10px solid transparent;
	    border-right: 10px solid transparent;
	}
	@keyframes scroll {
	    0% {
	        height: 40px;
	    }
	    30% {
	        height: 70px;
	    }
	    60% {
	        height: 40px;
	    }
	}
}

@media print, (max-width: 1279px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --sidebar_width: 276px;
        --font_size: 15px;
        --font_size_title: 28px;
    }



    .block_title
    {
        font-size: 30px;
        line-height: 36px;

        margin-bottom: 24px;
    }


    .content_flex .content
    {
        width: calc(100% - var(--sidebar_width) - 40px);
    }



    /*----------------
        Pagination
    ----------------*/
    .pagination
    {
        margin-top: 40px;
    }



    /*---------------
        Accordion
    ---------------*/
    .accordion .item .head
    {
        padding: 16px 64px 16px 24px;
    }

    .accordion .item .head .title
    {
        font-size: 20px;
        line-height: 26px;
    }

    .accordion .item .data
    {
        padding: 20px 24px;
    }



    /*------------
        Header
    ------------*/
    header .top .cont
    {
        min-height: 44px;
    }


    header .info
    {
        padding-bottom: 64px;
    }


    header .search
    {
        width: 320px;
        margin-left: 0;
    }

    header .search .input
    {
        height: 44px;
    }


    header .account a
    {
        width: auto;
    }


    header .logo
    {
        width: auto;
    }

    header .logo img
    {
        width: 240px;
        margin-left: -45px;
    }


    header .slogan
    {
        font-size: 22px;
        line-height: 26px;

        width: 212px;
        margin-left: 24px;
    }

    header .slogan .small
    {
        font-size: 13px;
        line-height: 19px;

        margin-top: 4px;
    }

    header .slogan img
    {
        left: -8px;

        width: calc(100% + 24px);
    }



    header .contacts .row + .row
    {
        margin-top: 16px;
    }

    header .contacts .col_left
    {
        line-height: 16px;
        font-size: 12px;
    }

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



    header .contacts .callback_btn
    {
        font-size: 12px;

        width: 184px;
        margin-left: 20px;
    }

    header .contacts .city {
        font-size: 16px;
        margin-bottom: 14px;
    }

    header .contacts .col_left > * + * {
        margin-top: 7px;
    }

    header .contacts .email {
        margin-top: 2px;
    }


    header .menu .item > a,
    header .menu .item > span
    {
        font-size: 12px;
        line-height: 20px;

        min-height: 52px;
    }


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

        padding: 12px 0;
    }

    header .menu .sub_menu a
    {
        font-size: 13px;
        line-height: 17px;

        padding: 6px 20px;
    }



    header .stats
    {
        line-height: 20px;
    }

    header .stats .val
    {
        font-size: 44px;
        line-height: 52px;

        top: 2px;

        margin-right: 14px;
    }



    /*-------------
        Sidebar
    -------------*/
    aside > * + *
    {
        margin-top: 40px;
    }


    aside .organizations .row .organization + .organization
    {
        margin-top: 24px;
    }



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


    .page_title
    {
        font-size: 40px;
        line-height: 40px;
    }


    .breadcrumbs
    {
        font-size: 13px;
    }


    .page_head .links
    {
        font-size: 18px;
        line-height: 22px;

        margin-top: 24px;
        margin-left: -32px;
    }

    .page_head .links > *
    {
        max-width: calc(100% - 32px);
        margin-left: 32px;
    }



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



    /*------------------
        Form elements
    ------------------*/
    .form .columns
    {
        --form_columns_offset: 24px;
    }

    .form .submit_btn
    {
        padding: 10px 24px 8px;
    }



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


    .text_block h2
    {
        font-size: 22px;
        line-height: 26px;
    }


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


    .text_block blockquote
    {
        padding: 32px 32px 32px 152px;
    }

    .text_block blockquote:before
    {
        font-size: 52px;
        line-height: 102px;

        top: 32px;
        left: 32px;

        width: 92px;
        height: 92px;
    }



    /*-----------------
        Main slider
    -----------------*/
    .main_slider
    {
        /*margin-top: -98px;*/
    }


    .main_slider .slide .cont
    {
        min-height: 520px;
        padding-top: 170px;
        padding-bottom: 92px;
    }


    .main_slider .slide .info
    {
        width: 600px;
    }

    .main_slider .slide .title
    {
        font-size: 28px;
    }

    .main_slider .slide .link
    {
        font-size: 13px;

        margin-top: 31px;
        padding: 12px 24px 12px;
    }


    .main_slider .swiper-container-horizontal > .swiper-pagination-bullets,
    .main_slider .swiper-pagination-custom,
    .main_slider .swiper-pagination-fraction
    {
        right: auto;
        bottom: 34px;
        left: 24px;

        margin: 0;
    }

    .main_slider .swiper-button-prev
    {
        right: 56px;
        bottom: 28px;

        margin: 0 !important;
    }

    .main_slider .swiper-button-next
    {
        right: 24px;
        bottom: 28px;

        margin-right: 0;
    }



    /*----------------
        Advantages
    ----------------*/
    .advantages
    {
        padding: 50px 0;
    }


    .advantages .notice
    {
        margin-bottom: 48px;
        padding: 30px 24px 25px 140px;
    }

    .advantages .notice > .icon
    {
        font-size: 34px;
        line-height: 96px;

        left: 24px;

        width: 92px;
        height: 92px;
    }

	.advantages .notice .wrap-title {
	    width: calc(100% - 220px);
	}
    .advantages .notice .title
    {
        font-size: 26px;
        line-height: 32px;

        
    }


    .advantages .row > *
    {
        width: calc(33.333% - 12px);
    }

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

        padding: 12px 16px;
    }

    .advantages .item br
    {
        display: none;
    }

    .advantages .item .icon
    {
        width: 80px;
        height: 80px;
    }

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



    /*--------------
        Articles
    --------------*/
    .articles .section
    {
        width: calc(50% - 20px);
    }


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

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


    .articles .article .date
    {
        margin-top: 12px;
    }

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

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



    /*------------------
        Article info
    ------------------*/
    .article_info .head .article_title
    {
        font-size: 28px;
        line-height: 36px;
    }

    .article_info .head .date
    {
        line-height: 23px;

        margin-top: 12px;
    }



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

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


    .documents .section .title
    {
        font-size: 22px;
        line-height: 24px;

        margin-bottom: 24px;
    }


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



    /*-------------------
        Organizations
    -------------------*/
    .organizations .filter
    {
        margin-bottom: 40px;
        padding: 24px;
    }


    .organizations .head
    {
        margin-bottom: 32px;
    }

    .organizations .head .nice-select .list .scrollbar
    {
        max-height: 400px;
        padding-right: 16px;
    }

    .organizations .head .nice-select .list .list_item
    {
        font-size: 14px;
        line-height: 20px;
    }


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

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


    .organizations .row .organization .info
    {
        font-size: 14px;
        line-height: 18px;

        padding: 16px;
    }



    .organizations .cont > .list
    {
        column-gap: 60px;
    }

    .organizations .cont > .list > * + *
    {
        margin-top: 32px;
    }

    .organizations .cont > .list .organization .number,
    .organizations .cont > .list .organization .name
    {
        font-size: 17px;
        line-height: 23px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .row
    {
        margin-bottom: -32px;
        margin-left: -32px;
    }

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

    .contacts_info .row > .big {
        width: calc(30% - 32px);
    }


    .contacts_info .title
    {
        font-size: 20px;
    }


    .contacts_info .location,
    .contacts_info .time
    {
        line-height: 23px;
    }

    .contacts_info .location br
    {
        display: none;
    }


    .contacts_info .map
    {
        height: 400px;
    }



    /*-------------------
        Photo_gallery
    -------------------*/
    .photo_gallery .row
    {
        margin-bottom: -32px;
        margin-left: -24px;
    }

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


    .photo_gallery .item .name
    {
        font-size: 16px;
        line-height: 22px;

        margin-top: 10px;
    }



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



    /*--------------
        Partners
    --------------*/
    .partners .item
    {
        height: 112px;
        padding: 20px;
    }



    /*---------------------
        LK info - Enter
    ---------------------*/
    .lk_info .enter
    {
        padding: 24px 32px;
    }

    .lk_info .enter .title
    {
        font-size: 25px;
        line-height: 31px;

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

    .lk_info .enter .link
    {
        width: 280px;
        padding: 16px 24px 14px;
    }



    /*---------------------------
        LK info - Information
    ---------------------------*/
    .lk_info .information
    {
        margin-top: 60px;
        margin-bottom: 72px;
    }


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

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


    .lk_info .information .item .icon
    {
        width: 112px;
        height: 112px;
    }

    .lk_info .information .item .icon > *
    {
        width: 64px;
        height: 64px;
    }

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

    .lk_info .information .item .title
    {
        font-size: 17px;
        line-height: 21px;
    }

    .lk_info .information .item .desc
    {
        font-size: 14px;
        line-height: 20px;

        white-space: normal;
    }

    .lk_info .information .item .desc br
    {
        display: none;
    }



    /*------------
        Videos
    ------------*/
    .videos .row
    {
        margin-bottom: -40px;
        margin-left: -24px;
    }

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


    .videos .video
    {
        font-size: 17px;
        line-height: 23px;
    }

    .videos .video .thumb
    {
        margin-bottom: 12px;
    }



    /*-----------
        Calc
    -----------*/
    .calc .col_left,
    .calc .col_right
    {
        padding: 40px;
    }


    .calc .step + .step
    {
        margin-top: 40px;
    }

    .calc .step .name
    {
        font-size: 17px;
        line-height: 23px;
    }

    .calc .field + .field
    {
        margin-top: 16px;
    }

    .calc .inline label
    {
        padding: 12px;
    }

    .calc .submit
    {
        margin-top: 32px;
    }


    .calc .col_right .title
    {
        font-size: 24px;
        line-height: 28px;

        margin-bottom: 24px;
    }

    .calc .col_right .desc
    {
        line-height: 23px;
    }


    .calc .result .name
    {
        font-size: 17px;
        line-height: 21px;

        margin-bottom: 10px;
    }

    .calc .result ul li + li
    {
        margin-top: 6px;
    }



    /*------------------
        Free consult
    ------------------*/
    .free_consult .item
    {
        width: calc(50% - 24px);
    }

    .free_consult .item .title
    {
        font-size: 19px;
        line-height: 23px;

        margin-bottom: 6px;
    }

    .free_consult .item .contacts
    {
        line-height: 24px;
    }



    /*-----------
        Steps
    -----------*/
    .steps .row
    {
        margin-bottom: -40px;
        margin-left: -40px;
    }

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


    .steps .step .icon
    {
        width: 112px;
        height: 112px;
    }

    .steps .step .icon > *
    {
        width: 64px;
        height: 64px;
    }

    .steps .step .icon + *
    {
        width: calc(100% - 132px);
    }

    .steps .step .number
    {
        font-size: 20px;
        line-height: 22px;

        margin-bottom: 8px;
    }

    .steps .step .name
    {
        font-size: 16px;
        line-height: 22px;
    }

    .steps .step .name br
    {
        display: none;
    }



    /*-----------------------
        Organization info
    -----------------------*/
    .organization_info .data .item
    {
        line-height: 23px;
    }

    .organization_info .data .name,
    .organization_info .data .val
    {
        padding: 12px 16px;
    }



    /*--------------
        Registry
    --------------*/
    .registry .filter,
    .registry .list
    {
        padding: 40px;
    }


    .registry .filter .title
    {
        font-size: 17px;
        line-height: 23px;

        margin-bottom: 16px;
    }

    .registry .filter .form .scroll
    {
        max-height: 692px;
    }

    .registry .filter .form .scroll.big_h
    {
        max-height: 934px;
    }

    .registry .filter .form .line
    {
        margin-bottom: 20px;
    }

    .registry .filter .form .checkbox
    {
        font-size: 14px;
    }

    .registry .filter .form .checkbox ~ .checkbox
    {
        margin-top: 16px;
    }


    .registry .list .title
    {
        font-size: 24px;
        line-height: 28px;

        margin-bottom: 24px;
    }

    .registry .list .organization + .organization
    {
        margin-top: 20px;
    }

    .registry .list .organization .name
    {
        font-size: 17px;
        line-height: 23px;
    }

    .registry .list .pagination > *:nth-child(n+6):nth-child(-n+8)
    {
        display: none;
    }



    /*----------------
        Requisites
    ----------------*/
    .requisites .data .item
    {
        line-height: 24px;
    }

    .requisites .data .name
    {
        font-size: 17px;

        padding: 12px 16px;
    }

    .requisites .data .val
    {
        padding: 12px 16px;
    }



    /*-------------------
        Search result
    -------------------*/
    .search_result .form
    {
        margin-bottom: 40px;
        padding: 24px;
    }


    .search_result .list > * + *
    {
        margin-top: 24px;
    }


    .search_result .item .number,
    .search_result .item .name
    {
        font-size: 17px;
        line-height: 23px;
    }

    .search_result .item .desc
    {
        font-size: 14px;
        line-height: 20px;
    }



    /*-----------------
        Specialists
    -----------------*/
    .specialists .row
    {
        margin-bottom: 0;
        margin-left: -40px;
    }

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


    .specialists .person .photo
    {
        width: 112px;
        height: 112px;
    }

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

    .specialists .person .name
    {
        font-size: 18px;
        line-height: 22px;
    }

    .specialists .person .post
    {
        font-size: 14px;
        line-height: 20px;
    }

    .specialists .person .contacts
    {
        line-height: 23px;
    }



    /*-----------------
        Action form
    -----------------*/
    .action_form .title
    {
        font-size: 28px;
        line-height: 32px;

        margin-bottom: 28px;
    }



    /*------------
        Footer
    ------------*/
    footer .col_left
    {
        width: 370px;
        max-width: 370px;
    }


    footer .menu a,
    footer .menu span
    {
        font-size: 12px;
    }


    footer .required_link {
        margin-top: 10px;
    }

    footer .contacts:first-child {
        margin-right: 40px;
    }

    footer .contacts
    {
        line-height: 21px;
    }

    footer .contacts .icon
    {
        top: -2px;
    }

    footer .contacts .city {
        font-size: 18px;
    }


    .main_slider .introduction-prices {
        margin-top: 18px;
    }
    .main_slider .introduction-contacts {
        margin: 10px 0 0;
    }
    .main_slider .slide .buttons {
        margin-top: 25px;
    }
    .main_slider .introduction-contacts .city {
        font-size: 18px;
        margin-bottom: 13px;
    }
    .main_slider .slide .cont.for-html {
        padding-top: 5px;
    }
    .main_slider .introduction-prices .col {
        margin-bottom: 18px;
    }
    .main_slider .introduction-prices .item-name {
        font-size: 20px;
    }
    .main_slider .introduction-prices .item-price {
        margin-top: 7px;
        font-size: 17px;
    }
    .main_slider .introduction-contacts .phone {
        font-size: 18px;
    }
    .main_slider .slide .buttons .link {
        margin-right: 72px;
    }

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

@media print, (max-width: 1023px)
{
    /*-------------------
        Global styles
    -------------------*/
    html.custom_scroll ::-webkit-scrollbar
    {
        width: 5px;
        height: 5px;
    }


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

        margin-bottom: 28px;
    }


    .content_flex .content
    {
        width: 100%;
    }


    .tablet_hide
    {
        display: none;
    }



    /*---------------
        Accordion
    ---------------*/
    .accordion .item .head .title
    {
        font-size: 18px;
        line-height: 24px;
    }



    /*------------
        Header
    ------------*/
    .mob_header
    {
        display: block;
    }


    header
    {
        position: fixed;
        z-index: 101;
        top: 0;
        left: 0;

        display: none !important;

        width: 310px;
        height: 100%;
        min-height: -moz-available;
        min-height: -webkit-fill-available;
        min-height:         fill-available;
        margin: 0;

        transition: transform .3s linear;
        transform: translateX(-100%);

        background: #fff;
    }



    /*-------------
        Sidebar
    -------------*/
    aside
    {
        display: flex;

        width: 100%;
        margin-top: 40px;
        margin-bottom: -32px;

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

    aside > *
    {
        margin-bottom: 32px;
    }

    aside > * + *
    {
        margin-top: 0;
    }


    aside .img
    {
        display: none;
    }


    aside .file
    {
        width: calc(50% - 20px);
        display: none;
    }



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

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

    aside .organizations .row .organization + .organization
    {
        margin-top: 0;
    }



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


    .page_head .head
    {
        border-width: 1px;
    }


    .page_title
    {
        font-size: 34px;
        line-height: 34px;
    }


    .breadcrumbs
    {
        font-size: 12px;
    }


    .page_head .links
    {
        font-size: 17px;
        line-height: 21px;

        margin-top: 20px;
    }



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



    /*------------------
        Form elements
    ------------------*/
    .form .columns > *.width1of4,
    .form .columns > *.width2of4,
    .form .columns > *.width3of4
    {
        width: calc(50% - var(--form_columns_offset));
    }



    /*----------------
        Typography
    ----------------*/
    .text_block h2
    {
        font-size: 21px;
        line-height: 25px;
    }


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


    .text_block > img
    {
        width: calc(100% + 48px);
        max-width: calc(100% + 48px);
        margin-right: -24px;
        margin-left: -24px;
    }



    /*-----------------
        Main slider
    -----------------*/
    .main_slider
    {
        margin-top: 0;
    }



    .main_slider .stats
    {
        display: flex;
    }



    .main_slider .slide .cont
    {
        min-height: 420px;
        padding-top: 268px;
        padding-bottom: 50px;
    }

    .main_slider .slide .info
    {
        width: 520px;
    }

    .main_slider .slide .title
    {
        font-size: 24px;
    }

    .main_slider .slide .link
    {
        font-size: 12px;

        margin-top: 24px;
    }


    .main_slider .swiper-container-horizontal > .swiper-pagination-bullets,
    .main_slider .swiper-pagination-custom,
    .main_slider .swiper-pagination-fraction
    {
        display: none !important;
    }

    .main_slider .swiper-button-next,
    .main_slider .swiper-button-prev
    {
        bottom: 50px;
    }



    /*----------------
        Advantages
    ----------------*/
    .advantages .notice
    {
        margin-bottom: 32px;
    }

	.advantages .notice .wrap-title
    {
	    width: calc(100% - 210px);
	}


    .notice-contacts {
        display: block;
        text-align: left;
    }

    .notice-contacts > * + * {
        margin-top: 30px;
    }



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


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

        padding: 12px 16px;
    }

    .advantages .item .icon
    {
        width: 64px;
        height: 64px;
    }

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



    /*--------------
        Articles
    --------------*/
    .articles .section
    {
        width: 100%;
    }

    .articles .section + .section
    {
        margin-top: 40px;
    }


    .articles .row > *
    {
        width: calc(33.333% - 24px);
    }



    /*------------------
        Article info
    ------------------*/
    .article_info .head .article_title
    {
        font-size: 24px;
        line-height: 30px;
    }



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



    /*-------------------
        Organizations
    -------------------*/
    .organizations .filter .form
    {
        margin-bottom: -16px;
    }

    .organizations .filter .form .line
    {
        width: calc(50% - 8px);
        margin-bottom: 16px;
    }


    .organizations .row > *
    {
        width: calc(33.333% - 24px);
    }


    .organizations .cont > .list
    {
        column-gap: 0;
        column-count: 1;
    }

    .organizations .cont > .list > * + *
    {
        margin-top: 24px;
    }


    .organizations .cont > .list .organization .location
    {
        font-size: 14px;
        line-height: 20px;

        margin-top: 6px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .row > *
    {
        width: calc(50% - 32px);
    }

    .contacts_info .row > .big {
        width: calc(50% - 32px);
    }


    .contacts_info .title
    {
        font-size: 18px;
    }



    /*-------------------
        Photo_gallery
    -------------------*/
    .photo_gallery .row > *
    {
        width: calc(33.333% - 24px);
    }



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



    /*---------------------
        LK info - Enter
    ---------------------*/
    .lk_info .enter
    {
        padding: 20px 24px;
    }

    .lk_info .enter .title
    {
        font-size: 20px;
        line-height: 24px;

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

    .lk_info .enter .link
    {
        width: 260px;
    }



    /*---------------------------
        LK info - Information
    ---------------------------*/
    .lk_info .information
    {
        margin-top: 50px;
        margin-bottom: 60px;
    }


    .lk_info .information .row
    {
        margin-bottom: -24px;
    }

    .lk_info .information .row > *
    {
        margin-bottom: 24px;
    }


    .lk_info .information .item .icon
    {
        width: 92px;
        height: 92px;
    }

    .lk_info .information .item .icon > *
    {
        width: 52px;
        height: 52px;
    }

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



    /*-----------
        Calc
    -----------*/
    .calc .col_left,
    .calc .col_right
    {
        width: 100%;
    }



    /*------------------
        Free consult
    ------------------*/
    .free_consult .item
    {
        width: calc(50% - 16px);
    }

    .free_consult .item .title
    {
        font-size: 18px;
        line-height: 24px;
    }



    /*-----------
        Steps
    -----------*/
    .steps .row
    {
        margin-bottom: -32px;
        margin-left: -32px;
    }

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


    .steps .step .icon
    {
        width: 92px;
        height: 92px;
    }

    .steps .step .icon > *
    {
        width: 52px;
        height: 52px;
    }

    .steps .step .icon + *
    {
        width: calc(100% - 112px);
    }

    .steps .step .number
    {
        font-size: 19px;
        line-height: 23px;
    }

    .steps .step .name
    {
        font-size: 15px;
        line-height: 21px;
    }



    /*--------------
        Registry
    --------------*/
    .registry .filter,
    .registry .list
    {
        padding: 32px;
    }


    .registry .filter .title
    {
        font-size: 16px;
        line-height: 22px;
    }

    .registry .filter .form .line
    {
        margin-bottom: 16px;
    }

    .registry .filter .form .scroll
    {
        max-height: 632px;
    }

    .registry .filter .form .scroll.big_h
    {
        max-height: 881px;
    }


    .registry .list .title
    {
        font-size: 21px;
        line-height: 25px;

        margin-bottom: 20px;
    }


    .registry .list .organization
    {
        padding-left: 32px;
    }

    .registry .list .organization .name
    {
        font-size: 16px;
        line-height: 22px;
    }

    .registry .list .organization .number
    {
        font-size: 16px;
        line-height: 22px;
    }


    .registry .list .pagination
    {
        line-height: 42px;

        margin-right: -12px;
        margin-left: -12px;
    }


    .registry .list .pagination a,
    .registry .list .pagination .sep
    {
        width: 40px;
        height: 40px;
    }



    /*----------------
        Requisites
    ----------------*/
    .requisites .data .item
    {
        width: 50%;

        border-top: 1px solid #e6e6e6;
    }

    .requisites .data .item:nth-child(1),
    .requisites .data .item:nth-child(2)
    {
        border-top: none;
    }

    .requisites .data .item:nth-child(2n+1)
    {
        border-left: none;
    }

    .requisites .data .item:nth-child(2n+1):last-child
    {
        width: calc(50% + 1px);

        border-right: 1px solid #e6e6e6;
    }



    /*-------------------
        Search result
    -------------------*/
    .search_result .form .line
    {
        width: calc(100% - 150px);
    }



    /*-----------------
        Specialists
    -----------------*/
    .specialists .row
    {
        margin-left: 0;
    }

    .specialists .row > *
    {
        width: 100%;
        margin-left: 0;
    }



    /*-----------------
        Action form
    -----------------*/
    .action_form .title
    {
        font-size: 25px;
        line-height: 29px;
    }



    /*------------
        Footer
    ------------*/
    footer .col_left
    {
        width: 100%;
        max-width: 100%;
        margin-top: 32px;

        order: 3;
    }


    footer .required_link
    {
        margin-top: 20px;
    }

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

    footer .menu {
        display: block;
    }
    footer .menu div + div {
        margin-top: 5px;
    }
    footer .menu a, footer .menu span {
        font-size: 14px;
    }

    .main_slider .slide {
        height: 500px;
    }

    .main_slider .slide .cont.for-html {
        padding-top: 100px;
    }

    .main_slider .stats {
        top: 0;
        left: 0;
        width: 100%;
        padding: 10px 20px;
        border-radius: 0;
    }

    .main_slider .slide .buttons .link {
        margin-right: 80px;
    }

}


@media print, (max-width: 767px)
{
    /*-------------------
        Global styles
    -------------------*/
    .cont
    {
        padding: 0 20px;
    }


    .block_title
    {
        font-size: 22px;
        line-height: 26px;

        margin-bottom: 24px;
    }

    .block_title br
    {
        display: none;
    }


    .tablet_hide
    {
        display: block;
    }



    /*----------------
        Pagination
    ----------------*/
    .pagination
    {
        line-height: 42px;
    }


    .pagination a,
    .pagination .sep
    {
        width: 40px;
        height: 40px;
    }



    /*---------------
        Accordion
    ---------------*/
    .accordion .item .head
    {
        padding-right: 52px;
        padding-left: 20px;
    }

    .accordion .item .head .title
    {
        font-size: 17px;
        line-height: 23px;
    }

    .accordion .item .head:after
    {
        right: 20px;
    }

    .accordion .item .data
    {
        padding: 16px 0 12px;
    }



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



    /*-------------
        Sidebar
    -------------*/
    aside .file
    {
        width: 100%;
    }



    aside .organizations .row
    {
        margin-left: -20px;
    }

    aside .organizations .row > *
    {
        width: calc(50% - 20px);
        margin-left: 20px;
    }



    /*---------------
        Page head
    ---------------*/
    .page_head
    {
        padding-top: 32px;
    }


    .page_title
    {
        font-size: 30px;
        line-height: 32px;
    }

    .page_title br
    {
        display: none;
    }


    .breadcrumbs
    {
        font-size: 11px;

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


    .page_head .links
    {
        font-size: 16px;
        line-height: 20px;

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

    .page_head .links > *
    {
        max-width: calc(100% - 24px);
        margin-bottom: 8px;
        margin-left: 24px;
    }



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



    /*------------------
        Form elements
    ------------------*/
    .form .columns
    {
        --form_columns_offset: 16px;
    }

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



    /*----------------
        Typography
    ----------------*/
    .text_block h2
    {
        font-size: 20px;
        line-height: 24px;
    }


    .text_block > img
    {
        width: calc(100% + 40px);
        max-width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
    }


    .text_block blockquote
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
        padding: 24px 20px 24px 112px;
    }

    .text_block blockquote:before
    {
        font-size: 40px;
        line-height: 80px;

        top: 24px;
        left: 20px;

        width: 72px;
        height: 72px;
    }



    /*-----------------
        Main slider
    -----------------*/
    .main_slider .stats
    {
        left: 20px;

        width: calc(100% - 40px);
    }

    .main_slider .stats > *
    {
        width: auto;
        line-height: 1.2;
        font-size: 13px;
    }

    .main_slider .stats .val {
        font-size: 40px;
        line-height: 40px;
        top: 0;
        margin-right: 9px;
    }
    .main_slider .introduction-prices .col:before {
        top: 3px;
    }

    .main_slider .slide .cont
    {
        min-height: 604px;
        padding-top: 400px;
    }

    .main_slider .slide .title
    {
        font-size: 20px;
    }

    .main_slider .slide .cont.for-html {
        padding-top: 8px;
    }

    .main_slider .introduction-prices .item-name {
        font-size: 16px;
    }
    .main_slider .introduction-prices .item-price {
        margin-top: 5px;
        font-size: 15px;
    }

    .main_slider .introduction-contacts .col + .col {
        margin-left: 30px;
    }

    .main_slider .introduction-contacts .city {
        font-size: 16px;
        margin-bottom: 10px;
    }
    .main_slider .introduction-contacts .phone {
        font-size: 16px;
        padding-left: 0;
    }

    .main_slider .introduction-contacts .phone img,
    .main_slider .introduction-contacts .city span {
        display: none;
    }

    .main_slider .slide .buttons {
        flex-direction: column;
        align-items: flex-start;
    }
    .main_slider .slide .buttons .link {
        margin-right: 0;
    }

    .main_slider .slide .buttons .link + .link {
        margin-top: 20px;
    }


    /*----------------
        Advantages
    ----------------*/
    .advantages .notice
    {
        padding: 44px 20px 20px;

        text-align: center;
    }

    .advantages .notice > .icon
    {
        font-size: 24px;
        line-height: 72px;
        top: -30px;
        bottom: auto;
        left: 10px;
        width: 70px;
        height: 70px;
    }
	
	.advantages .notice .wrap-title
    {
	    width: 100%;
	}
	
    .advantages .notice .title
    {
        font-size: 17px;
        line-height: 23px;

        
    }

    .advantages .notice .link
    {
        margin-top: 12px;
        margin-right: auto;
        margin-left: auto;
    }


    .advantages .row
    {
        margin-bottom: 0;
        margin-left: 0;
    }

    .advantages .row > *
    {
        width: 100%;
        margin-bottom: 0;
        margin-left: 0;
    }


    .advantages .item
    {
        padding: 8px 16px;
    }

    .advantages .item .icon
    {
        width: 52px;
        height: 52px;
    }

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



    /*--------------
        Articles
    --------------*/
    .articles .block_title
    {
        margin-bottom: 20px;
    }


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

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


    .articles .article .name
    {
        font-size: 16px;
        line-height: 20px;
    }



    /*------------------
        Article info
    ------------------*/
    .article_info .head .article_title
    {
        font-size: 22px;
        line-height: 28px;
    }



    /*-------------
        Gallery
    -------------*/
    .gallery .swiper-button-next,
    .gallery .swiper-button-prev
    {
        width: 44px;
        height: 44px;

        border-width: 3px;
    }

    .gallery .swiper-button-next:before,
    .gallery .swiper-button-prev:before
    {
        width: 19px;
        height: 3px;
    }

    .gallery .swiper-button-next:after,
    .gallery .swiper-button-prev:after
    {
        width: 11px;
        height: 11px;

        border-width: 3px;
    }

    .gallery .swiper-button-next:after
    {
        right: 10px;
    }



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



    /*-------------------
        Organizations
    -------------------*/
    .organizations .filter
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-bottom: 32px;
        margin-left: -20px;
    }


    .organizations .head
    {
        justify-content: space-between;
    }


    .organizations .head > * + *
    {
        margin: 0;
    }


    .organizations .head .nice-select .list
    {
        min-width: calc(100% + 40px);
        padding: 12px;
    }

    .organizations .head .nice-select .list .scrollbar
    {
        padding-right: 12px;
    }


    .organizations .head .category
    {
        width: 100%;
        max-width: 100%;
    }

    .organizations .head .category .nice-select .list
    {
        width: 100%;
    }


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

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


    .organizations .cont > .list .organization
    {
        padding-left: 32px;
    }

    .organizations .cont > .list .organization .number,
    .organizations .cont > .list .organization .name
    {
        font-size: 16px;
        line-height: 22px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .row
    {
        margin-left: -24px;
    }

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

    .contacts_info .row > .big {
        width: calc(50% - 24px);
    }


    .contacts_info .title
    {
        font-size: 17px;
    }


    .contacts_info .map
    {
        height: 360px;
    }



    /*-------------------
        Photo_gallery
    -------------------*/
    .photo_gallery .row
    {
        margin-left: -20px;
    }

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



    /*------------------
        Gallery info
    ------------------*/
    .gallery_info .row
    {
        margin-bottom: -20px;
        margin-left: -20px;
    }

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



    /*--------------
        Partners
    --------------*/
    .partners .item
    {
        height: 92px;
        padding: 16px;
    }


    .partners .swiper-button-next,
    .partners .swiper-button-prev
    {
        width: 44px;
        height: 44px;

        border-width: 3px;
    }

    .partners .swiper-button-next:before,
    .partners .swiper-button-prev:before
    {
        width: 19px;
        height: 3px;
    }

    .partners .swiper-button-next:after,
    .partners .swiper-button-prev:after
    {
        width: 11px;
        height: 11px;

        border-width: 3px;
    }

    .partners .swiper-button-next:after
    {
        right: 10px;
    }



    /*---------------------
        LK info - Enter
    ---------------------*/
    .lk_info .enter
    {
        padding: 20px;
    }

    .lk_info .enter .title
    {
        font-size: 18px;
        line-height: 22px;

        width: 100%;
        max-width: 100%;

        text-align: center;
    }

    .lk_info .enter .link
    {
        font-size: 12px;

        margin-top: 12px;
        margin-right: auto;
        margin-left: auto;
        padding: 12px 24px 12px;
    }



    /*---------------------------
        LK info - Information
    ---------------------------*/
    .lk_info .information
    {
        margin-top: 50px;
        margin-bottom: 50px;
    }


    .lk_info .information .row
    {
        margin-bottom: -40px;
        margin-left: 0;
    }

    .lk_info .information .row > *
    {
        width: 100%;
        max-width: 100%;
        margin-bottom: 40px;
        margin-left: 0;
    }



    /*------------
        Videos
    ------------*/
    .videos .row
    {
        margin-left: 0;
    }

    .videos .row > *
    {
        width: 100%;
        margin-left: 0;
    }


    .videos .video
    {
        font-size: 16px;
        line-height: 22px;
    }



    /*-----------
        Calc
    -----------*/
    .calc .data
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
    }


    .calc .col_left,
    .calc .col_right
    {
        padding: 32px 24px;
    }


    .calc .step .name
    {
        font-size: 16px;
        line-height: 22px;
    }


    .calc .col_right .title
    {
        font-size: 22px;
        line-height: 26px;

        margin-bottom: 20px;
    }

    .calc .col_right img
    {
        max-width: 60%;
        margin: 12px auto -12px;
    }


    .calc .result > * + *
    {
        margin-top: 24px;
    }

    .calc .result .name
    {
        font-size: 16px;
        line-height: 20px;

        margin-bottom: 8px;
    }



    /*------------------
        Free consult
    ------------------*/
    .free_consult .item
    {
        width: 100%;
    }

    .free_consult .item + .item
    {
        margin-top: 50px;
    }

    .free_consult .item .title
    {
        font-size: 17px;
        line-height: 23px;

        margin-bottom: 4px;
    }

    .free_consult .item * + .title
    {
        margin-top: 32px;
    }



    /*-----------
        Steps
    -----------*/
    .steps .row
    {
        margin-left: 0;
    }

    .steps .row > *
    {
        width: 100%;
        margin-left: 0;
    }

    .steps .step .number
    {
        font-size: 18px;
        line-height: 22px;
    }

    .steps .step .name
    {
        font-size: 14px;
        line-height: 20px;
    }



    /*-----------------------
        Organization info
    -----------------------*/
    .organization_info .data .name,
    .organization_info .data .val
    {
        width: 100%;
    }

    .organization_info .data .name + .val
    {
        border-left: none;
    }



    /*--------------
        Registry
    --------------*/
    .registry .cont > .row
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
    }


    .registry .filter,
    .registry .list
    {
        width: 100%;
        padding: 32px 24px;
    }


    .registry .filter .form .scroll.big_h
    {
        max-height: 632px;
    }


    .registry .list .organization + .organization
    {
        margin-top: 16px;
    }

    .registry .list .organization .name
    {
        font-size: 15px;
        line-height: 21px;
    }



    /*----------------
        Requisites
    ----------------*/
    .requisites .data .item
    {
        width: 100%;

        border: none;
    }

    .requisites .data .item + .item
    {
        border-top: 1px solid #e6e6e6;
        border-left: none;
    }

    .requisites .data .item:nth-child(2n+1):last-child
    {
        width: 100%;
    }


    .requisites .data .name
    {
        font-size: 16px;

        height: auto !important;
    }



    /*-------------------
        Search result
    -------------------*/
    .search_result .form
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-bottom: 32px;
        margin-left: -20px;
        padding: 20px;
    }


    .search_result .item .number,
    .search_result .item .name
    {
        font-size: 16px;
        line-height: 22px;
    }



    /*-----------------
        Specialists
    -----------------*/
    .specialists .person .name
    {
        font-size: 17px;
        line-height: 23px;
    }




    /*-----------------
        Action form
    -----------------*/
    .action_form .title
    {
        font-size: 23px;
        line-height: 29px;
    }



    /*------------
        Footer
    ------------*/
    footer
    {
        padding-bottom: 24px;
    }


    footer .menu,
    footer .contacts
    {
        width: calc(50% - 8px);
    }


    footer .copyright
    {
        font-size: 14px;
        line-height: 20px;
    }

    footer .contacts-groups {
        display: block;
    }
    footer .contacts:first-child {
        margin-right: 0;
        margin-bottom: 40px;
    }

    footer .col_left {
        margin-top: 50px;
    }

    footer .contacts .city {
        font-size: 20px;
        padding-left: 0;
    }


    .main_slider .slide {
        height: 604px;
    }

    .main_slider .stats {
        left: 0;
        width: 100%;
    }

    .main_slider .stats {
        padding: 7px 20px;
    }

    .help_links_item {
        display: block;
    }
    .help_links_item .help_links_logo {
        margin-right: 0;
        margin-bottom: 20px;
        justify-content: flex-start;
    }
    .help_links_item + .help_links_item {
        margin-top: 40px;
    }
}


@media (max-width: 479px)
{
    /*-------------------
        Global styles
    -------------------*/
    .block_title
    {
        font-size: 20px;
        line-height: 24px;
    }



    /*----------------
        Pagination
    ----------------*/
    .pagination > *:nth-child(n+6):nth-child(-n+8)
    {
        display: none;
    }



    /*---------------
        Accordion
    ---------------*/
    .accordion .item .head
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
    }

    .accordion .item .head .title
    {
        font-size: 16px;
        line-height: 22px;
    }



    /*------------
        Header
    ------------*/
    .mob_header .search .input
    {
        height: 40px;
    }


    .mob_header .slogan
    {
        margin-left: 16px;
    }



    /*-------------
        Sidebar
    -------------*/
    aside .organizations .row
    {
        margin-left: 0;
    }

    aside .organizations .row > *
    {
        width: 100%;
        margin-left: 0;
    }



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


    .page_title
    {
        font-size: 28px;
        line-height: 30px;
    }


    .breadcrumbs
    {
        font-size: 10px;
    }

    .breadcrumbs > * + *
    {
        margin-left: 4px;
    }

    .breadcrumbs .sep
    {
        top: -1px;

        width: 6px;
        height: 10px;
    }

    .breadcrumbs .sep:after
    {
        width: 5px;
        height: 5px;
    }


    .page_head .links
    {
        font-size: 15px;
        line-height: 19px;
    }



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



    /*------------------
        Form elements
    ------------------*/
    .form .columns > *.width1of4,
    .form .columns > *.width2of4,
    .form .columns > *.width3of4
    {
        width: calc(100% - var(--form_columns_offset));
    }

    .form .agree
    {
        margin-top: 20px;
    }



    /*----------------
        Typography
    ----------------*/
    .text_block h2
    {
        font-size: 19px;
        line-height: 23px;

        margin-bottom: 16px;
    }


    .text_block blockquote
    {
        padding: 24px 20px;
    }

    .text_block blockquote:before
    {
        display: none;
    }



    /*-----------------
        Main slider
    -----------------*/

    .main_slider .slide .cont
    {
        padding-top: 392px;
    }

    .main_slider .slide .title
    {
        font-size: 17px;
    }



    /*----------------
        Advantages
    ----------------*/
    .advantages .notice .title
    {
        font-size: 20px;
        line-height: 24px;
    }

    .notice-contacts .phone {
        font-size: 18px;
        line-height: 20px;
    }
    .notice-contacts .phone img {
        top: -3px;
    }

    /*--------------
        Articles
    --------------*/
    .articles .section + .section
    {
        margin-top: 50px;
    }


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

    .articles .row > *
    {
        width: 100%;
        margin-bottom: 40px;
        margin-left: 0;
    }


    .articles .section .row
    {
        font-size: 0;

        display: block;
        overflow: auto;

        width: calc(100% + 40px);
        margin-right: -20px;
        margin-bottom: 0;
        margin-left: -20px;
        padding: 0 20px;

        white-space: nowrap;
    }

    .articles .section .row::-webkit-scrollbar
    {
        width: 0 !important;
        height: 0 !important;
    }

    .articles .section .row > *
    {
        display: inline-block;

        width: 280px;
        margin: 0;

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

    .articles .section .row > * + *
    {
        margin-left: 20px;
    }



    /*------------------
        Article info
    ------------------*/
    .article_info .head .article_title
    {
        font-size: 21px;
        line-height: 27px;
    }



    /*-------------
        Gallery
    -------------*/
    .gallery .cont
    {
        padding: 0;
    }



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



    /*-------------------
        Organizations
    -------------------*/
    .organizations .filter .form
    {
        margin-bottom: 0;
    }

    .organizations .filter .form .line
    {
        width: 100%;
        margin-bottom: 12px;
    }


    .organizations .head
    {
        width: calc(100% + 40px);
        margin: 0 -20px 24px;
    }

    .organizations .head .nice-select .current
    {
        line-height: 39px;

        height: 39px;
        padding: 0 20px 0 0;
    }


    .organizations .row
    {
        margin-left: 0;
    }

    .organizations .row > *
    {
        width: 100%;
        margin-left: 0;
    }


    .organizations .row .organization .info
    {
        font-size: 15px;
        line-height: 21px;

        padding: 20px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .row
    {
        margin-left: 0;
    }

    .contacts_info .row > *
    {
        width: 100%;
        margin-left: 0;
    }

    .contacts_info .row > .big {
        width: 100%;
    }



    /*-------------------
        Photo_gallery
    -------------------*/
    .photo_gallery .row
    {
        margin-bottom: -40px;
        margin-left: 0;
    }

    .photo_gallery .row > *
    {
        width: 100%;
        margin-bottom: 40px;
        margin-left: 0;
    }



    /*------------------
        Gallery info
    ------------------*/
    .gallery_info .row
    {
        margin-bottom: -12px;
        margin-left: -12px;
    }

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



    /*--------------
        Partners
    --------------*/
    .partners .item
    {
        height: 84px;
        padding: 12px;
    }



    /*-----------
        Calc
    -----------*/
    .calc .checkboxes label
    {
        font-size: 14px;
    }


    .calc .inline
    {
        flex-wrap: wrap;
    }

    .calc .inline .field
    {
        width: 33.333%;
    }

    .calc .inline label
    {
        padding: 12px 8px;
    }


    .calc .col_right .title
    {
        font-size: 21px;
        line-height: 25px;
    }



    /*-------------------
        Search result
    -------------------*/
    .search_result .form .line
    {
        width: 100%;
        margin-bottom: 12px;
    }

    .search_result .form .submit
    {
        width: 100%;
    }

    .search_result .form .submit_btn
    {
        min-height: 40px;
    }



    /*-----------------
        Specialists
    -----------------*/
    .specialists .person .photo
    {
        width: 92px;
        height: 92px;

        background-size: 72px auto;
    }

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

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



    /*-----------------
        Action form
    -----------------*/
    .action_form .title
    {
        font-size: 21px;
        line-height: 27px;
    }



    /*------------
        Footer
    ------------*/
    footer .menu
    {
        margin-bottom: 32px;
    }


    footer .contacts
    {
        width: 100%;
    }

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


    footer .copyright,
    footer .required_link
    {
        font-size: 13px;
        line-height: 18px;
    }



    /*-----------
        PopUp
    -----------*/
    .mfp-content .form {
		width: 320px;
		background-color: #fff;
	    box-shadow: 0 5px 20px 0 rgb(0 0 0 / 15%);
		padding: 20px 15px;
		margin: 0px auto 0;
		border-radius: 10px;
	}
	.popup-title {
		text-align: left;
	}
}
