/*.global*/
body, html {
    min-height: 100%;
    background: #E22C38;
}
.in-app {
    background: none;
}
.body--half-back {
    /*background: linear-gradient(#F7EBE6, #F7EBE6 50%, #E22C38 50%, #E22C38 100%);*/
}
.body--search .global, .body--events .global, .body--places .global, .body--selection .global, .body--route .global, .body--favorites .global, .body--news .global , .body--visitors .global
{
    background: #F7EBE6;
}
.body--selections .global, .body--routes .global, .body--contacts .global {
    background: #E22C38;
    color: #fff;
}
a {
    /*color: #E22C38;*/
    color: #336AF7;
    text-decoration: none;
}
* {
    box-sizing: border-box;
    outline: none;
}
header {
    position: fixed;
    top: 16px;
    left: 16px;
    right: 16px;
    /*height: 80px;*/
    /*padding: 6px;*/
    z-index: 60;
    /*overflow: hidden;*/
}
.header-inner {
    background: #FFFFFF;
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.04), 0px 12px 12px rgba(0, 0, 0, 0.04);
    border-radius: 4px;
    position: relative;
    z-index: 10;
}
header.fixed {
}
.logo {
    display: inline-block;
    width: 68px;
    height: 68px;
    background:
            no-repeat url('images/logo.svg') 11px center,
            no-repeat url('images/logo-b.svg') 79px center;
    margin: 6px 32px 6px 6px;
    vertical-align: middle;
}
.logo:hover {
    background-position: 79px center, 11px center;
}
.header-menu {
    display: inline-block;
    vertical-align: middle;
    font-size: 18px;
    line-height: 24px;
}
.header-menu a {
    /*color: #262626;*/
    color: #E22C38;
    font-weight: 500;
    display: inline-block;
    margin: 0 32px 0 0;
}
.header-menu a.active,
.header-menu a:hover {
    color: #262626;
}
.header-menu a:last-child {
    margin: 0;
}
.header-meta {
    position: absolute;
    top: 40px;
    right: 20px;
    transform: translate3d(0, -50%, 0);
}
.header-lang, .header-search-link {
    display: inline-block;
    vertical-align: middle;
    height: 32px;
}
.header-lang a {
    display: inline-block;
    /*width: 32px;*/
    height: 32px;
    padding: 0 5px;
    color: #E22C38;
    line-height: 32px;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
}
.header-lang a:hover {
    color: #262626;
}
.header-search-link {
    display: inline-block;
    margin-left: 24px;
    width: 32px;
    height: 32px;
    background: no-repeat url('images/icon-search-r.svg?1') center center;
}
.header-search-results {
    display: none;
    padding: 0 16px 56px 16px;
    margin-top: 16px;
}
.search-result {
    padding: 20px 0;
    margin: 0 73px 0 32px;
    border-bottom: 1px solid #D1D1D1;
}
.search-result:last-child {
    border-bottom: none;
}
.search-result-link {
    display: block;
    border-radius: 4px;
    padding: 12px;
    transition: .2s all;
}
.search-result-link:hover {
    background: rgba(0,0,0,0.05);
}
.search-result-link-title,
.search-result-link-type,
.search-result-link-short
{
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}
.search-result-link-short {
    width: 180px;
    margin-left: 16px;
    text-align: right;
    font-size: 14px;
    line-height: 18px;
    color: #7C7C7C;
    /*vertical-align: -8px;*/
}
.search-result-link-type {
    font-family: 'vl2-bold', sans-serif;
    font-size: 11px;
    line-height: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #336AF7;
    margin-left: 16px;
    width: 200px;
    text-align: left;
    /*vertical-align: -8px;*/
}
.search-result-link-title {
    width: calc(100% - 412px);
    font-size: 18px;
    line-height: 24px;
    color: #262626;
    font-weight: 500;
    vertical-align: top;
}

.search-result-block {
    padding: 0 0 80px 0;
    position: relative;
}
.search-result-block .title {
    margin: 0 0 10px 0;
}
.search-result-item {
    transition: .3s all;
    border-bottom: solid 2px rgba(38, 38, 38, 0.1);
    margin-top: -2px;
    position: relative;
}
.search-result-item:first-child {
    margin-top: 0;
}
.search-result-item:last-child {
    border-bottom: none;
}
.search-result-item:hover {
    border-bottom-color: transparent;
}
.search-result-item a {
    transition: .3s all;
    display: block;
    padding: 16px 16px 16px 248px;
    min-height: 168px;
    margin: 0 -16px;
    position: relative;
}
.search-result-item a:hover {
    background-color: #F0DFD8;
}
.search-result-item a:active {
    background-color: #E0CDC5;
}
.search-result-item-type {
    font-family: 'vl2-bold', sans-serif;
    font-style: normal;
    font-size: 11px;
    line-height: 18px;
    display: block;
    align-items: center;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 4px 0;
    /* blue_accident */
    color: #336AF7;
}
.search-result-item-short {
    font-weight: normal;
    font-size: 14px;
    line-height: 18px;
    display: block;
    letter-spacing: 0.1px;
    color: #7C7C7C;
    margin: 7px 0 0 0;
}
.search-result-item-title {
    display: block;
    font-style: normal;
    font-weight: 500;
    font-size: 32px;
    line-height: 40px;
    color: #262626;
    max-width: 1000px;
    overflow: hidden;
    height: 80px;
}
.search-result-item-image {
    position: absolute;
    left: 16px;
    top: 16px;
    width: 216px;
    height: 136px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    border-radius: 4px;
}
.search-result-item-image--visitors {
    background: #E22C38 url('images/icon-big-visitors.svg') center center no-repeat;
    background-size: contain;
}
.search-result-item-image--contacts {
    background: #E22C38 url('images/icon-big-contacts.svg') center center no-repeat;
    background-size: contain;
}
.search-result-item--small .search-result-item-title {
    height: 48px;
}
.search-result-item--small a {
    padding: 24px 0 24px 96px;
    min-height: auto;
}
.search-result-item--small .search-result-item-image {
    width: 64px;
    height: 64px;
}

.search-result-block .main-more {
    margin: -2px -16px -80px -16px;
}
.search-result-block .main-more .wrap {
    padding: 0 16px;
}

.header-search {
    display: none;
    position: absolute;
    padding: 8px 86px 8px 8px;
    left: 0;
    top: 0;
    background: #fff;
    right: 0;
    border-radius: 4px;
    transition: .3s padding;
    z-index: 2;
}
.body--search .header-search {
    display: block;
}
.searched .header-search {
    padding: 16px 94px 16px 16px;
}
.header-search input {
    height: 64px;
    border: none;
    -webkit-appearance: none;
    font-size: 18px;
    line-height: 24px;
    padding: 0 60px 0 52px;
    outline: none;
    vertical-align: top;
    background: #fff no-repeat url(/local/templates/v3/images/icon-search.svg) 20px center;
    border-radius: 4px;
    width: 100%;
    background-size: 24px 24px;
    border: 0;
    transition: .3s background-color;
}
.searched .header-search input {
    background-color: #F5F5F5;
}
.header-search-close {
    cursor: pointer;
    /*width: 32px;*/
    /*height: 32px;*/
    /*background: no-repeat url('images/icon-close-red.svg') center center;*/
    right: 0;
    width: 94px;
    top: 31px;
    position: absolute;
    display: block;
    font-size: 14px;
    line-height: 18px;
    text-align: center;
    color: #262626;
    opacity: 0.5;
    transition: .3s opacity, .3s top;
}
.searched .header-search-close {
    top: 39px;
}
.header-search-close:hover {
    opacity: 1;
}
.header-search-clear {
    width: 24px;
    height: 24px;
    background: no-repeat url('images/icon-clear.svg') center center;
    position: absolute;
    top: 28px;
    right: 114px;
    cursor: pointer;
    opacity: .23;
    transition: .3s opacity;
    display: none;
}
.searched .header-search-clear {
    top: 36px
}
.header-search-clear:hover {
    opacity: 1;
}
.header-search input::placeholder {
    color: rgba(38, 38, 38, 0.5);
    text-overflow: ellipsis;
overflow: hidden;
}
.searched .header-search {
    display: block;
}
.searched .header-menu, .searched .header-meta {
    display: none;
}

.rink-link span {
    background: -webkit-linear-gradient(0deg, #009BD8 0%, #4548A9 40%, #A34282 70%, #EB545D);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.rink-link:before {
    content: "";
    background: no-repeat url('images/icon-rink.svg') center center;
    width: 24px;
    height: 24px;
    display: inline-block;
    margin-right: 8px;
    vertical-align: bottom;
}

.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 80;
    background: rgba(38, 38, 38, 0.4);
}

.favorites {
    z-index: 20;
}

.menued header, .searched header, .filtered header {
    z-index: 85;
}
.favorited .favorites {
    z-index: 85;
}
.filtered .filter {
    z-index: 82;
}

.menu {
    border-radius: 0 0 4px 4px;
}
.menu, .header-search-results {
    display: none;
    overflow: auto;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}
.menu::-webkit-scrollbar, .header-search-results::-webkit-scrollbar {
    display: none;
}
.menu-top {
    padding: 48px 112px 56px 112px;
}
.menu-bottom {
    padding: 48px 112px;
    background: #F7EBE6;
}
.menu-item {
    font-size: 36px;
    font-weight: 500;
    line-height: 40px;
    color: #E22C38;
    display: block;
    margin: 0 0 16px 0;
}
.menu-item--mobile {
    display: none;
}
.menu-item:hover {
    color: #336AF7;
}
.menu-top:after, .menu-bottom:after {
    content: "";
    display: block;
    clear: both;
}
.menu-left {
    width: 40%;
    float: left;
    padding-right: 40px;
}
.menu-right {
    width: 60%;
    float: right;
}
.menu-sites-title {
    display: none;
}
.menu-site {
    display: inline-block;
    vertical-align: top;
    padding-left: 56px;
    position: relative;
    color: #262626;
    width: 50%;
    padding-right: 32px;
    margin: 0 0 24px 0;
}
.menu-site:hover {
    color: #336AF7;
}
.menu-site__title {
    display: block;
    margin: 0 0 2px 0;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
}
.menu-site__link {
    color: #7C7C7C;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.2px;
    display: block;
}
.menu-site__icon {
    position: absolute;
    left: 0;
    top: 3px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: no-repeat center center;
    background-size: contain;
}
.menu-sites-separate {
    display: block;
    margin: 0 0 24px 0;
    height: 1px;
    background: rgba(38, 38, 38, 0.08);
}
.partners {
    display: inline-block;
    vertical-align: top;
    width: 50%;
    padding-right: 32px;
}
.partners-title {
    color: #262626;
    font-family: 'vl2-bold', sans-serif;
    font-size: 11px;
    line-height: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.partner {
    display: inline-block;
    vertical-align: middle;
    margin: 16px 24px 0 0;
    height: 36px;
    background: no-repeat center center;
    background-size: contain;
    white-space: nowrap;
    color: transparent;
    text-indent: 150px;
    overflow: hidden;
    filter: brightness(0);
    opacity: .6;
}
.partner:hover {
    opacity: 1;
}
.partner--mir {
    background-image: url('images/partner-mir.svg');
    width: 68px;
}
.partner--reso {
    background-image: url('images/partner-reso.svg');
    width: 93px;
}
.partner--sber {
    background-image: url('images/partner-sber.svg');
    width: 128px;
}
.partner--danone {
    background-image: url('images/partner-danone.svg?1');
    width: 110px;
}
.partner--radio7 {
    background-image: url('images/partner-radio7.svg?2');
    width: 28px;
}
.partner--beeline {
    background-image: url('images/partner-beeline.svg');
    width: 125px;
}

.menu-phone {
    font-family: 'vl2', sans-serif;
    font-size: 32px;
    line-height: 32px;
    letter-spacing: -2px;
    text-transform: lowercase;
    margin: 0 0 16px 0;
    /* New black */
}
.menu-email {
    font-size: 18px;
    line-height: 24px;
    margin: 0 0 40px 0;
}
.menu-phone a, .menu-email a {
    color: #262626;
}

.menu-socials .social {
    width: 32px;
    height: 32px;
    background-size: 40px 40px;
    margin-right: 24px;
    filter: brightness(0);
    opacity: .6;
}
.menu-socials .social:hover {
    opacity: 1;
}
.menu-socials .social:last-child {
    margin-right: 0;
}

.wrap, [data-slider-adjust] {
    display: block;
    max-width: 1680px;
    margin: 0 auto;
    padding-left: 16px;
    padding-right: 16px;
}
.maped .content .wrap,
.map-preload .content .wrap,
.filter .wrap {
    max-width: 840px;
    /*margin: 0 0 0 auto;*/
    margin-left: auto;
    margin-right: 0;
}
.slick-initialized[data-slider-adjust] {
    max-width: none;
    margin: 0;
    padding: 0;
}
.similar-events.slick-initialized[data-slider-adjust] {
    margin: -4px;
}

.top {
    padding-top: 104px;
    background: #E22C38;
    color: #ffffff;
}
.body--main .top {
}
.body--selections .top,
.body--routes .top
{
    padding-bottom: 105px;
}
.body--news .top, .body--visitors .top {
    padding-bottom: 56px;
}

.top-text {
    max-width: 440px;
}

.stories {
    white-space: nowrap;
    /*overflow: hidden;*/
}
.body--main .stories {
    padding-top: 24px;
    padding-bottom: 26px;
}
.body--news .top .stories, .body--visitors .stories {
    margin-top: 97px;
}
.story {
    display: inline-block;
    vertical-align: top;
    width: 120px;
    text-align: center;
    margin: 0 24px 0 0;
    line-height: 0;
    cursor: pointer;
}
.detail-stories .story {
    margin-right: 28px;
}
.stories .slick-slide {
    /*width: 104px;*/
    /*margin: 0 56px 0 0;*/
}
.story-pic {
    width: 88px;
    height: 88px;
    border: solid 2px #fff;
    border-radius: 50%;
    display: inline-block;
    overflow: hidden;
    margin: 0 0 12px 0;
}
.viewed .story-pic {
    border-color: rgba(255,255,255,.2);
}
.detail-stories .story-title {
    color: #262626;
}
.detail-stories .story-pic {
    border-color: #ED2B38;
}
.detail-stories .viewed .story-pic {
    border-color: rgba(51, 106, 247, 0.2);
}
.story-pic img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin: 2px;
}
.story-title {
    font-weight: 500;
    display: block;
    font-size: 14px;
    line-height: 18px;
    max-height: 54px;
    letter-spacing: 0.2px;
    overflow: hidden;
    white-space: normal;
    text-overflow: ellipsis;
    transition: .3s opacity;
}
.story:hover .story-title {
    opacity: .8;
}
.top .story-title {
    color: #FFFFFF;
}
.decks__close {
    cursor: pointer;
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    z-index: 12;
    top: 32px;
    right: 32px;
    background: no-repeat url('images/icon-close-40.svg') center center;
}

.tabloid {
    padding: 8px 0 0 0;
    border-top: solid 2px rgba(38, 38, 38, 0.1)
}
.tabloid-pre-title {
    margin: 80px 0 12px;
    /*border-bottom: solid 2px rgba(38, 38, 38, 0.1);*/
    /*padding: 0 0 10px 0;*/
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.1px;
    color: rgba(255, 255, 255, 0.7);
}
.tabloid-event:first-child .tabloid-pre-title {
    margin-top: 73px;
}
.tabloid-events {
    margin: 60px 0 0 0;
}
.tabloid-events.show-done {
    padding-bottom: 80px;
}
.tabloid-more {
    display: none;
}
.tabloid-link {
    display: block;
    padding: 16px 16px 16px 248px;
    margin: 0 -16px;
    min-height: 168px;
    transition: .3s background-color;
    color: rgba(255,255,255,1);
    position: relative;
}
.tabloid-link:hover {
    background-color: #D32934;
}
.tabloid-link:active {
    background-color: #C72631;
}
.tabloid-event {
    transition: .3s all;
    border-bottom: solid 2px rgba(38, 38, 38, 0.1);
    margin-top: -2px;
}
.tabloid-event:first-child {
    margin-top: 0;
}
.tabloid-event:last-child {
    border-bottom: none;
}
.tabloid-event:hover {
    border-bottom-color: rgba(38,38,38,.0);
}
.tabloid-pic {
    width: 216px;
    height: 136px;
    position: absolute;
    top: 16px;
    left: 16px;
    line-height: 0;
    border-radius: 4px;
    overflow: hidden;
    display: block;
    background: #fff;
}
.tabloid-pic img {
    width: 100%;
}
.tabloid-type {
    font-family: 'vl2-bold', sans-serif;
    font-size: 11px;
    line-height: 18px;
    display: block;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 4px 0;
}
.tabloid-title {
    font-size: 32px;
    line-height: 40px;
    max-height: 80px;
    overflow: hidden;
    display: block;
    font-weight: 500;
    margin: 0 0 7px 0;
    max-width: 1000px;
}
.tabloid-time {
    display: block;
    position: absolute;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.2px;
    bottom: 20px;
}

