@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Montserrat:400,500,700&display=swap&subset=cyrillic');

body {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 1rem;
    line-height: 1.4rem;
    color: #000;
    background-color: #FFF;
    min-height: 100vh;
}
a {
    color: #009B9D;
    text-decoration: underline;
}
a:hover {
    color: #009B9D;
    text-decoration: none;
}
a.btn {
    text-decoration: none;
}
h1 { font-size: 2rem; }
.visually-hidden { display: none; }
div.hand-container {
    max-width: 1180px;
    padding: 0 2rem;
}
/* body.page_type_main {
    background: url(../images/hand_hard.png) right top no-repeat;
    background-size: 800px;
} */
body.page_type_main header {
    border-bottom: none;
}
a.navbar-brand {
    white-space: normal;
    color: #009A9B !important;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.6rem;
    text-decoration: none !important;
}
a.navbar-brand img {
    max-width: 80px;
    float: left;
    margin-right: 1rem;
    margin-top: -18px;
}
header{position: relative;}
.desc-text{position: absolute; top: 10px; left: 300px; right: 0px; color: #009A9B; font-size: 12px; line-height: 15px; text-align: right;}
.page_type_main .desc-text{text-align: center; left: 0;}
@media (max-width: 1230px) {
.desc-text{right: 45px;}
}
@media (max-width: 991px) {
.desc-text{top: 40px; right: 90px;}
.page_type_main .desc-text{left: 90px; text-align: right;}
}
@media (max-width: 768px) {
.desc-text{top: 10px; right: 160px; left: 220px}
}
@media (max-width: 668px) {
.desc-text{position: relative; left: auto; right: auto; top: 5px; text-align: center !important; margin-bottom: 10px; font-size: 10px; line-height: 12px;}
.page_type_main .desc-text{left: 0;}
}
header .navbar {
    padding: 2rem 1rem 0 1rem;
}

@media (max-width: 768px) {
	header .navbar {padding: 0rem 1rem 0 1rem;}
a.navbar-brand img {max-width: 60px; margin-top: -10px;}
a.navbar-brand {font-size: 1.2rem; line-height: 1.2rem; padding-top: 15px;}

}

#topMenu {
    font-weight: bold;
}
#topMenu a {
    color: #000;
    text-decoration: none;
}
#topMenu a:hover { text-decoration: underline; }

#routerTabs, .info-tabs .nav-tabs { border-bottom: 1px solid #5C5C5C; }
#routerTabs .nav-link, .info-tabs .nav-link {
    border-radius: 0;
    padding: 1rem;
    text-decoration: none;
    border: 1px solid #5C5C5C;
    border-right: transparent;
    background-color: transparent;
    line-height: 1.5rem;
    max-width: 50%;
}
.info-tabs .nav-link:not(.active):hover { border-color: #5C5C5C #5C5C5C #5C5C5C; }
#routerTabs .nav-link:last-child, .info-tabs .nav-link:last-child { border-right: 1px solid #5C5C5C; }
#routerTabs .nav-link>span, .info-tabs .nav-link>span { border-bottom: 1px dashed #009B9D; }
#routerTabs .nav-link.active, .info-tabs .nav-link.active {
    color: #009B9D;
    border-color: #5C5C5C #5C5C5C #fff;
}
#routerTabs .nav-link.active>span { border-bottom: none; }
#routerTabsContent, .info-tabs .tab-content {
    border-left: 1px solid #5C5C5C;
    padding: 1rem;
}

