body,
html {
	min-height: 100%;
	background: #e22c38;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-variant-numeric: proportional-nums
}

.inner-body header {
	position: fixed !important;
	z-index: 1000
}

.in-app {
	background: 0
}

.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: #336af7;
	text-decoration: none
}

* {
	box-sizing: border-box;
	outline: 0
}

header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0
}

.header-inner {
	background: #fff;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.04), 0 12px 12px rgba(0, 0, 0, 0.04);
	border-radius: 4px;
	position: relative
}

.logo {
	display: inline-block;
	width: 68px;
	height: 68px;
	background: no-repeat url('images/logo.svg') 11px center, no-repeat url('images/logo.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: #e22c38;
	font-weight: 500;
	display: inline-block;
	margin: 0 32px 0 0;
	font-family: 's', sans-serif
}

.header-menu a.active,
.header-menu a:hover {
	color: #262626
}

.header-menu a:last-child {
	margin-right: 0
}

.header-meta {
	display: flex;
	align-items: center;
	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 {
	display: flex;
	align-items: flex-start
}

.header-lang a {
	display: inline-block;
	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
}

.back-link {
	height: 80px;
	display: flex !important;
	align-items: center;
	border-right: 1px solid rgba(38, 38, 38, 0.1);
	padding-right: 32px;
	padding-left: 11px;
	color: #e22c38
}

.mobile__back-link {
	display: none;
	max-width: 160px;
	align-items: center;
	color: #e22c38;
	border-right: 1px solid rgba(38, 38, 38, 0.1);
	padding-right: 32px;
	padding-left: 11px;
	margin-top: 17px
}

.specials-menu {
	display: flex;
	align-items: center
}

.search-result {
	padding: 20px 0;
	margin: 0 73px 0 32px;
	border-bottom: 1px solid #d1d1d1
}

.search-result:last-child {
	border-bottom: 0
}

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

.search-result-link-type {
	font-family: 'vl2-bold', sans-serif;
	font-size: 11px;
	line-height: 18px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #336af7;
	margin-left: 16px;
	width: 200px;
	text-align: left
}

.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: 0
}

.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: .04em;
	text-transform: uppercase;
	margin: 4px 0;
	color: #336af7
}

.search-result-item-short {
	font-weight: normal;
	font-size: 14px;
	line-height: 18px;
	display: block;
	letter-spacing: .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--pages {
	background: #e22c38 url('images/icon-big-news.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: 0;
	-webkit-appearance: none;
	font-size: 18px;
	line-height: 24px;
	padding: 0 60px 0 52px;
	outline: 0;
	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;
	right: 0;
	width: 94px;
	top: 31px;
	position: absolute;
	display: block;
	font-size: 14px;
	line-height: 18px;
	text-align: center;
	color: #262626;
	opacity: .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(0, #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
}

.online-link:before {
	content: "";
	background: no-repeat url('/upload/iblock/adc/adcff5df8d7bdd0c1f7cf265a5901964.svg') center center;
	background-size: contain;
	width: 24px;
	height: 24px;
	display: inline-block;
	margin-right: 8px;
	vertical-align: bottom
}

.menu-tickets-link:before {
	content: "";
	background: no-repeat url('images/icon-menu-tickets.svg') center center;
	background-size: contain;
	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
}

.favorited .favorites {
	z-index: 100
}

.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: 30px;
	font-weight: 500;
	line-height: 36px;
	color: #e22c38;
	display: block;
	margin: 0 0 16px 0;
	font-family: 's', sans-serif
}

.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: .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: .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--tele2 {
	background-image: url('images/partner_tele2.svg');
	width: 84px;
	margin-top: 8px
}

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

.partner--capital {
	background-image: url('images/partner-capital.png');
	width: 200px
}

.partner--curtis {
	background-image: url('images/partner-curtis.svg');
	width: 110px
}

.menu-phone {
	font-family: 'vl2', sans-serif;
	font-size: 32px;
	line-height: 32px;
	letter-spacing: -2px;
	text-transform: lowercase;
	margin: 0 0 16px 0
}

.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-left: auto;
	margin-right: 0
}

.slick-initialized[data-slider-adjust] {
	max-width: none;
	margin: 0;
	padding: 0
}

.news-gallery[data-slider-adjust] {
	max-width: 1680px;
	margin: 0 auto;
	padding-left: 16px;
	padding-right: 16px
}

.similar-events.slick-initialized[data-slider-adjust] {
	margin: -4px
}

.top {
	padding-top: 104px;
	background: #e22c38;
	color: #fff
}

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

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

.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: .2px;
	overflow: hidden;
	white-space: normal;
	text-overflow: ellipsis;
	transition: .3s opacity
}

.story:hover .story-title {
	opacity: .8
}

.top .story-title {
	color: #fff
}

.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;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: .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: #fff;
	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: 0
}