.main-more {
    display: block;
    padding: 16px 0;
    height: 112px;
    font-weight: 500;
    color: #262626;
    font-size: 18px;
    line-height: 24px;
    /*margin: 0 -16px;*/
    /*margin-top: -2px;*/
    position: relative;
    z-index: 2;
    transition: .3s all;
    cursor: pointer;
}
.main-more .wrap {
    /*padding: 0;*/
}
.i {
    display: inline-block;
    width: 24px;
    height: 24px;
}
.i--drop {
    background: no-repeat url('images/icon-dropdown.svg');
    content: "";
    /*margin: 0 0 0 8px;*/
    vertical-align: -6px;
}
.main-more:hover {
    background: #F0DFD8;
    /*background: #E22C38;*/
    /*color: #fff;*/
}
.main-more:active {
    background: #E0CDC5;
    /*background: #E22C38;*/
    /*color: #fff;*/
}
.main-more:hover .i--drop {
    /*background-image: url("images/icon-dropdown-w.svg");*/
}

.main-block--iconic .main-more:hover {
    background: #D4DFEC;
}
.main-block--iconic .main-more:active {
    background: #C0CEDE;
}

.tabloid .h1 {
    margin-bottom: 11px;
}
.tabloid .main-more {
    color: #fff;
    margin-top: -2px;
}
.tabloid .main-more:hover {
    background: #D32934;
    /*color: #262626;*/
}
.tabloid .main-more:active {
    background: #C72631;
    /*color: #262626;*/
}
.tabloid .i--drop {
    transition: .3s opacity;
    background-image: url("images/icon-dropdown-w.svg");
}
.tabloid .main-more:hover .i--drop {
    opacity: .8;
}

.nothing-right-now {
    display: none;
    font-size: 32px;
    line-height: 40px;
    color: #FFFFFF;
    font-weight: 500;
    text-transform: lowercase;
}
.tabloid--empty {
    padding-bottom: 64px;
    display: none;
}

.main-block {
    padding: 8px 0 0 0;
}
.main-block {
    padding: 8px 0 0 0;
}
.main-block--review {
    background: #F7EBE6;
}
.main-block .h1 {
    color: #262626;
    margin: 0 0 73px 0;
}
.h1--all {
    position: relative;
    transition: .3s all;
    padding-right: 72px;
}
.h1--all:after {
    position: absolute;
    top: 0;
    right: 0;
    height: 72px;
    display: block;
    /*content: "Все";*/
    content: "";
    padding-right: 72px;
    background: no-repeat url('images/icon-h1-arr-red.svg') right center;
    transition: .3s all;
    filter: grayscale(1) brightness(0.5);
    color: transparent;
}
.h1--all:hover {
    color: #D32934;
}
.h1--all:hover:after {
    color: #336AF7;
    filter: grayscale(0);
    /*background-image: url('images/icon-h1-arr-red.svg');*/
}

.event-blocks {
    margin: -4px -4px 12px -4px;
    line-height: 0;
    position: relative;
}
.event-block {
    margin: 4px;
    display: inline-block;
    vertical-align: top;
    width: calc((100% - 32px) / 4);
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    color: #262626;
    line-height: 0;
    transition: .3s background-color;
    position: relative;
}
.similar-events {
    margin-left: -4px;
}
.similar-events .event-block {
    width: 327.5px;
}
.event-block--more {
    display: none;
}
.event-block-top {
    display: block;
    position: relative;
    padding: 20px 16px 42px 16px;
    height: 200px;
}
.event-block-time {
    transition: .3s color;
    position: absolute;
    font-size: 14px;
    line-height: 18px;
    display: block;
    left: 16px;
    bottom: 12px;
    color: #7C7C7C;
}
.event-block-type {
    transition: .3s color;
    font-family: 'vl2-bold', sans-serif;
    font-size: 11px;
    line-height: 18px;
    display: block;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #336AF7;
    margin: 0 0 8px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.event-block-title {
    transition: .3s color;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: #262626;
    height: 96px;
    overflow: hidden;
    display: block;
}
.event-block-bottom {
    display: block;
    padding-top: 65.8536%;
    background: #336AF7 no-repeat center center;
    /*background-size: 100% auto;*/
    background-size: cover;
    position: relative;
    transition: .3s opacity;
}
.event-block-tag {
    background: #336AF7;
    color: #fff;
    font-family: 'vl2-bold', sans-serif;
    font-size: 11px;
    line-height: 18px;
    display: block;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    padding: 4px 16px 4px;
}

.event-block:hover {
    background-color: #FCF7F5;
}
.event-block:hover .event-block-bottom {
    opacity: .9;
}

.similar-events .event-block:hover {
    background-color: #F1F5F9;
}
.similar-events .event-block:active {
    /*background-color: #C0CEDE;*/
}

.more-blocks {
    display: none;
}
.body--events .event-blocks-holder,
.body--places .place-blocks-holder {
    margin-top: 16px;
    /*padding-top: 16px;*/
    /*border-top: solid 2px rgba(0,0,0,.1);*/
}
.place-blocks-holder {
    margin-bottom: 16px;
}
.body--places .place-blocks {
    margin-top: 0;
}

.event-blocks--accent .event-block:first-child {
    position: absolute;
    width: calc(50% - 8px);
}
.event-blocks--accent .event-block:first-child .event-block-top {
    height: 416px;
}
.event-blocks--accent .event-block:first-child .event-block-bottom {
    padding-top: calc((100% - 20px) * 0.65853);
}
.event-blocks--accent .event-block:first-child .event-block-title {
    font-size: 36px;
    line-height: 40px;
    height: 160px;
    margin-right: 65px;
}
.event-blocks--accent .event-block:nth-child(2),
.event-blocks--accent .event-block:nth-child(4) {
    margin-left: calc(50% + 4px);
}

.main-list-types {
    padding: 0 0 80px 0;
}
.main-list-type {
    display: block;
    position: relative;
    border-bottom: solid 2px rgba(0, 0, 0, 0.1);
    padding: 24px 16px 24px 96px;
    margin: -2px -16px 0;
    text-transform: lowercase;
    font-family: 'vl2', sans-serif;
    font-size: 52px;
    line-height: 48px;
    color: #262626;
    background: no-repeat url('images/temp/icon-list.svg') 16px 16px;
    background-size: 64px 64px;
    transition: .3s all;
}
.main-list-type:first-child {
    margin-top: 0;
}
.main-list-type:last-child {
    border: 0;
}
.main-list-type:hover {
    background-color: #F0DFD8;
    border-bottom-color: transparent;
}
.main-list-type:active {
    background-color: #E0CDC5;
}

.events-selections {
    padding: 16px 0 0 0;
    white-space: nowrap;
    line-height: 0;
}
.events-selections-title {
    font-family: 'vl2-bold', sans-serif;
    display: inline-block;
    vertical-align: top;
    font-size: 11px;
    line-height: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #336AF7;
    margin: 0 0 14px 0;
}
.events-selection {
    display: inline-block;
    position: relative;
    line-height: 0;
    color: #FFFFFF;
    background: #000;
    margin: 0 8px 0 0;
    width: 190px;
    height: 120px;
    border-radius: 4px;
    overflow: hidden;
}
.events-selection img {
    opacity: .6;
    width: 100%;
}
.events-selection-title {
    position: absolute;
    white-space: normal;
    left: 16px;
    top: 13px;
    right: 16px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 500;
    max-height: 48px;
    overflow: hidden;
    z-index: 2;
}
.events-selection-desc {
    position: absolute;
    left: 16px;
    right: 16px;
    white-space: nowrap;
    overflow: hidden;
    bottom: 12px;
    z-index: 2;
}

.filter-applied .events-selections {
    display: none;
}

.main-block--selections {
    background: #fff;
    padding-bottom: 80px;
}
.main-selection {
    display: inline-block;
    position: relative;
    /*line-height: 0;*/
    color: #FFFFFF;
    transition: .3s all;
    background: #000;
    height: 440px;
    min-width: 667px;
    max-width: 824px;
    width: calc((100vw - 40px) / 2);
    background: no-repeat center center;
    background-size: cover;
    white-space: normal;
    border-radius: 4px;
    overflow: hidden;
    margin-right: 8px;
    padding: 16px;
}
.main-selection:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /*background: rgba(0,0,0,.3);*/
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
    opacity: .66;
    content: "";
    display: block;
    z-index: 1;
    transition: .3s opacity;
}
.main-selection:hover:before {
    opacity: 1;
}
.main-selection:hover {
    /*color: rgba(255, 255, 255, 0.8);*/
}
.main-selection img {
    opacity: .8;
    width: 100%;
}
.main-selection-title {
    position: relative;
    display: block;
    /*left: 16px;*/
    /*top: 16px;*/
    /*right: 16px;*/
    font-size: 36px;
    line-height: 40px;
    font-weight: 500;
    max-width: 270px;
    z-index: 2;
    margin: 0 0 12px 0;
}
.main-selection-desc {
    display: block;
    position: relative;
    font-size: 18px;
    line-height: 28px;
    /*position: absolute;*/
    /*left: 16px;*/
    /*bottom: 29px;*/
    z-index: 2;
}
.slick-slide {
    line-height: 0;
}
.slick-slide:last-child > * {
    margin-right: 0;
}
.main-selections {
    white-space: nowrap;

}
.main-selections.slick-slider .slick-slide:first-child {
    border-radius: 4px 0 0 4px;
    overflow: hidden;
}
.main-selections.slick-slider .slick-slide:last-child {
    border-radius: 0 4px 4px 0;
    overflow: hidden;
}

.selections {
    line-height: 0;
    margin: -4px;
}
.selections .main-selection {
    width: 50%;
    width: calc(50% - 8px);
    margin: 4px;
    min-width: auto;
    max-width: none;
    border-radius: 4px;
    vertical-align: top;
}
.selections .main-selection:nth-child(5n + 1) {
    /*border-radius: 4px 0 0 0;*/
}
.selections .main-selection:nth-child(5n + 2) {
    /*border-radius: 0 4px 0 0;*/
}
.selections .main-selection:nth-child(5n + 3) {
    /*border-radius: 0 0 0 4px;*/
}
.selections .main-selection:nth-child(5n + 4) {
    /*border-radius: 0 0 4px 0;*/
}
.selections .main-selection:nth-child(5n + 5) {
    /*margin: 16px 0;*/
    width: 100%;
    width: calc(100% - 8px);
    /*border-radius: 4px;*/
}

/*[data-main-slider] {*/
/*    position: relative;*/
/*}*/
/*[data-main-slider] .wrap {*/
/*    position: relative;*/
/*}*/
.slick-nav.on-hover {
}
.slick-nav .wrap {
    position: relative;
}
.slick-nav.on-hover .slick-arrow {
    display: none !important;
    cursor: pointer;
    position: absolute;
    top: 112px;
    z-index: 10;
    width: 64px;
    height: 64px;
    /*display: block;*/
    background: no-repeat url('images/icon-round-arrow.svg') center center;
    border: none;
    -webkit-appearance: none;
    color: transparent;
    opacity: 0;
}
.slick-nav.on-hover .slick-next {
    right: 31px;
}
.slick-nav.on-hover .slick-prev {
    left: 31px;
    transform: rotate(180deg);
}
.stories .slick-nav.on-hover .slick-arrow {
    top: 16px;
}

.slick-slider:hover .slick-nav.on-hover .slick-arrow {
    /*opacity: 1;*/
}
.slick-nav.on-hover .slick-disabled {
    opacity: 0;
    display: none !important;
}

.slick-nav.on-top .slick-arrow {
    cursor: pointer;
    position: absolute;
    top: -36px;
    right: 16px;
    width: 24px;
    height: 24px;
    display: block;
    background: no-repeat url('images/icon-nav-right.svg') center center;
    border: none;
    -webkit-appearance: none;
    color: transparent;
}
.detail-stories .slick-nav.on-top .slick-arrow {
    top: -40px;
    background-image: url('images/icon-nav-right-b.svg');
}
.slick-nav.on-top .slick-arrow.slick-prev {
    right: 56px;
    transform: rotate(180deg);
}
.slick-nav.on-top .slick-arrow.slick-disabled {
    opacity: .5;
}


.main-block--iconic {
    background: #DAE5F1;
}

.main-iconic-left, .main-iconic-right {
    display: inline-block;
    width: 50%;
    vertical-align: top;
}
.main-iconic {
    /*border-bottom: solid 2px rgba(0,0,0,.1);*/
    padding: 0 0 16px 0;
}
.main-iconic.show-done {
    border: none;
}
.main-iconic-left-text, .visitors-group-left-text {
    max-width: 438px;
}

.place-blocks {
    /*margin: -8px;*/
}
.place-block/*,
.maped .event-blocks-holder .event-block,
.maped .event-blocks-holder .event-blocks--accent .event-block:first-child,
.maped .event-blocks-holder .event-blocks--accent .event-block:nth-child(2),
.maped .event-blocks-holder .event-blocks--accent .event-block:nth-child(4)*/
{
    width: auto;
    background: #fff;
    display: block;
    transition: .3s background-color;
    margin: 0 0 8px 0;
    border-radius: 4px;
    overflow: hidden;
    height: 200px;
    padding: 16px 238px 16px 16px;
    position: relative;
}
.place-block:last-child {
    margin-bottom: 0;
}

.maped .event-blocks-holder .event-block,
.maped .event-blocks-holder .event-blocks--accent .event-block:first-child,
.maped .event-blocks-holder .event-blocks--accent .event-block:nth-child(2),
.maped .event-blocks-holder .event-blocks--accent .event-block:nth-child(3),
.maped .event-blocks-holder .event-blocks--accent .event-block:nth-child(4)
{
    width: calc((100% - 16px) / 2);
    margin: 4px;
    position: relative;
}

.route-block .place-block {
    margin: 0;
    border-radius: 0;
}

/*.maped .event-blocks-holder .event-block-top,*/
.maped .event-blocks--accent .event-block:first-child .event-block-top
{
    /*padding: 0;*/
    height: 200px;
    /*position: static;*/
}
.maped .event-blocks--accent .event-block:first-child .event-block-bottom
{
    padding-top: 65.8536%;
}

