#menu-button {
	float: left;
	width: 50px;
	height: 50px;
	border: 1px solid #fff;
	border-radius: 3px;
	padding: 11px 5px;
	margin: 40px 0 0 5%;
	cursor: pointer;
	position: relative;
	z-index: 110;
	display: none;
	transition: none;
}
#menu-button i {
	display: block;
	height: 4px;
	background: #fff;
	margin: 0 0 7px;
	transition: all .3s linear 0s;
}
#menu-button.opened {
	background: rgba(255,255,255,.3);
}
#menu-button.opened i:nth-child(1) {
	transform: translateY(11px) rotate(45deg);
}
#menu-button.opened i:nth-child(2) {
	transform: scale(0,10);
	opacity: 0;
	border-radius: 100%;
}
#menu-button.opened i:nth-child(3) {
	transform: translateY(-11px) rotate(-45deg);
}
#menu-shadow {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.8);
	z-index: 100;
	display: none;
}
#menu-shadow.opened {
	display: block;
}


body.opened {
	overflow: hidden;
}


@media only screen and (max-width:1500px){
	.wrap {
		width: 1200px;
	}
	.main header > .wrap {
		height: 840px;
	}
	header canvas {
		height: 840px!important;
	}
	.img-slider {
		height: 840px;
	}
	.img-ctrl {
		top: 800px;
	}
	.main header .logo {
		top: 90px;
	}
	header .links {
		margin: 30px 0 0;
	}
	.main header nav {
		margin: 30px 0 0;
	}
	header nav ul li {
		margin: 0 0 0 20px;
	}
	header .links a {
		margin: 0 0 0 20px;
	}
	.main header .text {
		top: 380px;
	}
	.main header .text strong {
		font-size: 66px;
	}
	.trv .wrap {
		width: 1220px;
		padding: 40px 0 20px;
	}
	.trv strong {
		margin: 0 0 2em;
	}
	.trv a {
		width: calc(25% - 20px);
		padding: 10px;
		line-height:1.2;
		margin: 0 10px 20px;
	}
	.main-news {
		width: 1220px;
	}
	.pb1 {
		padding: 30px 0 40px;
	}
	.pb1 aside {
		padding: 0 20px 10px 0;
	}
	.pb1 aside i {
		width: 240px;
		height: 160px;
		line-height: 160px;
		margin: 0 20px 0 0;
	}
	.pb2 {
		margin: 0 -10px 20px;
	}
	.pb2 a {
		width: calc(25% - 20px);
		margin: 0 10px 20px;
	}
	.bottom nav a {
		margin: 0 0 0 20px;
	}
	header .wrap {
		height: 180px;
	}
	header .logo {
		margin: 22px 0 0;
	}
	main {
		padding: 0 135px 80px ;
	}
	.path {
		margin: 0 -135px 30px;
	}
	#map {
		margin: 30px -135px;
	}
	article .bx-yandex-view-layout {
		margin:0 -150px;
	}
	.inner .partners-blocks {
		margin:0 -150px;
	}
	.info, .news-list, .photos, .directions {
		margin: 0 -150px;
	}
	.info a, .news-list a, .photos a, .main-news a, .directions a {
		width: calc(33.33% - 20px);
		height: 200px;
		margin: 0 10px 20px;
	}
	.photos a {
		width: calc(25% - 20px);
	}
	.info a strong, .news-list a strong, .photos a strong, .directions a strong {
		font-size: 17px;
	}
	.pages {
		margin: 20px -135px;
	}
	.two-cols div {
		width: calc(50% - 10px);
		margin: 0 10px 20px 0;
	}
	.two-cols div:nth-child(2n) {
		margin: 0 0 20px 10px;
	}
}


@media only screen and (max-width:1220px){
	.wrap {
		width: 980px;
	}
	.img-slider {
		height: 600px;
	}
	.main header > .wrap {
		height: 600px;
	}
	header canvas {
		height: 600px!important;
	}
	.main header .links {
		display: none;
	}
	.main header .logo {
		height: 200px;
		background-size:contain;
	}
	.main header .text {
		top: 300px;
		font-size:24px;
	}
	.main header .text span {
		margin:0;
	}
	.main header .text strong {
		font-size: 32px;
		margin: .2em;
	}
	.main header .text .button {
		margin: 30px 15px;
	}
	.img-ctrl {
		top: 560px;
	}
	#counters aside {
		height: 120px;
		padding: 25px 0 0;
	}
	#counters aside strong, #counters aside b {
		font-size: 44px;
	}
	#counters aside:after {
		height: 50px;
	}
	.trv .wrap {
		width: 1000px;
	}
	.trv a {
	}
	.trv a span {
		font-size:15px;
	}
	.main-news {
		width: 1000px;
	}
	.main-news a strong {
		font-size: 17px;
		line-height: 1.2;
	}
	.pb1 aside i {
		width: 200px;
		height: 120px;
		line-height: 120px;
	}
	.pb1 aside div {
		font-size: 15px;
	}
	.pb2 a span {
		line-height:1.2;
	}
	header .logo {
		width: 120px;
	}
	main {
		padding: 0 0 80px;
	}
	.path {
		margin: 0 0 30px;
	}
	#map {
		margin: 30px 0;
	}
	article .bx-yandex-view-layout {
		margin:0;
	}
	.inner .partners-blocks {
		margin:0;
	}
	.info, .news-list, .photos, .directions {
		margin: 0 -10px;
	}
	.pages {
		margin: 20px 0;
	}
	.bottom {
		display: none;
	}
}


