#menu-button {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 39px;
	height: 39px;
	cursor: pointer;
	transition: all .5s;
}
#menu-button i {
	width: 23px;
	height: 3px;
	background: var(--text);
	border-radius: 2px;
	position: relative;
	transition: all .5s;
}
#menu-button i:nth-child(2) {
	width: 15px;
}
#menu-button.o {
	gap: 0;
}
#menu-button.o i:nth-child(1) {
	top: 3px;
	transform: rotate(45deg);
}
#menu-button.o i:nth-child(2) {
	opacity: 0;
}
#menu-button.o i:nth-child(3) {
	top: -3px;
	transform: rotate(-45deg);
}


@media only screen and (max-width:1400px) {
	/*.main-events-list {
		display: none;
	}*/
	.main-block {
		height: 800px;
	}
	.main-slider {
		min-width: 60%;
	}
	.main-events-list {
		min-width: 15%;
	}
	.main-right-block {
		min-width: 25%;
	}
	.main-events-list, .main-contacts, .main-worktime {
		padding: 30px;
	}
	.main-events-list section {
		grid-template-columns: repeat(1,1fr)
	}
	.main-events-list section a i img {
		height: 120px;
		object-fit: cover;
	}
	.main-events-list section a:nth-child(4) {
		display: none;
	}
	}



@media only screen and (max-width:1600px) {

	section a.m-width_25 {
		display: inline-block;
		width: 25%;
		max-height: 470px;
		text-align: center;
		overflow: hidden;
		box-sizing: border-box;
	}

	section a.m-width_25 i {
		display: block;
		width: 100%;
		min-height: 200px;
		max-height: 400px; /* Высота для изображения */
		overflow: hidden; /* Обрезка изображения, если оно выходит за границы */
	}

	section a.m-width_25 img {
		width: 100%;
		height: 100%;
		object-fit: cover;/* Изображение масштабируется и обрезается по размеру контейнера */
	}

	section a.m-width_25 span {
		display: block;
		margin-top: 10px;
		font-size: 14px;
	}

	.main-block{
		display: block;
		height: auto;
	}
	.main-slider {
		height: 500px;
	}
	.main-events-list section {
		display: flex;
		gap: 20px;
	}
	.main-events-list section a {

	}
	.main-events-list section a i img{
		height: auto;
	}
	.main-right-block {
		display: flex;
	}
	.main-right-block > * {
		flex: 1;
		height: auto;
	}
	.main-events-list {
		padding: 30px 20px;
	}
	.main-slider {
		min-width: 100%;
	}
	.main-events-list {
		min-width: 20%;
	}
	.main-right-block {
		min-width: 30%;
	}
	.main-slider .slider-item {
		padding: 20px 30px;
	}
	.main-slider .slider-item section strong {
		font-size: 64px;
	}
	.main-events-list, .main-contacts, .main-worktime {
		padding: 20px;
	}
	.main-block .h1 {
		font-size: 22px;
		margin: 0 0 1em;
	}
}


@media only screen and (max-width:1450px) {
	.main-prod-list, .main-dates-list {
		padding: 50px 0;
	}
}