.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: .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-status {
	float: right;
	font-size: 14px;
	margin-top: -35px
}

.tabloid-time {
	display: block;
	position: absolute;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: .2px;
	bottom: 20px
}

.main-more {
	display: block;
	padding: 16px 0;
	height: 112px;
	font-weight: 500;
	color: #262626;
	font-size: 18px;
	line-height: 24px;
	position: relative;
	z-index: 2;
	transition: .3s all;
	cursor: pointer
}

.i {
	display: inline-block;
	width: 24px;
	height: 24px
}

.i--drop {
	background: no-repeat url('images/icon-dropdown.svg');
	content: "";
	vertical-align: -6px
}

.main-more:hover {
	background: #f0dfd8
}

.main-more:active {
	background: #e0cdc5
}

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

.tabloid .main-more:active {
	background: #c72631
}

.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: #fff;
	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: "";
	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)
}

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

.more-blocks {
	display: none
}

.body--events .event-blocks-holder,
.body--places .place-blocks-holder {
	margin-top: 16px
}

.place-blocks-holder {
	margin-bottom: 16px
}

.body--places .place-blocks {
	margin-top: 0
}
.main-block--special .event-blocks--accent {
	/* display: flex; */
}
.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) * .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) !important;
}
.accent-child {
	margin-left: calc(50%+4px) !important;
}
.event-blocks--left {
	margin-left: calc(50%+4px) !important;
}

.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: .04em;
	text-transform: uppercase;
	color: #336af7;
	margin: 0 0 14px 0
}

.events-selection {
	display: inline-block;
	position: relative;
	line-height: 0;
	color: #fff;
	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-selections .main-selection {
	display: inline-block;
	position: relative;
	color: #fff;
	transition: .3s all;
	background: #000;
	height: 440px;
	background: no-repeat center center;
	background-size: cover;
	white-space: normal;
	border-radius: 4px;
	overflow: hidden;
	margin-right: 8px;
	padding: 16px
}

@media(min-width:768px) {
	.main-selections .main-selection {
		min-width: 667px;
		max-width: 824px;
		width: calc((100vw - 40px) / 2)
	}
}

.main-selection:before {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0, #000 100%);
	opacity: .66;
	content: "";
	display: block;
	z-index: 1;
	transition: .3s opacity
}

.main-selection:hover:before {
	opacity: 1
}

.main-selection img {
	opacity: .8;
	width: 100%
}

.main-selection-title {
	position: relative;
	display: block;
	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;
	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+5) {
	width: 100%;
	width: calc(100% - 8px)
}

.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;
	background: no-repeat url('images/icon-round-arrow.svg') center center;
	border: 0;
	-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-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: 0;
	-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 {
	padding: 0 0 16px 0
}

.main-iconic.show-done {
	border: 0
}

.main-iconic-left-text,
.visitors-group-left-text {
	max-width: 438px
}

.place-block {
	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--accent .event-block:first-child .event-block-top {
	height: 200px
}

.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: .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 {
	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: .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: #999;
	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 {
	background-color: #f0dfd8
}

.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-block--visitors {
	background: #dae5f1;
	padding-bottom: 80px
}

.main-block--partners {
	background: #dae5f1;
	padding-bottom: 80px
}

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: 24px
}

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

.subscribe-input {
	width: calc(100% - 64px);
	background: #f5f5f5;
	height: 64px;
	border: 0;
	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: #999
}

.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: 0;
	-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--tg {
	background-image: url('images/icon-social-tg.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
}

.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: 0;
	font-weight: 500;
	border-radius: 4px;
	-webkit-appearance: none
}

.search-input::placeholder {
	color: #fff
}

.filter-form {
	margin: 73px 0 0 0;
	padding: 0 0 16px 0;
	position: relative
}

.filter-tags {
	padding: 8px 0 0;
	overflow: auto;
	white-space: nowrap;
	-ms-overflow-style: none;
	-webkit-overflow-scrolling: touch
}

.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: 3.5px 12px;
	font-weight: 500;
	font-size: 18px;
	line-height: 24px;
	transition: .3s all
}

.filter-tag:last-child {
	margin-right: 0
}

.filter-tag:hover {
	background: rgba(255, 255, 255, .4)
}

.filter-tag.active,
.filter-total {
	background: #fff;
	color: #e22c38;
	height: 32px;
	position: relative
}

@media(min-width:1023px) {
	.filter-total {
		padding: 8px 12px;
		height: auto
	}
}

.filter-tag.collapse {
	display: none
}

.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: #fff;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.04), 0 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: #999;
	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: 0
}

.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;
	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: 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: .04em;
	text-transform: uppercase;
	vertical-align: middle;
	color: #336af7
}