header ol.breadcrumb {
    background-color: #009A9B;
    padding: .7rem 1rem;
    margin-top: .7rem;
    border-radius: 0;
    color: #fff;
    line-height: 1.8rem;
}
header li.breadcrumb-item { color: #fff !important; }
header li.breadcrumb-item a { color: #fff; }
header .breadcrumb-item+.breadcrumb-item::before { color: #fff; }

main {
    margin: 1rem 0;
    position: relative;
}

.main-page-router .main-page-logo>div {
    width: 400px;
    text-align: right;
    font-size: .89rem;
}
.main-page-router .main-page-logo>div>img {
    max-width: 400px;
    margin-bottom: 5px;
}

div.project-support {
    color: #009B9D;
    font-size: .9rem;
    font-weight: 500;
    text-align: center;
}

div.project-support .logos{display: table; width: 100%;}
div.project-support .logos div{display: table-cell; padding: 0px 10px; vertical-align: middle; text-align: center;}
div.project-support .logos a img{max-width: 100%;}

@media (max-width: 768px) {
div.project-support p{font-size: 12px; line-height: 1;}
}

footer {
    background: #124e82;
    background-image: linear-gradient(135deg, #124e82, #01b5a5)!important;
    padding: 30px 0;
    font-size: .85rem;
    line-height: .85rem;
    width: 100%;
}
footer nav a.nav-link {
    color: #fff;
    text-decoration: underline;
    padding: .5rem 0;
}
footer nav a:hover {
    color: #fff;
    text-decoration: none;
}
footer .site-name { margin-bottom: .8rem; }
footer .site-name a {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
}
footer .site-name img {
    width: 300px;
    margin-bottom: 5px;
}

input.form-control, textarea.form-control { border-radius: 0; }

#subscribeForm { margin: 1.5rem 0; }
#searchForm input, #subscribeForm input {
    border-radius: 0;
    border: none;
    background: transparent;
    height: 24px;
    color: #fff;
    border-bottom: 1px solid #fff;
    padding: 1rem 0 1rem 1rem;
    box-shadow: none;
}
#subscribeForm input::-webkit-input-placeholder, #searchForm input::-webkit-input-placeholder { color: #fff; }
#subscribeForm input::-moz-placeholder, #searchForm input::-moz-placeholder { color: #fff; }
#subscribeForm input:-moz-placeholder, #searchForm input::-moz-placeholder { color: #fff; }
#subscribeForm input:-ms-input-placeholder, #searchForm input:-ms-input-placeholder { color: #fff; }
#searchForm button {
    width: 24px;
    height: 24px;
    border: none;
    border-bottom: 1px solid #fff;
    background: url(../images/icon_search_white.svg) top right no-repeat;
    padding: .5rem .5rem 1.5rem 1rem;
}
#subscribeForm button {
    height: 24px;
    border: 1px solid #fff;
    padding: .5rem .5rem 1.5rem 1rem;
    color: #fff;
    background: none;
    margin-top: 15px;
}
#subscribeForm h4 {
    font-size: 1rem;
    color: #fff;
    margin: 0;
}

.copyright, .copyright a {
    text-align: right;
    color: #fff;
    text-decoration: none;
    padding-bottom: 5px;
}