@media only screen and (max-width:1350px) {
	#top-button-contact section {
		padding: 20px;
	}
	#top-button-contact section p {
		padding: 15px 0;
	}
	#top-button-contact section a.button {
		margin: 20px 0 0;
	}
	#h2 {
		padding: 0 0 0 350px;
	}
	.top-links {
		gap: 20px;
	}
	.top-buttons .button {
		padding: 0 20px;
		text-align: left;
	}
	nav#menu ul {
		gap: 20px;
		padding: 0 0 0 370px;
	}
	article {
		margin: 0;
	}
	.news-list li {
		padding: 20px;
	}
	.tiles-list {
		gap: 20px;
	}
	.tiles-list a {
		margin: 0 0 10px;
	}
	.tags {
		top: 20px;
		left: 20px;
	}
	.tiles-list a > span + span, .collection-list a > span, .services-list a > span {
		font-size: 16px;
		line-height: 1.2;
	}
	.big-popup-button {
		gap: 20px;
		padding: 0 20px;
	}
	.popup .pwb {
		padding: 20px;
	}
	.management {
		gap: 20px;
	}
	.management li {
		gap: 20px!important;
		padding: 20px;
	}
	.management li section {
		padding: 20px;
	}
	.search {
		padding: 20px;
	}
	.search section input {
		height: 60px;
	}
	.shop-info {
		gap: 20px;
		padding: 20px;
		margin: 30px 0;
	}
	.shop-info section {
		padding: 20px;
	}
	.si-msg {
		gap: 20px;
		padding: 20px;
	}
	.filter-line section {
		display: block;
		padding: 10px 20px;
	}
	.filter-line section aside {
		padding: 10px 0;
	}
	.filter-line section > i {
		display: none;
	}
	.product {
		gap: 20px;
	}
	#img-thumbs {
		gap: 20px;
		margin: 20px 0 0;
	}
	.product-img {
		min-width: 540px;
	}
	#img-thumbs li.a img {
		transform: scale(1.1);
	}
	.product-description .product-info {
		padding: 20px;
	}
	.structure section {
		padding: 20px;
		margin: 0 0 20px;
	}
	.structure section > ul {
		padding: 10px 20px;
	}
	.form {
		padding: 20px;
	}
	.worktime-tiles {
		gap: 20px;
		margin: 30px 0;
	}
	.worktime-tiles li {
		padding: 20px;
	}
	.worktime-tiles li i {
		margin: 0 0 20px;
	}
	.worktime-tiles li section {
		padding: 20px;
		margin: 20px 0;
	}
	.worktime-tiles li section .h2 {
		font-size: 22px;
	}
	.worktime-tiles li .visual {
		gap: 20px;
		margin:  20px 0 0;
	}
	.worktime-tiles li .expo {
		gap: 20px;
	}
	.worktime-tiles li .expo section {
		padding: 20px;
	}
	.worktime-tiles li .expo section .h3 {
		font-size: 18px;
	}
	.main-prod-list .tiles-list a i img {
		height: 300px;
	}
	.garden-plan {
		gap: 20px;
	}
	.plan-list, .plan-list ul, .plan-schema {
		padding: 20px;
	}
}


@media only screen and (max-width:1200px) {
	header {
		background-position: 50% -20px;
	}
	#h1 {
		height: 70px;
	}
	.logo {
		margin: 0;
	}
	.logo img {
		width: 50px;
	}
	.logo span {
		font-size: 16px;
	}
	#h2 {
		padding: 0 0 0 270px;
	}
	nav#menu ul {
		padding: 0 0 0 290px;
	}
	.main-block {
		display: block;
		height: auto;
	}
	.main-slider {
		height: 500px;
	}
	.main-block .h1 {
		font-size: 20px;
	}
	.main-events-list {
		padding: 30px 20px;
	}
	.main-events-list section {
		display: flex;
		gap: 20px;
	}
	.main-events-list section a {
		/*flex: 1;*/
	}
	.main-events-list section a:nth-child(4) {
		display: block;
	}
	.main-events-list section a span {
		font-size: 12px;
		margin: .5em 0 0;
	}
	.main-events-list section a span + span {
		font-size: 14px;
		margin: 0;
	}
	.main-right-block {
		display: flex;
	}
	.main-right-block > * {
		flex: 1;
		height: auto;
	}
	.main-events-list section a i img {
		height: auto;
	}
	h1, .h1 {
		font-size: 32px;
	}
	h2, .h2 {
		font-size: 22px;
	}
	article {
		font-size: 14px;
	}
	.day-program>strong {
		font-size: 18px;
	}
	.img-left {
		margin: 0 20px 10px 0;
	}
	.img-right {
		margin: 0 0 10px 20px;
	}
	.day-program {
		padding: 20px;
	}
	.inner-slider, .inner-slider+.gallery-list, .video-block {
		margin: 30px 0;
	}
	table th, table td {
		padding: 20px;
	}
	.gallery-list {
		gap: 20px;
		margin: 30px 0;
	}
	.documents-list {
		gap: 20px;
		margin: 30px 0;
	}
	.documents-list a {
		padding: 20px;
	}
	.tickets {
		gap: 20px;
	}
	.tiles-list {
		grid-template-columns: repeat(3,1fr);
	}
	.main-prod-list .tiles-list {
		grid-template-columns: repeat(4,1fr);
	}
	.main-prod-list, .main-dates-list {
		padding: 30px 0;
	}
	.tiles-list {
		margin: 30px 0;
	}
	.main-dates-list .tiles-list {
		grid-template-columns: repeat(4,1fr);
	}
	.main-dates-list .tiles-list a i {
		margin: 0;
	}
	.main-dates-list .tiles-list a:nth-child(2) i img {
		height: 260px;
	}
	.main-dates-list .tiles-list a:nth-child(2) > span {
		font-size: 16px;
	}
	.main-dates-list .tiles-list a:nth-child(2) > span + span {
		font-size: 16px;
	}
}