.place-block .block-favorite {right: 206px;}
.route-block-item .block-favorite {right: 206px;}
.place-block--more {
    display: none;
}
.place-block-type {
    font-family: 'vl2-bold', sans-serif;
    font-size: 11px;
    line-height: 18px;
    display: block;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #336AF7;
    transition: .3s color;
    margin: 0 0 9px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.place-block-title,
.maped .event-blocks-holder .event-block-title,
.maped .event-blocks-holder .event-blocks--accent .event-block:first-child .event-block-title
{
    font-size: 18px;
    line-height: 24px;
    height: 96px;
    overflow: hidden;
    color: #000;
    font-weight: 500;
    transition: .3s color;
    display: block;
}
.place-block-time {
    position: absolute;
    left: 16px;
    bottom: 20px;
    font-size: 14px;
    line-height: 18px;
    display: block;
    color: #898989;
    transition: .3s color;
}
.place-block-bottom/*,
.maped .event-blocks-holder .event-block-bottom */{
    padding: 0;
    position: absolute;
    width: 190px;
    top: 0;
    right: 0;
    bottom: 0;
    background: #336AF7 no-repeat center center;
    background-size: cover;
    transition: .3s opacity;

}
.space-50 {
    display: inline-block;
    height: 1px;
    width: 50%;
}

.main-block--routes {
    background: #F7EBE6;
    padding-bottom: 80px;
}

.place-block:hover {
    background-color: #FCF7F5;
}
.main-block--iconic .place-block:hover {
    background-color: #F1F5F9;
}
.place-block:hover .place-block-bottom {
    opacity: .9;
}

.main-route {
    display: inline-block;
    border-radius: 4px;
    overflow: hidden;
    padding: 20px 16px 36px 16px;
    background: #fff;
    transition: .3s background-color;
    height: 496px;
    position: relative;
    width: 328px;
    margin: 0 8px 0 0;
    vertical-align: top;
}
.main-route:hover {
    background-color: #FCF7F5;
}
.routes .main-route {
    margin-bottom: 8px;
    width: calc((100% - 24px) / 4);
}
.routes .main-route:hover {
    background-color: #FDEEEF;
}
.routes .main-route:nth-child(4n + 4) {
    margin-right: 0;
}
.main-route-type {
    font-family: 'vl2-bold', sans-serif;
    font-size: 11px;
    line-height: 18px;
    display: block;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #336AF7;
    margin: 0 0 9px 0;
}
.main-route-title {
    font-size: 36px;
    line-height: 40px;
    color: #262626;
    font-weight: 500;
    height: 80px;
    overflow: hidden;
    display: block;
    margin: 0 0 33px 0;
}
.main-route-image {
    max-width: 280px;
    margin: 0 auto;
    display: block;
    padding: 0 32px;
}
.main-route-image img {
    width: 100%;
}
.main-route-time {
    font-size: 14px;
    line-height: 18px;
    color: #898989;
    display: block;
    position: absolute;
    left: 16px;
    bottom: 18px;
}

.main-tabs {
    white-space: nowrap;
    overflow: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    margin: 0 -8px;
    padding: 0 8px;
}
.main-tabs--search {
    margin-top: 24px;
    margin-bottom: 80px;
}
.main-tabs::-webkit-scrollbar {
    display: none;

}
.main-tab {
    display: inline-block;
    font-weight: 500;
    padding: 5px 16px;
    border-radius: 20px;
    color: #999999;
    cursor: pointer;
    transition: .3s color, .3s background-color;
    margin-right: 4px;
}
.main-tab:last-child {
    margin-right: 0;
}
.detail-right .main-tabs {
    margin: 16px 0;
}
.main-tab:hover {
    /*color: #000;*/
    background-color: #F0DFD8;
    /*background: rgba(153, 153, 153, 0.2);*/
}
.main-tab.active {
    background: #E0CDC5;
    color: #262626;
}

.main-block--visitors .main-tab:hover {
    background-color: rgba(38, 38, 38, 0.05);
}
.main-block--visitors .main-tab.active {
    background-color: rgba(38, 38, 38, 0.15);
}

.main-pane {
    display: none;
}
.main-pane.active {
    display: block;
}
.main-panes {
    margin-top: 24px;
}
.main-visitors-text {
    /*max-width: 640px;*/
}
.main-block--visitors {
    background: #DAE5F1;
    padding-bottom: 80px;
}
.main-block--visitors .visitors-item-links {
    /*max-width: 640px;*/
}

footer {
    background: #E22C38;
    padding: 40px 0 0 0;
}
.footer-top {
    position: relative;
    border-top: solid 2px rgba(38,38,38,.1);
    padding: 24px 0 30px 0;
}
.footer-bottom {
    position: relative;
    padding: 24px 0;
    border-top: solid 2px rgba(38,38,38,.1)
}
.footer-menu a {
    display: inline-block;
    margin: 0 24px 0 0;
    color: #fff;
    font-weight: 500;
}
.footer-menu a:last-child {
    margin: 0;
}
.footer-apps {
    line-height: 0;
    position: absolute;
    top: 24px;
    right: 0;
}
.footer-smena {
    position: absolute;
    right: 0;
    bottom: 25px;
}
.smena {
    padding: 4px 125px 0 0;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 20px;
    background: no-repeat url('images/smena.svg') right center;
    display: inline-block;
}

.maped .footer-top {
    padding: 16px 0 96px 0;
}
.maped .footer-apps {
    left: 0;
    top: 88px;
    right: auto;
}
.maped .footer-smena {
    border-top: solid 2px rgba(38,38,38,.1);
    margin-top: 24px;
    padding-top: 24px;
    position: static;
}

.subscribe {
    background: #E22C38;
    padding: 16px 0;
}
.subscribe-form {
    background: #fff;
    border-radius: 4px;
    padding: 16px;
}
.subscribe-title {
    height: 192px;
    display: block;
    overflow: hidden;
    max-width: 55.124451%;
    font-family: 'vl2', sans-serif;
    font-size: 40px;
    line-height: 40px;
    text-transform: lowercase;
    color: #262626;
}
.subscribe-input {
    width: calc(100% - 64px);
    background: #F5F5F5;
    height: 64px;
    border: none;
    border-radius: 4px 0 0 4px;
    font-size: 24px;
    line-height: 32px;
    color: #000;
    padding: 0 0 0 20px;
    font-weight: 500;
    -webkit-appearance: none;
}
.subscribe-input::placeholder {
    color: #999999;
}
.subscribe-button {
    width: 64px;
    height: 64px;
    display: inline-block;
    vertical-align: top;
    background: #E22C38 url('images/icon-arr-right-w.svg') center center no-repeat;
    border-radius: 0 4px 4px 0;
    border: none;
    -webkit-appearance: none;
}
.social {
    display: inline-block;
    width: 48px;
    height: 48px;
    vertical-align: top;
    margin: 0 24px 0 0;
    background: no-repeat center center;
    overflow: hidden;
    text-indent: 100px;
    white-space: nowrap;
    color: transparent;
}
.social--fb {
    background-image: url('images/icon-social-fb.svg');
}
.social--ok {
    background-image: url('images/icon-social-ok.svg');
}
.social--tw {
    background-image: url('images/icon-social-tw.svg');
}
.social--vk {
    background-image: url('images/icon-social-vk.svg');
}
.social--ig {
    background-image: url('images/icon-social-ig.svg');
}
.social--yz {
    background-image: url('images/icon-social-yz.svg');
}
.social--yt {
    background-image: url('images/icon-social-yt.svg');
}
.social:last-child {
    margin: 0;
}

.main-visitors-links {
    margin: 24px 0 0 0;
}
.main-visitors-link {
    display: block;
    position: relative;
    border-top: solid 2px rgba(0, 0, 0, 0.1);
    padding: 31px 0 31px 56px;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: #262626;
    background: no-repeat url('images/temp/icon-list.svg') 0 24px;
    background-size: 40px 40px;
}
.main-visitors-link--entrance {
    background-image: url('images/icon-entrance.svg');
}
.main-visitors-link--parking {
    background-image: url('images/icon-parking.svg');
}
.main-visitors-link:last-child {
    border-bottom: solid 2px rgba(0, 0, 0, 0.1);
}
.main-visitors-link:hover {
    color: #336AF7;
}

.content {
    position: relative;
}
.content:after {
    display: block;
    content: "";
    clear: both;
}
.maped .content,
.body--route .content
{
    padding-right: 50%;
}
.map {
    display: none;
    background: no-repeat url('images/map-logo.svg') center center, repeat url('images/map-back.png') center center;
    background-color: #fbf7f5;
}
.maped .map,
.body--route .map
{
    display: block;
    position: fixed;
    z-index: 10;
    width: 50%;
    bottom: 0;
    right: 0;
    height: 100vh;
}
.maped .map.bottom,
.body--route .map.bottom
{
    position: absolute;
}

.on-map {
    cursor: pointer;
    position: absolute;
    right: 16px;
    top: 16px;
    padding: 12px 56px;
    color: #E22C38;
    font-size: 18px;
    line-height: 24px;
    background: #fff;
    border-radius: 4px;
    display: block;
    font-weight: 500;
}
.on-map:before {
    height: 20px;
    width: 20px;
    background: no-repeat center center url('images/icon-map-red.svg?2');
    display: inline-block;
    content: "";
    vertical-align: -4px;
    margin: 0 6px 0 0;
}
.top .wrap {
    position: relative;
}

.route-on-map {
    display: none
}

.filter-form {
    margin: 73px 0 0 0;
    padding: 0 0 16px 0;
    position: relative;
}
.search-input {
    height: 64px;
    width: 100%;
    color: #fff;
    font-size: 18px;
    line-height: 24px;
    padding: 16px 16px 16px 56px;
    background: rgba(255,255,255,.2) no-repeat url('images/icon-search-w.svg') 16px center;
    border: none;
    font-weight: 500;
    border-radius: 4px;
    -webkit-appearance: none;
}
.search-input::placeholder {
    color: #fff;
}
.filter-tags {
    /*white-space: nowrap;*/
    /*margin: 16px 0 8px;*/
    padding: 8px 0 0 ;
    /*overflow: hidden;*/
    overflow: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}
.filter-tags {
}
.filter-tags::-webkit-scrollbar {
    display: none;
}
.filter-tag, .filter-total {
    display: inline-block;
    vertical-align: top;
    margin: 0 8px 0 0;
    border-radius: 4px;
    background: rgba(255,255,255,.2);
    color: #fff;
    padding: 8px 12px;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    transition: .3s all;
}
.filter-tag:last-child {
    margin-right: 0;
}
.filter-tag:hover {
    /*background: #fff;*/
    background: rgba(255,255,255,.4);
    /*color: #E22C38;*/
}
.filter-tag.active, .filter-total {
    background: #fff;
    color: #E22C38;
    /*padding-right: 36px;*/
    position: relative;
}
.filter-tag.collapse {
    display: none;
}
.filter-tag.active:after {
    /*width: 24px;*/
    /*height: 24px;*/
    /*background: no-repeat url('images/icon-close-red.svg') center center;*/
    /*display: block;*/
    /*content: "";*/
    /*position: absolute;*/
    /*right: 8px;*/
    /*top: 8px;*/
}
.filter-bottom {
    padding: 15px 0;
    position: relative;
}
.filter-trigger {
    display: inline-block;
    color: #fff;
    padding: 12px 0 12px 29px;
    line-height: 24px;
    background: no-repeat url('images/icon-filters.svg') 0 center;
    font-weight: 500;
    cursor: pointer;
}
.filter-sorts {
    position: absolute;
    right: 0;
    top: 0;
    display: inline-block;
    font-weight: 500;
    padding: 0;
}
.filter-sorts-title {
    cursor: pointer;
    display: block;
    line-height: 24px;
    padding: 12px 32px 12px 0;
    position: relative;
}
.filter-sorts-title:after {
    width: 24px;
    height: 24px;
    display: block;
    position: absolute;
    right: 0;
    top: 12px;
    content: "";
    transition: .3s transform;
    background: url('images/icon-dropdown-w.svg');
}
.filter-sorts.active .filter-sorts-title:after {
    transform: rotate(180deg);
}
.filter-total span {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    margin: 0 4px 0 0;
    line-height: 24px;
    text-align: center;
    font-weight: 500;
    color: #fff;
    background: #E22C38;
    display: inline-block;
}
.filter-sorts-items {
    background: #FFFFFF;
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.04), 0px 12px 12px rgba(0, 0, 0, 0.04);
    border-radius: 4px;
    padding: 8px 0;
    z-index: 10;
    top: 100%;
    right: 0;
    position: absolute;
    white-space: nowrap;
    display: none;
}
.filter-sort {
    color: #999999;
    transition: .3s all;
    padding: 12px 24px;
    display: block;
    cursor: pointer;
}
.filter-sort:hover {
    color: #262626;
}
.filter-sort.active {
    color: #262626;
    background: #F5F5F5;
}
.filter-sort input {
    position: absolute;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
}

.detail-top {
    padding-top: 96px;
    height: 672px;
    background: #000 no-repeat center center;
    background-size: cover;
    margin: 0 0 8px 0;
    position: relative;
}
.inner-top {
    padding-top: 96px;
}
.detail-top:before {
    display: block;
    z-index: 1;
    content: "";
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.08) 100%);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
.detail-top .wrap {
    z-index: 2;
    position: relative;
}

.detail-top--tiny {
    height: auto;
    background: none;
}
.detail-top--tiny:before {
    display: none;
}

.detail-left {
    width: 50%;
    display: inline-block;
    vertical-align: top;
    margin: 0 0 16px 0;
    padding-right: 4px;
}
.detail-fixed.fixed {
    position: fixed;
    /*left: 16px;*/
    top: 110px;
}
.detail-fixed.bottom {
    position: absolute;
    left: 16px;
    bottom: 16px;
}
.maped .detail-fixed.fixed,
.maped .detail-fixed.bottom {
    position: relative;
    left: auto;
    bottom: auto;
    top: auto;
}
.detail-right {
    width: 50%;
    display: inline-block;
    vertical-align: top;
    margin: 0 0 16px 0;
    padding-left: 4px;
}
.wrap--detail h1 {
    max-width: 560px;
    margin: 0;
    font-size: 40px;
    line-height: 40px;
}
.body--route .detail-left,
.maped .detail-left {
    width: auto;
    display: block;
    /*margin: 8px 0 48px;*/
    margin: 0 0 28px 0;
    padding-right: 0;
}
.detail-buttons {
    margin: 24px 0 40px 0;
}
.detail-buttons a {
    margin: 8px 0;
}
.detail-buttons a:first-child {
    margin-top: 0;
}
.detail-buttons a:last-child {
    margin-bottom: 0;
}
.body--route .detail-right,
.maped .detail-right {
    width: auto;
    display: block;
    margin: 0 0 80px 0;
    padding-left: 0;
}
.maped .fast .detail-right,
.fast .detail-right {
    margin-bottom: 16px;
}

.dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #A0A0A0;
    display: inline-block;
    vertical-align: middle;
    margin: 0 8px;
}
.detail-type {
    font-family: 'vl2-bold', sans-serif;
    font-size: 11px;
    line-height: 24px;
    display: inline-block;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    vertical-align: middle;
    color: #336AF7;
}
.ticket-button {
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    color: #FFFFFF;
    font-weight: 500;
    display: block;
    /*margin: 0 0 8px 0;*/
    background: #336AF7;
    border-radius: 4px;
    padding: 16px 120px;
    transition: .3s background-color;
}
.ticket-button:hover {
    background-color: #285DE8;
}
.ticket-button:active {
    background-color: #1A4AC6;
}

.detail-block {
    background: #fff;
    border-radius: 5px;
    margin: 8px 0;
    padding: 16px 16px 56px;
    font-size: 18px;
    line-height: 28px;
    overflow: hidden;
}
.detail-block:first-child {
    margin-top: 0;
}
.detail-block:last-child {
    margin-bottom: 0;
}
.detail-block--event {
    padding: 16px;
}
.detail-block .title {
    /*font-size: 40px;*/
    /*line-height: 44px;*/
    margin: 0 0 45px 0;
}
.detail-events {
    margin: 0 -16px -16px -16px;
}
.detail-events .route-block-item {
    border-bottom: solid 1px rgba(38,38,38,0.1);
    transition: .3s all;
    margin-top: -1px;
}
.detail-events .route-block-item:hover {
    background-color: #F4F4F4;
    border-bottom-color: transparent;
}
.detail-events .route-block-item:active {
    background-color: #DFDFDF;
    border-bottom-color: transparent;
}
.detail-events .route-block-item:last-child {
    border-bottom: none;
}
.detail-events .main-more .wrap {
    padding: 0 16px;
}
.detail-events .main-more {
    margin-top: -1px;
}
.detail-events .main-more:hover {
    background-color: #F4F4F4;
}
.detail-events .main-more:active {
    background-color: #DFDFDF;
}

.detail-block--info .main-more {
    margin: 16px -16px -56px -16px;
}
.detail-block--info .main-more .wrap {
    padding: 0 16px;
}
.detail-block--info .main-more:hover {
    background-color: #F4F4F4;
}
.detail-block--info .main-more:active {
    background-color: #DFDFDF;
}

.detail-button {
    /*float: left;*/
    background: #fff;
    font-size: 18px;
    line-height: 24px;
    color: #E22C38;
    padding: 16px 50px;
    text-align: center;
    font-weight: 500;
    display: block;
    /*width: 100%;*/
    /*margin: 8px 0 0 0;*/
    border-radius: 5px;
    transition: .3s background-color, .3s color;
}

.detail-button:hover {
    background-color: #E22C38;
    color: #fff;
}
.detail-button:first-child {
    margin-top: 0;
}
.detail-button:before {
    content: "";
    width: 24px;
    height: 24px;
    display: inline-block;
    margin: 0 6px 0 0;
    vertical-align: top;
    background: no-repeat center center;
    transition: .3s filter;
}
.detail-button:hover:before {
    filter: grayscale(1) brightness(5);
}
.detail-button--route:before {
    background-image: url('images/icon-route-red.svg');
}
.detail-button--map:before {
    background-image: url('images/icon-map-red.svg?1');
}
.detail-buttons:after {
    clear: both;
    display: block;
    content: "";
}
.detail-button--map {
    display: none;
    margin-right: 0;
}
.detail-place {
    display: block;
    padding: 22px 22px 22px 60px;
    background: #fff no-repeat url('images/icon-place-blue.svg') 20px 20px;
    font-weight: 500;
    font-size: 18px;
    line-height: 28px;
    color: #262626;
    margin: 8px 0 ;
    border-radius: 5px;
    transition: .3s background-color;
}
.detail-place:hover {
    background-color: #FCF7F5;
}
.detail-attension {
    margin: 8px 0;
    background: #fff no-repeat url('images/icon-attension.svg') 28px 32px;
    border-radius: 5px;
    min-height: 128px;
    padding: 28px 28px 28px 112px;
    font-size: 17px;
    line-height: 24px;
}
.detail-stories {
    /*padding: 24px 0;*/
    /*border-radius: 5px;*/
    /*margin: 16px 0;*/
    /*border-top: solid 1px rgba(38, 38, 38, 0.1);*/
    /*border-bottom: solid 1px rgba(38, 38, 38, 0.1);*/
    margin: 40px 0 80px;
    padding: 0;
}
.detail-stories-title {
    /*font-family: 'vl2', sans-serif;*/
    /*font-weight: bold;*/
    /*display: inline-block;*/
    /*font-size: 11px;*/
    /*line-height: 18px;*/
    /*letter-spacing: 0.04em;*/
    /*text-transform: uppercase;*/
    /*margin: 0 0 18px 0;*/
    /*vertical-align: top;*/
}
.detail-text {
    /*padding: 11px 16px 16px 16px;*/
    /*background: #fff;*/
    /*border-radius: 5px;*/
    /*margin: 8px 0;*/
    /*font-size: 18px;*/
    /*line-height: 28px;*/
}
.detail-text-preview {
    margin: 0 0 24px 0;
}
.detail-text-preview:last-child {
    margin-bottom: 32px;
}
.detail-text-more {
    display: block;
    margin-top: 20px;
    color: #999999;
    cursor: pointer;
}
.detail-text-more:hover {
    color: #262626;
}
.detail-text-detail {
    display: none;
}
/*
.detail-gallery {margin-top: 48px;line-height: 0;}
.detail-gallery a {
    display: inline-block;
    line-height: 0;
    margin-right: 8px;
    width: calc((100% - 16px) / 3);
}
.detail-gallery a img {
    width: 100%;
}
.detail-gallery a:nth-child(3) {
    margin-right: 0;
}
.detail-gallery a.hidden {
    display: none;
}
.detail-gallery a.more {
    position: relative;
}
.detail-gallery a.more:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,.6);
}
.detail-gallery a.more span {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    font-family: 'vl2', sans-serif;
    font-size: 28px;
    line-height: 36px;
    text-transform: lowercase;
    color: #FFFFFF;
}
.detail-gallery:first-child {
    margin-top: 0;
}
*/
.detail-gallery {
    white-space: nowrap;
    line-height: 0;
    overflow: hidden;
}
.detail-gallery--news {
    margin-bottom: 16px;
}
.detail-gallery a {
    display: inline-block;
    border-radius: 4px;
    overflow: hidden;
    line-height: 0;
    margin-right: 8px;
}
.detail-gallery a img {
    height: 424px;
}
.slick-slide:last-child a {
    margin-right: 0;
}
.detail-table {
    /*font-size: 17px;*/
    /*line-height: 24px;*/
}
.detail-table__line {
    display: flex;
    /*justify-content: space-between;*/
    padding: 16px 0;
}
.detail-table__line--more {
    cursor: pointer;
    padding-right: 16px;
    padding-left: 16px;
    position: relative;
    margin: 0 -16px -1px -16px;
    transition: .3s background-color;
}
.detail-table__line--more:hover {
    background-color: #F4F4F4;
}
.detail-table__line--more:active {
    background-color: #DFDFDF;
}

