body.hidden {
overflow: hidden;
}
.container {
max-width: 1920px;
min-height: 100%;
box-shadow: 0 0 20px #00000008;
margin: 0 auto;
overflow: hidden;
}
.wrap {
max-width: 1450px;
padding: 0 20px;
margin: 0 auto;
}


header {
background: url(../i/header.svg) no-repeat 50% 0, var(--text);
}
header .wrap {
}

#h1 {
display: flex;
align-items: center;
justify-content: space-between;
height: 92px;
}
.logo {
cursor: pointer;
display: flex;
align-items: center;
gap: 15px;
margin: 40px 0 0;
}
.logo svg {
width: 98px;
height: 98px;
}
.logo span {
font-size: 20px;
font-weight: 600;
line-height: 1.2;
text-transform: uppercase;
white-space: nowrap;
}
#h1 aside {
display: flex;
gap: 50px;
align-items: center;
}
#h1 aside > section {
display: flex;
gap: 10px;
}
#h1 aside > section > a, #h1 aside > section > div > a, #h1 aside > section i {
display: flex;
align-items: center;
justify-content: center;
width: 49px;
height: 49px;
border-radius: 50%;
background: var(--l-grey);
}
#h1 aside > section a svg, #h1 aside > section i svg {
width: 25px;
height: 25px;
fill: var(--text);
}
#top-button-contact {
position: relative;
}
#top-button-contact section {
position: absolute;
top: 70px;
left: -40px;
width: 440px;
padding: 50px;
background: #fff;
border-radius: 10px;
box-shadow: 0 5px 20px #0002;
z-index: 300;
transition: all .5s;
transform: translateY(-30px);
opacity: 0;
pointer-events: none;
}
#top-button-contact.o section {
transform: none;
opacity: 1;
pointer-events: all;
}
#top-button-contact section .h1 {
font-size: 25px;
margin: 0 0 10px;
}
#top-button-contact section p {
padding: 20px 0;
border-bottom: 1px solid var(--db-grey);
line-height: 1.2;
margin: 0;
}
#top-button-contact section p small {
display: block;
font-size: 12px;
font-weight: 500;
text-transform: uppercase;
}
#top-button-contact section p small span {
text-transform: none;
font-weight: 400;
}
#top-button-contact section p b {
display: flex;
gap: 15px;
font-size: 17px;
}
#top-button-contact section p b a {
font-weight: 700;
}
#top-button-contact section a.button {
height: 40px;
font-size: 12px;
background: var(--text)!important;
margin: 30px 0 0;
}
#h1 #lang {
position: relative;
}
#h1 #lang div {
display: flex;
align-items: center;
gap: 10px;
cursor: pointer;
}
#h1 #lang div span {
display: flex;
gap: 10px;
align-items: center;
}
#h1 #lang div span::after {
content: '';
display: block;
width: 11px;
height: 7px;
background: url(../i/sel.svg);
}
#h1 #lang section {
position: absolute;
top: 70px;
left: 0;
padding: 15px 30px;
background: #fff;
border-radius: 10px;
box-shadow: 0 5px 20px #0002;
z-index: 300;
transition: all .5s;
transform: translateY(-30px);
opacity: 0;
pointer-events: none;
}
#h1 #lang.o section {
transform: none;
opacity: 1;
pointer-events: all;
}
#h1 #lang section a {
display: block;
padding: 15px 0;
border-bottom: 1px solid var(--db-grey);
line-height: 1.2;
white-space: nowrap;
}
#h1 #lang section a:last-child {
border: 0;
}
#h1 #lang section a:hover, #h1 #lang section a.a {
text-decoration: none;
color: var(--link);
}
#h1 .soc {
display: flex;
gap: 10px;
}
#h1 .soc a {
}
#h1 .soc a svg {
display: block;
width: 49px;
height: 49px;
}

#h2 {
display: flex;
align-items: center;
justify-content: space-between;
height: 80px;
padding: 0 0 0 390px;
}
.top-links {
display: flex;
gap: 50px;
height: 100%;
}
.top-links a {
display: flex;
align-items: center;
font-weight: 600;
text-transform: uppercase;
color: #fff;
position: relative;
}
.top-links a:hover {
text-decoration: none;
background: linear-gradient(#0000, #0002);
}
.top-links a.a::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 4px;
background: #fff;
border-radius: 4px 4px 0 0;
}
.top-buttons {
display: flex;
gap: 20px;
}
.top-buttons .button {
height: 55px;
margin: 0;
}
.top-buttons .button+.button {
background: var(--dark-grey)!important;
}
.top-buttons .button::after {
display: none;
}


nav#menu {
background: var(--l-grey);
margin: 0 0 20px;
position: relative;
z-index: 230;
}
nav#menu #menu-lang {
display: none;
}
nav#menu a {
display: none;
}
nav#menu ul {
gap: 50px;
height: 60px;
padding: 0 0 0 410px;
display: none;
}
nav#menu ul.a {
display: flex;
}
nav#menu ul li {
}
nav#menu ul li > a {
display: flex;
align-items: center;
height: 100%;
font-size: 14px;
font-weight: 500;
text-transform: uppercase;
}
nav#menu ul li > 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 li.a > a, nav#menu ul li > a:hover, nav#menu ul li.o > a {
color: var(--link);
text-decoration: none;
}
nav#menu ul li > a:hover::after {
filter: none;
}
nav#menu ul li.o > a::after {
filter: none;
transform: rotate(180deg);
margin: -1px 0 0 10px;
}
nav#menu ul li.a > a::after {
filter: none;
margin: -1px 0 0 10px;
}
nav#menu ul li section {
position: absolute;
top: 0;
left: 0;
right: 0;
background: #fff;
box-shadow: 0 20px 20px #0000000d;
z-index: -1;
transition: all .3s;
opacity: 0;
}
nav#menu ul li.o section {
top: 60px;
opacity: 1;
}
nav#menu ul li section div {
display: flex;
align-items: center;
gap: 50px;
height: 60px;
padding: 0 0 0 410px;
}
nav#menu ul li section div a {
display: flex;
align-items: center;
height: 100%;
font-size: 13px;
font-weight: 500;
text-transform: uppercase;
}
nav#menu ul li section div a.a {
color: var(--link);
}


