#menu-button {
	float: right;
	width: 50px;
	height: 50px;
	background: #413c96;
	border-radius: 5px;
	padding: 12px 10px;
	margin: 35px 0;
	cursor: pointer;
	position: relative;
	z-index: 110;
	display: none;
	transition: all .3s linear 0s;
}
#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,.5);
	z-index: 100;
	display: none;
}
#menu-shadow.opened {
	display: block;
}


@media only screen and (max-width:1500px){
	header div.wrap {
		padding: 0 30px;
	}
	header nav ul {
		padding: 0 30px;
	}
	footer nav {
		padding: 5px 30px;
	}
	footer .partners {
		margin: 0 30px;
	}
	footer section {
		padding: 35px 30px;
	}
	header .partner {
		padding: 0 0 0 20px;
		margin: 0 0 0 20px;
	}
}


@media only screen and (max-width:1400px){
	header .partner span {
		display: none;
	}
	.top-slider div.desc .tags, .top-news section > div .tags, .right-news li aside .tags {
		margin: 0 0 5px;
	}
	.right-news li aside strong {
		margin: 0;
	}
	header nav ul li form {
		padding: 0 0 0 20px;
		margin: 20px 0 20px 20px;
	}
}


@media only screen and (max-width:1300px){
	.blue-block .events .selects {
		margin: 0;
	}
	.team2 li {
		width: 33.33%;
	}
	.p-rating {
		position: static;
		text-align: left;
		margin: -30px 0 30px;
	}
	.p-rating aside {
		margin: 0 20px 0 0;
	}
}


@media only screen and (max-width:1200px){
	header .soc {
		display: none;
	}
	header nav ul li > a {
		font-size: 15px;
	}
	footer nav a {
		font-size: 15px;
	}
	.right-news li > a img {
		width: 100px;
	}
	.right-news li aside {
		margin: 0 0 0 120px;
	}
	.top-slider div.desc .tags, .top-news section > div .tags, .right-news li aside .tags {
		margin: 0;
	}
	.right-news li aside strong {
		font-size: 15px;
	}
	.top-slider {
		height: 380px;
	}
	.top-news section {
		height: 230px;
	}
	.top-slider div.desc, .top-news section > div, .photo-video aside section div, .gallery li div {
		bottom: 20px;
		left: 20px;
		right: 20px;
	}
	.photo-video aside section, .gallery li {
		height: 320px;
	}
	.photo-video aside section.video::after, .gallery li.video::after {
		background-position: 20px 20px;
	}
	.team li img {
		width: 40%;
		padding: 0 10px 0 0;
	}
	.team li aside {
		padding: 0 0 0 10px;
		margin: 0 0 0 40%;
	}
	footer .partners {
		height: auto;
		text-align: center;
	}
	footer .partners a {
		width: 33.33%;
		padding: 20px;
		line-height: 1.5;
	}
}


@media only screen and (max-width:1100px){
	header .partner {
		display: none;
	}
	#menu-button {
		display: block;
	}
	header .lang {
		display: none;
	}
	header .button {
		display: none;
	}
	#menu-button.opened {
		position: fixed;
		top: 20px;
		right: 20px;
		margin: 0;
		z-index: 130;
	}
	header nav {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		padding: 20px 0;
		z-index: 120;
		overflow: auto;
		display: none;
	}
	header nav.opened {
		display: block;
	}
	header nav ul.wrap {
		max-width: 320px;
		height: 100%;
		padding: 0;
		overflow: auto;
	}
	header nav ul li {
		display: block;
	}
	header nav ul li.mm {
		display: block;
		float: left;
		width: 50%;
		padding: 20px;
	}
	header nav ul li.mm .lang {
		display: block;
		float: left;
		margin: 0;
		line-height: 40px;
	}
	header nav ul li.mm .lang a {
		color: #fff;
	}
	header nav ul li.mm .button {
		display: block;
		margin: 0;
	}
	header nav ul li:after {
		display: none;
	}
	header nav ul li > a {
		padding: 0 20px;
		font-size: 17px;
		line-height: 40px;
	}
	header nav ul li > a:hover {
		background: #fff1;
	}
	header nav ul li div {
		width: auto;
		padding: 0;
		border: 0;
		background: none;
		position: static;
		display: none!important;
	}
	header nav ul li div.o {
		display: block!important;
	}
	header nav ul li div a {
		display: block;
		width: auto;
		padding: 0 40px;
		line-height: 40px;
	}
	header nav ul li form {
		height: 40px;
		padding: 0 20px;
		border: 0;
		margin: 20px 0;
	}
	header nav ul li form input {
		position: static;
		width: calc(100% - 30px);
		padding: 0 20px;
	}
	header nav ul li form button {
		position: absolute;
		top: 10px;
		right: 20px;
	}
	.right-news li > a img {
		width: 80px;
	}
	.right-news li aside {
		margin: 0 0 0 100px;
	}
	.right-news li aside .tags {
		display: none;
	}
	.top-slider {
		height: 320px;
	}
	.top-news section {
		height: 190px;
	}
	.photo-video aside section, .gallery li {
		height: 280px;
	}
	footer .wrap {
		padding: 30px 0 0;
	}
	footer nav {
		display: none;
	}
}