.detail-table__line--more:before,
.detail-table__line--more:after {
    content: "";
    z-index: 3;
    display: block;
    width: 2px;
    height: 14px;
    background: rgb(153, 153, 153);
    /*border-right: solid 2px #336AF7;*/
    /*border-bottom: solid 2px #336AF7;*/
    position: absolute;
    right: 22px;
    top: 29px;
    transform: translate3d(-50%, -50%, 0);
    transform-origin: center center;
    transition: .3s all;
}
.detail-table__line--more:after {
    transform: translate3d(-50%, -50%, 0) rotate(90deg);
    /*right: 18px;*/
    /*bottom: 13px;*/
}
.detail-table__line--more.active:before {
    height: 2px;
    bottom: 25px;
}
.detail-table__left {
    /*align-self: flex-end;*/
    /*display: inline-block;*/
    /*vertical-align: bottom;*/
    /*font-weight: 500;*/
    /*margin-right: 5%;*/
    padding-right: 16px;
    position: relative;
    z-index: 3;
    width: 100%;
    font-weight: 500;
}
.detail-table__right {
    /*align-self: flex-end;*/
    /*display: inline-block;*/
    /*vertical-align: bottom;*/
    /*text-align: right;*/
    /*max-width: 50%;*/
    padding-right: 16px;
    position: relative;
    z-index: 3;
    width: 100%;
}
.detail-table__row {
    border-bottom: 1px solid #F1F1F1;
    margin-top: -1px;
}
.detail-table__row:first-child {
    margin-top: 0;
}
.detail-table__more {
    padding: 16px 32px 16px 0;
    display: none;
    font-size: 16px;
    line-height: 25px;
}
.detail-table:last-child .detail-table__row:last-child {
    border: none;
}
.detail-table:last-child .detail-table__row:last-child .detail-table__line {
    /*padding-bottom: 0;*/
}
.facilities {
    overflow: hidden;
}
.facility {
    padding: 14px 0 18px 0;
    width: 50%;
    display: inline-block;
    font-weight: 500;
    vertical-align: top;
    border-bottom: 1px solid #F1F1F1;
    margin-bottom: -1px;
}
.facility:nth-child(2n + 1) {
    width: calc(50% - 8px);
    margin-right: 8px;
}

.detail-tags {
    margin-top: -8px;
}
.detail-tag {
    display: inline-block;
    margin: 8px 8px 0 0;
    font-family: 'vl2-bold', sans-serif;
    font-size: 11px;
    line-height: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #336AF7;
    background: #fff;
    padding: 12px 16px 10px;
    border-radius: 5px;
}
.detail-similar {
    background: #DAE5F1;
    padding: 8px 0 80px;
}
.detail-similar .title {
    margin-bottom: 40px;
}
.detail-history {
    padding: 12px 16px;
    background: #fff;
    margin: 8px 0;
    border-radius: 4px;
}

.place-blocks-holder .place-block-type {
    position: absolute;
    top: 16px;
    left: 16px;
}
.place-blocks-holder .place-block-time {
    left: 337px;
}
.place-blocks-holder .place-block-title {
    margin-left: 321px;
}

.maped .place-blocks-holder .place-block-type {
    position: relative;
    top: auto;
    left: auto;
}
.maped .place-blocks-holder .place-block-time {
    left: 16px;
}
.maped .place-blocks-holder .place-block-title {
    margin-left: 0;
}

.panel {
    position: relative;
    height: 80px;
}
.panel-back, .panel-share {
    position: absolute;
    top: 50%;
    display: block;
    color: #fff;
    font-size: 18px;
    line-height: 24px;
    transform: translate3d(0, -50%, 0);
    font-weight: 500;
}
.panel-back {
    left: 0;
    padding: 0 0 0 24px;
    background: no-repeat url('images/icon-back-w.svg') left center;
}
.panel-share {
    right: 0;
    padding: 0 28px 0 0;
    background: no-repeat url('images/icon-share-w.svg') right center;
}
.popup {
    display: none;
    border-radius: 4px;
    padding: 14px 16px 56px;
}
.popup--share {
    width: 100%;
    max-width: 544px;
}
.popup .title {
    margin-right: 50px;
}
.popup--share .social {
    /*filter: brightness(0);*/
    /*opacity: .6;*/
}
.popup--share .detail-table__line:hover .social {
    /*opacity: 1;*/
}
.popup--share .social {
    /*width: 24px;*/
    /*height: 24px;*/
    /*background-size: 32px 32px;*/
}
.popup--share .detail-table__row:last-child {
    /*border-bottom: none;*/
}
.popup--share .detail-table__line {
    /*color: #262626;*/
}

.share-link {
    border-bottom: solid 1px #F1F1F1;
    transition: .3s all;
    margin-top: -1px;
}
.share-link:hover {
    border-bottom-color: transparent;
}
.share-link:first-child {
    margin-top: 0;
}
.share-link:last-child {
    border: none;
}
.share-link a {
    display: block;
    margin: 0 -16px;
    padding: 20px 16px 20px 46px;
    transition: .3s all;
    font-weight: 500;
    color: #285DE8;
    background-repeat: no-repeat;
    background-position: 16px center;
}
.share-link a:hover {
    background-color: #F4F4F4;
}
.share-link a:active {
    background-color: #DFDFDF;
}
.share-link--fb a {
    background-image: url('images/icon-social-fb-20.svg');
}
.share-link--vk a {
    background-image: url('images/icon-social-vk-20.svg');
}
.share-link--tw a {
    background-image: url('images/icon-social-tw-20.svg');
}

.fast {
    /*opacity: 0;*/
    display: none;
    background: #F7EBE6;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 50%;
    overflow: auto;
    /*transition: .3s opacity;*/
    z-index: 10;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}
.fast.show {
    opacity: 1;
}

.inner-top .panel-back, .detail-top--tiny .panel-back {
    color: #E22C38;
    background-image: url('images/icon-back-r.svg');
}
.inner-top .panel-share, .detail-top--tiny .panel-share {
    color: #E22C38;
    background-image: url('images/icon-share-r.svg');
}

.detail-selection .wrap {
    position: relative;
}
.detail-selection h1 {
    /*margin-right: 250px;*/
}
.detail-selection .top-text {
    margin: 0 0 90px 0;
}

.header-burger {
    display: none;
}

.app {
    display: inline-block;
    margin: 0 8px 0 0;
    width: 159px;
    height: 48px;
    background: rgba(0,0,0,1) center no-repeat;
    background-size: contain;
    color: transparent;
    overflow: hidden;
    text-indent: 160px;
    white-space: nowrap;
    border-radius: 4px;
}
.app:last-child {
    margin: 0;
}
.app--apple {
    background-image: url('images/app-apple.svg');
}
.app--google {
    background-image: url('images/app-google.svg');
}
.app:hover {
    /*background-color: rgba(0,0,0,.3);*/
}

.map-marker__inner {
    position: absolute;
    background: #FFFFFF;
    border-radius: 4px;
    width: 343px;
    padding: 20px 124px 16px 16px;
    min-height: 124px;
    left: 50%;
    bottom: 100%;
    transform: translate3d(-50%, -10px, 0);
    opacity: 0;
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.04), 0px 12px 12px rgba(0, 0, 0, 0.04);
}
.map-marker__inner.fadeIn {
    opacity: 1;
    transition: .3s all;
    transform: translate3d(-50%, -30px, 0);
}
.map-marker__inner.fadeOut {
    opacity: 0;
    transition: .1s all;
    transform: translate3d(-50%, -30px, 0);
}
.map-marker__type {
    font-family: 'vl2-bold', sans-serif;
    font-size: 11px;
    line-height: 18px;
    display: block;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #336AF7;
    margin: 0 0 7px 0;
}
.map-marker__title {
    font-size: 16px;
    line-height: 20px;
    color: #262626;
    height: 40px;
    overflow: hidden;
    margin: 0 0 6px 0;
    font-weight: 500;
}
.map-marker__time {
    font-size: 14px;
    line-height: 15px;
    color: #898989;
    font-weight: 400;
}
.map-marker__pic {
    position: absolute;
    width: 92px;
    height: 92px;
    right: 16px;
    top: 16px;
    border-radius: 4px;
    background: no-repeat center center;
    background-size: cover;
}
.map-marker__inner:before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #fff transparent transparent transparent;
    z-index: 2;
    content: "";
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
}

.hide {
    display: none !important;
}

@media (min-width: 1680px) {
    header {
        width: 1648px;
        left: 50%;
        right: auto;
        transform: translate3d(-50%, 0, 0);
    }
}

@media (max-width: 1152px) {
    .event-block {
        width: calc((100% - 24px) / 3);
    }
    .event-blocks--accent .event-block:first-child {
        width: calc(100% / 3 * 2 - 8px);
    }
    .event-blocks--accent .event-block:nth-child(2), .event-blocks--accent .event-block:nth-child(3) {
        margin-left: calc(100% / 3 * 2 + 4px);
    }
    .event-blocks--accent .event-block:nth-child(4) {
        margin-left: 4px;

    }
}

.close {
    background: #fff;
    cursor: pointer;
    font-size: 18px;
    line-height: 24px;
    z-index: 40;
    /*width: 48px;*/
    /*height: 48px;*/
    font-weight: 500;
    color: #E22C38;
    border-radius: 4px;
    display: block;
    top: 120px;
    right: 16px;
    padding: 12px 20px 12px 44px;
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.04), 0px 12px 12px rgba(0, 0, 0, 0.04);
}
.close--map {
    position: fixed;
    display: none;
}
.filtered .close--map {
    display: none;
}
.filter-close {
    cursor: pointer;
    display: block;
    position: absolute;
    width: 48px;
    z-index: 40;
    height: 48px;
    background: no-repeat url('images/icon-close-big-red.svg') center center;
    top: 120px;
    right: 16px;
    transition: .3s filter;
    filter: grayscale(1) brightness(.5);
}
.filter-close:hover {
    filter: grayscale(0);
}

.close:before, .close:after {
    display: block;
    position: absolute;
    content: "";
    height: 2px;
    width: 16px;
    top: 50%;
    left: 22px;
    transform-origin: 50% 50%;
    background: #E22C38;
}
.close:before {
    transform: translate3d(-50%, -50%, 0) rotate(45deg);
}
.close:after {
    transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}

.filter {
    display: none;
    position: fixed;
    overflow: auto;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    left: 0;
    right: 0;
    bottom: 0;
    cursor: pointer;
    top: 0;
    z-index: 19;
    /*background: rgba(38, 38, 38, 0.4);*/
}
.filter::-webkit-scrollbar {
    display: none;
}
.filtered .filter {
    display: block;
}
.filter-content {
    cursor: default;
    width: 50%;
    min-height: 100vh;
    background: #FAEDE8;
    padding-top: 104px;
    position: relative;
    /*overflow: hidden;*/
    color: #262626;
    padding-bottom: 80px;
}
.filter-buttons {
    position: fixed;
    padding: 8px 16px;
    /*left: 0;*/
    bottom: 0;
    right: 50%;
    width: 50%;
    max-width: 840px;
    background: #faede8;
}
.filter-button {
    display: inline-block;
    cursor: pointer;
    width: 50%;
    width: calc(50% - 4px);
    margin-right: 8px;
    padding: 20px;
    text-align: center;
    border: none;
    border-radius: 4px;
    background: #fff;
    color: #E22C38;
    font-size: 18px;
    line-height: 24px;
    font-family: 's', sans-serif;
    font-weight: 500;
}
.filter-button:last-child {
    margin-right: 0;
    background: #E22C38;
    color: #fff;
}
.filter-blocks {
    margin-top: 69px;
}
.filter-block {
    border-radius: 4px;
    overflow: hidden;
    padding: 13px 16px 8px 16px;
    background: #fff;
    margin: 8px 0;
}
.filter-title {
    font-size: 18px;
    line-height: 24px;
    color: #999999;
    margin: 0 0 19px 0;
}
.filter-labels {
    /*white-space: nowrap;*/
    /*overflow: hidden;*/
    position: relative;
}
.filter-labels.more {
    overflow: auto;
    white-space: normal;
}
.filter-label {
    display: inline-block;
    background: #F5F5F5 no-repeat 14px center;
    transition: .3s background-color, .3s color;
    border-radius: 4px;
    padding: 12px;
    font-size: 18px;
    height: 48px;
    line-height: 24px;
    color: #262626;
    cursor: pointer;
    margin: 0 8px 8px 0;
    font-weight: 500;
    vertical-align: top;
}
.filter-label--calendar {
    min-width: 48px;
    background-image: url('images/icon-calendar.svg');
}
.filter-label--calendar.active {
    padding: 12px 12px 12px 44px;
    background-image: url('images/icon-calendar-white.svg');
}
.filter-label:hover {
    background-color: #DBDBDB;
}
.filter-labels--clue .filter-label {
    margin-right: 2px;
    border-radius: 0;
}
.filter-labels--clue .filter-label:first-child {
    border-radius: 4px 0 0 4px;
}
.filter-label input {
    position: absolute;
    opacity: 0;
    z-index: -1;
}
.filter-label:last-child {
    margin-right: 0;
}
.filter-labels--clue .filter-label:last-child {
    margin-right: 0;
    border-radius: 0 4px 4px 0;
}
.filter-label.active {
    background-color: #E22C38;
    color: #fff;
}
.filter-more {
    position: absolute;
    display: block;
    right: 0;
    top: 0;
    padding: 12px 0 12px 43px;
    color: #999999;
    font-size: 18px;
    line-height: 24px;
    cursor: pointer;
    background: linear-gradient(-90deg, #FFFFFF 0%, rgba(255, 255, 255, 0.984375) 76.56%, rgba(255, 255, 255, 0) 100%);
}
.filter-more:hover {
    color: #262626;
}

.filter-months {
    display: none;
    position: absolute;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.04), 0px 12px 12px rgba(0, 0, 0, 0.04);
    z-index: 50;
    width: 300px;
    padding: 8px;
}
.month__title {
    font-weight: 500;
    text-align: center;
    font-size: 17px;
    line-height: 24px;
    margin: 6px 0 12px 0;
}
.month__title span {
    color: #1C1C1C;
    opacity: 0.3;
}
.day {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 17px;
    display: inline-block;
    text-align: center;
    position: relative;
}
.day--today:before {
    /*display: block;*/
    /*content: "";*/
    /*width: 4px;*/
    /*height: 4px;*/
    /*border-radius: 50%;*/
    /*background: #F73340;*/
    /*position: absolute;*/
    /*left: 50%;*/
    /*bottom: 9px;*/
    /*transform: translate(-50%, 0);*/
}
.day--dow {
    /*width: 14.2857%;*/
    /*width: calc(100%/7);*/
    /*line-height: 24px;*/
    color: #7C7C7C;
}
.day--not-this-month {
    visibility: hidden;
}
.day a {
    display: block;
    /*width: 40px;*/
    line-height: 40px;
    color: #262626;
    border-radius: 50%;
}
.day a:hover {
    transition: .3s color, .3s background-color;
    background: #F5F5F5;
}
.day .active, .day .active:hover {
    background: #E22C38;
    color: #fff;
    z-index: 1;
    position: relative;
}
.day .between {
    border-radius: 0;
    background: #F5F5F5;
}
.day--from:before, .day--to:before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    width: 50%;
    bottom: 0;
    left: 50%;
    background: #F5F5F5;
    z-index: 0;
}
.day--to:before {
    right: 50%;
    left: auto;
}