.ticket-button {
	font-size: 18px;
	line-height: 24px;
	text-align: center;
	color: #fff;
	font-weight: 500;
	display: block;
	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 {
	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: 0
}

.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 {
	background: #fff;
	font-size: 18px;
	line-height: 24px;
	color: #e22c38;
	padding: 16px 50px;
	text-align: center;
	font-weight: 500;
	display: block;
	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--route.gastro {
	margin-bottom: 15px
}

.detail-button--route.gastro:before {
	display: none
}

.detail-button--map {
	font-family: Suisse Intl;
	display: none;
	margin-right: 0;
	width: 100%;
	border: 0;
	cursor: pointer
}

.detail-button--map:before {
	background-image: url('images/icon-map-red.svg?1')
}

.detail-buttons:after {
	clear: both;
	display: block;
	content: ""
}

.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-color: #fff;
	border-radius: 5px;
	min-height: 128px;
	padding: 28px;
	font-size: 17px;
	line-height: 24px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-content: center;
	align-items: center;
	flex-wrap: nowrap
}

.detail-attension>img {
	margin-right: 16px;
	align-self: center
}

.detail-stories {
	margin: 40px 0 80px;
	padding: 0
}

.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: #999;
	cursor: pointer
}

.detail-text-more:hover {
	color: #262626
}

.detail-text-detail {
	display: none
}

.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__line {
	display: flex;
	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: #999;
	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)
}

.detail-table__line--more.active:before {
	height: 2px;
	bottom: 25px
}

.detail-table__left {
	padding-right: 16px;
	position: relative;
	z-index: 3;
	width: 100%;
	font-weight: 500
}

.detail-table__right {
	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: 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: .04em;
	text-transform: uppercase;
	color: #336af7;
	background: #fff;
	padding: 12px 16px 10px;
	border-radius: 5px
}

.detail-similar {
	background: #dae5f1;
	padding: 8px 0 80px
}

.fast .detail-similar {
	padding-left: 4px;
	padding-right: 4px
}

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

.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: 0
}

.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 {
	display: none;
	background: #f7ebe6;
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	right: 50%;
	overflow: auto;
	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 .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: #000 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')
}

.map-marker__inner {
	position: absolute;
	background: #fff;
	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: 0 0 12px rgba(0, 0, 0, 0.04), 0 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: .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
	}
}

.map-me {
	position: relative;
	width: 1px;
	height: 1px
}

.map-me__icon {
	width: 24px;
	height: 24px;
	top: 50%;
	left: 50%;
	border: solid 4px #fff;
	background: #e72734;
	position: absolute;
	display: block;
	transform: translate3d(-50%, -50%, 0);
	z-index: 2;
	border-radius: 50%;
	box-shadow: 0 10px 21px rgba(0, 0, 0, 0.25)
}

.map-me__area {
	width: 128px;
	height: 128px;
	top: 50%;
	left: 50%;
	position: absolute;
	display: block;
	transform: translate3d(-50%, -50%, 0);
	z-index: 1;
	border-radius: 50%;
	background: radial-gradient(48.66% 48.66% at 50% 51.34%, #f4f8fa 0, #e72734 100%);
	opacity: .15
}

.close {
	background: #fff;
	cursor: pointer;
	font-size: 18px;
	line-height: 24px;
	z-index: 40;
	font-weight: 500;
	color: #e22c38;
	border-radius: 4px;
	display: block;
	top: 120px;
	right: 16px;
	padding: 12px 20px 12px 44px;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.04), 0 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
}

@media(max-width:1024px) {
	.filtered .filter {
		padding-top: 60px
	}
}

.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;
	color: #262626;
	padding-bottom: 80px
}

.filter-buttons {
	position: fixed;
	padding: 8px 16px;
	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: 0;
	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: #999;
	margin: 0 0 19px 0
}

.filter-labels {
	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: #999;
	font-size: 18px;
	line-height: 24px;
	cursor: pointer;
	background: linear-gradient(-90deg, #fff 0, rgba(255, 255, 255, 0.984375) 76.56%, #fff 100%)
}

.filter-more:hover {
	color: #262626
}

.filter-months {
	display: none;
	position: absolute;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.04), 0 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: .3
}

.day {
	width: 40px;
	height: 40px;
	line-height: 40px;
	font-size: 17px;
	display: inline-block;
	text-align: center;
	position: relative
}

.day--dow {
	color: #7c7c7c
}

.day--not-this-month {
	visibility: hidden
}

.day a {
	display: block;
	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
}

.route {
	padding: 0 0 16px 0
}

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

.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: #999;
	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: #999;
	margin: 8px 0
}

.route-block--transport.route-block--leg {
	background-image: url('images/icon-route-transport.svg')
}

.route-block--driving.route-block--leg {
	background-image: url('images/icon-route-driving.svg')
}

.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: #999;
	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: #fff;
	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: 0
}

.route-block-duration--location:before {
	content: "";
	background: no-repeat url('images/icon-locator.svg') center center;
	background-size: cover
}