@media only screen and (max-width:1000px){
	.main-top .left {
		float: none;
		width: auto;
		margin: 0;
	}
	.index .top-news {
		margin: 0 30px 0 0;
	}
	.main-top .right {
		float: none;
		width: auto;
		padding: 0 0 0 30px;
		overflow: hidden;
	}
	.right-menu {
		padding: 0;
	}
	.right-news {
		overflow: hidden;
		padding: 0;
	}
	.right-news li {
		float: left;
		width: 50%;
		padding: 0 30px 0 0;
	}
	.blue-block > aside {
		display: block;
		width: auto;
	}
	.blue-block > aside:first-child {
		padding: 0 15px 30px;
		border-bottom: 1px solid #fff2;
		margin: 0 0 30px;
	}
	.photo-video aside section, .gallery li {
		height: 240px;
	}
	.left, .right {
		float: none;
		width: auto;
		border: 0;
		margin: 0 0 30px;
	}
	article {
		padding: 0;
	}
}


@media only screen and (max-width:900px){
	header .logo {
		width: 301px;
		height: 80px;
		background: url(../i/logo_m.png) no-repeat;
	}
	header .logo img {
		display: none;
	}
}


@media only screen and (max-width:700px){
	.p-img {
		float: none;
		width: auto;
		max-width: 330px;
		margin: 0 0 10px;
	}
	.p-desc {
		padding: 0;
		margin: 0;
	}
	table.calendar, table.rating, table.calendar tbody, table.rating tbody, table.calendar tr, table.rating tr {
		display: block;
	}
	table.calendar tr, table.rating tr {
		border-bottom: 1px solid #e6e6e6;
		padding: 5px 0;
	}
	table.calendar td, table.rating td {
		display: inline-block;
		vertical-align: top;
		padding: 5px;
		border: 0;
	}
	table.calendar tr:first-child, table.rating tr:first-child {
		display: none;
	}
	.calendar-selects aside, .rating-selects aside {
		width: 30%;
	}
	.rating-selects aside button {
		margin: 15px 0 0;
	}
	.team li, .team2 li {
		display: block;
		width: auto;
		padding: 0 0 30px;
		overflow: hidden;
	}
	.clubs-list li {
		display: block;
		width: auto;
		padding: 0;
		margin: 0 0 30px;
		overflow: hidden;
	}
}


@media only screen and (max-width:600px){
	header .lang {
		display: none;
	}
	.top-slider {
		height: 240px;
	}
	.top-slider div.desc strong {
		font-size: 25px;
		line-height: 1.2;
	}
	.top-slider div.desc .tags {
		margin: 0 0 5px;
	}
	.top-news section {
		display: block;
		width: auto;
		height: 240px;
	}
	.right-news li {
		float: none;
		width: auto;
	}
	.photo-video {
		padding: 30px 15px 0;
	}
	.photo-video aside, .gallery li {
		display: block;
		width: auto;
	}
	.photo-video aside {
		padding: 0 15px 30px;
	}
	.blue-block > aside section {
		height: auto;
	}
	footer .partners a {
		width: 50%;
	}
	.region li {
		display: block;
		width: auto;
		padding: 0;
		margin: 0 0 30px;
	}
}


@media only screen and (max-width:500px){
	.blue-block .events .selects {
		height: auto;
	}
	.blue-block .events .selects aside {
		display: block;
		width: 240px;
		margin: 0 0 20px;
	}
	footer .partners a {
		display: block;
		width: auto;
		text-align: left;
	}
	.popup {
		width: 100%;
	}
	.right-menu a {
		width: 100%;
	}
	.contacts #map {
		float: none;
		width: auto;
		max-width: none;
	}
	.contacts form {
		width: auto;
		max-width: none;
	}
	.p-desc table, .p-desc table tbody {
		display: block;
		font-size: 0;
		margin: 30px 0;
	}
	.p-desc table tr {
		display: inline-block;
		vertical-align: top;
		width: 50%;
		font-size: 17px;
	}
	.p-desc table tr:first-child {
		display: none;
	}
	.p-desc table td {
		display: block;
		text-align: left!important;
	}
	.calendar-selects, .rating-selects {
		margin: 0 0 20px;
	}
	.calendar-selects aside, .rating-selects aside {
		display: block;
		width: auto;
		margin: 0 0 10px;
	}
	.rating-selects aside button {
		margin: 5px 0 0;
	}
	.img-list {
		margin: 0;
	}
	.img-list img {
		display: block;
		width: 100%;
		padding: 10px 0;
	}
}


@media only screen and (max-width:460px){
	header div.wrap {
		height: 90px;
	}
	header .logo {
		width: 190px;
		height: 50px;
		background-size: contain;
		margin: 20px 0;
	}
	#menu-button {
		margin: 20px 0;
	}
	.blue-block .events .events-block li > img {
		display: none;
	}
	.blue-block .events .events-block li aside img {
		display: none;
	}
	.blue-block .events .events-block li aside {
		float: none;
		margin: 0;
	}
	.blue-block .events .events-block li aside br {
		display: none;
	}
	footer .dev {
		display: none;
	}
}


@media only screen and (max-width:400px){
	.top-slider div.desc strong {
		font-size: 21px;
	}
	.top-slider div.desc .tags {
		font-size: 10px;
		line-height: 20px;
	}
	.top-slider div.desc strong, .top-news section div strong, .photo-video aside section div strong, .gallery li div strong {
		font-size: 17px;
		line-height: 1.2;
		margin: 0;
	}
	.top-slider div.desc p, .top-news section div p, .photo-video aside section div p, .gallery li div p {
		margin: 0;
	}
	.clubs-list li img {
		width: 100px;
	}
	table.calendar td:nth-child(2), table.rating td:nth-child(2) {
		width: calc(100% - 100px);
	}
	table.calendar span, table.rating span {
		font-size: 15px;
	}
	table.calendar span img, table.rating span img {
		margin: 0 5px 0 10px;
	}
	.gallery-inner a {
		width: 50%;
	}
}


@media only screen and (max-width:380px){
	.top-news section {
		height: 180px;
	}
}


