/* Hide only the homepage hero rating; retain the footer rating and location map. */
#main iframe[src*="yandex.ru/sprav/widget/rating-badge"],
#main p:has(> iframe[src*="yandex.ru/sprav/widget/rating-badge"]) {
 display: none !important;
}

/* Static location map: no third-party advertising iframe. */
#contacts.contacts--static { padding-bottom: 60px; }
.contacts-static-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); gap: 24px; max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.contacts--static #map { display: flex; width: 100%; height: auto; min-width: 0; background: #202020; border: 1px solid #6d4a32; box-sizing: border-box; align-self: stretch; }
.static-map-link { display: flex; align-items: center; width: 100%; }
.static-map-link picture { display: block; width: 100%; }
.static-map-link img { display: block; width: 100%; height: auto; }
.static-map-link:focus-visible { outline: 2px solid #de9058; outline-offset: 4px; }
.contacts--static .contacts__wrap { position: static; width: auto; min-width: 0; padding: 0; box-sizing: border-box; align-self: stretch; }
.contacts--static .contacts__inner { display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; height: 100%; }
@media (max-width: 1152px) {
 .contacts-static-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
 .contacts--static .contacts__wrap { margin: 0; }
}
@media (max-width: 480px) {
 .contacts-static-layout { padding: 0 16px; }
}

.inclusive {
	color: #fefefe;
	font-family: Gilroy, sans-serif;
	font-size: 16px;
	margin: 16px 0;
	text-transform: unset;
}

.tabs__text_program {
	text-transform: unset;
}

.switch-program__next:after,
.switch-program__prev:before {
	content: "";
	width: 20px;
	height: 20px;
	border: 2px solid white;
	border-top: unset;
	border-left: unset;
	display: inline-block;
	transform: rotate(-45deg);
}

.switch-program__prev:before {
	transform: rotate(135deg);

}

.switch-program__next,
.switch-program__prev {
	display: flex;
	color: white;
}

@media screen and (max-width: 768px) {

	.switch-program__next,
	.switch-program__prev {
		font-size: 16px;
	}
}

.switch-program__wrap a:hover {
	color: #de9058;
}

.switch-program__wrap a:hover:before,
.switch-program__wrap a:hover:after {
	border-color: #de9058;
}

.switch-program__wrap {
	display: flex;
	justify-content: space-between;
	height: 50px;
	/*align-items: center;*/
}


.contacts__slider .background-img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.contacts__slider .splide__slide {
	background: #000;
	height: 560px;
	padding: 40px 100px 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.contacts__slider .splide__arrow {
	height: unset;
	width: unset;
	display: block;
	padding: 0;
	background: unset !important;
	border: unset;
	opacity: unset !important;
}

.contacts__slider .splide__arrow svg {
	fill: unset;
	height: unset;
	width: unset;
}



@media screen and (max-width:768px) {
	.contacts__slider .splide__slide {
		height: 265px;
		padding: 30px;
		max-height: 80vh;
	}

	.contacts__slider .splide__arrow {
		scale: 0.7;
	}


	.iframe-container {
		margin: 20px 0;
		/* Отступы сверху и снизу */
		text-align: center;
		/* Центрирование содержимого */
	}

	iframe {
		max-width: 100%;
		/* Адаптация для мобильных устройств */
		border: none;
		/* Убираем рамки, если они не нужны */
	}




}


@media screen and (max-width:1168px) {

	.iframe-container {
		margin: 20px 0;
		/* Отступы сверху и снизу */
		text-align: center;
		/* Центрирование содержимого */
	}

	iframe {
		max-width: 100%;
		/* Адаптация для мобильных устройств */
		border: none;
		/* Убираем рамки, если они не нужны */
	}

}


.social_feedback {
	position: fixed;
	bottom: 30px;
	left: 30px;
	z-index: 99999
}

.social_feedback .social_desktop .icon {
	display: none;
	margin-bottom: 10px;
	background-repeat: no-repeat;
	background-size: contain;
	width: 60px;
	height: 60px;
	border-radius: 30px;
	cursor: pointer
}

.social_feedback .social_desktop .icon.telegram {
	background-image: url("../img/sm_telegram.svg")
}

.social_feedback .social_desktop .icon.whatsapp {
	background-image: url("../img/sm_whatsapp.svg")
}

.social_feedback .social_desktop .menu {
	background: url("../img/message.svg?2") no-repeat;
	background-color: transparent;
	background-size: contain;
	width: 60px;
	height: 60px;
	border-radius: 30px;
	box-shadow: 0 0 43.4px 0 #de905866;
	cursor: pointer
}

.social_feedback .social_desktop.active .menu {
	background-image: url("../img/message_close.svg?2")
}

.social_feedback .social_desktop.active .icon {
	display: block
}

.social_feedback .social_mob {
	display: none
}

/* One contact launcher replaces the separate messenger and Jivo launchers. */
#jvLabelWrap { display: none !important; }
/* Jivo mounts alternate launchers after scrolling and on mobile. Keep its
   rendering/layout intact, but expose it only while our chat is open. */
body:not(.jivo-chat-open) jdiv {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}
.barsuk-contact-widget {
	position: fixed;
	left: 24px;
	bottom: max(24px, env(safe-area-inset-bottom));
	z-index: 10000;
	font-family: Gilroy, Arial, sans-serif;
	color: #fff;
}
.barsuk-contact-widget summary {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 54px;
	padding: 13px 17px;
	border: 1px solid #de9058;
	background: #de9058;
	color: #171314;
	font-size: 16px;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
	box-shadow: 0 5px 22px #0006;
}
.barsuk-contact-widget summary::-webkit-details-marker { display: none; }
.barsuk-contact-widget svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.barsuk-contact-widget .barsuk-contact-widget__chevron { width: 16px; height: 16px; }
.barsuk-contact-widget[open] .barsuk-contact-widget__chevron { transform: rotate(180deg); }
.barsuk-contact-widget__panel {
	position: absolute;
	left: 0;
	bottom: calc(100% + 10px);
	width: 240px;
	max-width: calc(100vw - 24px);
	max-height: calc(100dvh - 100px);
	overflow-y: auto;
	padding: 10px;
	border: 1px solid #de9058;
	background: #191516;
	box-shadow: 0 10px 32px #0009;
}
.barsuk-contact-widget:not([open]) .barsuk-contact-widget__panel { display: none; }
.barsuk-contact-widget__title { margin: 3px 8px 12px; font-size: 15px; color: #de9058; }
.barsuk-contact-widget .barsuk-contact-widget__item {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 52px;
	padding: 9px 8px;
	border: 0;
	border-top: 1px solid #ffffff17;
	border-radius: 0;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 16px;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}
.barsuk-contact-widget .barsuk-contact-widget__item:hover { background: #de90581a; color: #de9058; }
.barsuk-contact-widget__item small { display: block; margin-top: 2px; color: #aaa; font-size: 11px; }
.barsuk-contact-widget__icon { display: grid; place-items: center; width: 30px; flex: 0 0 30px; color: #de9058; }
.barsuk-contact-widget__max { font-weight: 800; font-size: 23px; }
.barsuk-contact-widget__status { margin: 10px 8px 3px; font-size: 13px; line-height: 1.4; color: #ddd; }
.barsuk-contact-widget :focus-visible { outline: 2px solid #f9c497; outline-offset: 2px; }
body.jivo-chat-open .barsuk-contact-widget { visibility: hidden; }
@media (max-width: 600px) {
	.barsuk-contact-widget { left: 12px; bottom: max(16px, env(safe-area-inset-bottom)); }
	.barsuk-contact-widget summary { min-height: 48px; padding: 10px 12px; gap: 8px; font-size: 14px; }
	body.barsuk-contacts-open .telegram-video-widget { visibility: hidden; pointer-events: none; }
}

/* Video preview for the Telegram channel. */
.telegram-video-widget {
	position: fixed;
	right: 24px;
	bottom: max(24px, env(safe-area-inset-bottom));
	z-index: 9998;
	width: 148px;
	overflow: hidden;
	border: 1px solid rgba(222, 144, 88, .65);
	border-radius: 0;
	background: #171314;
	box-shadow: 0 12px 36px rgba(0, 0, 0, .62);
}

.telegram-video-widget[hidden] {
	display: none;
}

.telegram-video-widget__link {
	display: block;
	color: #fff;
	text-decoration: none;
}

.telegram-video-widget__link:hover,
.telegram-video-widget__link:focus {
	color: #fff;
	text-decoration: none;
}

.telegram-video-widget__link:focus-visible {
	outline: 2px solid #de9058;
	outline-offset: -3px;
}

.telegram-video-widget__preview {
	display: block;
	width: 100%;
	aspect-ratio: 9 / 16;
	object-fit: cover;
	background: #21191a;
	pointer-events: none;
}

.telegram-video-widget__caption {
	display: block;
	padding: 11px 6px 12px;
	background: #171314;
	color: #fff;
	font-family: Gilroy, Arial, sans-serif;
	font-size: 12px;
	line-height: 1.35;
	text-align: center;
	transition: background-color .2s ease;
}

.telegram-video-widget__caption strong {
	color: #de9058;
	font-weight: 600;
}

.telegram-video-widget__link:hover .telegram-video-widget__caption {
	background: #251b1b;
}

.telegram-video-widget__close,
.telegram-video-widget__playback {
	position: absolute;
	z-index: 2;
	border: 1px solid rgba(255, 255, 255, .38);
	border-radius: 0;
	background: rgba(12, 9, 10, .82);
	color: #fff;
	cursor: pointer;
	font-family: Gilroy, Arial, sans-serif;
}

.telegram-video-widget__close {
	top: 7px;
	right: 7px;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	padding: 5px;
}

.telegram-video-widget__close svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.7;
}

.telegram-video-widget__playback {
	bottom: 65px;
	left: 8px;
	min-height: 28px;
	padding: 5px 8px;
	font-size: 10px;
	line-height: 1.3;
}

.telegram-video-widget__close:hover,
.telegram-video-widget__playback:hover {
	border-color: #de9058;
	background: rgba(53, 32, 27, .94);
}

body.dialog-open .telegram-video-widget,
body.jivo-chat-open .telegram-video-widget {
	visibility: hidden;
	pointer-events: none;
}

@media only screen and (max-width:600px) {
	.telegram-video-widget {
		right: 12px;
		bottom: max(16px, env(safe-area-inset-bottom));
		width: 116px;
	}

	.telegram-video-widget__caption {
		padding: 9px 4px 10px;
		font-size: 11px;
	}

	.telegram-video-widget__playback {
		bottom: 58px;
		left: 6px;
		padding: 5px 7px;
		font-size: 9px;
	}

	.telegram-video-widget__close {
		top: 6px;
		right: 6px;
		width: 28px;
		height: 28px;
	}
}


@media only screen and (max-width:480px) {
	.social_feedback {
		bottom: 10px;
		left: 10px
	}

	.social_feedback .social_desktop {
		display: none
	}

	.social_feedback .social_mob {
		display: block;
		margin-bottom: 10px;
		padding: 7px 80px 7px 10px;
		background-repeat: no-repeat;
		background-position: center right 7px;
		border-radius: 5px;
		color: #fff;
		font-size: 14px;
		line-height: 1
	}

	.social_feedback .social_mob.telegram {
		background-image: url("../img/sm_telegram_red.svg");
		background-color: #000000;
		border: 1px solid #de9058;
		color: #de9058
	}

	.social_feedback .social_mob.whatsapp {
		background-image: url("../img/sm_whatsapp_black.svg");
		background-color: #000000
	}

	.iframe-container {
		margin: 20px 0;
		/* Отступы сверху и снизу */
		text-align: center;
		/* Центрирование содержимого */
	}

	iframe {
		max-width: 100%;
		/* Адаптация для мобильных устройств */
		border: none;
		/* Убираем рамки, если они не нужны */
	}
}

.burger-button:hover svg path {
	fill: white !important;
	color: white;
}



.snowflake {
	--size: 1vw;
	width: var(--size);
	height: var(--size);
	background: white;
	border-radius: 50%;
	position: absolute;
	top: -5vh;
}

@keyframes snowfall {
	0% {
		transform: translate3d(var(--left-ini), 0, 0);
	}

	100% {
		transform: translate3d(var(--left-end), 110vh, 0);
	}
}

.snowflake:nth-child(1) {
	--size: 0.6vw;
	--left-ini: 1vw;
	--left-end: -5vw;
	left: 3vw;
	animation: snowfall 11s linear infinite;
	animation-delay: -4s;
}

.snowflake:nth-child(2) {
	--size: 0.2vw;
	--left-ini: 5vw;
	--left-end: -5vw;
	left: 43vw;
	animation: snowfall 8s linear infinite;
	animation-delay: -5s;
}

.snowflake:nth-child(3) {
	--size: 0.2vw;
	--left-ini: -3vw;
	--left-end: 9vw;
	left: 30vw;
	animation: snowfall 13s linear infinite;
	animation-delay: -10s;
}

.snowflake:nth-child(4) {
	--size: 0.4vw;
	--left-ini: -1vw;
	--left-end: 9vw;
	left: 31vw;
	animation: snowfall 11s linear infinite;
	animation-delay: -6s;
}

.snowflake:nth-child(5) {
	--size: 0.6vw;
	--left-ini: 7vw;
	--left-end: 5vw;
	left: 20vw;
	animation: snowfall 14s linear infinite;
	animation-delay: -3s;
}

.snowflake:nth-child(6) {
	--size: 0.4vw;
	--left-ini: -5vw;
	--left-end: 3vw;
	left: 39vw;
	animation: snowfall 13s linear infinite;
	animation-delay: -8s;
}

.snowflake:nth-child(7) {
	--size: 0.6vw;
	--left-ini: 6vw;
	--left-end: 4vw;
	left: 91vw;
	animation: snowfall 13s linear infinite;
	animation-delay: -3s;
}

.snowflake:nth-child(8) {
	--size: 0.8vw;
	--left-ini: -1vw;
	--left-end: 1vw;
	left: 56vw;
	animation: snowfall 13s linear infinite;
	animation-delay: -4s;
}

.snowflake:nth-child(9) {
	--size: 0.4vw;
	--left-ini: 2vw;
	--left-end: 1vw;
	left: 22vw;
	animation: snowfall 8s linear infinite;
	animation-delay: -4s;
}

.snowflake:nth-child(10) {
	--size: 1vw;
	--left-ini: 2vw;
	--left-end: 0vw;
	left: 36vw;
	animation: snowfall 11s linear infinite;
	animation-delay: -1s;
}

.snowflake:nth-child(11) {
	--size: 0.2vw;
	--left-ini: -3vw;
	--left-end: 5vw;
	left: 53vw;
	animation: snowfall 11s linear infinite;
	animation-delay: -9s;
}

.snowflake:nth-child(12) {
	--size: 0.8vw;
	--left-ini: -1vw;
	--left-end: 4vw;
	left: 79vw;
	animation: snowfall 11s linear infinite;
	animation-delay: -2s;
}

.snowflake:nth-child(13) {
	--size: 1vw;
	--left-ini: -4vw;
	--left-end: 1vw;
	left: 83vw;
	animation: snowfall 9s linear infinite;
	animation-delay: -8s;
}

.snowflake:nth-child(14) {
	--size: 0.2vw;
	--left-ini: 0vw;
	--left-end: -3vw;
	left: 93vw;
	animation: snowfall 13s linear infinite;
	animation-delay: -6s;
}

.snowflake:nth-child(15) {
	--size: 0.2vw;
	--left-ini: -8vw;
	--left-end: -2vw;
	left: 79vw;
	animation: snowfall 7s linear infinite;
	animation-delay: -10s;
}

.snowflake:nth-child(16) {
	--size: 0.2vw;
	--left-ini: -7vw;
	--left-end: 8vw;
	left: 14vw;
	animation: snowfall 6s linear infinite;
	animation-delay: -2s;
}

.snowflake:nth-child(17) {
	--size: 0.8vw;
	--left-ini: -3vw;
	--left-end: -7vw;
	left: 7vw;
	animation: snowfall 10s linear infinite;
	animation-delay: -9s;
}

.snowflake:nth-child(18) {
	--size: 0.4vw;
	--left-ini: -9vw;
	--left-end: -4vw;
	left: 30vw;
	animation: snowfall 10s linear infinite;
	animation-delay: -7s;
}

.snowflake:nth-child(19) {
	--size: 0.8vw;
	--left-ini: 3vw;
	--left-end: 1vw;
	left: 98vw;
	animation: snowfall 8s linear infinite;
	animation-delay: -7s;
}

.snowflake:nth-child(20) {
	--size: 0.2vw;
	--left-ini: -9vw;
	--left-end: 2vw;
	left: 57vw;
	animation: snowfall 15s linear infinite;
	animation-delay: -9s;
}

.snowflake:nth-child(21) {
	--size: 0.2vw;
	--left-ini: -9vw;
	--left-end: 10vw;
	left: 49vw;
	animation: snowfall 9s linear infinite;
	animation-delay: -9s;
}

.snowflake:nth-child(22) {
	--size: 1vw;
	--left-ini: 6vw;
	--left-end: -2vw;
	left: 36vw;
	animation: snowfall 8s linear infinite;
	animation-delay: -4s;
}

.snowflake:nth-child(23) {
	--size: 0.6vw;
	--left-ini: -6vw;
	--left-end: 9vw;
	left: 9vw;
	animation: snowfall 10s linear infinite;
	animation-delay: -4s;
}

.snowflake:nth-child(24) {
	--size: 1vw;
	--left-ini: -5vw;
	--left-end: 5vw;
	left: 42vw;
	animation: snowfall 13s linear infinite;
	animation-delay: -1s;
}

.snowflake:nth-child(25) {
	--size: 0.6vw;
	--left-ini: 2vw;
	--left-end: -3vw;
	left: 19vw;
	animation: snowfall 8s linear infinite;
	animation-delay: -4s;
}

.snowflake:nth-child(26) {
	--size: 0.4vw;
	--left-ini: -8vw;
	--left-end: -4vw;
	left: 15vw;
	animation: snowfall 7s linear infinite;
	animation-delay: -8s;
}

.snowflake:nth-child(27) {
	--size: 1vw;
	--left-ini: 7vw;
	--left-end: 7vw;
	left: 7vw;
	animation: snowfall 13s linear infinite;
	animation-delay: -5s;
}

.snowflake:nth-child(28) {
	--size: 0.8vw;
	--left-ini: 10vw;
	--left-end: -3vw;
	left: 84vw;
	animation: snowfall 7s linear infinite;
	animation-delay: -1s;
}

.snowflake:nth-child(29) {
	--size: 1vw;
	--left-ini: -2vw;
	--left-end: 8vw;
	left: 26vw;
	animation: snowfall 10s linear infinite;
	animation-delay: -2s;
}

.snowflake:nth-child(30) {
	--size: 0.8vw;
	--left-ini: 7vw;
	--left-end: -1vw;
	left: 13vw;
	animation: snowfall 12s linear infinite;
	animation-delay: -1s;
}

.snowflake:nth-child(31) {
	--size: 0.8vw;
	--left-ini: -2vw;
	--left-end: -3vw;
	left: 22vw;
	animation: snowfall 7s linear infinite;
	animation-delay: -5s;
}

.snowflake:nth-child(32) {
	--size: 0.2vw;
	--left-ini: 1vw;
	--left-end: 8vw;
	left: 88vw;
	animation: snowfall 6s linear infinite;
	animation-delay: -4s;
}

.snowflake:nth-child(33) {
	--size: 0.8vw;
	--left-ini: -9vw;
	--left-end: -6vw;
	left: 4vw;
	animation: snowfall 12s linear infinite;
	animation-delay: -4s;
}

.snowflake:nth-child(34) {
	--size: 1vw;
	--left-ini: -7vw;
	--left-end: 2vw;
	left: 55vw;
	animation: snowfall 15s linear infinite;
	animation-delay: -5s;
}

.snowflake:nth-child(35) {
	--size: 1vw;
	--left-ini: -7vw;
	--left-end: 0vw;
	left: 24vw;
	animation: snowfall 9s linear infinite;
	animation-delay: -2s;
}

.snowflake:nth-child(36) {
	--size: 0.2vw;
	--left-ini: -9vw;
	--left-end: -8vw;
	left: 39vw;
	animation: snowfall 10s linear infinite;
	animation-delay: -9s;
}

.snowflake:nth-child(37) {
	--size: 0.4vw;
	--left-ini: -6vw;
	--left-end: 8vw;
	left: 91vw;
	animation: snowfall 12s linear infinite;
	animation-delay: -10s;
}

.snowflake:nth-child(38) {
	--size: 0.4vw;
	--left-ini: -6vw;
	--left-end: -6vw;
	left: 37vw;
	animation: snowfall 10s linear infinite;
	animation-delay: -3s;
}

.snowflake:nth-child(39) {
	--size: 0.8vw;
	--left-ini: 7vw;
	--left-end: -7vw;
	left: 82vw;
	animation: snowfall 13s linear infinite;
	animation-delay: -4s;
}

.snowflake:nth-child(40) {
	--size: 0.2vw;
	--left-ini: 6vw;
	--left-end: -1vw;
	left: 45vw;
	animation: snowfall 11s linear infinite;
	animation-delay: -7s;
}

.snowflake:nth-child(41) {
	--size: 0.4vw;
	--left-ini: -9vw;
	--left-end: -7vw;
	left: 39vw;
	animation: snowfall 10s linear infinite;
	animation-delay: -6s;
}

.snowflake:nth-child(42) {
	--size: 0.8vw;
	--left-ini: 7vw;
	--left-end: -5vw;
	left: 18vw;
	animation: snowfall 8s linear infinite;
	animation-delay: -2s;
}

.snowflake:nth-child(43) {
	--size: 0.8vw;
	--left-ini: 5vw;
	--left-end: -5vw;
	left: 99vw;
	animation: snowfall 10s linear infinite;
	animation-delay: -10s;
}

.snowflake:nth-child(44) {
	--size: 0.4vw;
	--left-ini: -6vw;
	--left-end: -6vw;
	left: 70vw;
	animation: snowfall 14s linear infinite;
	animation-delay: -5s;
}

.snowflake:nth-child(45) {
	--size: 0.8vw;
	--left-ini: 4vw;
	--left-end: 2vw;
	left: 75vw;
	animation: snowfall 12s linear infinite;
	animation-delay: -9s;
}

.snowflake:nth-child(46) {
	--size: 0.4vw;
	--left-ini: -8vw;
	--left-end: 2vw;
	left: 74vw;
	animation: snowfall 13s linear infinite;
	animation-delay: -6s;
}

.snowflake:nth-child(47) {
	--size: 0.2vw;
	--left-ini: 0vw;
	--left-end: 0vw;
	left: 74vw;
	animation: snowfall 6s linear infinite;
	animation-delay: -6s;
}

.snowflake:nth-child(48) {
	--size: 0.8vw;
	--left-ini: 8vw;
	--left-end: -6vw;
	left: 65vw;
	animation: snowfall 7s linear infinite;
	animation-delay: -7s;
}

.snowflake:nth-child(49) {
	--size: 0.8vw;
	--left-ini: 1vw;
	--left-end: -1vw;
	left: 70vw;
	animation: snowfall 7s linear infinite;
	animation-delay: -9s;
}

.snowflake:nth-child(50) {
	--size: 0.6vw;
	--left-ini: 3vw;
	--left-end: -1vw;
	left: 18vw;
	animation: snowfall 15s linear infinite;
	animation-delay: -6s;
}

/* added small blur every 6 snowflakes*/
.snowflake:nth-child(6n) {
	filter: blur(1px);
}

.tabs {
	margin-bottom: 0;
}

.tabs+.filter__controls_wrap {
	margin-bottom: 50px;
}

@media screen and (max-width:1152px) {
	.tabs+.filter__controls_wrap {
		display: flex !important;
	}
}

/* Compact program filters: chips plus a dedicated sort control. */
#tabs .programs-seo-intro + .tabs__wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 18px;
	align-items: start;
}

#tabs .programs-seo-intro + .tabs__wrap .tabs {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 !important;
}

#tabs .programs-seo-intro + .tabs__wrap .tabs li {
	margin: 0;
}

#tabs .programs-seo-intro + .tabs__wrap .tabs li::after {
	display: none;
}

#tabs .programs-seo-intro + .tabs__wrap .tabs li a {
	display: block;
	padding: 10px 14px;
	border: 1px solid #4f3425;
	border-radius: 0;
	color: #eeeeee;
	font-family: Gilroy, sans-serif;
	font-size: 15px;
	line-height: 1.2;
}

#tabs .programs-seo-intro + .tabs__wrap .tabs li.active a,
#tabs .programs-seo-intro + .tabs__wrap .tabs li:hover a {
	border-color: #de9058;
	background: rgba(222, 144, 88, 0.12);
	color: #de9058;
}

#tabs .programs-seo-intro + .tabs__wrap .filter__controls_wrap {
	display: block;
	margin: 0 !important;
}