.route-block-route_number {
	display: inline-block;
	margin-right: 8px;
	background: #59b36a;
	border-radius: 4px;
	font-size: 14px;
	line-height: 18px;
	padding: 3px 4px;
	color: #fff;
	vertical-align: 1px
}

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

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

[data-mode="transport"] .route-block-pic {
	display: none
}

[data-mode="transport"] .route-block-item {
	min-height: auto;
	padding-right: 16px
}

[data-mode="transport"] .route-block-title {
	height: auto;
	margin: 0
}

.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;
	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;
	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(0, #000 0, rgba(0, 0, 0, .6) 40%, rgba(0, 0, 0, 0) 100%);
	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, #000 100%);
	opacity: .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 {
	font-weight: 500;
	font-size: 3vmin;
	line-height: 1.5em
}

.card-title--h2 {
	font-size: 3vmin;
	line-height: 1.5em
}

.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;
	white-space: nowrap;
	margin: 12px 0 0 0
}

.card:last-child .card-link {
	background: #fff;
	color: #e22c38
}

.card-top {
	position: absolute;
	left: 20px;
	top: 33px;
	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: .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)
}

.deck__nav {
	cursor: pointer;
	position: absolute;
	z-index: 10;
	top: 100px;
	bottom: 100px;
	width: 45%;
	display: none
}

.slick-current .deck__nav {
	display: block
}

.deck__nav--left {
	left: 0
}

.deck__nav--right {
	right: 0
}

.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: #999;
	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: 0 0 12px rgba(0, 0, 0, 0.04), 0 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;
	z-index: 10;
	background: #faede8
}

.favorites-button {
	cursor: pointer;
	font-size: 18px;
	line-height: 24px;
	text-align: center;
	color: #fff;
	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
}

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

.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: .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: 0
}

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

.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 .title {
	margin: 14px 0 0 0
}

.visitors-group-info {
	margin: 16px 0;
	max-width: 560px
}

.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;
	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-tickets {
	padding-top: 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: auto;
	right: auto;
	top: 100%;
	top: calc(100%+20px);
	width: 1648px !important;
	margin-right: auto;
	margin-left: auto;
	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: #fff
}

.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: 0 0 12px rgba(0, 0, 0, 0.04), 0 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: 0 0 12px rgba(0, 0, 0, 0.04), 0 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: #fff;
	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
}

@keyframes anim_in {
	0 {
		opacity: 0;
		transform: translate3d(0, 30px, 0)
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0)
	}
}

.special-picture {
	width: 100%;
	height: 720px;
	overflow: hidden;
	position: relative
}

.special-picture>.picture {
	width: 100%;
	height: 100%;
	background: no-repeat center center;
	background-size: cover
}

.special-content {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: white;
	width: 1680px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	font-family: Suisse Intl
}

.special-title {
	font-size: 64px;
	margin-bottom: 1.5rem
}

.special-header {
	background: #e22c38;
	color: #fff
}

.special-header-left,
.special-header-right {
	width: 50%;
	vertical-align: top;
	display: inline-block;
	padding: 8px 0 80px 0
}

.special-header-left {
	padding-right: 80px
}

.special-header-description {
	margin: 14px 0 0 0;
	font-weight: 500;
	font-size: 36px;
	line-height: 40px
}

.special-header-right .detail-table {
	margin-top: 16px
}

.special-header-right .detail-table__line--more:before,
.special-header-right .detail-table__line--more:after {
	background: #fff
}

.detail-table__line--more:hover {
	background-color: #d32934
}

.main-block--review.main-block--special,
.main-block--iconic.main-block--special {
	padding-bottom: 80px
}

.main-block--visitors.main-block--special {
	background: #f7ebe6
}

.main-block--special .h1 a {
	color: #262626
}

.main-block--special .visitors-group-left .title a {
	color: #262626
}

.visitors-promo {
	display: inline-block;
	width: 50%;
	width: calc(50% - 4px);
	margin: 0 0 8px 0;
	height: 160px;
	background: #fff;
	border-radius: 4px;
	transition: .3s all;
	position: relative;
	vertical-align: top
}

.visitors-promo:nth-child(2n) {
	margin-left: 8px
}

.visitors-promo:hover {
	background: #f1f5f9
}

.visitors-promo span {
	position: absolute;
	display: block;
	height: 88px;
	width: 185px;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%, -50%, 0);
	background: no-repeat center center;
	background-size: contain
}

.header-back {
	color: #e22c38;
	padding: 28px 32px 28px 36px;
	font-weight: 500;
	font-size: 18px;
	line-height: 24px;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	border-right: 1px solid rgba(38, 38, 38, 0.1);
	margin-right: 32px
}