.day--holiday a {
    color: #F73340;
}
.day--was a {
    color: #7C7C7C;
}
.week .day:last-child .between {
    border-radius: 0 20px 20px 0;
}
.week .day:first-child .between {
    border-radius: 20px 0 0 20px;
}

.lock .global {
    height: 100vh;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.route {
    padding: 0 0 16px 0;
}
.route-header--big h1 {
    margin: 8px 0 16px;
    font-size: 84px;
    line-height: 72px;
}
.route-desc {

}
.route-header {
    margin: 8px 0 73px 0;
}
.route-features {
    margin: 8px 0 8px 0;
    display: flex;
}
.route-feature {
    width: 50%;
    margin-right: 8px;
    background: #fff;
    border-radius: 4px;
    padding: 6px 16px 16px 16px;
}
.route-feature:last-child {
    margin-right: 0;
}
.route-feature-value {
    font-family: 'vl2', sans-serif;
    font-size: 40px;
    line-height: 55px;
    text-transform: lowercase;
    color: #262626;
    margin: 0 0 2px 0;
}
.route-feature-desc {
    font-size: 18px;
    line-height: 24px;
    color: #999999;
    font-weight: 500;
}
.route-block {
    position: relative;
}
.route-block--point, .route-block--input {
    background: #fff;
    border-radius: 4px;
    margin: 8px 0;
    overflow: hidden;
}
.route-block--leg {
    padding: 14px 0 14px 64px;
    background: no-repeat url('images/icon-route-walk.svg') 20px center;
    font-size: 18px;
    line-height: 24px;
    color: #999999;
    margin: 8px 0;
}
.route-blocks--sorting .route-block--leg {
    visibility: hidden;
}
.route-block:last-child {
    margin-bottom: 0;
}
.route-block:last-child .route-block--leg {
    display: none;
}
.route-block-duration {
    cursor: pointer;
    padding: 20px 16px 20px 64px;
    min-height: 64px;
    font-size: 18px;
    line-height: 24px;
    color: #999999;
    position: relative;
    border-bottom: solid 1px rgba(0,0,0,.05);
    transition: .3s background-color;
}
.route-block-duration:hover {
    background: #fafafa;
}
.route-block-duration:before {
    display: block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    position: absolute;
    left: 16px;
    top: 16px;
    background: #4FAFA8;
    text-align: center;
    line-height: 32px;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: bold;
    content: attr(data-num);
}
.route-block-duration--blue:before {
    background: #336AF7;
}
.route-block-duration--violet:before {
    background: #7849DC;
}
.route-block-duration--purple:before {
    background: #7849DC;
}
.route-block-duration--aquamarine:before {
    background: #60AFA9;
}
.route-block-duration--yellow:before {
    background: #F0AF18;
}
.route-block-duration--orange:before {
    background: #E8773F;
}
.route-block-duration--green:before {
    background: #59B26A;
}
.route-block-duration--black:before, .route-block-duration--point:before {
    background: #262626;
}
.route-block-duration--location, .route-block-duration--point {
    color: #262626;
    font-weight: 500;
    border: none;
}
.route-block-duration--location:before {
    content: "";
    background: no-repeat url('images/icon-locator.svg') center center;
    background-size: cover;
}

.route-block-desc {
    padding: 16px 112px 16px 16px;
    font-size: 18px;
    line-height: 24px;
    color: #262626;
    border-top: solid 1px rgba(0,0,0,.05);
}
.route-block-item {
    display: block;
    padding: 16px 240px 16px 16px;
    min-height: 200px;
    position: relative;
}
.route-block-pic {
    width: 160px;
    position: absolute;
    top: 16px;
    right: 16px;
    bottom: 16px;
    background: no-repeat center center;
    background-size: cover;
    border-radius: 4px;
}
.route-block-type {
    font-family: 'vl2-bold', sans-serif;
    font-size: 11px;
    line-height: 24px;
    display: inline-block;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    vertical-align: top;
    color: #336AF7;
    margin: 0 0 7px 0;
}
.route-block-title {
    display: block;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    color: #262626;
    height: 96px;
    overflow: hidden;
    margin: 0 0 16px 0;
}
.route-block-time {
    font-size: 14px;
    line-height: 18px;
    display: block;
    color: #898989;
}
.route-block-placeholder {
    background: rgba(255,255,255,.5);
    border-radius: 4px;
    height: 265px;
    margin-bottom: 68px;
}
.route-block-placeholder:last-child {
    margin-bottom: 0;
}
.route-block-header {
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    padding: 20px 16px;
}
.route-block-body {
    border-top: solid 1px rgba(38, 38, 38, 0.05);
}
.route-block-search {
    padding: 16px;
}
.route-block-search input {
    -webkit-appearance: none;
    border: none;
    width: 100%;
    font-weight: 500;
    background: #F5F5F5 url('images/icon-search-g.svg') 16px center no-repeat;
    border-radius: 4px;
    padding: 16px 16px 16px 56px;
    font-size: 18px;
    line-height: 32px;
    color: #262626;
}
.route-block-search input::placeholder {
    color: #999999;
}
.route-blocks {
    position: relative;
    margin: 8px 0 0 0;
}
.route-block-suggests-title {
    font-size: 14px;
    line-height: 18px;
    display: block;
    color: #7C7C7C;
    padding: 26px 0 4px;
}
.route-block-suggest {
    display: block;
    font-size: 18px;
    line-height: 24px;
    color: #262626;
    padding: 12px 16px 12px 48px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    font-weight: 500;
    background-repeat: no-repeat;
    background-position: 16px center;
    background-size: 24px 24px;
    margin: 0 -16px;
    transition: .3s background-color;
}
.route-block-suggest:hover {
    background-color: #F4F4F4;
}
.route-block-suggest:active {
    background-color: #dfdfdf;
}
.icon-news {
    background-image: url('images/icon-news.svg');
}
.icon-selections {
    background-image: url('images/icon-selections.svg');
}
.icon-routes {
    background-image: url('images/icon-routes.svg');
}
.icon-visitors {
    background-image: url('images/icon-visitors.svg');
}
.icon-contacts {
    background-image: url('images/icon-contacts.svg');
}
.icon-search {
    background-image: url('images/icon-search-g.svg');
}
.link-external .search-result-link-title:after {
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url('images/icon-blank.svg') no-repeat center center;
    content: "";
    vertical-align: bottom;
    margin-left: 8px;
}

.route-block-location {
    padding: 0 0 8px;
    margin: 0 0 8px;
    display: none;
    border-bottom: solid 1px rgba(38, 38, 38, 0.05);
}
.route-block-suggest--location {
    background-image: url('images/icon-locator.svg');
}

.route-block-defaults {
    margin: 16px 0 0 0;
}
.route-block-defaults .main-more {
    margin: 0 -16px -16px -16px;
}
.route-block-defaults .main-more:hover {
    background-color: #F4F4F4;
}
.route-block-defaults .main-more:active {
    background-color: #dfdfdf;
}

.header-search-results .main-more {
    margin: 0 -16px -56px -16px;
    border-radius: 0 0 4px 4px;
    color: #336AF7;
}
.header-search-results .main-more .i--drop {
    background-image: url('images/icon-dropdown-b.svg?1');
    transform: rotate(-90deg);
}
.header-search-results .main-more .wrap {
    padding: 0 16px;
}
.header-search-results .main-more:hover {
    background-color: #F4F4F4;
}
.header-search-results .main-more:active {
    background-color: #DFDFDF;
}

.on-map {
    display: none;
}

.decks-holder {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    /*cursor: pointer;*/
    background: rgba(0,0,0,.6);
}
.storied .decks-holder {
    display: block;
    z-index: 1000;
    padding-top: 11.905vh;
}

.decks .slick-slide {
    position: relative;
    margin: 0 60px;
    transform: scale(.75);
    transition: .3s transform;
    overflow: hidden;
}
.decks .slick-slide:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,.6);
    display: block;
    content: "";
    z-index: 20;
}
.decks .slick-slide.slick-current {
    transform: scale(1);
}
.decks .slick-slide.slick-current:before {
    display: none;
}

.deck {
    height: 76.19vh;
    width: 42.856875vh;
    /*height: 57.1425vh;*/
    /*width: 32.14265625vh;*/
    background: #fff;
}
.slick-center .deck {
    height: 76.19vh;
    width: 42.856875vh;
    transform: scale(1);
}
.deck-nav {
    display: none;
}
.cards {
    height: 100%;
}
.card {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background: #000 no-repeat center center;
    background-size: cover;
    color: #fff;
}
.card:before {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 70%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, .6) 40%, rgba(0, 0, 0, 0) 100%);
    /*opacity: 0.55;*/
    display: block;
    content: "";
}
.card:after {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 90px;
    background: linear-gradient(0, rgba(0, 0, 0, 0) 0%, #000000 100%);
    opacity: 0.55;
    display: block;
    content: "";
    z-index: 1;
}
.card.active {
    z-index: 2;
}
.card-bottom {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 20px;
    opacity: 1;
    color: #fff;
}
.card-title {
    /*text-transform: lowercase;*/
    /*font-family: vl2, sans-serif;*/
    font-weight: 500;
    font-size: 36px;
    line-height: 40px;
}
.card-title--h2 {
    font-size: 36px;
    line-height: 40px;
}
.card-title--h3 {
}
.card-subtitle {
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    margin: 8px 0 0 0;
}
.card-link {
    display: block;
    padding: 13px;
    border-radius: 4px;
    color: #fff;
    background: rgba(255,255,255,.4);
    cursor: pointer;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    /*letter-spacing: 0.04em;*/
    /*text-transform: uppercase;*/
    white-space: nowrap;
    margin: 12px 0 0 0;
}
.card:last-child .card-link {
    background: #FFFFFF;
    color: #E22C38;
}
.card-top {
    position: absolute;
    left: 20px;
    top: 33px;
    /*top: 20px;*/
    right: 20px;
    display: block;
    z-index: 2;
}
.card-pic {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: block;
    background: #fff no-repeat center center;
    z-index: 3;
}
.card-author {
    position: absolute;
    left: 52px;
    right: 42px;
    top: 0;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    z-index: 3;
}
.card-metas {
    position: absolute;
    left: 52px;
    right: 42px;
    top: 20px;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    z-index: 3;

    opacity: 0.8;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.deck__lines {
    position: absolute;
    top: 16px;
    left: 16px;
    right: 16px;
    z-index: 3;
    opacity: 0;
}
.slick-current .deck__lines {
    opacity: 1;
}
.lines {
    display: flex;
}
.line {
    flex: 1;
    margin: 0 4px;
    height: 2px;
    background: rgba(255,255,255,0.3);
    position: relative;
    transform: translate3d(0,0,0);
}
.line.active {
    background: #fff;
}
.line span {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    display: block;
    background: #fff;
    transform: translate3d(0,0,0);
    /*transition: .1s width;*/
}

.deck__nav {
    cursor: pointer;
    position: absolute;
    z-index: 10;
    top: 100px;
    bottom: 100px;
    width: 45%;
    display: none;
    /*background: rgba(255,0,0,.5);*/
}
.slick-current .deck__nav {
    display: block;
}
.deck__nav:before {
    /*content: "";*/
    /*width: 24px;*/
    /*height: 24px;*/
    /*display: block;*/
    /*position: absolute;*/
    /*top: 50%;*/
    /*transform: translate(0, -50%);*/
}
.deck__nav--left {
    left: 0;
}
.deck__nav--right {
    right: 0;
}
.deck__nav--left:before {
    /*transform: translate(0, -50%) rotate(180deg);*/
    /*left: 24px;*/
}
.deck__nav--right:before {
    /*right: 24px;*/
}



.month {
    display: none;
}
.month.active {
    display: block;
}

.filter-date-nav {
    position: absolute;
    top: 14px;
    width: 24px;
    height: 24px;
    background: no-repeat url('images/icon-nav-right-b.svg') center center;
    display: block;
    cursor: pointer;
}
.filter-date-nav--prev {
    left: 8px;
    transform: rotate(180deg);
}
.filter-date-nav--next {
    right: 8px;
}

.filter-date-buttons:after {
    clear: both;
    display: block;
    content: "";
}
.filter-date-button {
    float: left;
    cursor: pointer;
    display: block;
    color: #999999;
    margin: 16px 0 0 0;
    padding: 8px 10px;
}
.filter-date-button--apply {
    color: #E22C38;
    float: right;
}
.filter-date-top {
    display: none;
}

.favorites {
    position: fixed;
    bottom: 0;
    max-width: 695px;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    width: 100%;
    transition: .3s transform;
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.04), 0px 12px 12px rgba(0, 0, 0, 0.15);
}
.favorites--empty {
    transform: translate3d(-50%, 64px, 0);
}
.favorites-title {
    position: relative;
    font-size: 17px;
    line-height: 24px;
    padding: 20px 56px 20px 16px;
    background: #ED2B38;
    color: #fff;
    font-weight: 500;
    display: block;
    cursor: pointer;
    border-radius: 4px 4px 0 0 ;
}
.favorites-list {
    padding: 8px 8px 72px 8px;
    background: #FAEDE8;
    display: none;
    max-height: 544px;
    overflow: auto;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}
.favorites-list::-webkit-scrollbar {
    display: none;
}
.favorites-bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 8px 16px;
    /*display: none;*/
    z-index: 10;
    background: #FAEDE8;
}
.favorited .favorites-bottom {
    /*display: block;*/
}
.favorites-button {
    cursor: pointer;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    color: #FFFFFF;
    background: #E22C38;
    border-radius: 4px;
    padding: 16px 20px;
    font-weight: 500;
    display: block;
}
.favorites-title:after {
    width: 24px;
    height: 24px;
    position: absolute;
    right: 16px;
    top: 50%;
    transition: .3s all;
    content: "";
    display: block;
    background: no-repeat url('images/icon-dropdown-w.svg') center center;
    transform: translate3d(0, -50%, 0);
}
.favorited .favorites-title:after {
    transform: translate3d(0, -50%, 0) rotate(180deg);
}

.favorites-clear {
    color: #E22C38;
    margin: 16px 0;
    padding: 0 0 0 28px;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    background: no-repeat url('images/icon-close-red.svg') left center;
    cursor: pointer;
    display: inline-block;
}
.favorites-share {
    color: #E22C38;
    float: right;
    margin: 16px 8px 16px 0;
    padding: 0 28px 0 0;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    background: no-repeat url('images/icon-share-r.svg') right center;
    cursor: pointer;
    display: inline-block;
}

.favorites-route-button {
    display: inline-block;
    background: #fff;
    font-size: 18px;
    line-height: 24px;
    color: #E22C38;
    padding: 12px 30px;
    text-align: center;
    font-weight: 500;
    border-radius: 5px;
    margin: 8px;
}
.favorites-route-button:before {
    content: "";
    width: 24px;
    height: 24px;
    display: inline-block;
    margin: 0 6px 0 0;
    vertical-align: middle;
    background: no-repeat center center;
    background-image: url(/local/templates/v3/images/icon-route-red.svg);
}

.favorite-button {
    font-size: 18px;
    line-height: 24px;
    text-align: right;
    font-weight: 500;
    color: #336AF7;
    transition: .3s color;
    padding: 0 0 0 32px;
    position: absolute;
    right: 16px;
    top: 16px;
}
.favorite-button span {
    position: absolute;
    top: 50%;
    left: 0;
    width: 24px;
    height: 24px;
    background: #336AF7;
    border: solid 2px #336AF7;
    transition: .3s background-color, .3s border;
    border-radius: 50%;
    transform: translate3d(0, -50%, 0);
}
.favorite-button:hover {
    color: #285DE8;
}
.favorite-button:hover span {
    background-color: #285DE8;
    border-color: #285DE8;
}

.block-favorite {
    position: absolute;
    top: 16px;
    width: 24px;
    height: 24px;
    right: 16px;
    border-radius: 50%;
    border: 2px solid #336AF7;
    background: #336AF7;
    transition: .3s background-color;
    z-index: 5;
    white-space: nowrap;
    text-indent: 50px;
    overflow: hidden;
}
.block-favorite:hover {
    background-color: #285DE8;
    border-color: #285DE8;
}
.block-favorite:before, .block-favorite:after,
.favorite-button span:before, .favorite-button span:after
{
    position: absolute;
    content: "";
    display: block;
    width: 10px;
    height: 2px;
    background: #fff;
    left: 50%;
    top: 50%;
    z-index: 2;
    transform: translate3d(-50%, -50%, 0);
}
.favorite-button span:after {
    width: 2px;
    height: 10px;
    transition: .3s height;
}
.block-favorite:after {
    width: 2px;
    height: 10px;
    transition: .3s all;
    z-index: 1;
}
.block-favorite.active {
    background: #fff;
}
.block-favorite.active:after, .block-favorite.active:before {
    height: 2px;
    background: #336AF7;
}
.block-favorite.active:after {
    background: #336AF7;
    height: 2px;
}