#tabs .programs-seo-intro + .tabs__wrap .filter__sort_wrap {
	position: relative;
	width: 100%;
}

#tabs .programs-seo-intro + .tabs__wrap .filter__sort_wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 18px;
	width: 8px;
	height: 8px;
	border-right: 2px solid #de9058;
	border-bottom: 2px solid #de9058;
	transform: translateY(-70%) rotate(45deg);
	pointer-events: none;
}

#tabs .programs-seo-intro + .tabs__wrap .filter__sort_wrap select {
	appearance: none;
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0 46px 0 16px;
	border: 1px solid #4f3425;
	background: #191617;
	color: #f5f5f5;
	font-family: Gilroy, sans-serif;
	font-size: 16px;
}

#tabs .programs-seo-intro + .tabs__wrap .tabs__content {
	grid-column: 1 / -1;
	margin-top: 32px;
}

@media screen and (max-width:1152px) {
	#tabs .programs-seo-intro + .tabs__wrap {
		display: block;
	}

	#tabs .programs-seo-intro + .tabs__wrap .tabs {
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		margin: 0 -16px 18px !important;
		padding: 0 16px 8px;
		scrollbar-width: none;
		scroll-snap-type: x proximity;
	}

	#tabs .programs-seo-intro + .tabs__wrap .tabs::-webkit-scrollbar {
		display: none;
	}

	#tabs .programs-seo-intro + .tabs__wrap .tabs li {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	#tabs .programs-seo-intro + .tabs__wrap .filter__controls_wrap {
		display: block !important;
		margin-bottom: 30px !important;
	}

	#tabs .programs-seo-intro + .tabs__wrap .tabs__content {
		margin-top: 0;
	}
}