.header-back:before {
	width: 24px;
	height: 24px;
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translate3d(0, -50%, 0);
	content: "";
	display: block;
	background: no-repeat url('images/icon-back-r.svg') center center
}

.route-types {
	margin: 0 0 24px 0
}

.route-type {
	padding: 8px 16px;
	line-height: 0
}

.route-type input {
	opacity: 0;
	z-index: -1;
	position: absolute
}

.route-type span {
	display: inline-block;
	vertical-align: top;
	line-height: 24px;
	margin-right: 8px
}

.route-type:after {
	vertical-align: top;
	display: inline-block;
	width: 24px;
	height: 24px;
	content: '';
	opacity: .43;
	transition: .3s opacity;
	background: no-repeat center center
}

.route-type.active:after {
	opacity: 1
}

.route-type--walking:after {
	background-image: url('./images/icon-walking.svg')
}

.route-type--transport:after {
	background-image: url('./images/icon-transport.svg')
}

.route-type--driving:after {
	background-image: url('./images/icon-driving.svg')
}

.top--h {
	padding-bottom: 56px
}

.top--h h1 {
	margin: 0
}

.top--h .filter-sorts {
	display: none
}

.top--h .filter-form {
	position: absolute;
	left: 320px;
	right: 0;
	top: 50%;
	transform: translate3d(0, -50%, 0);
	margin: 0;
	padding: 0
}

.top--h .filter-trigger {
	padding: 8px 0 8px 29px;
	display: inline-block;
	vertical-align: middle;
	margin: 0 24px 0 0
}

.top--h .filter-tags {
	padding: 0;
	display: inline-block;
	vertical-align: middle
}

.global-map {
	position: relative
}

.global-map .place-blocks {
	position: absolute;
	z-index: 60;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: scroll;
	white-space: nowrap;
	padding: 8px 0;
	scrollbar-width: none;
	-ms-overflow-style: none;
	-webkit-overflow-scrolling: touch
}

.global-map .place-blocks::-webkit-scrollbar {
	display: none
}

.global-map .slick-nav {
	display: none
}

.global-map .place-blocks .place-block {
	margin: 8px 0 8px 8px !important;
	padding: 16px 160px 16px 16px !important;
	display: inline-block !important;
	vertical-align: top;
	width: calc(100vw - 56px) !important;
	max-width: 454px;
	white-space: normal;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.04), 0 12px 12px rgba(0, 0, 0, 0.04);
	position: relative;
	height: 160px
}

.global-map .place-blocks .place-block-top {
	padding: 25px 0 0 0;
	display: block
}

.global-map .place-blocks .place-block-title {
	font-size: 16px;
	line-height: 20px;
	height: 80px;
	margin: 0 0 6px 0
}

.global-map .place-blocks .route-block-meta {
	display: none
}

.global-map .place-blocks .place-block-time {
	display: block;
	position: relative;
	font-size: 14px;
	line-height: 15px;
	letter-spacing: .3px;
	color: #898989;
	left: auto;
	bottom: auto
}

.global-map .place-blocks .place-block-type {
	margin: 0 0 7px 0;
	display: block
}

.global-map .place-blocks .place-block-bottom {
	top: 16px;
	right: 16px;
	width: 128px;
	height: 128px;
	border-radius: 4px
}

.global-map .place-block .block-favorite {
	right: 160px
}

.global-map .place-blocks-holder {
	margin: 0
}

.global-map .map {
	height: calc(100vh - 232px) !important;
	min-height: 600px !important;
	display: block
}

@media(max-width:600px) {
	.route-types {
		margin-bottom: 18px
	}
	.route-type span {
		display: none
	}
}

@media(max-width:1279px) {
	.header-menu {
		font-size: 16px
	}
	.header-menu a {
		margin-right: 24px
	}
	.menu-item {
		font-size: 24px;
		line-height: 28px
	}
	.footer-menu a {
		margin-right: 20px;
		font-size: 16px
	}
	.footer-menu a:last-child {
		margin-right: 0
	}
	.smena {
		font-size: 16px
	}
}

@media(max-width:1150px) {
	.header-menu {
		font-size: 14px
	}
	.header-menu a {
		margin-right: 18px
	}
	.footer-menu a {
		margin-right: 16px;
		font-size: 15px
	}
	.footer-menu a:last-child {
		margin-right: 0
	}
	.smena {
		font-size: 15px
	}
}