.favorite-button.active span {
    background: transparent;
}
.favorite-button.active span:after, .favorite-button.active span:before {
    height: 2px;
    background: #336AF7;
}
.route-block-meta {
    position: absolute;
    top: 20px;
    right: 16px;
    z-index: 10;
}
.route-block-meta > div {
    width: 24px;
    height: 24px;
    opacity: .5;
    transition: .3s opacity;
    margin-left: 16px;
    display: inline-block;
}
.route-block-meta > div:hover {
    opacity: 1;
}
.route-block-meta > div:first-child {
    margin-left: 0;
}

.route-block-drag {
    background: url('images/icon-drag.svg') no-repeat center center;
    cursor: grab;
}
.route-block-delete {
    background: url('images/icon-delete.svg') no-repeat center center;
}
.route-block-edit {
    background: url('images/icon-edit.svg') no-repeat center center;
}

.route-blocks--redactor .route-block-meta {
    display: none;
}
.route-block--from .route-block-meta {
    display: block;
}
.route-blocks--redactor .route-block-drag {
    display: none;
}

.detail-panel {
    padding: 16px 0;
    line-height: 0;
}

.wrap--detail {
    position: relative;
    margin-bottom: 80px;
}
.fast .wrap--detail {
    /*margin-bottom: 16px;*/
}
.wrap--news {
    margin-top: 16px;
}
.favorites-page {
    padding-top: 104px;
}
.favorites-page .panel-back {
    color: #262626;
    background-image: url('images/icon-back.svg');
}
.favorites-page .panel-share {
    color: #262626;
    background-image: url('images/icon-share.svg');
}
.favorites-page-top {
    margin: 0 0 8px 0;
    border-bottom: solid 2px rgba(38, 38, 38, 0.1);
}
.favorites-page h1 {
    margin-bottom: 120px;
}
.favorites-top:after {
    clear: both;
    display: block;
    content: "";
}

.subscribe-form {
    position: relative;
}
.subscribe-panel {
    position: absolute;
    left: 16px;
    bottom: 16px;
    right: 16px;
    z-index: 2;
    transition: 1s left;
    white-space: nowrap;
    overflow: hidden;
}
.subscribe-final {
    font-weight: 500;
    font-size: 24px;
    line-height: 32px;
    padding-left: 44px;
    background: no-repeat url('images/icon-subscribe-done.svg') left center;
    position: relative;
    z-index: 1;
    margin: 16px 0;
    opacity: 0;
    transition: .5s opacity;
    transition-delay: .25s;
}
.subscribe--done .subscribe-panel {
    left: 100%;
}
.subscribe--done .subscribe-final {
    opacity: 1;
}

.contact-blocks {
    margin: 80px 0;
}
.contact-block {
    background: #FFFFFF;
    border-radius: 4px;
    margin: 8px 0;
    color: #262626;
    padding: 16px;
}
.contact-title {
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    padding-right: 120px;
}
.contact-title, .contact-content {
    width: 50%;
    display: inline-block;
    vertical-align: top;
}
.contact {
    margin: 0 0 12px 0;
}
.contact:last-child {
    margin-bottom: 0;
}
.contact__left {
    vertical-align: top;
    display: inline-block;
    width: 34%;
    color: #777;
    padding-right: 50px;
}
.contact__right {
    vertical-align: top;
    display: inline-block;
    width: 66%;
}
.contact__right a {
    color: #E22C38;
    font-weight: 500;
}
.files {
    margin-top: 32px;
}
.file {
    padding: 16px 0;
    border-top: solid 1px rgba(38, 38, 38, 0.1);
}
.file a{
    display: block;
    padding-left: 28px;
    background: no-repeat url('images/icon-download.svg') left top;
}
.file:first-child {
    border: none;
}
.file__title {
    color: #E22C38;
    display: block;
    margin: 0 0 4px 0;
    font-size: 18px;
    line-height: 24px;
    font-weight: 500;
}
.file__desc {
    font-size: 14px;
    line-height: 18px;
    display: block;
    color: #7C7C7C;
}

.cut {display: none}
.cut-show {white-space: nowrap;color: #898989;cursor: pointer;}
.cut-show:hover {color: #262626;}

.news-items {
    margin: 16px 0 0 0;
}
.news-item-left, .news-item-right {
    width: 50%;
    display: inline-block;
    vertical-align: top;
}
.news-item-left {
    padding-right: 4px;
}
.news-item-right {
    padding-left: 4px;
}
.news-item-link {
    position: relative;
    background: #fff;
    transition: .3s background-color;
    padding: 16px 238px 16px 16px;
    border-radius: 4px;
    overflow: hidden;
    display: block;
    margin: 8px 0;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: #262626;
    min-height: 200px;
}
.news-item-link:first-child {
    margin-top: 0;
}
.news-item--month {
    margin-top: 88px;
}
.news-item--month:first-child {
    margin-top: 0;
}
.news-item__pic {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 190px;
    background: no-repeat #ED2B38 center center;
    background-size: cover;
    display: block;
}
.news-item__date {
    position: absolute;
    left: 16px;
    bottom: 16px;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    display: inline-block;
    letter-spacing: 0.2px;
    color: #898989;
}
.news-item-link:hover {
    background-color: rgba(255,255,255,.6);
}
.news-item__title {
    display: block;
    max-height: 96px;
    overflow: hidden;
}
.detail-subtitle {
    font-size: 14px;
    line-height: 18px;
    padding: 18px 0 4px;
}

.visitors-main-links {
    margin: 56px 0 24px 0;
}
.visitors-main-link {
    display: block;
    border-bottom: solid 2px rgba(38,38,38,.1);
    transition: .3s border-bottom-color;
    margin-top: -2px;
}
.visitors-main-link:last-child {
    border-bottom: none;
}
.visitors-main-link:first-child {
    margin-top: 0;
}
.visitors-main-link:hover {
    border-bottom-color: rgba(38,38,38,.0);
}
.visitors-main-link a {
    display: block;
    font-family: 'vl2', sans-serif;
    transition: .3s background-color;
    padding: 20px 16px 20px 80px;
    margin: 0 -16px;
    background: no-repeat 16px 16px;
    background-size: 48px 48px;
    font-size: 40px;
    line-height: 40px;
    letter-spacing: -1px;
    text-transform: lowercase;
    color: #FFFFFF;
}
.visitors-main-link a:hover {
    background-color: #D32934;
}
.visitors-main-link a:active {
    background-color: #C72631;
}

.visitors-groups {
    margin: 32px 0 80px;
}
.visitors-group {
    margin: 0 0 80px;
}
.visitors-group:last-child {
    margin-bottom: 0;
}
.visitors-group-left, .visitors-group-right {
    width: 50%;
    vertical-align: top;
    display: inline-block;
}
.visitors-group-left {
    /*font-family: 'vl2', sans-serif;*/
    /*font-size: 40px;*/
    /*line-height: 40px;*/
    /*text-transform: lowercase;*/
    /*color: #262626;*/
    /*padding: 14px 4px 0 0;*/
}
.visitors-group-left .title {
    margin: 14px 0 0 0;
}
.visitors-group-right {
    padding-left: 4px;
}

.visitors-item {
    border-radius: 4px;
    background: #fff;
    margin: 0 0 8px 0;
    transition: .3s all
}
.visitors-item:last-child {
    margin-bottom: 0;
}
.visitors-item.hover {
    background: rgba(255,255,255,.7);
}
.visitors-item-title {
    display: block;
    padding: 14px 151px 51px 16px;
    font-family: 'vl2', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 40px;
    line-height: 40px;
    text-transform: lowercase;
    color: #262626;
    position: relative;
    transition: .3s all;
}
.visitors-item-title[data-visitors-item-toggle]:before, .visitors-item-title[data-visitors-item-toggle]:after {
    width: 4px;
    height: 24px;
    position: absolute;
    display: block;
    content: "";
    top: 32px;
    right: 28px;
    transform: translate3d(-50%, -50%, 0);
    transform-origin: 50% 50%;
    background: #262626;
    transition: .3s all;
}
.visitors-item-title[data-visitors-item-toggle]:after {
    width: 24px;
    height: 4px;
    top: 32px;
    right: 8px;
}
.visitors-item.active .visitors-item-title[data-visitors-item-toggle]:before {
    height: 2px;
}

.visitors-item-content {
    display: none;
    padding: 0 16px 56px 16px;
}

.visitors-item--detail, .visitors-item--detail:last-child {
    margin-bottom: 80px;
    padding: 14px 16px 56px 16px;
}

.visitors-item-links {
    margin: 56px 0 0 0;
}
.visitors-item-link {
    border-bottom: solid 1px #F1F1F1;
    margin-top: -1px;
    transition: .3s border-bottom-color;
}
.visitors-item-link:first-child {
    margin-top: 0;
}
.visitors-item-link:last-child {
    border-bottom-color: transparent;
}
.visitors-item-link a {
    display: block;
    font-weight: 500;
    margin: 0 -16px;
    padding: 19px 32px 18px 52px;
    background: no-repeat 16px 20px;
    transition: .3s background-color;
    background-size: 24px 24px;
}
.visitors-item-link a:hover {
    background-color: #F6F6F6;
}
.visitors-item-link:hover {
    border-bottom-color: transparent;
}

.share {
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: #E22C38;
    padding: 20px 0 20px 28px;
    margin: 56px 0 0 0;
    display: block;
    background: no-repeat url('images/icon-share-r.svg') left center;
}

.alert {
    background: #285DE8;
    border-radius: 4px;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    top: calc(100% - 10px);
    display: block;
    color: #fff;
    padding: 32px 16px 28px 16px;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    transition: .2s padding linear, .2s top linear, .5s opacity;
    z-index: 5;
    overflow: hidden;
}
.alert-text {
    max-width: 640px;
}
.alert.slideUp {
    padding: 16px 16px;
    top: 0;
    opacity: 0;
}
.alert a {
    transition: .3s color;
    color: rgba(255,255,255,.7)
}
.alert a:hover {
    color: rgba(255,255,255,1)
}
.alert-button {
    position: absolute;
    top: 50%;
    top: calc(50% + 5px);
    transform: translateY(-50%);
    right: 16px;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    display: block;
    text-align: center;
    padding: 12px 32px;
    color: #E22C38;
    background: #fff;
    border-radius: 4px;
    transition: .3s all;
    cursor: pointer;
}
.alert-button:hover {
    background: #E22C38;
    color: #fff;
}

.map-controls {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translate(0, -50%);
    z-index: 4;
}
.map-zooms {
    background: #fff;
    margin: 0 0 8px 0;
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.04), 0px 12px 12px rgba(0, 0, 0, 0.04);
    border-radius: 4px;
    overflow: hidden;
}
.map-zoom {
    width: 48px;
    height: 48px;
    position: relative;
    display: block;
    transition: .3s background-color;
}
.map-zoom:hover {
    background-color: #F4F4F4;
}
.map-zoom:active {
    background-color: #DFDFDF;
}
.map-zoom--minus:before, .map-zoom--plus:before {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: 6px 1px;
    width: 14px;
    height: 2px;
    background: #000;
}
.map-zoom--plus:after {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: 6px 1px;
    height: 14px;
    width: 2px;
    background: #000;
}
.map-locator {
    width: 48px;
    height: 48px;
    border-radius: 4px;
    display: block;
    position: relative;
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.04), 0px 12px 12px rgba(0, 0, 0, 0.04);
    background: #fff url('images/icon-locator.svg') center center no-repeat;
    transition: .3s background-color;
}
.map-locator:hover {
    background-color: #F4F4F4;
}
.map-locator:active {
    background-color: #DFDFDF;
}

.route-mobile-show {
    display: none;
}

.button {
    background: #ffffff;
    color: #E22C38;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    padding: 12px 32px;
    border-radius: 4px;
    display: inline-block;
    text-align: center;
    transition: .3s all;
}
.button:hover {
    background-color: rgba(255,255,255,.9);
}
.nothing h1 {
    margin-bottom: 16px;
}
.nothing p {
    max-width: 400px;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 32px;
}
.nothing .button {
    width: 270px;
}
.nothing {
    padding: 16px 0 290px;
}
.body--404 .nothing {
    padding-top: 8px;
}
.event-blocks-holder .nothing {
    padding-top: 4px;
}
.place-blocks-holder .nothing {
    padding-top: 0;
}
.list-holder .nothing .button {
    background-color: #E22C38;
    color: #fff;
}
.list-holder .nothing .button:hover {
    background-color: #D32934;
}
.events-404 .h1 {
    margin: 0 0 64px 0;
    max-width: 890px;
}

[data-when-visible] {
    visibility: hidden;
}
.animated {
    visibility: visible;
    animation-duration: .6s;
    animation-name: anim_in;
    animation-fill-mode: forwards;
    /*animation-timing-function: cubic-bezier(.19,1,.22,1);*/
}
@keyframes anim_in {
    0% {
        opacity:0;
        transform:translate3d(0,30px,0);
    }
    100% {
        opacity:1;
        transform:translate3d(0,0,0);
    }
}