.faq__item {
	padding: 16px;
	cursor: pointer;
	background: #202020;
	margin-bottom: 32px;
}

.faq__item_title {
	position: relative;
}

.faq__item_title::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%) rotate(45deg);
	width: 5px;
	height: 5px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
}

.faq__item_title p,
.faq__item_title h2,
.faq__item_title h3,
.faq__item_title h4,
.faq__item_title h5,
.faq__item_title h6 {
	margin: 0;
	font-family: Constantia;
	font-size: 24px;
}

.faq__item_text {
	margin-top: 0px;
	max-height: 0px;
	overflow: hidden;
	transition: all 0.2s ease-out;
}

.faq__item.active .faq__item_text {
	max-height: 1000px;
	margin-top: 24px;
}

.faq__item_text p,
.faq__item_text h2,
.faq__item_text h3,
.faq__item_text h4,
.faq__item_text h5,
.faq__item_text h6 {
	margin: 0;
	font-family: Gilroy;
	font-size: 16px;
	color: #909090;
}

@media screen and (max-width:768px) {

	.faq__item_title p,
	.faq__item_title h2,
	.faq__item_title h3,
	.faq__item_title h4,
	.faq__item_title h5,
	.faq__item_title h6 {
		font-size: 18px;
	}

	.faq__item_text p,
	.faq__item_text h2,
	.faq__item_text h3,
	.faq__item_text h4,
	.faq__item_text h5,
	.faq__item_text h6 {
		font-size: 14px;
	}
}