@media only screen and (max-width:1000px){
	.wrap {
		width: 100%;
		padding: 0 20px 80px;
	}
	.main header .text {
		left: 0;
		width: 100%;
		padding: 0 20px;
		margin: 0;
	}
	.trv .wrap {
		width: auto;
		padding: 40px 10px 20px;
	}
	footer .wrap {
		padding: 20px;
	}
	.accr form {
		width:auto;
	}
/*	form .two-cols div {
		display: block;
		width: auto;
		margin: 0!important;
	}*/
	.contacts aside {
		display: block;
		width: auto;
		padding: 0;
		margin: 0 0 1em;
	}
}


@media only screen and (max-width:900px){
	#menu-button {
		display: block;
	}
	.main #menu-button {
		margin: 20px 0;
	}
	#menu-button.opened {
		position: fixed;
		top: 0;
		left: 290px;
		margin: 20px 0;
	}
	header nav {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: 360px;
		padding: 20px;
		background: #0f314d;
		margin: 0!important;
		box-shadow: 0 0 30px #000;
		overflow: auto;
		z-index: 105;
		display: none;
	}
	header nav.opened {
		display: block;
	}
	header nav ul li {
		display: block;
		margin: 0;
		border-bottom: 1px solid #fff2;
	}
	header nav ul li a {
		font-size: 17px;
		line-height: 1.5;
		padding: 12px 0 10px;
	}
	header nav ul li div {
		position: static;
		display: block;
		width: auto;
		padding: 0;
		box-shadow: none;
		margin: 0 0 10px;
	}
	header nav ul li div a {
		padding: 10px 15px;
		position: relative;
	}
	header nav ul li div a:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 1px;
		height: 100%;
		background: #fff2;
	}
	header nav ul li div a:last-child:before {
		height: 50%;
	}
	header nav ul li div a:after {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		width: 10px;
		height: 1px;
		background: #fff2;
	}
	.main header .text strong {
		font-weight: 400;
		font-size: 21px;
	}
	.main header .logo {
		top: 20px;
	}
	.main header .text {
		top: 250px;
	}
	.img-ctrl {
		top: 480px;
	}
	.img-slider {
		height: 520px;
	}
	header canvas {
		height: 520px!important;
	}
	.main header > .wrap {
		height: 520px;
	}
	.counters {
		display: none;
	}
	.pb2 a, .trv a {
		width: calc(33.33% - 20px);
	}
	.pb1 aside {
		padding: 0 10px;
		text-align: center;
	}
	.pb1 aside i {
		float: none;
		margin: 0 0 20px;
	}
	.pb1 aside i {
		margin: 0 0 20px;
	}
	.main-map, #map {
		height: 320px;
	}
	.info a, .news-list a, .photos a, .main-news a, .directions a {
		width: calc(50% - 20px);
	}
}


@media only screen and (max-width:700px){
	.main header .text .button {
		padding: 0 20px;
		margin: 20px 5px 0;
	}
	.img-ctrl {
		display: none;
	}
	.accr form, .form {
		width: auto;
	}
}


@media only screen and (max-width:600px){
	header .links a {
		float: right;
		clear: right;
		margin: 5px 0 10px 0;
	}
	.pb2 a, .trv a {
		width: calc(50% - 20px);
	}
	.info a, .news-list a, .photos a, .main-news a, .directions a {
		width: calc(100% - 20px);
	}
	article .two-cols div {
		display: block;
		width: auto;
		margin: 0 0 20px!important;
	}
}


@media only screen and (max-width:500px){
	.main header .logo {
		width: 130px;
		height: 130px;
		margin: 0 0 0 -65px;
	}
	.main header .text {
		top: 150px;
	}
}


@media only screen and (max-width:450px){
	.main header .text .button {
		width: 100%;
		margin: 20px 0 0;
	}
	.pb1 aside {
		display: block;
		width: 100%;
		padding: 0 0 20px;
	}
}


@media only screen and (max-width:400px){
	#menu-button.opened {
		left: auto;
		right: 20px;
	}
	header nav {
		width: 100%;
	}
	.pb2 a, .trv a {
		width: calc(100% - 20px);
		height: auto;
		padding: 20px;
		line-height: 1.5;
	}
	.pb2 a {
		padding:10px 10px 50px;
	}
}