@media(max-width:1023px) {
	.mobile__back-link {
		display: flex
	}
	.special-picture {
		height: 448px
	}
	.special-picture>.picture-desktop {
		display: none
	}
	.special-picture>.picture-mobile {
		display: block
	}
	.special-content {
		width: calc(100% - 16px;
		);
		margin-left: 8px;
		margin-right: 8px;
		padding-left: 0;
		padding-right: 0
	}
	.special-title {
		font-size: 40px;
		margin-bottom: 1rem
	}
	.special-header-left,
	.special-header-right {
		width: auto;
		display: block;
		padding: 0
	}
	.special-header-left {
		padding: 8px 0 0 0
	}
	.special-header-description {
		font-size: 18px;
		line-height: 24px;
		font-weight: normal
	}
	.detail-table__line--more {
		padding-right: 8px;
		padding-left: 8px;
		position: relative;
		margin: 0 -8px -1px -8px
	}
	.main-block--visitors.main-block--special .visitors-group-left {
		display: block
	}
	.visitors-promo {
		width: calc(50% - 4px);
		display: inline-block;
		height: 20vw;
		vertical-align: top;
		margin: 0 0 8px 0
	}
	.visitors-promo:nth-child(2n) {
		margin-left: 8px
	}
	.visitors-promo span {
		transform: none;
		top: 20px;
		bottom: 20px;
		left: 40px;
		right: 40px;
		height: auto;
		width: auto
	}
	.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: .1px
	}
	.nothing .button {
		display: block;
		width: auto
	}
	.alert {
		padding: 23px 16px 16px 16px;
		font-size: 16px;
		line-height: 24px;
		letter-spacing: .1px;
		top: 77px
	}
	.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 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 .title {
		margin: 0 0 8px 0
	}
	.visitors-item-title {
		padding: 11px 35px 33px 9px;
		font-size: 24px;
		line-height: 28px; 
		letter-spacing: -1px;
	}
	.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
	}
	.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;
		height: auto
	}
	.header-meta {
		right: 60px;
		top: 16px;
		transform: none
	}
	.header-search-link {
		margin-left: 16px;
		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: 0 -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: 0
	}
	.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-lang a {
		height: 24px;
		line-height: 24px
	}
	.menued .header-lang {
		display: flex;
		line-height: 24px
	}
	.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: .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
	}
	.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: .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: 0
	}
	.social {
		width: 32px;
		height: 32px;
		margin: 0 18px 0 0;
		background-size: contain
	}
	.footer-menu {
		display: none
	}
	.footer-bottom {
		border-top-width: 1px;
		text-align: right
	}
	.footer-smena,
	.maped .footer-smena {
		border: 0;
		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 {
		font-size: 14px;
		line-height: 18px;
		letter-spacing: .2px;
		color: #fff;
		margin-top: 35px
	}
	.tabloid-event:first-child .tabloid-pre-title {
		margin-top: 28px
	}
	.tabloid-event {
		border: 0
	}
	.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: .04em;
		text-transform: uppercase;
		opacity: .6;
		margin: 0 0 6px 0
	}
	.tabloid-title {
		font-size: 16px;
		line-height: 24px;
		display: block;
		align-items: center;
		max-height: none;
		letter-spacing: .1px;
		margin: 0 0 6px 0
	}
	.tabloid-status {
		float: none
	}
	.tabloid-time {
		position: static;
		top: auto;
		right: auto;
		bottom: auto;
		font-size: 14px;
		line-height: 18px;
		letter-spacing: .2px;
		opacity: .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;
		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
	}
	.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-left.mobile-show {
		display: block;
		width: 100%
	}
	.main-iconic-left.mobile-show .main-iconic-left-text {
		max-width: 100%
	}
	.main-iconic-right {
		width: auto;
		display: block
	}
	.place-blocks {
		margin: 0
	}
	.place-block {
		margin: 8px 0;
		padding: 20px 124px 18px 16px
	}
	.place-block:last-child {
		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
	}
	.map-show .route-block-meta {
		display: none
	}
	.place-block-time {
		display: block;
		position: relative;
		font-size: 14px;
		line-height: 15px;
		letter-spacing: .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: 0
	}
	.main-iconic.done {
		padding: 0 0 8px 0
	}
	.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: 0
	}
	.main-visitors-link:last-child {
		border-bottom: 0
	}
	.main-block--visitors {
		padding-bottom: 40px
	}
	.main-block--partners {
		padding-bottom: 40px
	}
	.detail-top {
		height: 448px;
		padding-top: 64px
	}
	.inner-top {
		padding-top: 64px
	}
	.panel {
		height: 56px
	}
	.panel-back,
	.panel-share {
		font-size: 16px
	}
	.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
	}
	.wrap--detail {
		margin-bottom: 56px
	}
	.wrap--detail h1,
	.route h1 {
		font-size: 28px;
		line-height: 32px;
		letter-spacing: -0.02em;
		/* text-transform: lowercase */
	}
	.detail-buttons {
		margin: 28px 0 32px 0
	}
	.detail-subtitle {
		padding: 8px 0 0 0
	}
	.event-blocks {
		margin: 0 0 12px 0
	}
	.main-panes {
		margin-top: 16px
	}
	.on-map {
		display: block;
		background: 0;
		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
	}
	.detail-button {
		font-size: 16px;
		line-height: 20px;
		padding: 12px;
		display: block
	}
	.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 {
		margin: 32px 0 32px
	}
	.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-left: 0;
		padding-right: 0;
		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
	}
	.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
	}
	.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: 0
	}
	.ticket-button {
		padding: 13px 40px 15px;
		display: block;
		font-size: 16px;
		line-height: 20px
	}
	.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
	}
	.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;
		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: 0 0 12px rgba(0, 0, 0, 0.04), 0 12px 12px rgba(0, 0, 0, 0.04);
		position: relative;
		min-height: 124px
	}
	.map-show .route-blocks [data-mode="transport"].route-block {
		padding-right: 16px !important
	}
	.map-show .route-blocks [data-type="my"].route-block {
		padding-right: 16px !important
	}
	.map-show .route-blocks [data-type="my"].route-block .route-block-duration {
		display: block !important;
		padding: 0 0 0 32px;
		min-height: auto
	}
	.map-show .route-blocks [data-type="my"].route-block .route-block-duration:before {
		left: 0;
		top: 0
	}
	.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 [data-type="coords"],
	.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: .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
	}
	.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;
		z-index: 2
	}
	.header-search input {
		height: 40px;
		padding-left: 36px;
		font-size: 14px;
		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: 0
	}
	.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: .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
	}
	.card-title,
	.card-title--h2 {
		font-size: 36px;
		line-height: 40px
	}
	.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: .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
	}
	.top--h .filter-tags {
		display: none
	}
	.top--h .filter-form {
		left: 150px;
		right: 8px;
		text-align: right
	}
	.top--h .filter-trigger {
		margin: 0
	}
	.top--h {
		padding-bottom: 20px
	}
	.global-map .place-blocks .place-block-top {
		padding-top: 0
	}
}