.main-block {
display: flex;
height: 850px;
margin: -20px 0 0;
}
.main-block .h1 {
font-size: 25px;
font-weight: 700;
margin: 0 0 30px;
}


.main-slider {
max-width: 50.78125%;
}
.main-events-list {
min-width: 27.60417%;
}
.main-right-block {
min-width: 21.61458%;
}


.main-slider {
}
.main-slider .slick-list, .main-slider .slick-track {
height: 100%;
}
.main-slider .slider-item {
display: flex!important;
align-items: center;
justify-content: end;
width: 100%;
height: 100%;
padding: 50px 70px;
position: relative;
}
.main-slider .slider-item img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.main-slider .slider-item section {
display: flex;
flex-direction: column;
align-items: end;
line-height: 1;
position: relative;
}
.main-slider .slider-item section span {
display: block;
font-size: 20px;
font-weight: 600;
text-transform: uppercase;
}
.main-slider .slider-item section strong {
display: block;
font-size: 100px;
font-weight: 900;
text-transform: uppercase;
color: #7a6d8b;
}
.main-slider .slider-item section b {
display: block;
font-size: 30px;
font-weight: 900;
text-transform: uppercase;
color: var(--link);
}
.main-slider .slider-item section p {
width: 400px;
line-height: 1.375;
text-align: justify;
}
.main-slider .slider-item section a.button {
background: var(--text)!important;
}


.slick-dots {
position: absolute;
left: 70px;
bottom: 50px;
display: flex;
align-items: center;
gap: 10px;
height: 40px;
padding: 0 15px;
border-radius: 20px;
background: #fffe;
}
.slick-dots li {
}
.slick-dots li button {
display: block;
width: 16px;
height: 16px;
background: var(--db-grey)!important;
padding: 0;
font-size: 0;
margin: 0;
}
.slick-dots li.slick-active button {
width: 20px;
height: 20px;
background: var(--link)!important;
}
.slick-dots li button::after {
display: none;
}


.main-events-list {
padding: 50px 40px;
}
.main-events-list section {
display: grid;
grid-template-columns: repeat(2,1fr);
gap: 20px;
}
.main-events-list section a {
margin: 0 0 10px;
}
.main-events-list section a i {
display: block;
}
.main-events-list section a i img {
display: block;
width: 100%;
border-radius: 10px;
}
.main-events-list section a span {
display: block;
font-size: 14px;
font-weight: 700;
color: var(--link);
margin: 1em 0 0;
}
.main-events-list section a span+span {
font-size: 16px;
font-weight: 500;
line-height: 1.2;
color: var(--text);
margin: .5em 0 0;
transition: all .3s;
}
.main-events-list section a:hover {
text-decoration: none;
}
.main-events-list section a:hover span+span {
color: var(--link);
}


.main-right-block {
}
.main-contacts {
height: 50%;
padding: 50px 40px;
background: var(--l-grey);
border-top: 2px solid var(--link);
}
.main-contacts figure {
padding: 20px 0;
border-bottom: 1px solid var(--db-grey);
line-height: 1.2;
}
.main-contacts .h1+figure {
padding: 0 0 15px;
}
.main-contacts figure:last-child {
padding: 15px 0 0;
border: 0;
}
.main-contacts figure small {
display: block;
font-size: 12px;
margin: 0 0 2px;
}
.main-contacts figure strong {
display: block;
font-size: 17px;
}
.main-contacts figure strong a {
font-weight: 700;
}
.main-worktime {
height: 50%;
padding: 50px 40px;
background: #7a6d8b;
color: #fff;
}
.main-worktime section {
display: flex;
align-items: center;
gap: 20px;
}
.main-worktime section i {
flex: 1;
min-width: 166px;
max-width: 166px;
}
.main-worktime section i img {
width: 100%;
border-radius: 10px;
}
.main-worktime section aside {
flex: 1;
line-height: 1.2;
}
.main-worktime section aside small {
display: block;
text-transform: uppercase;
}
.main-worktime section aside b {
display: block;
font-size: 17px;
}
.main-worktime section aside hr {
height: 1px;
background: #625572;
margin: 20px 0;
}
.main-worktime section aside .button {
height: 40px;
padding: 0 20px;
background: #625572!important;
font-size: 12px;
text-transform: uppercase;
margin: 20px 0 0;
}


main {
}


.gb {
background: var(--l-grey);
position: relative;
}
.gb::before, .gb::after {
content: '';
position: absolute;
top: 0;
width: 100%;
height: 100%;
background: var(--l-grey);
}
.gb::before {
left: -100%;
}
.gb::after {
right: -100%;
}