.dropdown {
	position: relative;
}

.dropdown-content {
	position: absolute;
	top: -30000px;
}

.dropdown:hover .dropdown-content {
	top: 100%;
}

.dropdown-content a {
	display: block;
	padding: 5px 0;
}

.dropdown>a {
	position: relative;
}

.dropdown>a:before {
	content: "";
	border-right: 2px solid white;
	border-bottom: 2px solid white;
	width: 5px;
	height: 5px;
	transform: translateY(-5px) rotate(45deg);
	position: absolute;
	right: -14px;
	top: 50%;
}

.breadcrumbs {
	max-width: 400px;
}

.breadcrumbs ul {
	justify-content: center;
	gap: 10px;
}


.programma-order-15 {
	order: 1;
}

.programma-order-17 {
	order: 2;
}

@media screen and (max-width:768px) {

	.dropdown>a:before {
		content: unset;
	}

	.dropdown-content {
		position: unset;
	}

	.footer__top nav ul li .dropdown-content a {
		padding: 0;
	}

	.footer__top nav ul li .dropdown-content {
		display: flex;
		flex-direction: column;
		gap: 15px;
	}
}


.cookie-popup {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	bottom: 10px;
	background: #202020;
	border-radius: 5px;
	padding: 20px;
	color: #de9058;
}