@media(max-width:400px) {
	.visitors-promo {
		width: auto;
		display: block;
		height: 40vw;
		margin: 0 0 8px 0
	}
	.visitors-promo:nth-child(2n) {
		margin: 0 0 8px 0
	}
	.visitors-promo span {
		transform: none;
		top: 20px;
		bottom: 20px;
		left: 40px;
		right: 40px;
		height: auto;
		width: auto
	}
}

@media(min-width:1024px) and (max-width:1560.98px) {
	.special-header-left h1 {
		font-size: 3em
	}
}

.specials-link span {
	background: -webkit-linear-gradient(0, #009bd8 0, #4548a9 40%, #a34282 70%, #eb545d);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent
}

.specials-link:before {
	content: "";
	background: no-repeat url('images/icon-specials.svg') center center;
	width: 24px;
	height: 24px;
	display: inline-block;
	margin-right: 8px;
	vertical-align: bottom
}

.space-link span {
	background: -webkit-linear-gradient(0, #009bd8 0, #4548a9 40%, #a34282 70%, #eb545d);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent
}

.space-link:before {
	content: "";
	background: no-repeat url('images/rocket.svg') center center;
	width: 24px;
	height: 24px;
	display: inline-block;
	margin-right: 8px;
	vertical-align: bottom
}

.star-link span {
	background: -webkit-linear-gradient(0, #009bd8 0, #4548a9 40%, #a34282 70%, #eb545d);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent
}

.star-link:before {
	content: "";
	background: no-repeat url('images/icon-star.svg') center center;
	width: 24px;
	height: 24px;
	display: inline-block;
	margin-right: 8px;
	vertical-align: bottom
}

body>iframe {
	position: absolute;
	z-index: -1;
	height: 0;
	width: 0;
	opacity: 0
}

.cookiepolitic {
	display: none;
	position: fixed;
	left: 16px;
	bottom: 16px;
	max-width: 360px;
	min-height: 206px;
	height: auto
}

.cookiepolitic--active {
	display: block;
	z-index: 99
}

.cookiepolitic__wrap {
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 12px 24px -6px rgba(96, 96, 96, 0.15), 0 0 1px rgba(96, 96, 96, 0.1);
	border-radius: 4px;
	padding: 24px 16px
}

.cookiepolitic__head {
	font-family: Suisse Intl;
	font-style: normal;
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
	color: #000;
	margin-bottom: 10px
}

.cookiepolitic__body {
	font-family: Suisse Intl;
	font-style: normal;
	font-weight: normal;
	font-size: 14px;
	line-height: 20px;
	color: #000;
	margin-bottom: 16px
}

.cookiepolitic__link {
	color: #333778
}

.cookiepolitic__button {
	background: #333778;
	box-shadow: 0 2px 2px -2px rgba(34, 38, 50, 0.3);
	border-radius: 4px;
	font-family: Suisse Intl;
	font-style: normal;
	font-weight: 600;
	font-size: 14px;
	line-height: 16px;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
	height: 32px;
	padding-top: 8px;
	cursor: pointer
}

@media(max-width:414px) {
	.cookiepolitic {
		max-width: calc(100% - 16px);
		left: 8px;
		right: 8px;
		bottom: 8px
	}
}

.fixed-custom {
	position: fixed
}

.wrap-custom {
	width: 544px;
	height: auto;
	padding: 16px 16px 40px;
	background: #ececec;
	position: fixed;
	z-index: 999999;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
	z-index: 1001;
	border-radius: 4px;
	font-family: vl2
}

.overlay-custom {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.6);
	z-index: 1000
}

.head-custom {
	display: flex;
	flex-direction: row;
	align-content: center;
	align-items: center;
	align-self: center;
	padding-bottom: 32px
}

.body-custom {
	font-size: 18px
}

.body-custom-item {
	display: flex;
	flex-direction: row;
	align-content: center;
	align-items: center;
	align-self: center;
	padding-top: 8px;
	padding-bottom: 8px;
	border-bottom: 1px solid #dfdbdb;
	line-height: 24px
}

.body-custom-title {
	font-size: 14px;
	font-family: 'vl2-bold'
}

.body-custom-button {
	margin-left: auto
}

.iksweb {
	display: inline-block;
	cursor: pointer;
	font-size: 16px;
	text-decoration: none;
	color: #fff;
	background: #e22c38;
	border-radius: 5px;
	border: 1px solid #e22c38;
	width: 134px;
	text-align: center;
	padding: 11px;
	font-family: 'vl2-bold'
}

.iksweb:hover {
	background: #fff;
	color: #e22c38;
	border: 1px solid #e22c38;
	transition: all .2s ease
}

.hidden-custom {
	display: none
}

.span-title-custom {
	font-size: 40px
}

.span-custom {
	line-height: 40px;
	height: 40px;
	width: 40px;
	cursor: pointer;
	color: #000;
	text-align: center;
	margin-left: auto
}

.span-custom:hover {
	cursor: pointer;
	color: grey
}

.ticket__button--card {
	font-size: 18px;
	line-height: 24px;
	text-align: center;
	color: #fff;
	font-weight: 500;
	display: block;
	background: #336af7;
	border-radius: 4px;
	padding: 16px 80px;
	transition: .3s background-color;
	width: 100%;
	border: 0;
	cursor: pointer
}

.ticket__button--card:hover {
	background-color: #285de8
}

.ticket__button--card:active {
	background-color: #1a4ac6
}

.ticket__button--price {
	opacity: .6
}

.detail-attension {
	margin-bottom: 30px !important
}

@media(max-width:780px) {
	.wrap-custom {
		width: calc(100% - 32px);
		margin-left: auto;
		margin-right: auto
	}
	.body-custom-title {
		font-size: 12px;
		line-height: 18px
	}
	.span-title-custom {
		font-size: 24px
	}
	.iksweb {
		font-size: 14px;
		border-radius: 5px;
		width: 114px;
		text-align: center;
		padding: 9px;
		font-family: 'vl2-bold'
	}
}

.mirrorflip {
	animation: 3s linear infinite mirrorflip
}

@keyframes mirrorflip {
	0 {
		transform: scale(1, 1);
		-webkit-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		-ms-transform: scale(1, 1)
	}
	50% {
		transform: scale(-1, 1);
		-webkit-transform: scale(-1, 1);
		-moz-transform: scale(-1, 1);
		-o-transform: scale(-1, 1);
		-ms-transform: scale(-1, 1)
	}
	100% {
		transform: scale(1, 1);
		-webkit-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		-ms-transform: scale(1, 1)
	}
}

.rw-widget-container {
	margin: 0;
	flex-direction: column- reverse;
	position: relative
}

.rw-conversation-container {
	margin- bottom: 0;
	margin-top: 10px
}

.rw-conversation-container .rw- header {
	background-color: hsl(357, 65%, 50%)
}

.rw-conversation-container .rw-messages-container .rw- message .rw-client {
	background-color: hsl(357, 65%, 50%)
}

.rw-launcher {
	background-color: #e22c38;
	border-radius: 5%;
	height: 30px;
	width: 80px;
	padding: 0;
	box-shadow: none
}

.rw-conversation-container .rw-reply {
	background-color: hsl(357, 65%, 50%);
	border: 1px solid hsl(357, 65%, 50%)
}

.rw-new-message {
	display: none
}

.rw-widget- container .rw-sender {
	display: none
}

@media screen and (max-width:800px) {
	.rw-widget-container.rw-chat-open {
		position: fixed
	}
}

@media screen and (min-width:1023px) {
	.selections {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center
	}
	.main-selection {
		height: 323px;
		max-width: 350px;
		width: 50%
	}
}

.main-selection-title,
.main-selection-desc {
	color: #fff;
	margin: 10px 0 12px 10px
}

.selections .main-selection {
	background-size: cover;
	background-position: top
}