.main-prod-list, .main-dates-list {
padding: 50px 20px;
}
.main-dates-list {
margin: 0 0 -50px;
}
.main-prod-list .h1, .main-dates-list .h1 {
}
.main-prod-list .h1 span, .main-dates-list .h1 span {
display: block;
font-size: 20px;
}
.main-prod-list .tiles-list {
grid-template-columns: 9fr 5fr 5fr 5fr;
}
.main-prod-list .tiles-list a i img {
height: 350px;
}
.main-dates-list .tiles-list {
grid-template-columns: 5fr 9fr 5fr 5fr;
}
.main-dates-list .tiles-list a i {
margin: 65px 0 0;
}
.main-dates-list .tiles-list a i img {
height: 260px;
}
.main-dates-list .tiles-list a:nth-child(2) i {
margin: 0;
}
.main-dates-list .tiles-list a:nth-child(2) i img {
height: 390px;
}
.main-dates-list .tiles-list a > span {
font-size: 16px;
}
.main-dates-list .tiles-list a > span+span {
font-weight: 500;
}
.main-dates-list .tiles-list a:nth-child(2) > span {
font-size: 18px;
}
.main-dates-list .tiles-list a:nth-child(2) > span+span {
font-size: 20px;
}
.main-prod-list .more, .main-dates-list .more {
text-align: center;
}
.main-prod-list .more .button, .main-dates-list .more .button {
padding: 0 30px;
background: var(--text)!important;
font-size: 13px;
margin: 0;
}


.path {
font-size: 14px;
font-weight: 500;
color: #8f8f8f;
margin: 20px 0 30px;
}
.path a {
}
.path span {
margin: 0 10px;
}


.tiles-list {
display: grid;
grid-template-columns: repeat(4,1fr);
gap: 30px;
margin: 40px 0;
}
.h2+.tiles-list {
margin: 0;
}
.tiles-list a {
}
.tiles-list a:hover {
text-decoration: none;
color: var(--link);
}
.tiles-list a i {
display: block;
position: relative;
}
.tiles-list a i img {
display: block;
width: 100%;
object-fit: cover;
border-radius: 10px;
}
.tiles-list a.old i img {
filter: grayscale() brightness(1.3) contrast(.8);
}
.tags {
position: absolute;
top: 30px;
left: 30px;
z-index: 10;
}
.tags b {
display: inline-block;
vertical-align: top;
padding: 0 15px;
border-radius: 12px;
font-size: 12px;
line-height: 23px;
font-style: normal;
text-transform: uppercase;
margin: 0 5px 0 0;
}
.tags b.old {
background: var(--text);
color: #fff;
}
.tags b.now {
background: #fff500;
color: var(--text);
}
.tags b.next {
background: #56A649;
color: #fff;
}
.tags b.new {
background: #428ee4;
color: #fff;
}
.tags b.discount {
background: #e52f2f;
color: #fff;
}
.tags b.hit {
background: #885dc1;
color: #fff;
}
.tags b.action {
background: #56A649;
color: #fff;
}
.tiles-list a > span {
display: flex;
align-items: center;
gap: 10px;
font-size: 14px;
font-weight: 700;
color: var(--link);
margin: 1em 0 0;
}
.tiles-list a > span::before {
content: '';
width: 25px;
height: 25px;
background: url(../i/icon-calendar.svg) no-repeat 0 0;
}
.tiles-list a > span+span::before {
display: none;
}
.tiles-list a > span+span, .collection-list a > span, .services-list a > span {
font-size: 18px;
font-weight: 500;
line-height: 1.2;
color: var(--text);
margin: .8em 0 0;
transition: all .3s;
}
.collection-list a > span::before, .services-list a > span::before {
display: none;
}
.tiles-list a:hover > span+span, .collection-list a:hover > span, .services-list a:hover > span {
color: var(--link);
}
.tours-list a > span+span, .collection-list a > span, .services-list a > span {
font-size: 20px;
}
.tiles-list a.old > span {
filter: grayscale() brightness(.7);
}
.tiles-list .cost {
font-size: 14px;
font-weight: 400;
margin: .2em 0 0;
}
.tiles-list .cost span {
font-size: 25px;
}
.tiles-list .cost .old {
display: inline-block;
color: #8f8f8f;
text-decoration: line-through;
margin: 0 0 0 12px;
}


.catalog-list a > span {
font-weight: 600;
}
.catalog-list a > span::before {
display: none;
}
.catalog-list a > span+span {
font-weight: 500;
margin: .2em 0 0;
}


.tours-list {
grid-template-columns: repeat(3,1fr);
}
.tours-list a i b {
background: var(--link);
border-radius: 17px;
line-height: 34px;
color: #fff;
text-transform: none;
}
.tours-list+article {
margin: 0;
}
.tours-list+article table th:last-child {
width: 20%;
}


.tour-order-button {
font-size: 13px;
}
.services-list a > span+span {
font-size: 16px;
font-weight: 400;
line-height: 1.5625;
text-align: justify;
}


.services-list {
grid-template-columns: repeat(2,1fr);
}


.pages {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
margin: 50px 0;
}
.pages * {
display: flex;
align-items: center;
justify-content: center;
width: 50px;
height: 50px;
border-radius: 50%;
background: var(--l-grey);
font-weight: 500;
}
.pages a:hover, .pages a.a, .pages span {
background: var(--link);
color: #fff;
text-decoration: none;
}
.pages a.prev, .pages a.next {
margin: 0 10px;
}
.pages a.next {
transform: rotate(180deg);
}
.pages a.prev::before, .pages a.prev::after,
.pages a.next::before, .pages a.next::after {
content: '';
width: 11px;
height: 7px;
background: url(../i/sel.svg);
transform: rotate(90deg);
margin: 0 -2px 0 -4px;
}
.pages a.prev:hover::before, .pages a.prev:hover::after,
.pages a.next:hover::before, .pages a.next:hover::after {
filter: contrast(5) invert();
}


