@font-face {
	font-family: "MyriadPro";
	font-weight: normal;
	font-style: normal;

	src: url(../fonts/MyriadPro-Regular.ttf) format("truetype"),
		url(../fonts/MyriadPro-Regular.woff) format("woff");
}

@font-face {
	font-family: "MyriadPro";
	font-weight: 600;
	font-style: normal;

	src: url(../fonts/MyriadPro-Semibold.ttf) format("truetype"),
		url(../fonts/MyriadPro-Semibold.woff) format("woff");
}

@font-face {
	font-family: "MyriadPro";
	font-weight: 700;
	font-style: normal;

	src: url(../fonts/MyriadPro-Bold.ttf) format("truetype"),
		url(../fonts/MyriadPro-Bold.woff) format("woff");
}



* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

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

img {
	border: none;
}

textarea {
	overflow: auto;
}

input, textarea, input:active, textarea:active {
	outline: none transparent !important;
	box-shadow: none;

	-moz-outline: none !important;
}

input[type=submit], button[type=submit], input[type=reset], button[type=reset] {
	-webkit-border-radius: 0;

	-webkit-appearance: none;
}

:focus {
	outline: none;
}

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


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

a {
	color: #2cbda5;
}



/*---------------
	Main styles
---------------*/
.clear {
	clear: both;
}

.left {
	float: left;
}

.right {
	float: right;
}