@media only screen and (max-width:1150px) {
	.shop-info i {
		width: 30%;
	}
	.shop-info i img {
		width: 100%;
	}
}


@media only screen and (max-width:1100px) {
	#h2 {
		padding: 0 0 0 230px;
	}
	.top-buttons .button svg {
		display: none;
	}
	nav#menu ul {
		padding: 0 0 0 250px;
	}
	.management {
		grid-template-columns: repeat(1,1fr);
	}
	.management li:first-child {
		grid-column: auto;
	}
	.management li i {
		min-width: 30%;
		max-width: 30%;
	}
	.management li:first-child i {
		min-width: 50%;
	}
	.main-dates-list .tiles-list a > span {
		font-size: 14px!important;
	}
}


@media only screen and (max-width:1000px) {
	.main-events-list section a{
		flex: none;
	}
	.logo span {
		display: none;
	}
	.main-prod-list .tiles-list{
		grid-template-columns: none;
	}
	#h2 {
		padding: 0 0 0 180px;
	}
	nav#menu ul {
		padding: 0 0 0 200px;
	}
	.popup > section, .popup > form {
		max-width: 100%;
		padding: 20px;
	}
	.popup i.close {
		top: 20px;
		right: 20px;
	}
	.popup .h1, .popup .h1 {
		font-size: 22px;
		margin: 0 30px 1em 0;
	}
	.shop-info {
		border-radius: 0;
		margin: 0 -20px;
	}
	.shop-info i {
		display: none;
	}
	.product {
		flex-direction: column;
		gap: 30px;
	}
	.product-img {
		width: 790px;
		min-width: 0;
		max-width: 100%;
	}
	.structure {
		margin: 0 -20px;
	}
	.structure section {
		border-radius: 0;
	}
	.structure section .h2 {
		font-size: 18px;
		margin: 0 0 20px;
	}
	.structure section > ul > li {
		padding: 10px 0;
		line-height: 1.2;
	}
	.structure section ul li a {
		font-size: 16px;
	}
	.structure section ul li ul {
		padding: 0 20px;
	}
	.structure section ul li ul li {
		margin: 10px 0 0;
	}
	.structure section ul li ul li a {
		font-size: 14px;
		font-weight: 400;
	}
	.worktime-tiles li section .h2 {
		font-size: 18px;
	}
	.worktime-tiles li .expo {
		flex-direction: column;
	}
	.worktime-tiles li .expo i, .worktime-tiles li .expo section {
		width: auto;
	}
	.tiles-list {
		display: grid;
		grid-template-columns: 1fr;
	}

	.tiles-list div:nth-child(1) {
		padding-bottom: 15px;
		grid-column: span 1; /* Первый блок на всю ширину */
		width: 100%;
	}
	.tiles-list.catalog-list{
		display: grid;
	}


	.tiles-list div:nth-child(2),
	.tiles-list div:nth-child(3) {
		grid-column: span 1; /* Два блока по 50% */
		width: 49%;
		display: inline-block;
	}

	.tiles-list div:nth-child(4) {
		display: none; /* Скрываем 4 блок */
	}


	.main-dates-list .tiles-list a i img {
		height: 200px!important;
	}
	.main-dates-list .tiles-list a > span {
		font-size: 12px!important;
		margin: .5em 0 0;
	}
	.tiles-list a > span::before {
		display: none;
	}
	.main-dates-list .tiles-list a > span+span {
		font-size: 14px!important;
		margin: 0;
	}
	footer .wrap {
		padding: 30px 20px;
	}
	footer section {
		flex-wrap: wrap;
		gap: 20px;
	}
	footer section > * {
		flex: 1;
	}
	footer .logo {
		display: none;
	}
	.footer-partners {
		justify-content: center;
		gap: 10px;
		min-width: 100%;
	}
	footer section {
		flex-direction: column;
	}
	footer .dev {
		justify-content: center;
	}
}