@media (max-width: 1023px) {

    .header-search-results {
        margin-top: 8px;
        padding-left: 8px;
        padding-right: 8px;
    }
    .route-block-suggest {
        margin: 0 -8px;
        background-position: 8px 12px;
        padding-left: 40px;
    }
    .header-search-results .main-more {
        margin-left: -8px;
        margin-right: -8px;
    }
    .header-search-results .main-more .wrap {
        padding: 0 8px;
    }

    .nothing h1 {
        margin-bottom: 8px;
    }
    .nothing p {
        margin-bottom: 16px;
    }
    .nothing p {
        font-weight: 500;
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0.1px;
    }
    .nothing .button {
        display: block;
        width: auto;
    }

    .alert {
        padding: 23px 16px 16px 16px;
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0.1px;
    }
    .alert-button {
        display: block;
        position: static;
        margin: 27px 0 0 0;
        transform: none;
        color: #262626;
    }
    .fast {
        right: 0;
        z-index: 50;
    }
    .detail-button:before {
        vertical-align: -7px;
    }
    .visitors-main-links {
        margin: 32px 0 28px 0;
    }
    .visitors-main-link {
    }
    .visitors-main-link a {
        font-size: 24px;
        margin: 0 -8px;
        line-height: 28px;
        background-size: 32px 32px;
        background-position: 8px 8px;
        letter-spacing: -1px;
        padding: 10px 8px 10px 48px;
    }
    .visitors-groups {
        margin: 31px 0 35px;
    }
    .visitors-group {
        margin: 0 0 35px 0;
    }
    .visitors-group:last-child {
        margin-bottom: 0;
    }
    .visitors-group-left, .visitors-group-right {
        padding: 0;
        width: auto;
        display: block;
    }
    .visitors-group-left {
        /*font-size: 24px;*/
        /*line-height: 28px;*/
        /*letter-spacing: -1px;*/
        /*text-transform: lowercase;*/
        /*margin: 0 0 4px 9px;*/
    }
    .visitors-group-left .title {
        margin: 0 0 8px 0;
    }
    .visitors-item-title {
        padding: 11px 35px 33px 9px;
        font-size: 24px;
        line-height: 28px;
        letter-spacing: -1px;
        text-transform: lowercase;
    }
    .visitors-item-title[data-visitors-item-toggle]:before, .visitors-item-title[data-visitors-item-toggle]:after {
        width: 2px;
        height: 12px;
        top: 25px;
        right: 18px;
    }
    .visitors-item-title[data-visitors-item-toggle]:after {
        width: 12px;
        height: 2px;
        top: 25px;
        right: 8px;
    }
    .visitors-item-links {
        margin-top: 32px;
    }
    .share {
        margin-top: 32px;
        font-size: 16px;
        line-height: 24px;
    }
    .visitors-item-content {
        padding-bottom: 32px;
    }
    .visitors-item.hover {
        background-color: #fff;
    }
    /*
    .visitors-group-title:before, .visitors-group-title:after {
        width: 2px;
        height: 14px;
        top: 24px;
        right: 16px;
    }
    .visitors-group-title:after {
        width: 14px;
        height: 2px;
        top: 24px;
        right: 4px;
    }
    .visitors-group-list {
        padding-top: 24px;
    }
    .visitors-item-title {
        padding: 12px 40px 24px 16px;
        width: auto;
        margin: 0;
        font-size: 20px;
        line-height: 20px;
    }
    .visitors-item-content {
        margin: 0;
        padding: 24px 16px 0 16px;
    }
    .visitors-item.active {
        padding-bottom: 16px;
    }
*/
    .news-items {
        margin: 16px 0 8px 0;
    }
    .news-item-left h2 {
        font-size: 28px;
        line-height: 32px;
        margin: 0 0 16px 0;
    }
    .news-item-left, .news-item-right {
        width: auto;
        display: block;
        padding: 0;
    }
    .news-item--month {
        margin-top: 48px;
    }
    .news-item--month:first-child {
        margin-top: 0;
    }
    .news-item-link {
        min-height: 124px;
        font-size: 16px;
        line-height: 20px;
        padding-right: 126px;
    }
    .news-item__pic {
        width: 92px;
        height: 92px;
        top: 16px;
        right: 16px;
        bottom: 16px;
        border-radius: 4px;
    }
    .news-item__title {
        max-height: 60px;
    }

    .body--news .top, .body--visitors .top {
        padding-bottom: 20px;
    }
    .body--news .top .stories, .body--visitors .stories {
        margin-top: 40px;
    }

    .contact-blocks {
        margin: 48px 0;
    }
    .contact-title, .contact-content {
        width: auto;
        display: block;
    }
    .contact-title {
        margin:  0 0 48px 0;
        padding: 0;
    }
    .file__title {
        font-size: 16px;
        line-height: 24px;
    }
    .contact__left {
        width: 40%;
        padding: 0;
    }
    .contact__right {
        width: 60%;
    }
    .contact__right > div {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .subscribe-final {
        font-size: 16px;
        line-height: 32px;
        margin: 4px 0;
    }

    .favorites {
        left: 0;
        right: 0;
        transform: translate3d(0,0,0);
    }
    .favorites--empty {
        transform: translate3d(0, 48px, 0);
    }

    .favorites-top {
        border-bottom: solid 1px rgba(38,38,38,.1);
        padding-bottom: 8px;
        margin: 0 -8px;
    }

    .favorites-clear,
    .favorites-share {
        font-size: 14px;
        line-height: 18px;
        margin-top: 8px;
        margin-bottom: 8px;
    }

    .favorites-page h1 {
        margin-bottom: 42px;
    }

    .favorites-page {
        padding-top: 64px;
    }

    .favorite-button {
        padding: 0;
        text-indent: 50px;
        width: 20px;
        color: transparent;
        white-space: nowrap;
        overflow: hidden;
        right: 8px;
    }

    .route-block-placeholder {
        height: 173px;
    }

    .favorites-route-button {
        margin: 0;
        font-size: 14px;
        line-height: 18px;
        padding: 15px 40px;
    }

    .favorites-list {
        max-height: calc(100vh - 48px - 32px);
    }
    .favorites-title {
        padding: 12px 56px 12px 16px;
    }

    .block-favorite, .favorite-button span {
        width: 20px;
        height: 20px;
    }
    .block-favorite:before, .block-favorite:after,
    .favorite-button span:before, .favorite-button span:after
    {
        width: 8px;
        height: 2px;
    }
    .block-favorite:after,
    .favorite-button span:after
    {
        width: 2px;
        height: 8px;
    }

    .place-block .block-favorite,
    .map-show .block-favorite,
    .route-block-item .block-favorite {
        right: 126px;
    }

    .filter-trigger {
        padding: 9px 0 9px 29px;
        font-size: 14px;
        line-height: 18px;
    }
    .filter-sorts-title {
        padding: 9px 32px 9px 29px;
        font-size: 14px;
        line-height: 18px;
    }
    .filter-sorts-title:after {
        top: 6px;
    }

    .body--route .content {
        padding-right: 0;
    }
    .body--route .map {
        display: none;
    }

    .close {
        top: 80px;
        right: 8px;
        padding: 15px 20px 15px 40px;
        font-size: 14px;
        line-height: 18px;
        z-index: 56;
    }
    .close--map {
        display: block;
    }
    .filter-close {
        width: 24px;
        height: 24px;
        background-size: contain;
        top: 20px;
    }
    header {
        left: 8px;
        top: 8px;
        right: 8px;
        /*padding: 4px 8px;*/
        height: auto;
    }
    .header-meta {
        right: 60px;
        top: 16px;
        transform: none;
    }
    .header-search-link {
        height: 24px;
        width: 24px;
        vertical-align: top;
        background-image: url('images/icon-search-r.svg');
        background-size: 24px 24px;
    }
    .header-menu {
        display: none;
    }
    .menu-top {
        padding: 0;
        margin: 14px 0 0 0;
    }
    .menu-sites {
        box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.02);
        border-top: solid 1px rgba(38, 38, 38, 0.08);
    }

    .menu-bottom {
        padding: 40px 16px 48px 16px;
    }
    .menu-item {
        display: block;
        font-size: 18px;
        line-height: 24px;
        color: #E22C38;
        padding: 16px 0;
        margin: 0 16px;
        border-bottom: solid 1px rgba(38, 38, 38, 0.08);
    }
    .menu-item:last-child {
        border-bottom: none;
    }
    .menu-item--mobile {
        display: block;
    }
    .menu-left, .menu-right {
        float: none;
        width: auto;
        padding: 0;
    }
    .menu-sites-title {
        cursor: pointer;
        display: block;
        padding: 16px 48px 16px 16px;
        font-size: 18px;
        line-height: 24px;
        color: #262626;
        position: relative;
        transition: .3s all;
    }
    .menu-sites-title:after {
        display: block;
        width: 24px;
        height: 24px;
        content: "";
        background-image: url("images/icon-dropdown.svg");
        position: absolute;
        right: 12px;
        top: 14px;
        transition: .3s all;
    }
    .active .menu-sites-title {
        opacity: .6;
    }
    .active .menu-sites-title:after {
        transform: rotate(180deg);
    }
    .menu-sites-list {
        padding: 0 16px;
        display: none;
    }
    .menu-site {
        width: auto;
        display: block;
        margin-bottom: 16px;
    }
    .menu-sites-separate {
        margin-bottom: 16px;
    }
    .menu-phone {
        font-size: 24px;
        line-height: 28px;
        letter-spacing: -2px;
        text-transform: lowercase;
        margin: 0 0 8px 0;
    }
    .menu-email {
        font-size: 16px;
        line-height: 24px;
        margin: 0 0 24px 0;
    }
    .menu-socials {
        margin: 0 0 32px 0;
    }
    .partners {
        width: auto;
        display: block;
        padding: 0;
        margin: 0 0 32px 0;
    }
    .partners:last-child {
        margin: 0;
    }



    .header-lang {
        display: none;
    }
    .header-burger {
        width: 24px;
        height: 24px;
        position: absolute;
        right: 16px;
        top: 16px;
        display: block;
        cursor: pointer;
    }
    .header-burger span, .header-burger span:before, .header-burger span:after {
        content: "";
        display: block;
        height: 2px;
        width: 18px;
        background: #E22C38;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate3d(-50%, -1px, 0);
    }
    .header-burger span:before {
        transform: translate3d(-50%, -6px, 0);
    }
    .header-burger span:after {
        transform: translate3d(-50%, 4px, 0);
    }
    .logo {
        width: 48px;
        height: 48px;
        background-size: 32px auto;
        background-position: 8px center, 56px center;
        margin: 4px 8px;
    }
    .logo:hover {
        background-position: 56px center, 8px center;
    }
    .top {
        padding-top: 72px;
    }
    .body--main .top {
        padding-top: 88px;
    }
    .body--selections .top, .body--routes .top {
        padding-top: 88px;
        padding-bottom: 42px;
    }
    body, html {
        font-size: 16px;
        line-height: 24px;
    }
    h1, .h1 {
        font-size: 32px;
        line-height: 36px;
        letter-spacing: -0.02em;
    }
    p {
        margin: 12px 0;
    }
    h2, h3, .detail-text h1 {
        font-size: 18px;
        line-height: 24px;
        letter-spacing: 0.1px;
        margin: 32px 0 12px 0;
    }
    p.lead {
        margin: 16px 0;
        font-size: 18px;
        line-height: 24px;
    }
    .title {
        font-size: 24px;
        line-height: 28px;
    }
    .main-route {
        padding: 16px;
        height: auto;
        vertical-align: top;
    }
    /*.routes .main-route {*/
    /*    margin: 8px 0;*/
    /*    width: auto;*/
    /*    display: block;*/
    /*}*/
    .main-selection-desc {
        font-size: 16px;
        line-height: 24px;
    }
    .routes .main-route-type {
        display: none;
    }
    .routes .main-route {
        width: calc((100% - 8px) / 2);
    }
    .routes .main-route:nth-child(4n + 2),
    .routes .main-route:nth-child(4n + 4) {
        margin-right: 0;
    }
    .main-route-title {
        font-size: 18px;
        line-height: 24px;
        letter-spacing: 0.01em;
        margin: 0 0 25px 0;
        height: auto;
    }
    .routes .main-route-title {
        font-size: 16px;
        line-height: 20px;
    }
    .main-route-image {
        width: 100%;
        max-width: 220px;
        margin: 0 auto 30px auto;
    }
    .routes .main-route-image {
        width: 60%;
        max-width: 105px;
        padding: 0;
        margin: 0 auto 13px auto;
    }
    .main-route-time {
        position: relative;
        left: auto;
        bottom: auto;
    }
    .subscribe {
        padding: 16px 0 8px 0;
    }
    .subscribe-form {
        padding: 8px 16px 16px;
    }
    .subscribe-title {
        font-size: 28px;
        line-height: 32px;
        letter-spacing: -0.01em;
        text-transform: lowercase;
        margin: 0 0 128px 0;
        height: auto;
        max-width: none;
    }
    .subscribe-input {
        height: 48px;
        width: calc(100% - 48px);
        font-size: 16px;
        line-height: 18px;
        font-weight: 500;
    }
    .subscribe-button {
        height: 48px;
        width: 48px;
        background-image: url('images/icon-arrow-mobile.svg');
    }
    footer {
        padding: 0;
    }
    .footer-apps, .maped .footer-apps {
        position: relative;
        top: auto;
        right: auto;
        margin: 0 0 24px 0;
    }
    .app {
        width: calc((100% - 8px) / 2);
    }
    .footer-top, .maped .footer-top {
        padding: 0;
        margin: 0 0 24px 0;
        border: none;
    }
    .social {
        width: 32px;
        height: 32px;
        margin: 0 18px 0 0;
        background-size: contain;
    }
    .footer-menu {
        display: none;
    }
    .footer-bottom {
        border-top-width: 1px;
        /*padding: 0;*/
        /*height: 60px;*/
        text-align: right;
    }
    .footer-smena, .maped .footer-smena {
        border: none;
        right: 0;
        bottom: 18px;
        margin: 0;
        padding: 0;
    }
    .smena {
        font-size: 14px;
        line-height: 20px;
        padding: 0 93px 0 0;
        background-size: auto 12px;
    }
    .story {
        width: 104px;
        margin-right: 8px;
    }
    .detail-stories .story {
        margin-right: 8px;
    }
    .story-pic {
        width: 64px;
        height: 64px;
    }
    .story-pic img {
        width: 56px;
        height: 56px;
    }
    .story-pic {
        margin-bottom: 6px;
    }
    .body--main .stories {
        padding-top: 0;
        padding-bottom: 20px;
    }
    .tabloid {
        border-top: solid 1px rgba(38, 38, 38, 0.1)
    }
    .tabloid-events {
        margin-top: 22px;
    }
    .tabloid-pic {
        display: none;
    }
    .tabloid-pre-title {
        /*border-bottom: solid 1px rgba(38,38,38,.2);*/
        font-size: 14px;
        line-height: 18px;
        letter-spacing: 0.2px;
        color: #fff;
        margin-top: 35px;
    }
    .tabloid-event:first-child .tabloid-pre-title {
        margin-top: 28px;
    }
    .tabloid-event {
        border: none;
    }
    .tabloid-link {
        padding: 15px 8px 15px 8px;
        margin: 0 -8px;
        min-height: auto;
    }
    .tabloid-type {
        font-size: 11px;
        line-height: 14px;
        display: block;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        opacity: 0.6;
        margin: 0 0 6px 0;
    }
    .tabloid-title {
        font-size: 16px;
        line-height: 24px;
        display: block;
        align-items: center;
        max-height: none;
        letter-spacing: 0.1px;
        margin: 0 0 6px 0;
    }
    .tabloid-time {
        position: static;
        top: auto;
        right: auto;
        bottom: auto;
        font-size: 14px;
        line-height: 18px;
        letter-spacing: 0.2px;
        opacity: 0.6;
    }
    .tabloid-events.show-done {
        padding-bottom: 33px;
    }
    .main-more {
        font-size: 16px;
        line-height: 24px;
        padding: 8px 0;
        height: 72px;
    }
    .i--drop {
        vertical-align: -7px;
    }
    .h1--all {
        padding-right: 32px;
    }
    .h1--all:after {
        content: "";
        background-size: 28px 28px;
        height: 36px;
        padding-right: 42px;
    }
    .main-block .h1 {
        margin-bottom: 40px;
    }
    .event-blocks--accent .event-block:first-child .event-block-title,
    .event-block-title {
        font-size: 18px;
        line-height: 24px;
        height: 72px;
    }
    .event-block,
    .event-blocks--accent .event-block:first-child,
    .event-blocks--accent .event-block:nth-child(2),
    .event-blocks--accent .event-block:nth-child(3),
    .event-blocks--accent .event-block:nth-child(4)
    {
        position: relative;
        margin: 8px 0;
        width: auto;
        display: block;
    }

    .slick-slide .event-block {
        width: calc(100vw - 32px) !important;
        margin-right: 8px !important;
    }
    .event-block-bottom {
        padding-top: 65.8536% !important;
    }

    .event-blocks--accent .event-block:first-child .event-block-top,
    .event-block-top {
        height: 152px;
        padding-top: 17px;
    }
    .map-show .event-blocks-holder .event-block-top {
        height: auto !important;
        padding: 0 !important;
    }
    .map-show .event-blocks-holder .event-block-time {
        position: relative;
        left: auto;
        bottom: auto;
    }
    .main-list-type {
        padding: 10px 8px 10px 56px;
        font-size: 24px;
        line-height: 28px;
        letter-spacing: -0.01em;
        text-transform: lowercase;
        background-position: 8px 8px;
        background-size: 32px 32px;
        border-bottom: solid 1px rgba(38, 38, 38, 0.08);
        margin: -1px -8px 0;
    }
    .main-list-type:first-child {
        margin-top: 0;
    }
    .main-list-types {
        padding: 0 0 48px 0;
        /*margin: 48px 0 0 0;*/
    }
    .main-selection {
        max-width: none;
        min-width: auto;
        height: 216px;
        width: calc(100vw - 32px);
    }
    .main-selection-title {
        font-size: 18px;
        line-height: 24px;
    }
    .main-block--selections {
        padding-bottom: 48px;
    }
    .main-iconic-left, .main-block--visitors .visitors-group-left {
        display: none;
    }
    .main-iconic-right {
        width: auto;
        display: block;
    }
    .place-blocks {
        margin: 0;
    }
    .place-block {
        /*margin: 0 16px;*/
        margin: 8px 0;
        padding: 20px 124px 18px 16px;
        /*border-bottom: solid 1px #EDEDED;*/
    }
    .place-block:last-child {
        /*border: none;*/
        margin-bottom: 0;
    }
    .place-block-title, .map-show .event-blocks-holder .event-block-title, .map-show .event-blocks-holder .event-blocks--accent .event-block:first-child .event-block-title {
        font-size: 16px;
        line-height: 20px;
        height: 40px;
        margin: 0 0 6px 0;
    }
    .place-block, .map-show .event-blocks-holder .event-block, .map-show .event-blocks-holder .event-blocks--accent .event-block:first-child, .map-show .event-blocks-holder .event-blocks--accent .event-block:nth-child(2), .map-show .event-blocks-holder .event-blocks--accent .event-block:nth-child(4) {
        height: 124px;
    }
    .place-block-time {
        display: block;
        position: relative;
        font-size: 14px;
        line-height: 15px;
        letter-spacing: 0.3px;
        color: #898989;
        left: auto;
        bottom: auto;
    }
    .place-block-type {
        margin: 0 0 7px 0;
    }
    .place-block-bottom {
        top: 16px;
        right: 16px;
        width: 92px;
        height: 92px;
        border-radius: 4px;
    }
    .main-iconic {
        padding: 0;
        border: none;
    }
    .main-iconic.done {
        padding: 0 0 8px 0;
    }
    .main-block--iconic {

    }
    .main-block--iconic .main-more {
        /*background: #fff;*/
    }
    .space-50 {
        display: none;
    }
    .main-block--routes {
        padding-bottom: 40px;
    }
    .main-visitors-link {
        padding: 11px 0 11px 48px;
        background-position: 0 7px;
        background-size: 32px 32px;
        border-top: solid 1px rgba(0, 0, 0, 0.1);
    }
    .main-visitors-link:first-child {
        border-top: none;
    }
    .main-visitors-link:last-child {
        border-bottom: none;
    }
    .main-block--visitors {
        padding-bottom: 40px;
    }
    .detail-top {
        height: 448px;
        padding-top: 64px;
        /*margin-bottom: 14px;*/
    }
    .inner-top {
        padding-top: 64px;
    }
    .panel {
        height: 56px;
    }
    .panel-back, .panel-share {
        font-size: 16px;
    }
    .panel-share {
        /*width: 24px;*/
        /*height: 24px;*/
        /*padding: 0 0 0 24px;*/
        /*overflow: hidden;*/
        /*color: transparent;*/
        /*white-space: nowrap;*/

    }
    .wrap, [data-slider-adjust] {
        padding-left: 8px;
        padding-right: 8px;
    }
    .detail-left, .detail-right {
        width: auto;
        display: block;
        padding: 0;
    }
    .body--route .detail-right, .maped .detail-right {
        margin-bottom: 56px;
    }
    /*.detail-left h1, .route h1 {*/
    .wrap--detail {
        margin-bottom: 56px;
    }
    .fast .wrap--detail {
        /*margin-bottom: 8px;*/
    }
    .wrap--detail h1, .route h1 {
        font-size: 28px;
        line-height: 32px;
        letter-spacing: -0.02em;
        text-transform: lowercase;
        /*margin: 0 0 5px 0;*/
    }
    .detail-buttons {
        margin: 28px 0 32px 0;
    }
    .detail-subtitle {
        padding: 8px 0 0 0;
    }
    .detail-time {
        /*font-size: 14px;*/
        /*line-height: 20px;*/
        /*display: block;*/
        /*color: #898989;*/
    }
    .event-blocks {
        margin: 0 0 12px 0;
    }
    .main-panes {
        margin-top: 16px;
    }
    .on-map {
        display: block;
        background: none;
        font-size: 16px;
        line-height: 24px;
        padding: 0 0 0 29px;
        color: #fff;
        top: 8px;
    }
    .on-map:before {
        background-image: url('images/icon-map-w.svg');
    }

    .route-on-map {
        cursor: pointer;
        padding: 12px;
        color: #E22C38;
        font-size: 14px;
        line-height: 18px;
        background: #fff;
        border-radius: 4px;
        display: block;
        font-weight: 500;
        text-align: center;
        margin: 16px 0 0 0;
    }
    .route-on-map:before {
        height: 24px;
        width: 24px;
        background: no-repeat center center url('images/icon-map-red.svg');
        display: inline-block;
        content: "";
        vertical-align: -7px;
        margin: 0 8px 0 0;
    }

    .filter-form {
        margin: 40px 0 0 0;
    }
    .search-input {
        padding: 8px 8px 8px 44px;
        height: 48px;
        font-size: 14px;
        line-height: 18px;
        background: rgba(255,255,255,.2) no-repeat url(/local/templates/v3/images/icon-search-w.svg) 11px center;
        background-size: 24px 24px;
    }
    .filter-tags {
        display: none;
    }
    .slick-nav.on-top {
        display: none;
    }
    .body--events .event-blocks-holder, .body--places .place-blocks-holder {
        /*padding-top: 8px;*/
        /*border-top: solid 1px rgba(0,0,0,.1);*/
    }
    .detail-button {
        font-size: 16px;
        line-height: 20px;
        /*width: calc((100% - 8px) / 2);*/
        padding: 12px;
        /*margin-right: 8px;*/
        display: block;
        /*float: left;*/
    }
    .detail-button--map {
        /*margin: 0;*/
    }
    .detail-place {
        font-size: 14px;
        line-height: 24px;
        display: block;
        padding: 16px 16px 16px 48px;
        background-position: 16px 16px;
        background-size: 24px 24px;
    }
    .detail-stories {
        /*background: none;*/
        /*padding: 0;*/
        margin: 32px 0 32px;
    }
    .detail-stories-title {
        /*display: none;*/
    }
    .detail-text {
        /*font-size: 16px;*/
        /*line-height: 24px;*/
    }
    /*.detail-gallery {*/
    /*    margin-top: 42px;*/
    /*}*/
    .detail-block .title {
        font-size: 28px;
        line-height: 32px;
        margin-bottom: 32px;
    }
    .detail-block {
        font-size: 16px;
        line-height: 24px;
        padding-bottom: 32px;
    }

    .detail-table__line {
        display: block;
    }
    .detail-table__left {
        margin: 0 0 16px 0;
        display: block;
        width: auto;
        padding-right: 24px;
    }
    .detail-table__left:last-child {
        margin-bottom: 0;
    }
    .detail-table__right {
        display: block;
        width: auto;
        padding: 0;
    }

    .detail-similar {
        padding-bottom: 56px;
    }
    .detail-similar .title {
        margin-bottom: 32px;
    }
    .similar-events {
        margin: 0;
    }
    .similar-events.slick-initialized[data-slider-adjust] {
        margin: 0;
    }
    .similar-events .event-block {
        margin: 0 8px 0 0;
    }
    .place-blocks-holder .place-block-type {
        position: static;
        top: auto;
        left: auto;
    }
    .place-blocks-holder .place-block-title {
        margin: 0 0 6px;
        /*height: 40px;*/
        /*overflow: hidden;*/
    }
    .place-blocks-holder .place-block-time,
    .maped .place-blocks-holder .place-block-time,
    .map-show .place-blocks-holder .place-block-time {
        left: auto;
    }
    .detail-gallery a img {
        height: 60vw;
        /*height: auto;*/
        /*width: calc(100vw - 32px);*/
    }
    /*.detail-gallery a.more span {*/
    /*    font-size: 16px;*/
    /*    white-space: nowrap;*/
    /*}*/
    .detail-block h2 {
        margin-bottom: 40px;
    }
    .detail-block--info .main-more {
        margin-bottom: -32px;
    }

    .facility, .facility:nth-child(2n + 1) {
        padding: 12px 0 12px 0;
        width: auto;
        display: block;
        margin: 0;
    }
    .facility:last-child {
        border: none;
    }
    .ticket-button {
        padding: 13px 40px 15px;
        display: block;
        font-size: 16px;
        line-height: 20px;
        /*margin: 8px 0 0 0;*/
        /*position: fixed;*/
        /*left: 8px;*/
        /*right: 8px;*/
        /*bottom: 8px;*/
        /*z-index: 30;*/
    }
    .selections {
        margin: -8px 0;
    }
    .selections .main-selection, .selections .main-selection:nth-child(5n + 5) {
        margin: 8px 0;
        display: block;
        width: auto;
        min-width: auto;
        max-width: none;
        /*margin: 8px 0;*/
        /*border-radius: 4px !important;*/
    }
    .detail-selection .on-map {
        display: none;
    }
    .detail-selection h1 {
        margin: 0 0 8px 0;
    }
    .detail-selection .top-text {
        margin: 0 0 42px 0;
    }
    .main-block--review .main-more {
        display: none;
    }
    .map-show {
        position: fixed;
        overflow: hidden;
    }
    .maped .content, .body--route .content {
        padding-right: 0;
    }
    .maped .map {
        display: none;
    }
    .maped .event-blocks-holder .event-block,
    .maped .event-blocks-holder .event-blocks--accent .event-block:first-child,
    .maped .event-blocks-holder .event-blocks--accent .event-block:nth-child(2),
    .maped .event-blocks-holder .event-blocks--accent .event-block:nth-child(3),
    .maped .event-blocks-holder .event-blocks--accent .event-block:nth-child(4)
    {
        width: auto;
        margin: 8px 0;
    }
    .map-show .map {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: auto;
        height: auto;
        z-index: 55;
    }
    .map-show [data-map-blocks] {
        position: fixed;
        z-index: 60;
        left: 0;
        right: 0;
        bottom: 0;
        overflow: scroll;
        white-space: nowrap;
        /*height: 204px;*/
        padding: 8px;
    }
    .map-show .place-blocks .place-block, .map-show .event-blocks .event-block, .map-show .route-blocks .route-block {
        margin: 8px 0;
        padding: 20px 124px 16px 16px !important;
        display: inline-block !important;
        vertical-align: top;
        width: 327px !important;
        white-space: normal;
        margin-right: 8px !important;
        box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.04), 0px 12px 12px rgba(0, 0, 0, 0.04);
        position: relative;
        min-height: 124px;
    }
    .map-show .place-block-bottom, .map-show .event-block-bottom {
        top: 16px !important;
        right: 16px !important;
        width: 92px !important;
        height: 92px !important;
        padding: 0 !important;
        border-radius: 4px;
        position: absolute;
    }
    .map-show .event-block-tag, .map-show .place-block-tag {
        display: none;
    }
    .map-show .route-block {
        background: #fff;
        border-radius: 4px;
    }
    .map-show .route-block--point {
        margin: 0;
    }
    .route-block--leg {
        font-size: 16px;
        line-height: 24px;
    }
    .route-block-item {
        padding: 20px 124px 16px 16px;
        min-height: 124px;
    }
    .route-block-desc {
        padding: 16px;
        font-size: 16px;
        line-height: 24px;
    }

    .map-show .route-blocks .route-block--leg, .map-show .route-block-duration, .map-show .route-block-desc {
        display: none !important;
    }
    .map-show [data-map-blocks] .route-block-item {
        min-height: auto;
        padding: 0;
        position: static;
    }
    .route-block-pic {
        width: 92px;
        height: 92px;
    }
    .route-block-type {
        line-height: 18px;
        margin: 0 0 7px 0;
    }
    .route-block-title {
        height: 40px;
        margin: 0 0 6px 0;
        font-size: 16px;
        line-height: 20px;
    }
    .route-block-time {
        font-size: 14px;
        line-height: 15px;
        letter-spacing: 0.3px;
        color: #898989;
    }

    .filter {
        background: #FAEDE8;
    }
    .filter-content {
        width: auto;
        padding-top: 14px;
        padding-bottom: 64px;
    }
    .filter-buttons {
        padding: 8px;
        right: 0;
        width: auto;
        left: 0;
        background: #fff;
    }
    .filter-button {
        padding: 12px;
    }
    .filter-title {
        font-size: 14px;
        line-height: 20px;
        margin-bottom: 7px;
    }
    .filter-label {
        height: 36px;
        font-size: 14px;
        line-height: 18px;
        padding: 9px 12px;
    }
    .filter-more {
        display: none;
        /*font-size: 14px;*/
        /*line-height: 18px;*/
        /*padding: 9px 0 9px 30px;*/
    }
    .filter-labels {
        white-space: normal;
    }
    .filter-blocks {
        margin-top: 42px;
    }

    .filter-months {
        position: fixed;
        left: 0 !important;
        top: 0 !important;
        right: 0;
        bottom: 0;
        width: auto;
        overflow: auto;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch;
        padding-top: 63px;
        padding-bottom: 88px;
    }
    .filter-months::-webkit-scrollbar {
        display: none;
    }
    .filter-date-nav {
        display: none !important;
    }
    .month__title {
        text-align: left;
        font-size: 18px;
        line-height: 24px;
    }
    .month {
        display: block;
        margin: 32px 0 0 0;
    }
    .day {
        width: calc(100% / 7);
    }
    .day a {
        margin: 0 auto;
    }
    .day a.active {
        width: 40px;

    }
    .filter-date-buttons {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        background: #fff;
    }
    .filter-date-button {
        margin-top: 0;
    }
    .week--dows {
        border-bottom: solid 1px rgba(0,0,0,.1);
        margin: 0 -8px;
        padding: 0 8px;
    }
    .filter-date-top {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        background: #fff;
        padding: 16px 8px;
        z-index: 10;
        border-bottom: solid 1px rgba(38, 38, 38, 0.1);
    }
    .filter-date-top:after {
        clear: both;
        display: block;
        content: "";
    }
    .filter-date-top-back {
        float: left;
        font-weight: 500;
        font-size: 14px;
        line-height: 24px;
        padding-left: 32px;
        position: relative;
    }
    .filter-date-top-back:before {
        position: absolute;
        width: 24px;
        height: 24px;
        content: "";
        display: block;
        background: no-repeat url('images/icon-nav-right-b.svg') center center;
        transform: rotate(180deg);
        left: 0;
        top: 0;
    }
    .filter-date-top-clear {
        float: right;
        color: #E22C38;
        font-size: 14px;
        line-height: 24px;
        font-weight: 500;
    }
    .filter-label--calendar.active {
        padding: 9px 12px 9px 44px;
    }
    .filter-date-button[data-filter-date-clear] {
        display: none !important;
    }
    .filter-date-button[data-filter-date-apply] {
        float: none;
        background: #E22C38;
        border-radius: 4px;
        color: #fff;
        text-align: center;
        padding: 14px 8px;
        font-size: 16px;
        line-height: 20px;
        margin: 8px;
    }

    .searched .header-search {
        padding: 8px 101px 8px 8px;
        left: 0;
        right: 0;
        /*background: #fff;*/
        z-index: 2;
        /*border-bottom: 1px solid rgba(209, 209, 209, 0.5);*/
    }
    .header-search input {
        height: 40px;
        padding-left: 36px;
        font-size: 14px;
        /*line-height: 24px;*/
        /*padding-left: 32px;*/
        padding-right: 32px;
        background-position: 8px center;
    }
    .header-search-clear,
    .searched .header-search-clear
    {
        top: 16px;
        right: 109px;
    }
    .header-search-close,
    .searched .header-search-close {
        right: 0;
        top: 18px;
        width: 101px;
    }
    .search-result {
        margin: 0 16px;
    }
    .search-result-type {
        margin: 0;
        display: block;
        width: auto;
    }
    .search-result-links {
        width: auto;
        display: block;
    }
    .search-result-link {
        padding: 0;
        margin: 24px 0 0 0;
    }
    .search-result-link:first-child {
        margin-top: 13px;
    }
    .search-result-link:hover {
        background: none;
    }
    .search-result-link-title {
        display: block;
        width: auto;
        font-size: 16px;
        line-height: 24px;
        overflow: visible;
        white-space: normal;
    }
    .search-result-link-type, .search-result-link-short {
        display: none;
    }

    .route-header {
        margin-bottom: 48px;
    }
    .route-feature {
        padding: 6px 8px 10px 8px;
    }
    .route-feature-value {
        font-size: 20px;
        line-height: 24px;
        margin: 0 0 2px 0;
    }
    .route-feature-desc {
        font-size: 14px;
        line-height: 15px;
        letter-spacing: 0.3px;
        color: #262626;
    }
    .route-block-duration {
        padding: 12px 16px 12px 52px;
        font-size: 16px;
        line-height: 24px;
        min-height: 48px;
    }
    .route-block-duration:before {
        width: 24px;
        height: 24px;
        top: 12px;
        left: 16px;
        line-height: 24px;
        font-size: 10px;
    }

    .filtered .global {
        z-index: 70;
    }

    .route-block-meta {
        top: 12px;
    }

    .decks .slick-slide {
        margin: 0;
        transform: scale(1);
        opacity: 1;
    }
    .deck, .slick-center .deck {
        width: 100vw;
        height: 100vh;
        transform: scale(1);
        margin: 0;
    }
    .storied .decks-holder {
        padding: 0;
    }
    .decks__close {
        width: 24px;
        height: 24px;
        right: 20px;
        background-size: contain;
    }
    .deck__lines {
        top: 12px;
    }
    .card-top {
        top: 26px;
    }

    .map-show .favorites {
        display: none;
    }

    .route-block-defaults .main-more .wrap {
        padding: 0 16px;
    }

    .route-mobile-show {
        display: block;
        z-index: 60;
        text-align: center;
        position: fixed;
        left: 8px;
        right: 8px;
        bottom: 8px;
        padding: 12px 20px;
        border-radius: 4px;
        background: #336AF7;
        color: #fff;
        font-weight: 500;
        font-size: 14px;
        line-height: 24px;
    }
    .route-mobile-show:before {
        content: "";
        background: no-repeat url('images/icon-map-w.svg') center center;
        margin: 0 8px 0 0;
        width: 24px;
        height: 24px;
        display: inline-block;
        vertical-align: bottom;
    }
    .map-show .route-mobile-show {
        display: none;
    }
    .body--route .favorites {
        display: none;
    }
    .route-block-header {
        padding: 11px 16px 13px 16px;
        font-size: 16px;
        line-height: 24px;
    }
    .route-block-search input {
        font-size: 14px;
        line-height: 24px;
        padding: 12px 16px 12px 44px;
        background-size: 24px 24px;
        background-position: 12px center;
    }
    .route-block-suggest {
        font-size: 16px;
        line-height: 24px;
    }

    .search-result-block {
        padding: 0 0 48px;
    }
    .main-tabs--search {
        margin: 16px 0 48px;
    }
    .search-result-item-title {
        height: 48px;
        font-size: 18px;
        line-height: 24px;
        letter-spacing: 0.1px;
    }
    .search-result-item {
        border: 0;
        margin: 0;
    }
    .search-result-block .title {
        margin: 0 0 4px 0;
    }
    .search-result-item a {
        padding: 8px 8px 8px 124px;
        margin: 0 -8px;
        min-height: 116px;
    }
    .search-result-item-image {
        width: 100px;
        height: 100px;
        left: 8px;
        top: 8px;
    }
    .search-result-item--small .search-result-item-title {
        height: 28px;
        font-size: 20px;
        line-height: 28px;
    }
    .search-result-item--small a {
        padding: 10px 10px 10px 48px;
        min-height: 48px;
    }
    .search-result-item--small .search-result-item-image {
        top: 8px;
        left: 8px;
        width: 32px;
        height: 32px;
    }
    .search-result-block .main-more {
        margin: 0 -8px -48px -8px;
    }
    .search-result-block .main-more .wrap {
        padding: 0 8px;
    }

}