h1.article-title {
margin: 0.5em 0px .7em;
}
article {
text-align: justify;
overflow: hidden;
margin: 0 100px;
}
.date-time {
display: flex;
align-items: center;
gap: 10px;
font-size: 14px;
font-weight: 700;
color: var(--link);
}
.date-time::before {
content: '';
width: 25px;
height: 25px;
background: url(../i/icon-calendar.svg);
}
article img {
display: block;
max-width: 100%;
height: auto;
border-radius: 10px;
margin: 2em 0;
}
.img-right {
float: right;
max-width: 50%;
margin: 0 0 10px 30px;
}
.img-left {
float: left;
max-width: 50%;
margin: 0 30px 10px 0;
}
article a {
font-weight: 700;
text-decoration: underline;
}
article a:hover {
color: var(--link);
}
article ul, article ol {
margin: 1.5em 0;
}
article ul {
}
article ol {
margin: 0 2em;
}
article ul li, article ol li {
margin: .2em 0;
}
article ul li:before {
content: '- ';
}
.tbl {
overflow: auto;
}
table {
width: 100%;
margin: 2em 0;
}
table th, table td {
border: 1px solid var(--db-grey);
}
table th {
padding: 30px;
background: var(--l-grey);
font-weight: 600;
text-transform: uppercase;
text-align: left;
vertical-align: top;
}
table td {
padding: 20px 30px;
vertical-align: middle;
}


.day-program {
padding: 40px;
border-radius: 10px;
background: var(--l-grey);
margin: 2em 0;
}
.day-program > strong {
display: block;
font-size: 20px;
font-weight: 600;
margin: 0 0 1em;
}
.day-program p {
margin: 1em 0 0;
}


.tickets {
display: flex;
gap: 30px;
height: 80px;
}
.tickets a {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
background: var(--l-grey);
border-radius: 10px;
}
.tickets a img {
margin: 0;
}


.inner-slider {
margin: 40px 0;
}
.inner-slider img {
width: 100%;
margin: 0;
}
.inner-slider .slick-dots {
left: 50%;
transform: translateX(-50%);
}
.inner-slider .slick-dots li::before {
display: none;
}


.video-block {
padding: 56.25% 0 0;
border-radius: 10px;
overflow: hidden;
margin: 40px 0;
position: relative;
}
.video-block img, .video-block iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
margin: 0;
}
/*.video-block::after {
content: '';
width: 130px;
height: 130px;
background: url(../i/video.svg);
position: absolute;
top: 50%;
left: 50%;
margin: -65px 0 0 -65px;
}*/


.gallery-list {
display: grid;
grid-template-columns: repeat(4,1fr);
gap: 30px;
margin: 40px 0;
}
.inner-slider+.gallery-list {
margin: -10px 0 40px;
}
.gallery-list > * {
}
.gallery-list img {
display: block;
width: 100%;
height: auto;
margin: 0;
}


.gallery-popup {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #0008;
display: flex;
align-items: center;
justify-content: center;
z-index: 600;
transition: all 1s;
transform: scale(1.15);
opacity: 0;
pointer-events: none;
}
.gallery-popup.o {
transform: none;
opacity: 1;
pointer-events: all;
}
.gallery-popup .gp-inner {
max-width: 90%;
max-height: 90%;
padding: 15px;
background: #fff;
border-radius: 10px;
box-shadow: 0 5px 20px #0008;
position: relative;
}
.gallery-popup .gp-inner i.close {
position: absolute;
top: 0;
right: -50px;
width: 25px;
height: 25px;
background: url(../i/close.svg);
filter: brightness(3);
cursor: pointer;
}
.gallery-popup .gp-inner figure {
position: relative;
}
.gallery-popup .gp-inner figure img {
display: block;
width: 100%;
}
.gallery-popup .gp-inner.video {
width: 2000px;
}
.gallery-popup .gp-inner.video figure {
padding: 56.25% 0 0;
}
.gallery-popup .gp-inner.video figure iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


.documents-list {
display: grid;
grid-template-columns: repeat(2,1fr);
gap: 30px;
margin: 40px 0;
max-width: 100%; /* Ограничиваем ширину контейнера */
box-sizing: border-box; /* Учитываем отступы в ширине */
}
.documents-list a {
display: flex;
align-items: center;
gap: 20px;
padding: 20px 30px;
background: var(--l-grey);
border-radius: 10px;
text-decoration: none;
font-weight: 400;
line-height: 1.2;
text-align: left;
max-width: 100%; /* Ограничиваем ширину блоков */
box-sizing: border-box; /* Учитываем отступы в ширине */
overflow: hidden; /* Предотвращаем переполнение контента */
 
}
.documents-list a b {
display: flex;
align-items: center;
justify-content: center;
min-width: 60px;
height: 60px;
border-radius: 50%;
background: var(--link);
font-size: 14px;
color: #fff;
text-transform: uppercase;
transition: all .3s;
}
.documents-list a span {
}
.documents-list a small {
font-size: 12px;
font-weight: 500;
white-space: nowrap;
}
.documents-list a:hover {
background: var(--link);
color: #fff;
}
.documents-list a:hover b {
background: #fff;
color: var(--link);
}