@media only screen and (max-width:950px) {
	header {
		background: none;
		border-bottom: 1px solid #dbdbdb;
	}
	header .wrap {
		display: flex;
		justify-content: space-between;
		gap: 20px;
	}
	#h1 {
		flex: auto;
	}
	#h1 aside>section {
		gap: 5px;
	}
	#h1 aside>section>a, #h1 aside>section>div>a, #h1 aside>section i {
		width: 39px;
		height: 39px;
	}
	#h1 aside>section a svg, #h1 aside>section i svg {
		width: 19px;
	}
	#h1 #top-button-eye {
		display: none;
	}
	#h1 #lang {
		display: none;
	}
	#h1 .soc {
		display: none;
	}
	#top-button-contact section {
		position: fixed;
		top: 71px;
		left: 0;
		width: 100%;
		height: calc(100% - 71px);
		border-radius: 0;
		z-index: 500;
	}
	#h2 {
		gap: 20px;
		height: 70px;
		padding: 0;
	}
	.top-buttons .button {
		height: 39px;
		font-size: 12px;
	}
	.top-links {
		display: none;
	}
	.top-buttons .button+.button {
		display: none;
	}
	nav#menu {
		position: fixed;
		top: 71px;
		left: 0;
		width: 100%;
		height: calc(100vh - 71px);
		padding: 20px;
		background: #fff;
		overflow: auto;
		transition: all .5s;
		transform: translateY(-30px) scale(1.2);
		opacity: 0;
		pointer-events: none;
	}
	nav#menu.o {
		transform: none;
		opacity: 1;
		pointer-events: all;
	}
	nav#menu #menu-lang {
		display: flex;
		height: 57px;
		background: var(--l-grey);
		border-radius: 10px;
	}
	nav#menu #menu-lang a {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: auto;
		font-size: 14px;
		position: relative;
	}
	nav#menu #menu-lang a:after {
		content: '';
		width: 1px;
		height: 10px;
		background: var(--db-grey);
		position: absolute;
		top: 50%;
		right: 0;
		margin: -5px 0 0;
	}
	nav#menu > a {
		display: block;
		padding: 20px;
		font-size: 18px;
		font-weight: 600;
		text-transform: uppercase;
	}
	nav#menu > a::after {
		content: '';
		display: inline-block;
		vertical-align: middle;
		width: 11px;
		height: 7px;
		background: url(../i/mdd.svg);
		filter: grayscale() brightness(.5);
		margin: 0 0 0 10px;
		transition: all .3s;
	}
	nav#menu ul {
		display: block!important;
		height: auto;
		padding: 5px 20px;
		background: var(--l-grey);
		border-radius: 10px;
	}
	nav#menu ul li {
		border-bottom: 1px solid var(--db-grey);
	}
	nav#menu ul li > a {
		padding: 20px 0;
	}
	nav#menu ul li:last-child {
		border: 0;
	}
	nav#menu ul li section {
		padding: 5px 20px;
		background: #fff;
		border-radius: 10px;
		box-shadow: none;
		position: static;
		margin: 0 0 10px;
		display: none;
	}
	nav#menu ul li section div a {
		padding: 20px 0;
		border-bottom: 1px solid var(--l-grey);
	}
	nav#menu ul li section div a:last-child {
		border: 0;
	}
	nav#menu ul li.o {
		border: 0;
	}
	nav#menu ul li.o section {
		display: block;
	}
	nav#menu ul li section div {
		display: block;
		height: auto;
		padding: 0;
	}
	.main-block {
		margin: 0;
	}
	.slick-dots {
		left: 20px;
		bottom: 20px;
	}
	.img-left, .img-right {
		float: none;
		max-width: 100%;
		margin: 2em 0;
	}
	.gallery-list {
		grid-template-columns: repeat(3,1fr);
	}
	.documents-list {
		grid-template-columns: repeat(1,1fr);
	}
	.inner-slider .slick-dots {
		display: none!important;
	}
	.tickets {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		height: auto;
	}
	.tickets a {
		height: 70px;
	}
	.garden-plan {
		flex-direction: column;
		margin: 0 -20px;
	}
	.garden-plan > * {
		width: 100%;
		border-radius: 0;
		padding: 0;
		background: none;
	}
}


@media only screen and (max-width:800px) {
	.main-prod-list .tiles-list a i img {
		height: 220px;
	}
	.tiles-list a > span {
		font-size: 12px;
	}
	.tiles-list a > span + span, .collection-list a > span, .services-list a > span {
		font-size: 14px;
	}
	.tiles-list .cost {
		font-size: 12px;
	}
	.tiles-list .cost span {
		font-size: 20px;
	}
	.tabs {
		height: 60px;
		padding: 0 0 10px;
	}
	.tabs * {
		height: 50px;
		padding: 0 20px;
		line-height: 50px;
		white-space: nowrap;
	}
	.news-list li strong {
		font-size: 18px;
	}
	.tiles-list {
		grid-template-columns: repeat(2,1fr);
	}
	.management li {
		display: block;
	}
	.management li i {
		display: block;
		max-width: none;
		height: auto;
		margin: 0 0 20px;
	}
	.management li i img {
		width: auto;
		height: auto;
		max-width: 100%;
	}
	.worktime-tiles {
		grid-template-columns: repeat(1,1fr)
	}
}