html {
	height: 100%;
	background: #f8f8f8;

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

body {
	font-family: "MyriadPro", "Arial", sans-serif;
	font-size: 14px;
	height: 100%;
	color: #363636;

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

.wrap {
	overflow: hidden;
}

.cont {
	position: relative;
	width: 100%;
	max-width: 1270px;
	margin: 0 auto;
	padding: 0 20px;
}



.events .slider, .popular_places .item, .cats_block .item, .subscribe .form, .events .grid .item, .contacts_info .info, .contacts_info .feedback, .routes .item, .places .cats .item, .places .sub_cats, .place_info .info, .place_info .contacts, .history .text_block, .history .img {
	visibility: hidden;
}

.animated {
	visibility: visible !important;
}



.block_head {
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 35px;
	text-align: center;
}

.block_head .title {
	font-size: 36px;
	font-weight: 700;
	line-height: 40px;
	color: #282828;
}

.block_head .title+* {
	margin-top: 10px;
}

.block_head .link {
	display: inline-block;
	vertical-align: top;
	color: #2cbda5;
}

.block_head .link:hover {
	text-decoration: none;
}



.page_img {
	position: relative;
	overflow: hidden;
}

.page_img img {
	display: block;
	width: 100%;
}

.page_img:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	opacity: .36;
	background: #000;
}



.page_head {
	margin-bottom: 40px;
	padding: 40px 0;
	background: #fff;
}

.page_head.no_margin {
	margin-bottom: 0;
}


.page_title {
	font-size: 45px;
	font-weight: 700;
	line-height: 47px;
	position: relative;
	padding-bottom: 20px;
}

.page_title:after {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 40px;
	height: 2px;
	content: "";
	background: #2cbda5;
}


.page_desc {
	font-size: 18px;
	line-height: 24px;
	margin-top: 30px;
}



.block_title {
	font-size: 34px;
	font-weight: 700;
	line-height: 36px;
	position: relative;
	margin-bottom: 30px;
	padding-bottom: 20px;
}

.block_title:after {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 40px;
	height: 2px;
	content: "";
	background: #2cbda5;
}

.block_title.big {
	font-size: 45px;
	line-height: 47px;
	margin-bottom: 40px;
}



.fixed_block {
	font-size: 18px;
	line-height: 24px;
	position: fixed;
	z-index: 1000;
	top: 0;
	right: 0;
	width: 445px;
	max-width: 100%;
	height: 100%;
	padding: 100px 55px 225px;
	transition: .25s linear;
	transform: translateX(100%);
	color: #fff;
	background: #242625;
}

.fixed_block.active {
	transform: translateX(0);
}


.fixed_block .close {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 70px;
	height: 70px;
	padding: 25px;
	opacity: .75;
}

.fixed_block .close span {
	position: relative;
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
}

.fixed_block .close span:nth-child(1) {
	top: 9px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.fixed_block .close span:nth-child(2) {
	top: 7px;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


.fixed_block .title {
	font-size: 36px;
	font-weight: 700;
	line-height: 40px;
	margin-bottom: 25px;
}


.fixed_block .contacts {
	position: absolute;
	bottom: 0;
	left: 9;
	width: 100%;
	padding: 40px 0;
}

.fixed_block .contacts>*+* {
	margin-top: 13px;
}

.fixed_block .contacts .phone, .fixed_block .contacts .email {
	font-size: 34px;
	line-height: 32px;
}

.fixed_block .contacts a {
	display: inline-block;
	vertical-align: top;
	color: #2cbda5;
}

.fixed_block .contacts a:hover {
	text-decoration: none;
}



/*---------------
   Header
---------------*/
header {
	position: relative;
	z-index: 999;
	width: 100%;
	padding-bottom: 29px;
	background: #2cbda5;
}


header .top {
	font-weight: 600;
	line-height: 50px;
	display: flex;
	padding-right: 30px;
	padding-left: 30px;
	color: #fff;

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

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

header .top a {
	display: block;
	color: #fff;
}

header .top a:hover {
	text-decoration: none;
}

header .top a.version {
	padding-right: 38px;
	text-decoration: none;
	background: url(../images/ic_version.png) 100% 50% no-repeat;
	background-size: auto 22px;
}

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


header .top .adres {
	margin-right: auto;
}


header .socials {
	line-height: 22px;
	height: 22px;
	margin-left: auto;
}

header .socials a {
	display: inline-block;
	width: 23px;
	height: 22px;
	vertical-align: top;
	background: url(../images/ic_socials.png) 0 0 no-repeat;
	background-size: auto 22px;
}

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

header .socials a.soc1 {
	background-position: 0 0;
}

header .socials a.soc2 {
	background-position: -22px 0;
}

header .socials a.soc3 {
	background-position: -45px 0;
}

header .socials a.soc4 {
	background-position: -67px 0;
}

header .socials a.soc5 {
	background-position: -90px 0;
}

header .socials.big {
	line-height: 35px;
	height: 35px;
	margin-left: auto;
}

header .socials.big a {
	display: inline-block;
	width: 36px;
	height: 35px;
	vertical-align: top;
	background: url(../images/ic_socials_big.png) 0 0 no-repeat;
	background-size: auto 35px;
}

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

header .socials.big a.soc1 {
	background-position: 0 0;
}

header .socials.big a.soc2 {
	background-position: -36px 0;
}

header .socials.big a.soc3 {
	background-position: -72px 0;
}

header .socials.big a.soc4 {
	background-position: -108px 0;
}

header .socials.big a.soc5 {
	background-position: -146px 0;
}

header .info {
	position: absolute;
	top: 100%;
	left: 20px;
	display: flex;
	width: calc(100% - 40px);
	padding: 16px 30px;
	background: #fff;

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


header .logo a, header .logo img {
	display: block;
	max-width: 100%;
	height: 52px;
	margin: 0 auto;
}


header .mob_menu_link {
	display: none;
	width: 65px;
	height: 52px;
	margin-right: -15px;
	padding: 15px;
}

header .mob_menu_link span {
	position: relative;
	display: block;
	width: 100%;
	height: 2px;
	transition: .2s linear;
	border-radius: 3px;
	background: #2cbda5;
}

header .mob_menu_link span+span {
	margin-top: 6px;
}


header .mob_menu_link.active span:nth-child(2) {
	opacity: 0;
}

header .mob_menu_link.active span:nth-child(1) {
	top: 8px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

header .mob_menu_link.active span:nth-child(3) {
	top: -8px;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


header .menu {
	display: flex;
	text-transform: uppercase;

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

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

header .menu .menu_item {
	position: relative;
}

header .menu .menu_item>a {
	font-size: 15px;
	font-weight: 600;
	line-height: 38px;
	display: block;
	height: 35px;
	transition: .2s linear;
	text-decoration: none;
	color: #363636;
}

header .menu .menu_item:hover>a, header .menu .menu_item.active>a {
	color: #2cbda5;
}


header .menu .sep {
	display: block;
	width: 1px;
	height: 15px;
	background: #363636;
}


header .menu .sub_menu {
	position: absolute;
	z-index: -1;
	top: 100%;
	left: -20px;
	display: block;
	visibility: hidden;
	min-width: 190px;
	margin-top: 24px;
	padding: 10px 0;
	transition: .2s linear;
	transform: translateY(30px);
	opacity: 0;
	background: #2a2a2a;
}

header .menu .menu_item:hover .sub_menu {
	z-index: 99;
	visibility: visible;
	transform: none;
	opacity: 1;
}

header .menu .sub_menu:before {
	position: absolute;
	bottom: 100%;
	left: 0;
	display: block;
	width: 100%;
	height: 24px;
	content: "";
}

header .menu .sub_menu a {
	font-size: 14px;
	line-height: 20px;
	display: block;
	padding: 5px 20px;
	transition: .2s linear;
	text-decoration: none;
	color: #bbb;
}

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


header .menu .search {
	position: static;
}

header .menu .search_link {
	display: block;
	width: 20px;
	height: 35px;
	background: url(../images/ic_search.png) 50% 50% no-repeat;
	background-size: 20px auto;
}

header .menu .search form {
	position: absolute;
	z-index: 99;
	top: 0;
	right: 0;
	display: none;
	width: 100%;
	padding: 16px 50px;
	background: #fff;
}

header .menu .search .input {
	font: 18px MyriadPro;
	display: block;
	width: 100%;
	height: 52px;
	padding-right: 43px;
	padding-left: 35px;
	color: #363636;
	border: none;
	background: #fff url(../images/ic_search.png) 0 50% no-repeat;
	background-size: 20px auto;
}

header .menu .search .close {
	position: absolute;
	top: 16px;
	right: 50px;
	display: block;
	width: 33px;
	height: 52px;
	padding: 18px 6px;
	background: url(../images/ic_close.png) 50% 50% no-repeat;
}

header .menu .search .close span {
	position: relative;
	display: block;
	width: 100%;
	height: 2px;
	background: #363636;
}

header .menu .search .close span:nth-child(1) {
	top: 5px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

header .menu .search .close span:nth-child(2) {
	top: 3px;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}



header .menu .burger_menu {
	display: block;
	width: 20px;
	height: 35px;
	padding: 12px 3px;
}

header .menu .burger_menu span {
	position: relative;
	display: block;
	width: 100%;
	height: 2px;
	transition: .2s linear;
	border-radius: 3px;
	background: #363636;
}

header .menu .burger_menu span+span {
	margin-top: 2px;
}


header .menu .burger_menu.active span:nth-child(2) {
	opacity: 0;
}

header .menu .burger_menu.active span:nth-child(1) {
	top: 8px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

header .menu .burger_menu.active span:nth-child(3) {
	top: -8px;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}



header.fixed {
	position: fixed;
	top: 0;
	left: 0;
	-webkit-animation: moveDown .5s;
	animation: moveDown .5s;
}


@-webkit-keyframes moveDown {
	0% {
		-webkit-transform: translateY(-84px);
		transform: translateY(-84px);
	}
}

@-moz-keyframes moveDown {
	0% {
		-webkit-transform: translateY(-84px);
		transform: translateY(-84px);
	}
}

@keyframes moveDown {
	0% {
		-webkit-transform: translateY(-84px);
		transform: translateY(-84px);
	}
}


header.fixed .top {
	display: none;
}

header.fixed .info {
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}



.fancybox-enabled header.fixed {
	padding-right: 17px;
}

html.macOS header.fixed, html:not(.desktop) header.fixed {
	padding-right: 0 !important;
}



/*---------------
   Sidebar
---------------*/



/*---------------
   Main section
---------------*/
.main_slider .slide {
	position: relative;
	display: none;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}

.main_slider .slider .slide:first-child, .main_slider .owl-loaded .slide {
	display: block;
}

.main_slider .slide:before {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	opacity: .36;
	background: #000;
}

.main_slider .slide .info {
	font-size: 18px;
	line-height: 24px;
	position: relative;
	z-index: 9;
	display: flex;
	width: 900px;
	max-width: 100%;
	min-height: 525px;
	margin: 0 auto;
	padding: 60px 0;
	text-align: center;
	color: #fff;

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

.main_slider .slide .title {
	font-size: 70px;
	font-weight: 700;
	line-height: 70px;
	width: 100%;
	margin-bottom: 25px;
}

.main_slider .slide .desc {
	width: 100%;
}



.events {
	overflow: hidden;
	padding: 50px 0 40px;
}

.events.no_pad {
	padding: 0;
}


.events .slide {
	display: none;
}

.events .owl-loaded .slide {
	display: block;
}


.events .grid {
	display: flex;
	margin-bottom: -50px;
	margin-left: -30px;
	padding-bottom: 50px;

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

.events .grid .item {
	width: calc(33.333% - 30px);
	margin-bottom: 50px;
	margin-left: 30px;
}


.events .item {
	font-size: 14px;
	line-height: 18px;
	display: block;
	transition: .2s linear;
	text-decoration: none;
	color: #929292;
	background: #fff;
}

.events .item .thumb {
	position: relative;
	overflow: hidden;
	background: #363636;
}

.events .item .thumb:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	transition: .2s linear;
	opacity: 0;
	background: #000;
}

.events .item .thumb img {
	display: block;
	width: 100%;
}

.events .item .date {
	font-size: 18px;
	font-weight: 600;
	font-weight: 700;
	line-height: 22px;
	padding: 20px 25px 18px;
	color: #fff;
	background: #2cbda5;
}

.events .item .info {
	padding: 20px 25px;
}

.events .item .name {
	font-size: 18px;
	font-weight: 700;
	line-height: 22px;
	margin-bottom: 10px;
	color: #363636;
}

.events .item:hover {
	color: #2cbda5;
}

.events .item:hover .thumb:after {
	opacity: .2;
}



.popular_places {
	overflow: hidden;
	padding: 40px 0 75px;
}

.popular_places .grid {
	position: relative;
	margin-bottom: -28px;
	margin-left: -28px;
}

.popular_places .item {
	font-size: 18px;
	line-height: 24px;
	position: relative;
	display: block;
	overflow: hidden;
	width: calc(25% - 28px);
	height: 288px;
	margin-bottom: 28px;
	margin-left: 28px;
	text-decoration: none;
	color: #fff;
	background: #fff;
}

.popular_places .item.item--width2 {
	width: calc(50% - 28px);
}

.popular_places .item.item--width3 {
	width: calc(75% - 28px);
}

.popular_places .item.item--width4 {
	width: calc(100% - 28px);
}

.popular_places .item.item--height2 {
	height: 604px;
}

.popular_places .item.item--height3 {
	height: 920px;
}

.popular_places .item.item--height4 {
	height: 1236px;
}

.popular_places .item:before {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	transition: .2s linear;
	opacity: 0;
	background: #000;
}

.popular_places .item .bg {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: .3s linear;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}

.popular_places .item .info {
	position: absolute;
	z-index: 9;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 30px 25px;
	transition: .2s linear;
	transform: translateY(50px);
	opacity: 0;
}

.popular_places .item.item--width2 .info, .popular_places .item.item--width3 .info, .popular_places .item.item--width4 .info {
	padding: 35px;
}

.popular_places .item .title {
	font-size: 20px;
	font-weight: 700;
	line-height: 24px;
	margin-bottom: 15px;
}

.popular_places .item.item--width2 .title, .popular_places .item.item--width3 .title, .popular_places .item.item--width4 .title {
	font-size: 36px;
	line-height: 32px;
	margin-bottom: 25px;
}

.popular_places .item .desc>*+* {
	margin-top: 20px;
}

.popular_places .item .details {
	margin-top: 20px;
	text-decoration: underline;
}

.popular_places .item .details:hover {
	text-decoration: none;
}


.popular_places .item.welcome {
	padding: 35px;
	color: #929292;
}

.popular_places .item.welcome:before {
	display: none;
}

.popular_places .item.welcome .title {
	margin-bottom: 30px;
	color: #282828;
}


.popular_places .item:hover:before, .popular_places.show .item:before {
	opacity: .45;
}

.popular_places .item:hover .bg, .popular_places.show .item .bg {
	-webkit-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
}

.popular_places .item:hover .info, .popular_places.show .item .info {
	transform: none;
	opacity: 1;
}



.cats_block {
	padding: 70px 0;
	background: url(../images/bg_cats_block.jpg) 50% 50% no-repeat;
	background-attachment: fixed;
	background-size: cover;
}

.cats_block .data {
	padding: 40px 0 50px;
	background: #fff;
}

.cats_block .grid {
	display: flex;
	margin-bottom: -30px;

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

.cats_block .item {
	font-size: 21px;
	font-weight: 700;
	line-height: 27px;
	width: 14.285%;
	margin-bottom: 30px;
	padding: 0 25px;
	text-align: center;
	color: #2cbda5;
}

.cats_block .item .icon {
	display: flex;
	height: 88px;
	margin-bottom: 20px;

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

.cats_block .item .icon img {
	display: block;
	max-width: 100%;
	max-height: 100%;
}

.cats_block .item:hover {
	text-decoration: none;
}


.cats_block.bg_white {
	padding: 50px 0;
	background: #fff;
}

.cats_block.bg_white .data {
	padding: 0;
}



.subscribe {
	padding: 45px 0 55px;
	background: #fff;
}

.subscribe .block_head {
	margin-bottom: 50px;
}

.subscribe .form {
	display: flex;
	width: 625px;
	max-width: 100%;
	margin: 0 auto;

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

.subscribe .form .input {
	width: calc(100% - 210px);
}

.subscribe .form .submit_btn {
	width: 190px;
}



.events_years {
	display: flex;
	margin-bottom: -20px;
	margin-left: -30px;

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

.events_years a {
	font-size: 32px;
	font-weight: 700;
	line-height: 32px;
	display: block;
	margin-left: 30px;
	transition: .2s linear;
	text-decoration: none;
	color: #d1d1d1;
}

.events_years a:hover, .events_years a.active {
	color: #363636;
}



.contacts_info {
	padding: 40px 0;
	background: #fff;
}

.contacts_info .page_title {
	margin-bottom: 30px;
}

.contacts_info .grid {
	display: flex;

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


.contacts_info .info {
	font-size: 17px;
	line-height: 21px;
	width: calc(50% - 45px);
}

.contacts_info .info .desc {
	font-size: 18px;
	font-weight: 600;
	line-height: 24px;
	margin-bottom: 40px;
}

.contacts_info .info .desc>*+* {
	margin-top: 20px;
}

.contacts_info .info .item {
	padding-left: 25px;
}

.contacts_info .info .item+.item {
	margin-top: 20px;
}

.contacts_info .info .item.adres {
	background: url(../images/ic_adres2.png) 2px 2px no-repeat;
	background-size: auto 17px;
}

.contacts_info .info .item.phone {
	background: url(../images/ic_phone2.png) 0 2px no-repeat;
	background-size: auto 16px;
}

.contacts_info .info .item.email {
	background: url(../images/ic_email2.png) 0 3px no-repeat;
	background-size: auto 15px;
}

.contacts_info .info .item.time {
	background: url(../images/ic_time2.png) 0 0 no-repeat;
	background-size: auto 18px;
}

.contacts_info .info a {
	display: inline-block;
	vertical-align: top;
	color: #2cbda5;
}

.contacts_info .info a:hover {
	text-decoration: none;
}


.contacts_info .feedback {
	width: 50%;
}



.routes {
	overflow: hidden;
	padding: 40px 0;
}

.routes .grid {
	display: flex;
	margin-bottom: -27px;
	margin-left: -27px;

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

.routes .item {
	width: calc(33.333% - 27px);
	margin-bottom: 27px;
	margin-left: 27px;
	background: #fff;
}

.routes .item .icon {
	display: flex;
	height: 65px;
	padding-bottom: 10px;
	background: #f8f8f8;

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

.routes .item .icon img {
	display: block;
	max-width: 100%;
	max-height: 100%;
}

.routes .item .title {
	font-size: 26px;
	font-weight: 600;
	line-height: 26px;
	display: flex;
	min-height: 57px;
	padding: 12px 20px 10px;
	color: #fff;
	background: #2cbda5;

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

.routes .item .desc {
	font-size: 15px;
	line-height: 17px;
	padding: 30px;
	color: #929292;
}

.routes .item .desc>*+* {
	margin-top: 20px;
}

.routes .item .link {
	font-size: 21px;
	font-weight: 700;
	line-height: 23px;
	padding: 0 30px 30px;
	text-align: center;
	color: #929292;
}

.routes .item .link a {
	display: inline-block;
	vertical-align: top;
	color: #2cbda5;
}

.routes .item .link a:hover {
	text-decoration: none;
}



.places .cats {
	padding-bottom: 30px;
	background: #fff;
}

.places .cats .grid {
	display: flex;
	margin-bottom: -30px;

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

.places .cats .item {
	font-size: 20px;
	font-weight: 700;
	line-height: 27px;
	width: 14.285%;
	margin-bottom: 30px;
	text-align: center;
	color: #2cbda5;
}

.places .cats .item .icon {
	display: flex;
	height: 88px;
	margin-bottom: 20px;
	transition: .2s linear;
	opacity: .8;

	align-content: center;
	align-items: center;
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-ms-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	filter: grayscale(0%);
	flex-wrap: wrap;
	justify-content: center;
}

.places .cats .item .icon img {
	display: block;
	max-width: 100%;
	max-height: 100%;
}

.places .cats .item .name {
	padding: 0 25px;
	transition: .2s linear;
	opacity: .8;

	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-ms-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	filter: grayscale(0%);
}

.places .cats .item:hover .icon, .places .cats .item:hover .name {
	opacity: 1;
}

.places .cats .item.active .icon, .places .cats .item.active .name {
	opacity: 1;

	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}


.places .sub_cats {
	font-size: 15px;
	padding: 15px 0 11px;
	background: #2cbda5;
}

.places .sub_cats .grid {
	display: flex;
	margin-bottom: -15px;
	margin-left: -35px;

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

.places .sub_cats a {
	display: none;
	margin-bottom: 15px;
	margin-left: 35px;
	text-decoration: none;
	text-transform: uppercase;
	color: #fff;
}

.places .sub_cats a:hover, .places .sub_cats a.active {
	text-decoration: underline;
}

.places .sub_cats .grid>a {
	display: none;
}

.places .sub_cats .grid .active + .sub_item > a {
	display: inline-block;
}

#map {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 310px;
	margin-bottom: 40px;
}

.place_info+#map {
	margin-top: -40px;
}



.place_info {
	margin-bottom: 40px;
	padding: 40px 0;
	background: #fff;
}

.place_info .data {
	display: flex;

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


.place_info .info {
	width: calc(100% - 400px);
}


.place_info .contacts {
	width: 340px;
	max-width: 100%;
}

.place_info .contacts {
	font-size: 17px;
	line-height: 21px;
}

.place_info .contacts .item {
	padding-left: 25px;
}

.place_info .contacts .item+.item {
	margin-top: 15px;
}

.place_info .contacts .item.adres {
	background: url(../images/ic_adres2.png) 2px 2px no-repeat;
	background-size: auto 17px;
}

.place_info .contacts .item.phone {
	background: url(../images/ic_phone2.png) 0 2px no-repeat;
	background-size: auto 16px;
}

.place_info .contacts .item.email {
	background: url(../images/ic_email2.png) 0 3px no-repeat;
	background-size: auto 15px;
}

.place_info .contacts .item.time {
	background: url(../images/ic_time2.png) 0 0 no-repeat;
	background-size: auto 18px;
}

.place_info .contacts a {
	display: inline-block;
	vertical-align: top;
	color: #2cbda5;
}

.place_info .contacts a:hover {
	text-decoration: none;
}



.gallery {
	margin-bottom: 50px;
}

.gallery .slide {
	display: none;
}

.gallery .owl-loaded .slide {
	display: block;
}

.gallery .item, .gallery .item img {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
}



.about_page {
	margin-bottom: 40px;
	padding: 40px 0;
	background: #fff;
}

.about_page .page_title {
	margin-bottom: 30px;
}



.history {
	padding: 45px 0;
	background: #fdf9ec;
}

.history .grid {
	display: flex;

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


.history .text_block {
	width: calc(100% - 450px);
}

.history .text_block .col {
	width: calc(100% - 190px);
}


.history .img {
	position: relative;
	width: 389px;
	max-width: 100%;
}

.history .img img {
	display: block;
	margin-left: -192px;
}

.history .img .details {
	font-size: 21px;
	font-weight: 700;
	position: absolute;
	right: 45px;
	bottom: 45px;
	display: inline-block;
	vertical-align: top;
	color: #2cbda5;
}

.history .img .details:hover {
	text-decoration: none;
}



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

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

.text_block p, .text_block img, .text_block iframe, .text_block ul, .text_block ol, .text_block blockquote, .text_block hr, .text_block .table_wrap, .text_block figure {
	margin-bottom: 25px;
}

.text_block img, .text_block iframe {
	display: block;
	max-width: 100%;
	margin: 0 0 25px;
}

.text_block img.left {
	max-width: 50%;
	margin-right: 40px;
}

.text_block img.right {
	max-width: 50%;
	margin-left: 40px;
}


.text_block .table_wrap {
	overflow: auto;
	max-width: 100%;
	margin: 20px 0;
}

.text_block table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}


.text_block a {
	color: #2cbda5;
}

.text_block a:hover {
	text-decoration: none;
}

.text_block .simplesearch-highlight {
	color: #fff;
	background: #2cbda5;
}

.form .lines {
	display: flex;
	margin-left: -30px;

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

.form .lines .line {
	width: calc(50% - 30px);
	margin-left: 30px;
}

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

.form .name {
	font-size: 18px;
	line-height: 20px;
	margin-bottom: 10px;
}

.form .field {
	position: relative;
}

.form .input {
	font: 18px MyriadPro;
	display: block;
	width: 100%;
	height: 55px;
	padding: 0 20px;
	color: #363636;
	border: 1px solid #eee;
	background: #fff;
}

.form textarea {
	font: 18px MyriadPro;
	display: block;
	width: 100%;
	height: 152px;
	padding: 12px 20px;
	resize: none;
	color: #363636;
	border: 1px solid #eee;
	background: #fff;
}

.form ::-webkit-input-placeholder {
	color: #888;
}

.form ::-moz-placeholder {
	color: #888;
}

.form :-moz-placeholder {
	color: #888;
}

.form :-ms-input-placeholder {
	color: #888;
}


.form .submit {
	padding-top: 5px;
}

.form .submit_btn {
	font-size: 18px;
	font-weight: 600;
	line-height: 55px;
	display: inline-block;
	height: 55px;
	padding: 0 35px;
	cursor: pointer;
	vertical-align: top;
	color: #fff;
	border: none;
	background: #2cbda5;
}



/*---------------
   Footer
---------------*/
footer {
	border-top: 20px solid #2cbda5;
	background: #333;
}



footer .info {
	padding: 30px 0;
}

footer .info .cont {
	display: flex;

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



footer .contacts {
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	max-width: 295px;
	color: #bbb;
}

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

footer .contacts>* {
	padding-left: 30px;
}

footer .contacts .phone {
	background: url(../images/ic_phone.png) 0 calc(50% - 1px) no-repeat;
}

footer .contacts .adres {
	background: url(../images/ic_adres.png) 1px calc(50% - 1px) no-repeat;
}

footer .contacts .email {
	background: url(../images/ic_email.png) 0 calc(50% - 2px) no-repeat;
}

footer .contacts a {
	display: inline-block;
	transition: .2s linear;
	vertical-align: top;
	text-decoration: none;
	color: #bbb;
}

footer .contacts a:hover {
	text-decoration: underline;
	color: #fff;
}



footer .instagram {
	width: calc(100% - 335px);
}

footer .instagram .title {
	font-size: 19px;
	font-weight: 600;
	line-height: 23px;
	margin-bottom: 5px;
	color: #bbb;
}

footer .instagram .title a {
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
	color: #fff;
}

footer .instagram .title a:hover {
	text-decoration: underline;
}

footer .instagram .grid {
	display: flex;
	margin-bottom: -6px;
	margin-left: -6px;

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

footer .instagram .grid a {
	display: block;
	width: calc(9.09% - 6px);
	margin-bottom: 6px;
	margin-left: 6px;
}

footer .instagram .grid img {
	display: block;
	width: 100%;
}



footer .bottom {
	font-size: 14px;
	font-weight: 600;
	line-height: 18px;
	padding: 13px 0;
	color: #bbb;
	background: #282828;
}

footer .bottom .cont {
	display: flex;

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

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

footer .bottom a {
	display: inline-block;
	transition: .2s linear;
	vertical-align: top;
	text-decoration: none;
	color: #bbb;
}

footer .bottom a:hover {
	text-decoration: underline;
	color: #fff;
}



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