.big-popup-button {
display: inline-flex;
align-items: center;
gap: 30px;
height: 75px;
padding: 0 30px;
background: var(--l-grey);
border-radius: 10px;
cursor: pointer;
}
.big-popup-button svg, .big-popup-button img {
width: 25px;
height: 25px;
}
.big-popup-button span {
font-weight: 600;
text-transform: uppercase;
text-align: left;
}
.big-popup-button::after {
content: '';
min-width: 11px;
width: 11px;
height: 7px;
background: url(../i/sel.svg);
}


.shop-info {
display: flex;
gap: 30px;
padding: 30px;
background: var(--l-grey);
border-radius: 10px;
margin: 40px 0;
}
.shop-info i {
}
.shop-info i img {
display: block;
border-radius: 10px;
}
.shop-info section {
flex: auto;
display: flex;
flex-direction: column;
justify-content: center;
align-items: start;
gap: 20px;
padding: 30px;
background: #fff;
border-radius: 10px;
}
.si-addr, .si-time,
.wt-addr, .wt-time,
.mg-position, .mg-accomplishments, .mg-time, .mg-phone {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 10px;
line-height: 1.3;
}
.si-addr img, .si-time img,
.wt-addr img, .wt-time img,
.mg-position, .mg-accomplishments, .mg-time, .mg-phone {
filter: grayscale();
}
.si-addr b,
.wt-addr b {
font-size: 18px;
}
.si-time b,
.wt-time b {
}
.si-time b span,
.wt-time b span {
display: block;
font-weight: 400;
color: #989292;
}
.si-msg {
display: flex;
align-items: center;
gap: 30px;
padding: 20px 30px;
background: var(--l-grey);
border-radius: 10px;
}
.si-msg a {
display: flex;
align-items: center;
gap: 10px;
}
.si-msg a img {
}
.si-msg a b {
}
.si-btns {
display: flex;
gap: 10px;
}
.si-btns .button {
background: var(--text)!important;
margin: 0;
}


.filter-line {
}
.filter-line section {
display: flex;
align-items: center;
justify-content: space-between;
gap: 25px;
padding: 20px 40px;
background: var(--l-grey);
border-radius: 10px;
}
.filter-line section aside {
display: flex;
align-items: center;
gap: 10px;
}
.filter-line section aside b {
font-size: 12px;
color: var(--link);
text-transform: uppercase;
}
.filter-line section aside label {
margin: 0 10px 0 0;
}
.filter-line section aside label:last-child {
margin: 0;
}
.filter-line section i {
width: 1px;
height: 25px;
background: var(--db-grey);
}
.filter-line div {
display: flex;
align-items: center;
gap: 20px;
margin: 20px 0 0;
}
.filter-line div span {
font-size: 14px;
text-transform: uppercase;
}
.filter-line div span b {
}
.filter-line div button {
font-size: 12px;
text-transform: uppercase;
margin: 0;
}
.filter-line div button:after {
display: none;
}
.filter-line input, .filter-line select {
border: 1px solid var(--db-grey);
font-size: 14px;
font-weight: 400;
}
.filter-line input {
width: 100px;
padding: 0 15px;
}
.filter-line select {
width: 130px;
padding: 0 10px;
background-position: calc(100% - 10px) 55%;
}


.product {
display: flex;
align-items: start;
gap: 30px;
margin: 0 0 50px;
}
.product-img {
min-width: 790px;
position: relative;
}
.product-img > b {
}
#img-big {
padding: 79.75% 0 0;
position: relative;
}
#img-big img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: contain;
border-radius: 10px;
}
#img-thumbs {
display: grid;
grid-template-columns: repeat(4,1fr);
gap: 30px;
margin: 30px 0 0;
}
#img-thumbs li {
padding: 92.6% 0 0;
position: relative;
cursor: pointer;
}
#img-thumbs li img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 10px;
transition: all .3s;
}
#img-thumbs li.a img {
transform: scale(1.2);
filter: grayscale() brightness(1.1) contrast(1.2);
}
#img-thumbs li.a::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url(../i/view.svg) no-repeat 50% 50%;
}
.product-description {
}
.product-description .product-info {
padding: 20px 30px;
background: var(--l-grey);
border-radius: 10px;
margin: 0 0 30px;
}
.product-description .product-info p {
display: flex;
padding: 20px 0;
border-bottom: 1px solid var(--db-grey);
line-height: 1.2;
margin: 0;
}
.product-description .product-info p:last-child {
border: 0;
}
.product-description .product-info p * {
flex: 1;
}
.product-description .product-buy {
width: 500px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 30px 0;
border-top: 1px solid var(--db-grey);
margin: 30px 0 0;
}
.product-description .product-buy aside {
font-size: 25px;
}
.product-description .product-buy aside span {
font-size: 40px;
}
.product-description .product-buy a.button {
height: 60px;
padding: 0 40px;
border-radius: 30px;
font-size: 16px;
margin: 0;
}


#rules-popup {
}
#rules-popup .pwb {
text-align: left;
}
#rules-popup .pwb ul {
margin: -10px 0 -20px;
}
.pwb ul li {
display: flex;
align-items: center;
gap: 15px;
padding: 20px 0;
border-bottom: 1px solid var(--db-grey);
line-height: 1.2;
}
.pwb ul li:last-child {
border: 0;
}

.pwb ul li::before {
content: '';
display: inline-block;
vertical-align: middle;
min-width: 20px;
width: 20px;
height: 20px;
margin-right: 10px; /* Отступ справа от иконки */
}