.cookie-popup__close {
	position: absolute;
	right: 5px;
	top: 5px;
	width: 20px;
	height: 20px;
	background-image: url('data:image/svg+xml,%3Csvg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cg id="SVGRepo_bgCarrier" stroke-width="0"%3E%3C/g%3E%3Cg id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"%3E%3C/g%3E%3Cg id="SVGRepo_iconCarrier"%3E%3Cpath d="M6.99486 7.00636C6.60433 7.39689 6.60433 8.03005 6.99486 8.42058L10.58 12.0057L6.99486 15.5909C6.60433 15.9814 6.60433 16.6146 6.99486 17.0051C7.38538 17.3956 8.01855 17.3956 8.40907 17.0051L11.9942 13.4199L15.5794 17.0051C15.9699 17.3956 16.6031 17.3956 16.9936 17.0051C17.3841 16.6146 17.3841 15.9814 16.9936 15.5909L13.4084 12.0057L16.9936 8.42059C17.3841 8.03007 17.3841 7.3969 16.9936 7.00638C16.603 6.61585 15.9699 6.61585 15.5794 7.00638L11.9942 10.5915L8.40907 7.00636C8.01855 6.61584 7.38538 6.61584 6.99486 7.00636Z" fill="%23de9058"%3E%3C/path%3E%3C/g%3E%3C/svg%3E');
	cursor: pointer;
}