.router-filter, .router-search {
    margin-right: 5px;
    margin-bottom: 10px;
}
.filters .router-filter.shadow {
    outline: 1px solid #c5c5c5;
    background-color: #fff;
}
.router-filter .dropdown-menu {
    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important;
}
.router-filter .dropdown-menu, .router-filter .dropdown-submenu {
    background: inherit;
    border-radius: 0;
    padding: 0;
}
.router-filter .btn { border-radius: 0; }
.router-filter .btn.filter-add, .router-filter .btn.filter-remove {
    width: 35px;
    height: 35px;
    background: url(../images/icon_plus.svg) center no-repeat;
    background-size: 22px 22px;
    border: 1px solid #000;
}
.router-filter .btn.filter-remove {
    background: url(../images/icon_close.svg) center no-repeat;
    background-size: 22px 22px;
    float: left;
}
.router-filter .dropdown-toggle::after { display: none; }
.router-filter .btn.label {
    height: 35px;
    font-weight: bold;
}
.router-filter .dropdown-item {
    padding: .375rem .75rem;
    height: 35px;
    text-decoration: none;
    font-weight: bold;
}
.router-filter-64 { background-color: #AFE692 !important; }
.router-filter-65 { background-color: #F0889F !important; }
.router-filter-66 { background-color: #BCE9FE !important; }
.router-filter-67 { background-color: #D2A3FF !important; }
.router-filter-68 { background-color: #FFE198 !important; }
.router-filter-69 { background-color: #FF9A66 !important; }

.router-filter-64-bright { background-color: #5ec427; }
.router-filter-65-bright { background-color: #ea3159; }
.router-filter-66-bright { background-color: #52c4f9; }
.router-filter-67-bright { background-color: #a859f7; }
.router-filter-68-bright { background-color: #efb223; }
.router-filter-69-bright { background-color: #f75c0e; }

span.filter-marker {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 5px;
    margin-bottom: -2px;
}

.custom-checkbox .custom-control-label::before {
    border-radius: .25rem;
    margin-top: -1px;
}

.router-search.input-group {
    width: 225px;
    display: inline-flex;
}
.router-search .input-group-text {
    width: 35px;
    height: 35px;
    border-radius: 0;
    border: 1px solid #000;
    background: #fff url(../images/icon_search.svg) center no-repeat;
    background-size: 22px 22px;
    padding-right: .5625rem;
    padding-left: .5625rem;
}
.router-search .form-control {
    border-radius: 0;
    border: 1px solid #c5c5c5;
    border-left: 1px solid #000;
    color: #969595;
    height: 35px;
}
.router-search .bootstrap-autocomplete.dropdown-menu {
    border-radius: 0;
    left: 0 !important;
    width: 100% !important;
}
.router-search .bootstrap-autocomplete.dropdown-menu a.dropdown-item {
    text-decoration: none;
    padding: .375rem .75rem;
}
.filter-wrapper {
    background: #124e82;
    background-image: linear-gradient(135deg, #124e82, #01b5a5)!important;
    height: 3px;
}
.main-page-router-filters h5 {
    color: #009B9D;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 1rem;
}
.main-page-router-filters .router-filter { padding-right: .5rem; }
.main-page-router-filters ol.breadcrumb {
    background-color: transparent;
    border-radius: 0;
    color: #000;
    padding: 0;
    margin: 0;
}
.main-page-router-filters li {
    font-weight: bold;
    padding: .55rem .3rem;
    height: 35px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.main-page-router-filters li:first-child, .main-page-router-filters .router-filter.shadow li { padding-left: .75rem; }
.main-page-router-filters .router-filter:not(.shadow) li+li::before {
    content: url(../images/arrow-right.svg);
    float: left;
    margin-left: -.3rem;
    margin-right: .3rem;    
    padding-top: .1rem;
}
.main-page-router-filters .router-filter.shadow li:not(:last-child)::after {
    content: ",";
    margin-left: 0;
    margin-right: -.3rem;    
    padding-top: .1rem;
}
#searchRoutes, body.search .views-element-container form .btn {
    background: transparent url(../images/search_btn_bg.svg) no-repeat;
    background-size: cover;
    border: none;
    width: 100px;
    height: 35px;
    font-size: 1rem;
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    padding: .45rem .75rem;
}
.dropdown-submenu {
    position: relative;
}
.dropdown-submenu>.dropdown-menu {
    top: 100%;
    margin-top: 0px;
    margin-left: 0px;
}

.organization:not(body), .algoritm:not(body), .author:not(body), .partner:not(body), .video:not(body) {
    margin: 1rem 0;
}
.item-icon div {
    border-radius: 5px;
    margin-top: 5px;
}
.item-icon div img { width: 100%; }
.item-logo img, .author-photo img, .partner-logo img {
    width: 100%;
    height: auto;
}
.item-routes ol.breadcrumb, .item-tags ol.breadcrumb {
    background-color: transparent;
    border-radius: 0;
    color: #000;
    padding: 0 .3rem;
    margin: 0;
    margin-bottom: 1px;
}
.item-routes li, .item-tags li { padding: 0 .3rem 0 0; }
.item-routes li a, .item-tags li a {
    color: #000;
    text-decoration: none;
}
.item-routes li a:hover, .item-tags li a:hover { text-decoration: underline; }
.item-routes li:not(:last-child)::after {
    content: ">";
    float: right;
    margin-left: .3rem;
    margin-right: 0;    
}
.item-tags li:not(:last-child)::after {
    content: ",";
    float: right;
    margin-left: 0;
    margin-right: .3rem;    
}
.item-title { font-weight: 900; }
.item-title a { text-decoration: none; }
.item-summary { line-height: 1.5rem; }

.organization-page-block { margin-bottom: 1.5rem; }
.organization-page-block strong { font-weight: 600; }
.organization-page-block h3 {
    font-size: 1rem;
    line-height: 1.5rem;
    margin-bottom: 0;
}
.organization-page-block h1 { font-size: 1.5rem; }
.organization-page-block span { font-weight: normal; }
.organization-page-block ul>li { line-height: 1.7rem; }
a.phone {
    color: #000 !important;
    text-decoration: none;
}
.organization-page-description { line-height: 1.5rem; }
.organization-page-description h2 {
    border-top: 1px solid #009A9B;
    font-size: 1.2rem;
    font-weight: 900;
    padding: 1.5rem 0;
    margin: 0;
    color: #009B9D;
}

#map {
    width: 100%;
    height: 700px;
    border: 1px solid #009A9B;
    margin-bottom: 1rem;    
}
.organization-page-description #map {
    height: 250px;
}
.organization-page-description.map ul>li {
    display: flex;
    margin-bottom: .75rem;
}
.organization-page-description.map ul>li>span {
    font-size: .8rem;
    line-height: 1rem;
    font-weight: bold;
    cursor: pointer;
}
span.map-place {
    background: transparent url(../images/map-marker.png) left top no-repeat;
    background-size: 16px 16px;
    padding-left: 20px;
}
ymaps>h3 {
    font-size: 1rem;
    font-weight: 600;
}

.algoritm-page .paragraph {
    border: 1px solid #009A9B;
    padding: 15px;
    margin-bottom: 1.5rem;
}
.algoritm-page .paragraph--type--algoritm-step.collapsed { border-bottom: none; }
.algoritm-step-header {
    font-size: 1.25rem;
    padding: 0;
    margin: 0;
}
.algoritm-step-header a {
    color: #000 !important;
    text-decoration: none !important;
    display: block;
    font-weight: 600;
}
.algoritm-step-body { padding-top: 1.5rem; }
.collapse-all-tools { margin-top: .75rem; }
.collapse-all-tools a { margin-right: 2rem; font-weight: bold; }

.paragraph.author a { font-weight: bold; }
.author h2, .partner h2 { font-size: 1.5rem; }
.view-our-partners>div:not(:first-child) {
    padding-top: 1rem;
    border-top: 1px solid #009A9B;
}
.partner-block.contacts {
    padding: .5rem 0;
}
.partner-block.contacts li {
    font-weight: 600;
    margin: .5rem 0;
}
.partner-block.contacts li a.phone {
    color: #000;
    text-decoration: none;
}

.pager { margin: 1rem auto; }
.page-link, .info_docs.nav .nav-link {
    color: #009B9D !important;
    border-radius: 0 !important;
}
.page-item.active .page-link, .info_docs.nav .nav-link.active {
    z-index: 3;
    color: #fff !important;
    background-color: #009B9D;
    border-color: #009B9D;
}

.video-page .item-summary { margin-bottom: 1rem; }
.video-frame {
    text-align: center;
    margin-bottom: 1rem;
}
.video-frame iframe {
    width: 100%;
    max-width: 560px;
    height: 315px;
}

body.search .views-element-container header, body.search .views-element-container form {
    width: 100%;
    margin: 0 15px 15px 15px;
}
body.search .views-element-container form { display: flex; }
body.search .views-element-container form input  {border-radius: 0; }
body.search .views-element-container form .btn { margin: 4px 0 0 .5rem; }
body.search .views-element-container form input#edit-keys {
    border: 1px solid #c5c5c5;
    color: #969595;
    height: 35px;
}

#edit-preview.btn { display: none; }
.btn.liza-btn, form input.btn.btn-success {
    background: #124e82;
    background-image: linear-gradient(135deg, #124e82, #01b5a5)!important;
    border: none;
    border-radius: 0;
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
}
#edit-field-org-logo-0-upload-button, #edit-field-org-logo-0-remove-button { margin-left: 15px; }
#edit-field-org-logo-0 { display: flex; }
#edit-field-org-logo-0-upload-button { display: none; }

form fieldset { margin-top: 1.5rem; }
form fieldset>legend {
    margin-bottom: 1rem;
    color: #009A9B;
}
form label {
    font-weight: 500;
    color: #154B7C;
}

#block-page-head-photo { margin-bottom: 1rem; }

div.captcha {
    /*min-height: 78px;*/
    margin-bottom: 1rem;
}
div.g-recaptcha {
    height: 78px;
}

.socseti a {
    display: inline-block;
    width: 32px;
    height: 32px;
}
.socseti a.youtube { background: url(../images/youtube_32b.png) no-repeat; }
div.form-item-field-nid-0-value, div.form-item-field-personal-agree-value input, div.form-item-field-personal-agree-value label { display: none; }
#specialButton {
    position: absolute;
    top: 10px;
    right: 10px;
}

#bottomToolsMenu { margin-top: .2rem; }

#pageCarousel .carousel-item{margin-bottom: 40px;}

#pageCarousel .carousel-caption {
    font-weight: bold;
    font-size: 20px;
    line-height: 28px;
    background-color: rgba(255,255,255,.8);
    color: #009A9B;
    top: 100%;
    bottom: unset;
    left: 0px;
    text-align: center;
    padding: 10px 20px;
    width: 100%;
    display: block;
}
.carousel-indicators { display: none; }

@media (max-width: 990px) {
#pageCarousel .carousel-caption{font-size: 14px;}
}

@media (max-width: 768px) {
    footer .site-name, footer nav { margin-bottom: 20px!important; }
    #addOrganizationBtn {
        position: relative;
    }
	
#specialButton{right: 130px; top: 15px;}
}

@media (max-width: 668px) {
#specialButton{top: 48px;}
}

@media (max-width: 576px) {
}

@media (max-width: 576px) {
    div.hand-container { padding: 0; }
    .item-routes li, .item-tags li { font-size: .8rem; }
    .navbar-brand { margin-right: 0; }
    .main-page-router-filters li {
        line-height: 1rem;
    }
#specialButton{right: 90px;}
}

@media (min-width: 992px) {
    body.page_type_main header {
        border-bottom: 3px solid #009A9B;
    }
}

@media (min-width: 1200px) {

}

.partners-logos{display: table; width: 100%; margin: 50px 0px 0px; padding: 0px;}
.partners-logos li{display: table-cell; padding: 15px; width: 32%; text-align: center; box-sizing: border-box;}
.partners-logos li:nth-child(2){width: 20%;}
.partners-logos a{display: inline-block;}
.partners-logos img{display: block; max-width: 100%;}

.map-link{display: inline-block; padding-left: 25px; min-height: 20px; background: url('../images/map-icon.svg') left center no-repeat; background-size: 20px 20px;}

.carousel-inner{min-height: 440px;}

@media (max-width: 1080px) {
.carousel-inner{min-height: 360px;}
}
@media (max-width: 720px) {
.carousel-inner{min-height: 300px;}
}