.icon-bike::before {
background: url(../i/pwd/zn_01.png) no-repeat 50% 50% / contain;
}

.icon-pets::before {
background: url(../i/pwd/zn_02.png) no-repeat 50% 50% / contain;
}

.icon-ads::before {
background: url(../i/pwd/zn_03.png) no-repeat 50% 50% / contain;
}

.icon-bags::before {
background: url(../i/pwd/zn_04.png) no-repeat 50% 50% / contain;
}

.icon-alcohol::before {
background: url(../i/pwd/zn_05.png) no-repeat 50% 50% / contain;
}

.icon-weapons::before {
background: url(../i/pwd/zn_06.png) no-repeat 50% 50% / contain;
}

.icon-kids::before {
background: url(../i/pwd/zn_07.png) no-repeat 50% 50% / contain;
}


.icon-plants::before {
background: url(../i/pwd/zn_08.png) no-repeat 50% 50% / contain;
}


.icon-fruit::before {
background: url(../i/pwd/zn_09.png) no-repeat 50% 50% / contain;
}


.icon-animals::before {
background: url(../i/pwd/zn_10.png) no-repeat 50% 50% / contain;
}


.icon-fence::before {
background: url(../i/pwd/zn_11.png) no-repeat 50% 50% / contain;
}


.icon-drinking::before {
background: url(../i/pwd/zn_12.png) no-repeat 50% 50% / contain;
}


.icon-smoking::before {
background: url(../i/pwd/zn_13.png) no-repeat 50% 50% / contain;
}


.icon-swimming::before {
background: url(../i/pwd/zn_14.png) no-repeat 50% 50% / contain;
}


.icon-trash::before {
background: url(../i/pwd/zn_15.png) no-repeat 50% 50% / contain;
}


.icon-sports::before {
background: url(../i/pwd/zn_16.png) no-repeat 50% 50% / contain;
}


.icon-lawn::before {
background: url(../i/pwd/zn_17.png) no-repeat 50% 50% / contain;
}


.icon-fire::before {
background: url(../i/pwd/zn_18.png) no-repeat 50% 50% / contain;
}

.how-to-buy {
margin: 40px 0;
}
.how-to-buy strong {
font-size: 20px;
font-weight: 600;
text-transform: uppercase;
}
.how-to-buy .tickets {
margin: 20px 0 0;
}


.tabs {
display: flex;
gap: 10px;
height: 70px;
overflow: auto;
}
.tabs * {
padding: 0 35px;
border-radius: 10px;
background: var(--l-grey);
font-size: 14px;
line-height: 70px;
font-weight: 500;
text-transform: uppercase;
cursor: pointer;
}
.tabs *:hover {
text-decoration: none;
background: var(--text);
color: #fff;
}
.tabs label {
padding: 0;
}
.tabs *.a, .tabs label input:checked+span {
background: var(--text);
color: #fff;
}
.tabs *::before {
display: none;
}
.wrap .tabs input {
height: auto;
border-radius: 10px;
background: var(--l-grey)!important;
color: var(--text)!important;
font-weight: 500;
margin: 0;
}
.wrap .tabs input:hover {
color: #fff!important;
}
[data-tab] {
display: none;
}
[data-tab].a {
display: block;
}


#rules-popup+p strong {
font-weight: 600;
}


.worktime-tiles {
display: grid;
grid-template-columns: repeat(2,1fr);
gap: 30px;
margin: 40px 0;
}
.worktime-tiles li {
padding: 50px 40px;
border-radius: 10px;
background: var(--l-grey);
}
.worktime-tiles li::before {
display: none;
}
.worktime-tiles li i {
display: block;
margin: 0 0 40px;
}
.worktime-tiles li i img {
display: block;
width: 100%;
border-radius: 10px;
}
.worktime-tiles li section {
padding: 40px 30px;
background: #fff;
border-radius: 10px;
margin: 40px 0;
}
.worktime-tiles li section .h2 {
font-weight: 600;
margin: 0;
}
.worktime-tiles li section strong {
display: block;
font-size: 18px;
font-weight: 500;
margin: 0 0 -10px;
}
.worktime-tiles li .visual {
display: flex;
align-items: start;
gap: 30px;
margin: 40px 0 0;
}
.worktime-tiles li .visual a {
flex: 1;
}
.worktime-tiles li .visual a i {
display: block;
margin: 0;
position: relative;
}
.worktime-tiles li .visual a i img {
display: block;
width: 100%;
border-radius: 10px;
}
.worktime-tiles li .visual a.video i::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url(../i/video.svg) no-repeat 50% 50% / 100px 100px;
}
.worktime-tiles li .visual a span {
display: block;
font-size: 18px;
font-weight: 500;
color: var(--text);
margin: .7em 0 0;
}
.wt-addr, .wt-time {
margin: 20px 0;
}
.worktime-tiles li .expo {
display: flex;
gap: 30px;
}
.worktime-tiles li .expo i {
width: 50%;
margin: 0;
}
.worktime-tiles li .expo i img {
height: 100%;
object-fit: cover;
}
.worktime-tiles li .expo section {
width: 50%;
padding: 30px;
margin: 0;
}
.worktime-tiles li .expo section .h3 {
font-weight: 600;
margin: 0;
}
.worktime-tiles li .expo section .wt-time {
margin: 0;
}