@media screen and (max-width: 768px) {
	.cookie-popup {
		left: 10px;
		transform: unset;
		bottom: 125px;
		padding: 10px;
		right: 10px;
		font-size: 12px;
	}

	.contacts__text_wrap h3 {
		font-size: 26px;
	}
}



.halloween__popup .popup {
	padding: 0;
	width: 1080px;
	height: 1080px;
	max-height: 80vh;
	max-width: 80vh;
}

.halloween__popup .popup__inner {
	border: unset;
	padding: 40px 50px;
	justify-content: flex-end;
	align-items: stretch;
	background-image: url("../img/halloween.webp");
}

.halloween__popup .popup__logo {
	display: none;
}

.halloween__text {
	font-weight: 500;
	font-size: 25px;
	line-height: 120%;
	letter-spacing: -1%;
	text-transform: uppercase;
}

.halloween__top {
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}

.halloween__bottom {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.halloween__bottom .halloween__text {
	font-size: 18px;
	text-align: center;
	padding-top: 10px;
	border-top: 1px solid #535353;
	width: 100%;
	font-weight: 400;
}

@media screen and (max-width: 2000px) {
	.halloween__popup .popup__inner {
		padding: 20px 30px;
	}

	.halloween__top {
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 1600px) {
	.halloween__popup .popup__inner {
		padding: 15px;
	}

	.halloween__bottom .halloween__text {
		font-size: 14px;
	}

	.halloween__text {
		font-size: 20px;
	}
}

@media screen and (min-width: 768px) {
	.halloween__content.no-desktop {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.halloween__popup .popup {
		height: unset;
		height: 510px;
		width: 300px;
		max-width: unset;
		max-height: unset;
	}

	.halloween__popup .popup__inner {
		background-position: unset;
		background-image: url("../img/halloween_m.webp");
		background-size: contain;
	}

	.halloween__text {
		font-size: 16px;
		text-align: center;
		margin-bottom: 10px;
	}
}