@media only screen and (max-width:700px) {
	.main-events-list section {
		padding: 0 20px;
		margin: 0 -20px;
		overflow: auto;
	}
	.main-events-list section a {
		min-width: 160px;
	}
	.main-contacts {
		display: none;
	}
	.main-prod-list .h1, .main-dates-list .h1 {
		font-size: 25px;
	}
	.main-prod-list .h1 span, .main-dates-list .h1 span {
		font-size: 16px;
	}
	.main-dates-list {
		padding: 30px 20px;
		margin: 0 -20px;
	}
	.main-dates-list .tiles-list {
		padding: 0 20px;
		margin: 0 -20px;
		overflow: auto;
	}
	.main-dates-list .tiles-list a {
		width: 170px;
	}
	.main-prod-list .more, .main-dates-list .more {
		margin: 10px 0 0;
	}
	.si-msg {
		flex-direction: column;
		align-items: start;
	}
	.si-btns {
		flex-direction: column;
	}
}


@media only screen and (max-width:600px) {
	.tiles-list {
		margin: 0;
	}
	.main-prod-list .tiles-list {
		grid-template-columns: repeat(2,1fr);
	}
	.main-prod-list .tiles-list a:first-child {
		grid-column: 1/3;
		margin: 0 0 -5px;
	}
	.main-prod-list .more .button, .main-dates-list .more .button {
		height: 40px;
		padding: 0 20px;
		margin: 10px 0 0;
	}
}


@media only screen and (max-width:500px) {
	.gallery-list {
		grid-template-columns: repeat(2,1fr);
	}
	.tickets {
		grid-template-columns: repeat(1,1fr);
	}
	h1, .h1 {
		font-size: 24px;
	}
	h2, .h2 {
		font-size: 18px;
	}
	.tiles-list {
		grid-template-columns: repeat(1,1fr);
	}
	.popup .dates-list li {
		display: block;
	}
	.pwb ul li::before {
		margin: -2px 0 0;
	}
	.popup .dates-list li span + span {
		display: block;
	}
	.management li:first-child section .h1 {
		font-size: 20px;
	}
	.management li:first-child section .h1 span {
		font-size: 25px;
	}
	.partners-table, .partners-table tbody, .partners-table tr, .partners-table td,
	.buy-tickets-table, .buy-tickets-table tbody, .buy-tickets-table tr, .buy-tickets-table td {
		display: block;
		border: 0;
	}
	.partners-table tr, .buy-tickets-table tr {
		padding: 20px;
		border: 1px solid var(--db-grey);
		margin: -1px 0 0;
	}
	.partners-table tr:first-child, .buy-tickets-table tr:first-child {
		display: none;
	}
	.partners-table td, .buy-tickets-table td {
		padding: 0;
	}
	.partners-table img, .buy-tickets-table img {
		max-width: 100%;
		margin: 0 0 10px;
	}
	[data-tab] table th, [data-tab] table td {
		padding: 10px;
	}
	.buy-tickets-table td {
		padding: 0!important;
		margin: 0 0 10px;
	}
	.buy-tickets-table tr td:first-child {
		font-size: 14px;
		font-weight: 500;
	}
	.buy-tickets-table tr td:nth-child(3) {
		font-weight: 700;
	}
	.si-addr b, .wt-addr b {
		font-size: 16px;
	}
	.si-msg a {
		display: block;
	}
	.si-msg a img {
		display: block;
	}
	.filter-line section {
		border-radius: 0;
		margin: 0 -20px;
	}
	.filter-line section aside {
		display: block;
	}
	.filter-line section aside b {
		display: block;
		margin: 0 0 10px;
	}
	.filter-line input, .filter-line select {
		width: 100%;
		margin: 0 0 10px;
	}
	#img-big {
		margin: 0 -20px;
	}
	#img-big img {
		border-radius: 0;
	}
	.product-description .product-info {
		border-radius: 0;
		margin: 0 -20px;
	}
	.product-description .product-buy {
		display: block;
		padding: 20px 0;
	}
	.worktime-tiles li .visual {
		flex-direction: column;
	}
	.worktime-tiles li .visual a {
		max-width: 100%;
	}
	.footer-partners a img {
		width: 64px;
		height: 64px;
	}
}