.management {
display: grid;
grid-template-columns: repeat(2,1fr);
gap: 30px;
}
.management li {
display: flex;
gap: 20px;
padding: 30px;
background: var(--l-grey);
border-radius: 10px;
}
.management li:first-child {
gap: 30px;
grid-column: 1/3;
}
.management li i {
min-width: 37.3%;
height: 445px;
}
.management li:first-child i {
min-width: 56.3%;
}
.management li i img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 10px;
}
.management li section {
flex: auto;
padding: 30px;
background: #fff;
border-radius: 10px;
}
.management li section .h1 {
font-size: 20px;
font-weight: 600;
}
.management li section .h1 span {
display: block;
font-size: 25px;
}
.management li:first-child section .h1 {
font-size: 30px;
}
.management li:first-child section .h1 span {
font-size: 40px;
}
.management li section hr {
margin: 15px 0;
}
[class^="mg-"] {
line-height: 1.2;
}
.si-addr b, .wt-addr b,
.si-time b, .wt-time b,
.mg-accomplishments span, .mg-position b, .mg-phone b, .mg-time b {
max-width: calc(100% - 35px);
}
.mg-accomplishments span, .mg-time b, .mg-time p {
width: 100%;
font-size: 14px;
margin: 0;
}


.structure {
}
.structure section {
padding: 50px;
background: var(--l-grey);
border-radius: 10px;
margin: 0 0 30px;
}
.structure section .h2 {
}
.structure section > ul {
padding: 20px 40px;
background: #fff;
border-radius: 10px;
}
.structure section > ul > li {
padding: 20px 0;
border-bottom: 1px solid var(--db-grey);
font-size: 18px;
}
.structure section > ul > li:last-child {
border: 0;
}
.structure section ul li a {
display: flex;
align-items: center;
gap: 10px;
font-weight: 700;
margin: 1px 0 0;
}
.structure section ul li a::before {
content: '';
min-width: 11px;
width: 11px;
height: 7px;
background: url(../i/mdd.svg);
filter: grayscale() brightness(.5);
transform: rotate(-90deg);
transition: all .3s;
}
.structure section ul li a:hover {
text-decoration: none;
color: var(--link);
}
.structure section ul li a:hover::before {
filter: none;
}
.structure section ul li ul {
padding: 0 30px;
display: none;
}
.structure section ul li.o ul {
display: block;
}
.structure section ul li ul li {
font-size: 14px;
margin: 15px 0 0;
}


.news-list {
margin: 30px 0;
}
.news-list li {
padding: 30px 40px;
border: 1px solid var(--db-grey);
line-height: 1.2;
margin: -1px 0 0;
transition: all .3s;
}
.news-list li:first-child {
border-radius: 10px 10px 0 0;
}
.news-list li:last-child {
border-radius: 0 0 10px 10px;
}
.news-list li:hover {
box-shadow: 0 5px 20px #0002;
z-index: 10;
}
.news-list li span {
display: flex;
align-items: center;
gap: 10px;
font-size: 14px;
font-weight: 700;
color: var(--link);
margin: 0 0 10px;
}
.news-list li span::before {
content: '';
width: 20px;
height: 20px;
background: url(../i/icon-calendar.svg) no-repeat 0 0 / contain;
}
.news-list li b {
display: inline-block;
padding: 10px 15px;
background: var(--l-grey);
border-radius: 10px;
font-size: 10px;
text-transform: uppercase;
margin: 0 0 10px;
}
.news-list li strong {
display: block;
font-size: 20px;
font-weight: 500;
}
.news-list li strong a {
}
.news-list li strong a:hover {
color: var(--link);
text-decoration: none;
}
.news-list li p {
font-size: 14px;
margin: 10px 0 0;
}
.news-list li i {
display: flex;
align-items: center;
gap: 10px;
font-size: 14px;
font-style: normal;
margin: 10px 0 0;
}
.news-list li i::before {
content: '';
width: 25px;
height: 25px;
background: url(../i/icon-accomplishments.svg);
}


.form {
padding: 50px 100px;
background: var(--l-grey);
border-radius: 10px;
margin: 40px 0;
}
.c-input {
margin: 0 0 10px;
position: relative;
}
.c-input label {
position: absolute;
top: 15px;
left: 20px;
}
.c-input input {
height: 70px;
padding: 20px 20px 0;
margin: 0;
}
.c-input textarea {
height: 170px;
padding: 35px 20px 10px;
}


.partners-table {
}

.partners-table .image-container {
display: flex;
justify-content: center;
}

.partners-table .logo-header {
width: 20%;
}

.partners-table img {
display: block;
width: 100%;
max-width: 150px;
}

.partners-table a:hover {
color: var(--link);
text-decoration: none;
}


.buy-tickets-table .button {
margin: 0;
}
#select-seller-popup section, #select-seller-popup form {
width: 800px;
padding: 50px 60px;
}
#select-seller-popup i.close {
right: 60px;
}
#select-seller-popup .select-seller {
padding: 50px;
background: #fff;
border-radius: 10px;
}
#select-seller-popup .select-seller strong {
display: block;
font-weight: 600;
text-transform: uppercase;
}
#select-seller-popup .select-seller .tickets {
flex-wrap: wrap;
gap: 10px;
height: auto;
margin: 20px 0 0;
}
#select-seller-popup .select-seller .tickets a {
height: 80px;
}


.search {
padding: 30px;
background: var(--l-grey);
border-radius: 10px;
}
.search section {
position: relative;
}
.search section input {
height: 77px;
padding: 0 100px 0 30px;
margin: 0;
}
.search section button {
position: absolute;
top: 0;
right: 0;
width: 77px;
height: 77px;
padding: 0;
background: none!important;
border-radius: 0;
font-size: 0;
margin: 0;
}
.search section button::after {
display: none;
}
.search ul {
padding: 20px 0;
background: #fff;
border-radius: 10px;
margin: 2px 0 0;
}
.search ul li {
padding: 10px 30px;
font-size: 14px;
font-weight: 500;
line-height: 1.2;
cursor: pointer;
transition: all.3s;
}
.search ul li:hover {
color: var(--link);
}


.garden-plan {
display: flex;
align-items: start;
gap: 30px;
}
.plan-list {
flex: auto;
padding: 30px;
background: var(--l-grey);
border-radius: 10px;
}
.plan-list ul {
padding: 20px 30px;
background: #fff;
border-radius: 10px;
counter-reset: pli;
}
.plan-list ul li {
display: flex;
padding: 10px;
border-bottom: 1px solid var(--db-grey);
font-size: 12px;
font-weight: 500;
line-height: 1.2;
text-transform: uppercase;
cursor: pointer;
transition: all .3s;
counter-increment: pli;
}
.plan-list ul li:last-child {
border: 0;
}
.plan-list ul li::before {
content: counter(pli);
width: 30px;
font-weight: 700;
}
.plan-list ul li:hover, .plan-list ul li.a {
background: var(--link);
color: #fff;
}
.plan-schema {
min-width: 60%;
padding: 50px 30px;
background: var(--l-grey);
border-radius: 10px;
}
.plan-schema section {
position: relative;
}
.plan-schema section img {
display: block;
width: 100%;
height: auto;
}
.plan-schema section [data-id] {
width: 17px;
height: 17px;
border-radius: 50%;
background: #fffa;
position: absolute;
cursor: pointer;
}
.plan-schema section [data-id] div {
width: 39px;
height: 39px;
background: var(--link);
border: 7px solid #fff;
border-radius: 50%;
color: #fff;
font-weight: 700;
text-align: center;
line-height: 24px;
margin: -11px 0 0 -11px;
display: none;
}
.plan-schema section [data-id]:hover div, .plan-schema section [data-id].h div, .plan-schema section [data-id].a div {
display: block;
}


footer {
background: var(--text);
margin: 50px 0 0;
}
footer .wrap {
display: flex;
flex-direction: column;
gap: 20px;
padding: 50px 20px;
}
footer section {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
color: #fff;
}
footer .logo {
color: #fff;
margin: 0;
}
footer section p {
display: flex;
align-items: center;
gap: 15px;
margin: 0;
}
footer section p svg {
width: 25px;
height: 25px;
fill: #fff;
}
footer section p+p {
font-size: 12px;
font-weight: 500;
line-height: 1.2;
}
footer section p+p i {
font-style: normal;
font-weight: 400;
}
footer section p+p b {
display: block;
font-size: 17px;
}
.footer-partners {
display: flex;
gap: 15px;
}
.footer-partners a {
}
.footer-partners a img {
display: block;
}
footer .dev {
display: flex;
align-items: center;
gap: 10px;
font-weight: 400;
color: #fff;
}
footer .dev span {
}
footer .dev img {
}


.popup {
position: fixed;
top: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background: #000c;
backdrop-filter: blur(5px);
z-index: 500;
transition: all .5s;
transform: scale(1.1);
opacity: 0;
pointer-events: none;
}
.popup.o {
transform: none;
opacity: 1;
pointer-events: all;
}
.popup > section, .popup > form {
width: 1000px;
max-height: 90%;
overflow: auto;
padding: 50px 100px;
background: var(--l-grey);
border-radius: 10px;
position: relative;
}
.popup .h1, .popup .h1 {
font-size: 25px;
font-weight: 700;
margin: 0 0 40px;
}
.popup i.close {
position: absolute;
top: 50px;
right: 100px;
width: 25px;
height: 25px;
background: url(../i/close.svg);
cursor: pointer;
}
.popup .pwb {
padding: 50px;
background: #fff;
border-radius: 10px;
margin: 20px 0 0;
}
.popup .dates-list {
margin: -15px 0;
}
.popup .dates-list li {
display: flex;
padding: 12px 0;
border-bottom: 1px solid var(--db-grey);
}
.popup .dates-list li:last-child {
border: 0;
}
.popup .dates-list li span {
flex: 1;
font-size: 14px;
font-weight: 500;
text-transform: uppercase;
}
.popup .dates-list li span+span {
font-weight: 400;
text-transform: none;
}
.pwb > strong {
display: block;
font-weight: 600;
text-transform: uppercase;
margin: 0 0 20px;
}
.tiles-list.catalog-list a i img {

overflow: hidden;
height: 415px;
}
.tiles-list.catalog-list a i{
object-fit: contain;
}

/*.wrap .tabs input.asd{*/
/*	background: var(--text) !important;*/
/*	color: #fff !important;*/
/*}*/
.node__link{
color: #013745;
text-decoration: none;
transition: color 0.2s linear, background-color 0.2s linear,
padding: 0 0 0.125rem 0;
box-shadow: inset 0 -0.125rem #1f9363;;
}

.button--primary{
color: #fff;
background-color: #1f9363;
border-color: #1f9363;
display: flex;
align-items: center;
width: fit-content;
padding: 0.75em 2em;
font-family: 'Gilroy';
font-size: calc(1rem + 0.208vw);
font-weight: 500;
white-space: nowrap;
cursor: pointer;
border: 0.125rem solid;
border-radius: 3em;
transition: 0.2s linear;
}


