

/* Start:/local/templates/fhso_2025/assets/css/style.css?177200645313362*/
/* ============================================
   ОБЩИЕ СТИЛИ ДЛЯ ВСЕГО САЙТА
   ============================================ */

/* ============================================
   ИМПОРТЫ
   ============================================ */
@import url("https://fonts.googleapis.com/css2?family=Unbounded:wght@400;500;700;800&family=Wix+Madefor+Display:wght@500;600;700;800&display=swap");

/* ============================================
   CSS ПЕРЕМЕННЫЕ
   ============================================ */
:root {
	/* Цвета */
	--color-primary: #004890;
	--color-primary-dark: #003067;
	--color-primary-darker: #001c47;
	--color-accent: #0085e4;
	--color-accent-light: #0db7ff;
	--color-secondary: #a2d9f3;
	--color-secondary-light: #cbebfa;
	--color-secondary-lighter: #83c2ee;
	--color-bg-white: #ffffff;
	--color-bg-light: #f2f7f8;
	--color-bg-lighter: #e5ecf2;
	--color-text-primary: #16323b;
	--color-text-secondary: #6e8ea2;
	--color-text-dark: #001c47;
	--color-text-blue: #004890;

	/* Типографика */
	--font-heading: "Unbounded", sans-serif;
	--font-body: "Wix Madefor Display", sans-serif;

	/* Отступы */
	--spacing-xs: 4px;
	--spacing-sm: 10px;
	--spacing-md: 20px;
	--spacing-lg: 24px;
	--spacing-xl: 40px;
	--spacing-2xl: 48px;

	/* Скругления */
	--radius-sm: 6px;
	--radius-md: 12px;
	--radius-lg: 24px;
	--radius-xl: 48px;
	--radius-2xl: 64px;

	/* Тени */
	--shadow-sm: 0px 12px 20px rgba(0, 48, 103, 0.25);
	--shadow-md: 0px 24px 32px rgba(0, 28, 71, 0.25);
	--shadow-lg: 0px 32px 32px rgba(0, 28, 71, 0.25);
	--shadow-xl: 0px 48px 96px rgba(0, 28, 71, 0.5);
	--shadow-card: 0px 32px 48px rgba(16, 113, 174, 0.1);
}

/* ============================================
   СБРОС И БАЗОВЫЕ СТИЛИ
   ============================================ */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	/* outline: 2px solid red; */
}

body {
	font-family: var(--font-body);
	color: var(--color-text-primary);
	background: linear-gradient(180deg, #003067 0%, #0064b5 100%);
	background-blend-mode: color;
	background-repeat: no-repeat;
	background-size: contain;
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	text-decoration: none;
	color: inherit;
}

button {
	border: none;
	background: none;
	cursor: pointer;
	font-family: inherit;
}

textarea {
	resize: none;
}

table {
	border-spacing: 0;
}

/* ============================================
   КОНТЕЙНЕР
   ============================================ */
.container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ============================================
   ОБЩИЕ СЕКЦИИ
   ============================================ */
/* .section {
	padding: 40px 0;
} */

/* ============================================
   ФОНОВЫЕ ЭЛЕМЕНТЫ
   ============================================ */

.top-bg.page404 {
	background-image: url(/local/templates/fhso_2025/assets/css/../img/zaglushka.png);
}

/* ============================================
   ТИПОГРАФИКА
   ============================================ */
.heading-xl {
	font-family: var(--font-heading);
	font-size: clamp(32px, 3vw, 40px);
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.25;
}

.heading-lg {
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: 800;
	text-transform: uppercase;
}

.heading-md {
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 700;
}

.heading-sm {
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1;
}

.text-lg {
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1;
}

.text-md {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 600;
}

.text-sm {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
}

.text-xs {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.1;
	text-transform: uppercase;
}

/* ============================================
   УТИЛИТАРНЫЕ КЛАССЫ
   ============================================ */
.text-white {
	filter: drop-shadow(0px 4px 16px #001c4733);
	color: #ffffff;
}

.gradient-text {
	background: linear-gradient(90deg, #0085e4 0%, #0db7ff 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.gradient-text-dark {
	background: linear-gradient(88.88deg, #001c47 0.19%, #0064b5 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.gradient-text-white {
	background: linear-gradient(88.88deg, #ffffff 0.19%, #c7f7ff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.text-blue {
	color: var(--color-text-blue);
}

.text-light-blue {
	color: var(--color-secondary-light);
}

.text-dark {
	color: var(--color-text-dark);
}

.bg-primary {
	background-color: var(--color-primary);
}

.bg-white {
	background-color: var(--color-bg-white);
}

.bg-light {
	background-color: var(--color-bg-light);
}

.wave-decoration {
	position: relative;
	background: linear-gradient(180deg, #ffffff 0%, #e5f0f2 100%);
	border-radius: 0 var(--radius-lg) var(--radius-lg);
	padding: var(--spacing-md);
}

.wave-decoration.bg-white {
	background: var(--color-bg-white);
}

/* ============================================
   КОМПОНЕНТЫ: КНОПКИ
   ============================================ */

.breadcrumbs {
	width: fit-content;
	margin: 40px 0;
}

.breadcrumbs__swiper {
	overflow: hidden;
	padding: 12px 24px;
	border-radius: 24px;
	width: 100%;
	box-shadow: 0px 4px 4px 2px #001c471a inset, 0px 16px 24px -8px #001c4740;
}

.breadcrumbs__item {
	font-weight: 600;
	font-size: 18px;
	line-height: 100%;
	text-transform: uppercase;
	color: #d7ebef;
	text-shadow: 0px 1px 1px #06183240;
}

.breadcrumbs__item.active-page {
	color: #ffffff;
}

.breadcrumbs__item + svg {
	margin: 0 12px;
}

.breadcrumbs__list {
	display: flex;
	align-items: center;
}

.breadcrumbs__slide {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
	width: auto;
}

.breadcrumbs__slide svg {
	margin: 0;
	flex-shrink: 0;
}

.next-paragraph {
	display: block;
	height: 24px;
}

.pre-paragraph {
	margin-right: 12px;
}

.btn {
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 800;
	text-transform: uppercase;
	padding: 10px 24px;
	border-radius: var(--radius-xl);
	transition: all 0.3s ease;
	display: inline-block;
	min-height: 64px;
}

a.btn {
	display: flex;
	align-items: center;
	text-align: center;
}

.btn-primary {
	background: #0064b5e5;
	color: var(--color-bg-white);
	padding: 10px 48px;
	box-shadow: 0px 16px 24px -8px #0064b540;
}

.btn-secondary {
	background: #0064b540;
	box-shadow: 0px 16px 24px -8px #001c4766;
	color: var(--color-bg-white);
}

.banner-btn {
	box-shadow: 0px 16px 24px -8px #001c4740, 0px 4px 4px 2px #001c471a inset,
		0px 0px 0px 0.5px #ffffff33 inset, 0px 0px 2px 1px #ffffff80 inset;
	background-color: #0064b580;
}

.swiper__buttons-wrapper {
	display: flex;
	align-items: center;
	gap: 8px;
	position: relative;
	top: 25px;
}

.swiper__btn-prev,
.swiper__btn-next {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #0064b540;
	box-shadow: 0px 16px 24px -8px #001c4766;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	top: calc(50% + 32px);
	cursor: pointer;
	pointer-events: auto;
}

.swiper__btn-prev.glass__container,
.swiper__btn-next.glass__container {
	pointer-events: auto;
}

/* ============================================
   ОВЕРЛЕЙ ДЛЯ КАРТЫ
   ============================================ */

.map::before,
.map::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1;
	border-radius: 24px;
}
/*
.map::before {
	background: #0045ad59;
	mix-blend-mode: normal;
}

.map::after {
	background: #0045ad;
	mix-blend-mode: color;
}
 */
/* ============================================
   КОМПОНЕНТ: SCROLLBAR
   ============================================ */

.custom-scrollbar {
	position: absolute;
	/* bottom: 30px; */
	left: 32px;
	width: calc(100% - 64px);
	height: 16px;
	background: #eaf5f9;
	border-radius: 16px;
	z-index: 10;
	box-shadow: 0px 1px 1px 0px #001c4726 inset, 0px 1px 4px 1px #001c4726 inset;
}

.scroll-thumb {
	position: absolute;
	left: -12px;
	top: -8px;
	width: 400px;
	background: #1cb3ff80;
	height: 32px;
	border-radius: 32px;
	cursor: pointer;
	box-shadow: 0px 6px 6px -4px #001c4733, 0px 2px 4px 2px #0045ad40 inset,
		0px 0px 1px 1px #ffffffbf inset;
}

.scroll-thumb::before {
	position: absolute;
	content: "";
	width: calc(100% - 16px);
	height: 12px;
	top: 4px;
	left: 8px;
	background: #ffffff;
	backdrop-filter: blur(4px);
	border-radius: 12px;
	opacity: 0.3;
}

/* ============================================
   КОМПОНЕНТЫ: КАРТОЧКА (общая)
   ============================================ */
.card {
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
	transform: translateY(-4px);
}

/* ============================================
   КОМПОНЕНТЫ: ЗАГОЛОВОК (общая)
   ============================================ */

.section-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 var(--spacing-lg) 0 0;
	margin: 0;
}

.heading-figure {
	background: #ffffff;
	padding-top: 34px;
	padding-left: var(--spacing-lg);
	border-radius: 24px 0 0;
	position: relative;
	width: fit-content;
}

@supports (-moz-appearance: none) {
	.bg-liquid-glass {
		backdrop-filter: blur(4px) !important;
	}
}

.heading-figure::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 100%;
	aspect-ratio: 201 / 66;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 201 66' preserveAspectRatio='none'%3E%3Cpath d='M201 66C84 66 107 0 0 0V66H201Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
	/* background-size: contain; */
	background-repeat: no-repeat;
}

.heading-figure + .glass__container {
	top: 30px;
	z-index: 1;
}

.heading-link {
	font-size: 18px;
	font-weight: 800;
	text-transform: uppercase;
	padding: 23px 24px;
	border-radius: var(--radius-xl);
	transition: all 0.3s ease;
	display: inline-block;
	background: #0064b540;
	box-shadow: 0px 16px 24px -8px #001c4766;
	color: var(--color-bg-white);
}

.glass__container {
	position: relative;
}

/* ============================================
   КОМПОНЕНТЫ: LIQUID GLASS
   ============================================ */

.bg-liquid-glass {
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	z-index: 1;
	@apply bg-muted/25;
}

@supports not (hanging-punctuation: first) {
	.bg-liquid-glass {
		backdrop-filter: url(#displacementFilter) blur(2px);
	}
}

/* ============================================
   АДАПТИВНОСТЬ (общие правила)
   ============================================ */
@media (max-width: 991px) {
	.heading-figure h2 {
		width: min-content;
	}

	/* @supports (-moz-appearance: none) {
		.heading-figure h2 {
			width: min-content;
		}
	} */
}

@media (max-width: 768px) {
	/* .section {
		padding: 20px 0;
	} */

	.heading-xl {
		font-size: 24px;
	}

	.heading-lg {
		font-size: 16px;
	}

	.heading-md {
		font-size: 18px;
	}

	.text-md {
		font-size: 14px;
	}
	.breadcrumbs {
		margin: 20px 10px;
	}

	.breadcrumbs__item {
		font-size: 12px;
	}

	.breadcrumbs__swiper {
		padding: 8px 12px;
	}

	.section-header {
		text-align: center;
		justify-content: center;
		padding: 0;
	}

	.heading-figure {
		border-radius: 0;
		padding-left: 0;
		width: 66%;
		padding-top: 10px;
		max-height: 37px;
		max-width: none;
	}

	.heading-figure h2 {
		width: auto;
		position: relative;
		z-index: 1;
		hyphens: auto;
		-moz-hyphens: auto;
	}

	.heading-figure::after {
		width: 17%;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 38' preserveAspectRatio='none'%3E%3Cpath d='M38 38C29.7157 38 23 31.2843 23 23C23 10.2975 12.7025 0 0 0V23V38H38Z' fill='white'/%3E%3C/svg%3E");
		aspect-ratio: auto;
		transform: scaleX(1);
	}

	.heading-figure::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 100%;
		width: 17%;
		transform: scaleX(-1);
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 38' preserveAspectRatio='none'%3E%3Cpath d='M38 38C29.7157 38 23 31.2843 23 23C23 10.2975 12.7025 0 0 0V23V38H38Z' fill='white'/%3E%3C/svg%3E");
		background-size: contain;
		background-repeat: no-repeat;
	}

	.section-header .glass__container {
		display: none;
	}

	.wave-decoration {
		border-radius: var(--radius-lg);
		padding: 24px 10px 10px;
	}

	.swiper__buttons-wrapper {
		display: none;
	}
}

@media (max-width: 550px) {
	.container {
		padding: 0 10px;
	}

	.breadcrumbs {
		width: auto;
	}
}

@supports (-moz-appearance: none) {
	.heading-figure::after,
	.heading-figure::before {
		width: auto;
		aspect-ratio: 201 / 66;
	}
}
@media not all and (min-resolution: 0.001dpcm) {
	.heading-figure::after,
	.heading-figure::before {
		width: 100%;
		aspect-ratio: auto;
	}
}

/* End */


/* Start:/local/templates/fhso_2025/assets/css/header.css?179025033517007*/
/* ============================================
   HEADER
   ============================================ */
.header {
	position: relative;
	margin-top: 20px;
	z-index: 1000;
	border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.header__top {
	background: linear-gradient(0deg, #ffffff 0%, #f0f0f0 100%);
	box-shadow: inset 0px -1px 0px #ffffff;
	padding: 10px;
	border-radius: 24px 24px 0 0;
}

.header__top-content {
	display: flex;
	justify-content: flex-end;
	gap: var(--spacing-md);
	align-items: center;
}

.header__emblems {
	display: flex;
	gap: var(--spacing-sm);
}

.header__emblem {
	display: flex;
	align-items: center;
	gap: 5px;
	background-color: #e2f1fe;
	padding: 4px 8px;
	border-radius: 10px;
}

.header__emblem img {
	width: 35px;
	height: auto;
}

.header__emblem-text {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--color-text-secondary);
}

.header__search {
	display: flex;
	align-items: center;
	margin-left: var(--spacing-sm);
	gap: var(--spacing-sm);
	background-color: #e5ecf2;
	border-radius: var(--spacing-sm);
	width: 387px;
}

.header__search-input {
	padding: 12px 20px;
	border: none;
	outline: none;
	background-color: transparent;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 500;
	color: var(--color-text-secondary);
	width: 100%;
}

.header__search-input::placeholder {
	color: var(--color-text-secondary);
}

.header__search-btn {
	width: 48px;
	height: 100%;
	background: linear-gradient(
		180deg,
		#0085e4 0%,
		#006fc3 52.88%,
		#0064b5 59.62%,
		#0068bc 80.77%,
		#0075d5 100%
	);
	box-shadow: 0px 0px 0px 1px #ffffff40 inset;
	border: 1px solid #018ad6;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0 10px 10px 0;
}

.header__nav {
	display: grid;
	background: linear-gradient(
		90deg,
		rgba(11, 165, 243, 0.8) 0%,
		rgba(0, 100, 181, 0.8) 100%
	);
	box-shadow:
		inset 0px 2px 1px rgba(0, 28, 71, 0.15),
		inset 0px 2px 6px 2px rgba(0, 28, 71, 0.1);
	border-radius: 0 0 24px 24px;
	padding: 5px 10px;
}

.header__nav .header__search-btn {
	display: none;
}

.search__form {
	background: linear-gradient(180deg, #ffffff 0%, #f0f0f0 100%);
	padding: 7px 12px;
	border-radius: 22px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	flex-grow: 1;
}

.search__form--mobile {
	display: none;
}

.search__input {
	border: none;
	outline: none;
	flex-grow: 1;
	background: inherit;
	min-width: 130px;
}

.search__input,
.search__input::placeholder {
	font-family: var(--font-body);
	color: #6e8ea2;
	font-size: 16px;
	font-weight: 500;
}

.header__nav.header-sticky {
	position: fixed;
	transition: all 0.6s ease;
	z-index: 5;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 40px);
	max-width: 1400px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-radius: var(--radius-xl);
	/* background: linear-gradient(
		90deg,
		rgb(11, 165, 243) 0%,
		rgb(0, 100, 181) 100%
	); */
	padding: 5px;
}

.header__nav.header-sticky .header__search-btn {
	display: flex;
    width: auto;
    background: none;
    box-shadow: none;
    border: none;
    outline: none;
    flex-grow: 1;
    flex-direction: row;
    justify-content: flex-start;
}

.header__nav-list {
	display: flex;
	width: fit-content;
	justify-self: flex-end;
	gap: 30px;
	justify-content: flex-end;
	padding: 6px;
	border-radius: 6px 6px 12px 6px;
	box-shadow: 0px 2px 6px 2px #001c471a inset;
	background: #00306740;
}

.header__nav.header-sticky .header__nav-list {
	border-radius: 6px var(--radius-lg) var(--radius-lg) 6px;
	padding: 6px 12px 6px;
	transition: all 0.5s ease-in-out;
}

.header__nav.header-sticky .header__nav-list.nav-hide {
	transform: translateX(100%);
	visibility: hidden;
	opacity: 0;
	display: none;
}

.header__nav-item {
	display: flex;
	align-items: center;
	gap: 5px;
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 600;
	text-transform: uppercase;
	color: #d7ebef;
	transition: color 0.3s ease;
}

.dropdown__link {
	position: relative;
}

.dropdown__link::after {
	position: absolute;
	bottom: -30px;
	content: "";
	left: 0;
	width: 100%;
	height: 30px;
}

.header__nav-dropdown {
	position: absolute;
	top: calc(100% + 8px);
	box-shadow:
		0px 32px 48px -16px #001c4780,
		0px 0px 0px 1px #ffffff26 inset;
	padding: 24px;
	border-radius: 24px;
	display: none;
	z-index: 10;
	flex-direction: column;
	gap: 10px;
	background-blend-mode: overlay, multiply;
	background: #0066b940;
	overflow: hidden;
}

.header__nav-dropdown--desktop::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #0066b9a6;
	z-index: -1;
}

.header__nav-dropdown--mobile {
	display: none;
}

.header__nav-dropdown a {
	text-shadow: 0px 1px 2px #001c4740;
	font-weight: 600;
	font-size: 18px;
	line-height: 100%;
	text-transform: uppercase;
	color: #ffffff;
}

@media (min-width: 1101px) {
	.header__dropdown-wrapper:hover .header__nav-dropdown {
		display: flex;
	}

	.header__dropdown-wrapper:hover .header__nav-chevron {
		transform: rotate(180deg);
	}
}

.header__nav-item:hover {
	color: var(--color-bg-white);
}

.header__nav-item--active {
	color: var(--color-bg-white);
}

.header__nav-title {
	text-shadow: 0px 1px 1px #06183240;
	white-space: nowrap;
}

.header__nav-chevron {
	width: 11px;
	height: 6px;
	margin-bottom: 3px;
	margin-left: 5px;
	transition: transform 0.3s ease-in-out;
}

.header__led {
	border-radius: 3px;
	background-color: #041021;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-template-rows: repeat(7, 1fr);
	gap: 1px;
	padding: 1px;
}

.header__led-dot {
	width: 3px;
	height: 3px;
	border-radius: 6px;
	position: relative;
	background:
		radial-gradient(
			52.36% 52.36% at 83.33% 83.33%,
			#ffffff 25.48%,
			rgba(255, 255, 255, 0) 100%
		),
		radial-gradient(
			19.25% 19.25% at 33.33% 33.33%,
			#ffffff 49.52%,
			rgba(255, 255, 255, 0) 100%
		),
		radial-gradient(50% 50% at 50% 50%, #0045ad 0%, #001c47 100%);
	background-blend-mode: overlay, overlay, normal;
}

.header__led-dot::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	opacity: 0;
	transition: opacity 0.3s ease 0.3s;
	background:
		radial-gradient(50% 50% at 50% 50%, #1cb3ff 0%, #0066b9 100%),
		radial-gradient(
			16.67% 16.67% at 33.33% 33.33%,
			rgba(255, 255, 255, 0.5) 49.52%,
			rgba(255, 255, 255, 0) 100%
		),
		radial-gradient(
			40.38% 40.38% at 83.33% 83.33%,
			rgba(255, 255, 255, 0.5) 25.48%,
			rgba(255, 255, 255, 0) 100%
		),
		radial-gradient(50% 50% at 50% 50%, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
	box-shadow:
		0px 0px 12px 0px #0058bd80,
		0px 0px 6px 0px #0058bd,
		0px 0px 2px 0px #0065d8,
		0px 0px 1px 0px #0085e4;
	/* background-blend-mode: overlay, overlay, normal; */
	background-blend-mode: hard-light;
}

.header__nav-item:hover .header__led-dot:nth-child(1)::before,
.header__nav-item:hover .header__led-dot:nth-child(2)::before,
.header__nav-item:hover .header__led-dot:nth-child(7)::before,
.header__nav-item:hover .header__led-dot:nth-child(8)::before,
.header__nav-item:hover .header__led-dot:nth-child(13)::before,
.header__nav-item:hover .header__led-dot:nth-child(14)::before,
.header__nav-item:hover .header__led-dot:nth-child(19)::before,
.header__nav-item:hover .header__led-dot:nth-child(20)::before,
.header__nav-item:hover .header__led-dot:nth-child(23)::before,
.header__nav-item:hover .header__led-dot:nth-child(24)::before,
.header__nav-item:hover .header__led-dot:nth-child(27)::before,
.header__nav-item:hover .header__led-dot:nth-child(28)::before,
.header__nav-item:hover .header__led-dot:nth-child(31)::before,
.header__nav-item:hover .header__led-dot:nth-child(32)::before {
	opacity: 1;
}

.header__nav-item.header__nav-item--active .header__led-dot:nth-child(1)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(2)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(7)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(8)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(13)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(14)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(19)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(20)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(23)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(24)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(27)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(28)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(31)::before,
.header__nav-item.header__nav-item--active .header__led-dot:nth-child(32)::before {
	opacity: 1;
}

.header__logo {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
	position: absolute;
	top: 0;
}

.header__nav .header__logo {
	display: none;
}

.header__nav.header-sticky .header__logo {
	display: flex;
	position: relative;
}

.header__logo-box {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	height: 60px;
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		rgba(255, 255, 255, 0.8) 100%
	);
	padding: 10px 12px;
	backdrop-filter: blur(8px);
	box-shadow:
		inset 0px 0px 0px 1px #ffffff,
		0px 12px 20px rgba(0, 48, 103, 0.25);
	border-radius: var(--radius-md);
	transform: translateY(50%);
}

.header__nav.header-sticky .header__logo-box {
	transform: translateY(0);
	height: 38px;
	border-radius: var(--radius-lg);
	padding-right: 30px;
	padding-left: 30px;
}

.header__logo-img {
	aspect-ratio: 1 / 2;
	height: 110px;
	position: relative;
	z-index: 1;
}

.header__nav.header-sticky .header__logo-img {
	height: 50px;
	min-width: 25px;
}

.header__logo-text {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 800;
	text-transform: uppercase;
	color: #000000;
	position: relative;
	z-index: 1;
	max-width: 215px;
	line-height: 1.25;
}

.header__nav.header-sticky .header__logo-text {
	font-size: 14px;
}

.header__burger {
	display: none;
	align-items: center;
	gap: 5px;
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 600;
	text-transform: uppercase;
	color: #d7ebef;
	transition: color 0.3s ease;
}

.header__burger .header__led {
	grid-template-columns: repeat(7, 1fr);
	grid-template-rows: repeat(7, 1fr);
	cursor: pointer;
}

.header__burger .header__led-dot:nth-child(n + 8):nth-child(-n + 21)::before,
.header__burger .header__led-dot:nth-child(n + 29):nth-child(-n + 42)::before {
	opacity: 1;
}

.header__led.open-state .header__led-dot:nth-child(11)::before,
.header__led.open-state .header__led-dot:nth-child(15)::before,
.header__led.open-state .header__led-dot:nth-child(21)::before,
.header__led.open-state .header__led-dot:nth-child(29)::before,
.header__led.open-state .header__led-dot:nth-child(35)::before,
.header__led.open-state .header__led-dot:nth-child(39)::before {
	opacity: 0;
}

.header__led.open-state .header__led-dot:nth-child(1)::before,
.header__led.open-state .header__led-dot:nth-child(2)::before,
.header__led.open-state .header__led-dot:nth-child(6)::before,
.header__led.open-state .header__led-dot:nth-child(7)::before,
.header__led.open-state .header__led-dot:nth-child(8)::before,
.header__led.open-state .header__led-dot:nth-child(9)::before,
.header__led.open-state .header__led-dot:nth-child(10)::before,
.header__led.open-state .header__led-dot:nth-child(12)::before,
.header__led.open-state .header__led-dot:nth-child(13)::before,
.header__led.open-state .header__led-dot:nth-child(14)::before,
.header__led.open-state .header__led-dot:nth-child(16)::before,
.header__led.open-state .header__led-dot:nth-child(17)::before,
.header__led.open-state .header__led-dot:nth-child(18)::before,
.header__led.open-state .header__led-dot:nth-child(19)::before,
.header__led.open-state .header__led-dot:nth-child(20)::before,
.header__led.open-state .header__led-dot:nth-child(24)::before,
.header__led.open-state .header__led-dot:nth-child(25)::before,
.header__led.open-state .header__led-dot:nth-child(26)::before,
.header__led.open-state .header__led-dot:nth-child(30)::before,
.header__led.open-state .header__led-dot:nth-child(31)::before,
.header__led.open-state .header__led-dot:nth-child(32)::before,
.header__led.open-state .header__led-dot:nth-child(33)::before,
.header__led.open-state .header__led-dot:nth-child(34)::before,
.header__led.open-state .header__led-dot:nth-child(36)::before,
.header__led.open-state .header__led-dot:nth-child(37)::before,
.header__led.open-state .header__led-dot:nth-child(38)::before,
.header__led.open-state .header__led-dot:nth-child(40)::before,
.header__led.open-state .header__led-dot:nth-child(41)::before,
.header__led.open-state .header__led-dot:nth-child(42)::before,
.header__led.open-state .header__led-dot:nth-child(43)::before,
.header__led.open-state .header__led-dot:nth-child(44)::before,
.header__led.open-state .header__led-dot:nth-child(48)::before,
.header__led.open-state .header__led-dot:nth-child(49)::before {
	opacity: 1;
}

/* ============================================
   АДАПТИВНОСТЬ HEADER
   ============================================ */
@media (max-width: 1350px) {
	.header__emblems {
		display: grid;
		grid-template-columns: repeat(3, auto);
	}

	.header__search {
		width: 100%;
		margin: 0;
		grid-column: 1/4;
		justify-content: space-between;
	}

	.header__nav.header-sticky .header__logo-box {
		width: 100%;
		justify-content: center;
	}

	.header__nav.header-sticky .header__logo-text {
		display: none;
	}
}

@media (max-width: 1200px) {
	.header__nav-list {
		gap: 15px;
	}

	/* .header__nav-item {
		font-size: 16px;
	} */
}

@media (max-width: 1024px) {
	.header__nav-list {
		flex-wrap: wrap;
	}

	.header__emblem {
		justify-content: center;
	}

	.header__emblem-text {
		display: none;
	}
}

@media (max-width: 1100px) {
	.header__nav {
		position: relative;
		display: flex;
		align-items: center;
		border-radius: 12px;
		padding: 4px;
		gap: 10px;
		z-index: 1;
	}

	.header__nav-chevron path {
		stroke: #001c47;
	}

	.header__dropdown-wrapper {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.header__nav-dropdown {
		background: #f3f9fa;
		padding: 0;
		gap: 20px;
		box-shadow: none;
	}

	.header__nav-dropdown a {
		color: #001c47;
		text-shadow: none;
	}

	.header__nav-dropdown--mobile {
		position: relative;
		display: none;
		height: 0;
	}

	.header__dropdown-wrapper.visible .header__nav-dropdown--mobile {
		height: auto;
		display: flex;
		padding: 12px;
		margin-top: 21px;
	}

	.header__dropdown-wrapper:hover .header__nav-dropdown--desktop {
		display: none;
	}

	.header__dropdown-wrapper.visible .header__nav-chevron {
		transform: rotate(180deg);
	}

	.search__form--mobile {
		display: flex;
		background: #f3f9fa;
	}

	.search__form--mobile svg {
		min-width: 24px;
	}

	.header__nav.header-sticky {
		left: auto;
		transform: none;
		border-radius: 12px;
		top: 10px;
		gap: 10px;
		padding: 4px;
	}

	.header__nav-list,
	.header__nav.header-sticky .header__nav-list {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		box-shadow: 0px 24px 32px -16px #001c4740;
		position: absolute;
		top: 100%;
		left: 2.5%;
		width: 95%;
		flex-direction: column;
		gap: 21px;
		flex-wrap: nowrap;
		padding: 24px;
		border-radius: 0 0 24px 24px;
		background-color: #ffffff;
		transition:
			opacity 0.3s ease-in-out,
			visibility 0.3s ease-in-out;
		z-index: -1;
	}

	.header__nav-list.show-state,
	.header__nav.header-sticky .header__nav-list.show-state {
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}

	.header__nav-list .header__nav-title {
		color: #001c47;
		font-family: var(--font-heading);
		text-shadow: none;
	}

	.header__logo {
		display: none;
	}

	.header__nav .header__logo {
		display: flex;
		position: relative;
		flex-grow: 1;
	}

	.header__logo-box {
		width: auto;
		transform: translateY(0);
		height: auto;
		padding: 4px 8px;
	}

	.header__logo-text,
	.header__nav.header-sticky .header__logo-text {
		display: flex;
		font-size: clamp(12px, 3vw, 14px);
		margin-left: 35px;
	}

	.header__logo-img {
		height: 50px;
		min-width: 25px;
		position: absolute;
		left: 8px;
	}

	.header__nav.header-sticky .header__logo-box {
		width: auto;
		border-radius: 8px;
		height: auto;
		padding-left: 8px;
		padding-right: 8px;
	}

	.header__top,
	.header__nav.header-sticky .header__search-btn {
		display: none;
	}

	.header__burger {
		display: flex;
	}
}
@media (max-width: 550px) {
	.header__nav.header-sticky {
		width: calc(100% - 20px);
	}
}

@media (max-width: 425px) {
	.header__burger .header__nav-title {
		display: none;
	}

	.header__logo-box {
		padding: 2px 8px;
	}
}

/* End */


/* Start:/local/templates/fhso_2025/assets/css/main.css?179025033519335*/
/* ============================================
   СТИЛИ ДЛЯ INDEX.HTML
   ============================================ */

/* ============================================
   HERO
   ============================================ */
.banner {
	padding: 40px 0;
	margin: 0 20px;
}

.banner__swiper {
	position: relative;
	overflow: hidden;
}

.banner__swiper .swiper-wrapper {
	position: relative;
	display: flex;
}

.banner__swiper .swiper-slide {
	min-width: 100%;
}

.banner__wrapper {
	height: 600px;
	border-radius: var(--radius-2xl);
	display: flex;
	align-items: flex-end;
	padding: 24px;
	position: relative;
	overflow: hidden;
	width: 100%;
}

.banner__img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: cover;
}

.banner__wrapper picture {
	display: block;
}

.banner__wrapper picture::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: linear-gradient(
		180deg,
		rgba(0, 100, 181, 0) 43.75%,
		rgba(0, 100, 181, 0.9) 100%
	);
	box-shadow: var(--shadow-xl), inset 0px 0px 0px 2px rgba(255, 255, 255, 0.5);
	border-radius: var(--radius-2xl);
}

.banner__content {
	width: 100%;
	display: flex;
	align-items: flex-end;
	gap: 45px;
}

.banner__title-wrapper {
	display: flex;
	flex-direction: column;
	width: 60%;
}

.banner__subtitle {
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: 500;
	filter: drop-shadow(0 0 4px #b3dfff80) drop-shadow(0 0 8px #b3dfff80)
		drop-shadow(0 0 16px #b3dfff80);
	background: linear-gradient(88.88deg, #001c47 0.19%, #0064b5 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	text-transform: uppercase;
}

.banner__title {
	font-family: var(--font-heading);
	font-size: 48px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.1;
	max-width: 800px;
	filter: drop-shadow(0px 4px 16px #001c4733);
	background: linear-gradient(88.88deg, #ffffff 0.19%, #c7f7ff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.banner__dots {
	display: flex;
	align-self: flex-end;
	gap: 4px;
}

.banner__dot {
	display: flex;
	position: relative;
	width: 24px;
	height: 24px;
	--banner-progress-angle: 0deg;
	border-radius: 50%;
	background: #ffffff1a;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.banner__dot::after {
	content: "";
	position: absolute;
	inset: 4px;
	border-radius: 50%;
	background: conic-gradient(
		#ffffff var(--banner-progress-angle, 0deg),
		#ffffff00 0deg
	);
	box-shadow: 0px 0px 32px 0px #1071ae, 0px 0px 8px 0px #1071ae,
		0px 0px 2px 0px #1071ae;
	background-blend-mode: screen;
	-webkit-mask: radial-gradient(
		farthest-side,
		transparent calc(100% - 4px),
		#000 calc(100% - 1px)
	);
	mask: radial-gradient(
		farthest-side,
		transparent calc(100% - 4px),
		#000 calc(100% - 1px)
	);
}

.banner__dot.is-animating::after {
	animation: bannerDotProgress var(--banner-bullet-duration, 3000ms) linear
		forwards;
}

@property --banner-progress-angle {
	syntax: "<angle>";
	inherits: false;
	initial-value: 0deg;
}

@keyframes bannerDotProgress {
	from {
		--banner-progress-angle: 0deg;
	}
	to {
		--banner-progress-angle: 360deg;
	}
}

.banner__controls {
	display: flex;
	align-items: center;
	gap: var(--spacing-md);
	position: absolute;
	bottom: 24px;
	right: 24px;
}

.banner__buttons {
	display: flex;
	align-items: center;
	gap: var(--spacing-md);
}

.banner__btn {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #0064b540;
	box-shadow: 0px 16px 24px -8px #001c4766;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.3s ease;
}

.banner__btn-prev svg {
	position: relative;
	right: 3px;
}

.banner__btn-next svg {
	position: relative;
	left: 3px;
}

/* ============================================
   MATCHES
   ============================================ */
.matches {
	overflow: hidden;
}

.matches__grid-swiper {
	margin-top: var(--spacing-lg);
}

.matches__grid {
	display: flex;
	flex-direction: row;
}

.matches__card {
	display: flex;
	border-radius: var(--radius-lg);
	flex-direction: column;
	/* justify-content: space-between; */
	gap: var(--spacing-sm);
	min-height: 230px;
	width: 280px;
	min-width: 280px;
	box-shadow: 0px 32px 32px -16px #001c4740, 0px 0px 0px 2px #ffffff80 inset;
}

.matches__card--glass {
	background: linear-gradient(
		180deg,
		rgba(0, 100, 181, 0.5) 0%,
		rgba(0, 100, 181, 0.8) 100%
	);
	backdrop-filter: blur(10px);
}

.matches__card--light {
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.95) 0%,
		rgba(255, 255, 255, 0.85) 100%
	);
}

.matches__heading--bottom {
	display: flex;
	flex: 1;
}

.matches__heading--bottom .matches__heading {
	width: 100%;
}

.matches__heading {
	background: #001c4740;
	border-radius: var(--radius-lg);
	text-align: center;
	padding: 7px;
	margin: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.matches__card--light .matches__heading {
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		rgba(255, 255, 255, 0.8) 100%
	);
}

.matches__desc {
	padding: 0 12px 10px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	justify-content: space-between;
}

.matches__teams {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex: 1;
}

.matches__teams-info {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
}

.matches__team {
	display: grid;
	grid-template-columns: auto auto 1fr;
	align-items: center;
	gap: 5px;
}

.matches__team picture {
	background-color: #ffffff;
	padding: 4px;
	border-radius: 8px;
}

.matches__team-logo {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}

.matches__team-name {
	display: flex;
	flex-direction: column;
}

.matches__team-name span:first-child {
	font-weight: 800;
}

.matches__card--light .text-md {
	color: #003067;
}

.matches__scores {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}

.matches__score {
	font-family: var(--font-body);
	font-size: 32px;
	font-weight: 800;
	text-align: center;
}

.matches__time {
	font-family: var(--font-body);
	font-size: 20px;
	font-weight: 800;
	text-transform: uppercase;
}

.matches__card--light .matches__time {
	color: #003067;
}

.matches__date {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
}

.matches__date-number {
	font-family: var(--font-heading);
	font-size: 40px;
	font-weight: 800;
	line-height: 1;
}

.matches__card--light .matches__date-number {
	color: #003067;
}

.matches__date-info {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.matches__date-month {
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 400;
	text-transform: uppercase;
	color: var(--color-accent);
}

.matches__card--light .matches__date-month {
	color: #83c2ee;
}

.matches__date-day {
	font-family: var(--font-heading);
	font-size: 17px;
	font-weight: 800;
	text-transform: uppercase;
}

.matches__card--light .matches__date-day {
	color: var(--color-primary);
}

.button__actions-mobile {
	display: none;
	margin-top: var(--spacing-lg);
	justify-content: center;
}

.standings.main__table .standings__table-row {
	padding: 12px 0;
}

/* ============================================
   DIRECTIONS
   ============================================ */
.directions__grid-swiper {
	margin-top: var(--spacing-lg);
	position: relative;
}

.wave-decoration:has(.directions__grid-swiper) {
	overflow: hidden;
}

.directions__grid {
	display: flex;
}

.directions__card {
	background-color: #f2f7f8;
	border-radius: 24px 24px 48px 48px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 20px;
	min-width: 437px;
	box-shadow: 0px 0px 16px 0px #00306740;
}

.directions__card picture {
	position: relative;
}

.directions__card h3.heading-lg.gradient-text {
  hyphens: auto;
}

.directions__image {
	height: 180px;
	box-shadow: 0px 0px 0px 1px #ffffff40 inset;
	border-radius: var(--radius-md);
	width: 100%;
	object-fit: cover;
	object-position: top;
}

.directions__logo {
	position: absolute;
	height: 100%;
	width: 157px;
	right: -1px;
	object-fit: scale-down;
	top: 0;
}

.directions__card p {
	line-height: 1.25;
	flex: 1;
	font-weight: 500;
}

.directions__card-link {
	font-size: 18px;
	text-transform: uppercase;
	font-weight: 800;
	color: #ffffff;
	align-self: center;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 64px;
	background: #0064b5e5;
	padding: 18px 24px;
	text-align: center;
	border-radius: var(--radius-xl);
	box-shadow: 0px 16px 24px -8px #0064b540;
	width: 100%;
}

.section {
	padding: 40px 0;
}

.section__pagination {
	display: none;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-xs);
	margin: var(--spacing-lg) 0 8px;
}

.section__pagination .swiper-pagination-bullet {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background-color: #0045ad40;
	cursor: pointer;
}

.section__pagination .swiper-pagination-bullet-active {
	background-color: #0045adcc;
}

/* ============================================
   SLAVUTICH
   ============================================ */
.slavutich {
	padding: 40px 0;
}

.slavutich__banner {
	height: 520px;
	background: url("/local/templates/fhso_2025/assets/css/../img/bg-slavutich.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center 35%;
	border-radius: var(--radius-2xl);
	box-shadow: 0px 48px 96px -32px #001c4780, 0px 0px 0px 2px #ffffff80 inset;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	padding: 40px;
	position: relative;
}

.slavutich__label {
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.15;
	text-transform: uppercase;
	background-color: #001c4733;
	padding: 10px 20px;
	border-radius: var(--radius-lg);
}

/* ============================================
   EVENTS
   ============================================ */
.events .button__actions-mobile,
.about .button__actions-mobile {
	margin-top: -18px;
}
.events__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--spacing-md);
	margin-top: 22px;
}

.events__card {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
	/* min-height: 388px; */
}

.events__img {
	position: relative;
	height: 240px;
	max-height: 240px;
	min-height: 240px;
	border-radius: var(--radius-md);
}

.events__img-item {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-fit: cover;
	box-shadow: 0px 32px 48px -16px #1071ae1a, 0px 0px 0px 1px #ffffff40 inset;
}

.events__img::after {
	position: absolute;
	content: "";
	border-radius: inherit;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: linear-gradient(
		180deg,
		rgba(0, 100, 181, 0) 25%,
		rgba(0, 100, 181, 0.25) 100%
	);
	background-blend-mode: soft-light;
}

.events__date {
	position: absolute;
	bottom: 10px;
	left: 10px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	background-color: #0064b5b2;
	border-radius: var(--radius-md);
	padding: 5px;
	z-index: 1;
}

.events__excerpt {
	display: flex;
	align-items: flex-end;
	flex: 1;
}

/* ============================================
   ABOUT
   ============================================ */
.about__content {
	display: grid;
	grid-template-columns: 440px 1fr;
	gap: var(--spacing-xl);
	align-items: start;
	margin-top: 22px;
}

.about__image {
	position: relative;
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.25),
		var(--shadow-card);
	aspect-ratio: 440 / 264;
}

.about__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about__image::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(/local/templates/fhso_2025/assets/img/bg-logo.png);
	background-repeat: no-repeat;
	background-size: cover;
	mix-blend-mode: soft-light;
}

.about__image::after {
	position: absolute;
	content: "";
	top: 10%;
	left: 0;
	width: 100%;
	height: 80%;
	background-image: url(/local/templates/fhso_2025/assets/img/logo-header.svg);
	background-repeat: no-repeat;
	background-position: center;
	z-index: 3;
}

.about__text {
	display: flex;
	flex-direction: column;
}

.about__text p {
	line-height: 1.5;
	font-weight: 500;
}

.about__text p:first-child {
	margin-bottom: 30px;
}

/* ============================================
   PARTNERS
   ============================================ */
.partners .button__actions-mobile {
	margin-top: var(--radius-md);
}
.partners__btn {
	padding: 10px 24px;
	font-weight: 800;
	font-size: 18px;
	line-height: 100%;
	text-transform: uppercase;
	border-radius: var(--radius-xl);
	color: #ffffff;
	background: #e1031ee5;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0px 16px 24px -8px #001c4766;
	height: 64px;
	display: none;
}

.partners__logos-wrapper {
	overflow: hidden;
	position: relative;
	margin-top: var(--spacing-lg);
}

.partners__logos {
	display: flex;
	gap: var(--spacing-xl);
	padding: var(--spacing-2xl);
	animation: logos-carousel var(--logos-duration, 0s) infinite linear;
	z-index: 3;
	position: relative;
	width: max-content;
	will-change: transform;
	--logos-shift: 50%;
}

@keyframes logos-carousel {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-1 * var(--logos-shift, 50%)));
	}
}

.partners__logo {
	min-width: 260px;
	flex: 0 0 260px;
	height: 180px;
	/* background: #001c4766; */
	/* box-shadow: 0px 24px 48px -16px #001c4740; */
	border-radius: var(--radius-lg);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-heading);
	font-size: 48px;
	font-weight: 600;
	color: var(--color-bg-white);
	z-index: 12;
}

/* ============================================
   CONTACT
   ============================================ */
.contact {
	position: relative;
}

.contact__decoration {
	position: absolute;
	right: -80px;
	/* bottom: 165px; */
	max-width: 516px;
	width: 50%;
	height: auto;
	pointer-events: none;
	top: -420px;
}

.contact__form {
	margin-top: 8px;
	padding-top: var(--spacing-lg);
}

.contact__form-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--spacing-md);
	margin-bottom: var(--spacing-lg);
}

.contact__form-footer {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--spacing-xl);
}

.contact__group {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
}

.contact__label {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--color-text-blue);
}

.contact__input {
	padding: 20px;
	border-radius: var(--radius-md);
	border: none;
	background-color: #deebee;
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--color-text-blue);
}

.contact__input:focus {
	outline: 2px solid var(--color-accent);
}

.contact__checkbox-wrapper {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
}

.contact__checkbox-wrapper span {
	font-weight: 500;
	color: #003067;
	line-height: 100%;
	text-transform: uppercase;
}

.contact__checkbox-wrapper a {
	display: block;
	text-decoration: underline;
	line-height: 100%;
}

.contact__checkbox {
	width: 24px;
	height: 24px;
	border: 1px solid var(--color-primary);
	border-radius: var(--radius-sm);
	cursor: pointer;
}

/* ============================================
   АДАПТИВНОСТЬ
   ============================================ */
@media (max-width: 1200px) {
	.banner__content {
		display: grid;
		gap: 20px;
		grid-template-columns: 1fr;
	}

	.banner__title-wrapper {
		grid-column: 1 / 3;
	}

	.banner__dots {
		justify-content: flex-end;
	}

	.about__content {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 1024px) {
	.events__grid {
		grid-template-columns: repeat(2, 1fr);
	}

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

	.contact__decoration {
		bottom: 300px;
	}

	.contact__group[data-message] {
		grid-column: 1 / 3;
	}
}

@media (max-width: 768px) {
	.section {
		padding: 20px 0;
	}
	.hero {
		padding: 40px 0;
	}

	.banner {
		margin: 0 10px;
		padding: 10px 0 0;
	}

	.banner__wrapper {
		height: 440px;
		padding: 16px;
		/* border-radius: var(--radius-lg); */
	}
	.partners__logos img {
		max-width: 70%;
		display: block;
	}
	.banner__wrapper picture::after {
		background: linear-gradient(0deg, #ffffff, #ffffff),
			linear-gradient(
				180deg,
				rgba(0, 100, 181, 0.9) 0%,
				rgba(0, 100, 181, 0) 33.52%
			),
			linear-gradient(
				0deg,
				rgba(0, 100, 181, 0.8) 0%,
				rgba(0, 100, 181, 0) 44.89%
			);
		background-blend-mode: multiply;
		mix-blend-mode: multiply;
		/* border-radius: var(--radius-lg); */
	}

	.banner__content {
		height: 100%;
		grid-template-rows: 1fr auto auto;
	}

	.banner__title-wrapper {
		align-self: flex-start;
		align-items: center;
		gap: clamp(5px, 2vw, 15px);
		grid-column: auto;
		width: 100%;
	}

	.banner__title {
		text-align: center;
		font-size: clamp(20px, 5vw, 32px);
	}

	.banner__subtitle {
		font-size: clamp(12px, 3vw, 18px);
	}

	.banner__controls {
		justify-content: center;
		flex-direction: column;
		align-items: center;
		right: 50%;
		transform: translateX(50%);
		bottom: 10px;
	}

	.banner__dots {
		justify-content: center;
		align-self: center;
		order: 2;
	}

	.button__actions-mobile {
		display: flex;
	}

	.button__actions-mobile .glass__container {
		justify-content: center;
	}

	.directions__grid-swiper {
		margin: 0;
	}

	.directions__card {
		min-width: 300px;
		padding: 10px;
		gap: 10px;
	}

	.directions__logo {
		width: 121px;
		height: 122px;
		top: 13px;
		right: 11px;
	}

	.section__pagination {
		margin: 10px 0 0;
		display: flex;
	}

	.section__pagination .swiper-pagination-bullet {
		width: 16px;
		height: 16px;
	}

	.directions__btn-prev,
	.directions__btn-next {
		display: none;
	}

	.about.section {
		padding-bottom: 40px;
	}

	.about__image {
		aspect-ratio: 350 / 264;
	}

	.about__image::after {
		top: 8%;
		height: 84%;
	}

	.slavutich__banner {
		height: 280px;
		padding: 12px;
		border-radius: var(--radius-lg);
	}

	.slavutich__label {
		font-size: 14px;
		padding: 6px;
	}

	.wave-decoration:has(.events__grid-swiper) {
		overflow: hidden;
	}

	.events__grid {
		display: flex;
		margin: 0;
		gap: 0;
	}

	.events__card {
		min-width: 300px;
	}

	.events__pagination {
		margin-bottom: 22px;
	}

	.about__content {
		margin: 0;
		gap: 10px;
	}

	.partners__btn:not(.button__actions-mobile .partners__btn) {
		display: none;
	}

	.partners__logos-wrapper {
		margin-top: var(--radius-md);
	}

	.partners__logos {
		padding: var(--spacing-lg);
	}

	.partners__logo {
		min-width: 220px;
		flex: 0 0 220px;
		height: 120px;
	}

	.contact__decoration {
		display: none;
	}

	.contact__form {
		margin: 0;
		padding-top: 0;
	}

	.contact__form-row {
		grid-template-columns: 1fr;
		margin-bottom: 20px;
	}

	.contact__group[data-message] {
		grid-column: auto;
	}

	.contact__form-footer {
		flex-direction: column-reverse;
		gap: 10px;
		margin-bottom: 20px;
	}
}

@media (max-width: 550px) {
	.contact__label {
		font-size: 14px;
	}

	.banner__wrapper {
		padding: 16px 8px;
	}

	.banner__controls,
	.banner__buttons {
		gap: 10px;
	}
}

@media (max-width: 390px) {
	.banner__btn {
		display: none;
	}
}

/* End */


/* Start:/local/templates/fhso_2025/assets/css/footer.css?17902503352607*/
/* ============================================
   FOOTER
   ============================================ */
.footer {
	
	background-size: cover;
	background-position-y: 60%;
	background-repeat: no-repeat;
	box-shadow: 0px 48px 128px -24px #001c4780, 0px 0px 0px 2px #ffffff80 inset;
	border-radius: var(--radius-xl);
	padding: var(--spacing-md) var(--spacing-xl);
	margin: 40px 0;
}

.footer__content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--spacing-xl);
	margin-bottom: 15px;
}

.footer__logo {
	display: flex;
	align-items: center;
	gap: var(--spacing-md);
}

.footer__logo img {
	width: 95px;
	aspect-ratio: 1 / 2;
	height: auto;
}

.footer__title {
	font-family: var(--font-body);
	font-size: 36px;
	font-weight: 700;
	text-transform: uppercase;
	color: #16323b;
	max-width: 475px;
	line-height: 1.25;
}

.footer__nav {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-md);
}

.footer__nav-row {
	display: flex;
	gap: var(--spacing-md);
}

.footer__link {
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--color-text-dark);
	transition: color 0.3s ease;
	white-space: nowrap;
}

.footer__link:hover {
	color: var(--color-accent);
}

.footer__bottom {
	max-width: 440px;
	background: #ffffff40;
	padding: 6px 12px;
	border-radius: var(--radius-lg);
}

.footer__text {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--color-text-dark);
}

/* ============================================
   АДАПТИВНОСТЬ FOOTER
   ============================================ */
@media (max-width: 1200px) {
	.footer__nav {
		padding-top: 40px;
	}

	.footer__nav-row {
		flex-direction: column;
		justify-content: flex-end;
	}

	.footer__link {
		text-align: end;
	}
}

@media (max-width: 1024px) {
	.footer__title {
		font-size: 24px;
	}
}

@media (max-width: 768px) {
	.footer {
		padding: 10px;
		border-radius: 32px;
		margin: 20px 0;
	}

	.footer__content {
		flex-direction: column;
		gap: clamp(10px, 4vw, 20px);
	}

	.footer__logo {
		padding: 0 20px;
	}

	.footer__title {
		color: #ffffff;
		font-size: clamp(16px, 4vw, 24px);
	}

	.footer__nav {
		padding: 0 20px;
		width: 100%;
		align-items: flex-start;
	}

	.footer__link {
		text-align: start;
		font-size: clamp(16px, 4vw, 18px);
		white-space: wrap;
	}

	.footer__bottom {
		max-width: none;
	}
}

@media (max-width: 550px) {
	.footer__logo {
		gap: 12px;
	}

	.footer__logo img {
		width: 64px;
	}

	.footer__text {
		font-size: 12px;
	}
}

/* End */


/* Start:/local/templates/fhso_2025/components/bitrix/search.title/title_2025/style.css?17902503362108*/
div.title-search-result {
	border:1px solid #c6c6c6;
	display:none;
	overflow:hidden;
	z-index:205;
}

table.title-search-result {
	border-collapse: collapse;
	border:none;
	width:10%;
}

table.title-search-result th {
	background-color:#F7F7F7;
	border-right:1px solid #e8e8e8;
	color:#949494;
	font-weight:normal;
	padding-top:2px;
	padding-bottom:2px;
	padding-left:14px;
 	padding-right:12px;
	text-align:right;
	vertical-align:top;
	white-space:nowrap;
	width:1%;
}

table.title-search-result td {
	background-color:white;
	color:black;
	font-weight:normal;
	padding-top:2px;
	padding-bottom:2px;
	text-align:left;
	white-space:nowrap;
}

table.title-search-result td.title-search-item {
	padding-left:8px;
	padding-right:15px;
}

table.title-search-result td.title-search-item a {
	padding-left:4px;
	padding-right:15px;
	text-decoration: none;
	color:black;
	vertical-align:top;
	display:block;
}

table.title-search-result td.title-search-item img {
	vertical-align:top;
}

table.title-search-result td.title-search-item b {
	color:#cf0000;
	font-weight:normal;
}

table.title-search-result tr.title-search-selected td
,table.title-search-result tr.title-search-selected a
,table.title-search-result tr.title-search-selected td.title-search-more a
{
	background-color:#fff2be;
}

table.title-search-result td.title-search-more {
	font-size:11px;
	font-weight:normal;
	padding-right:15px;
	padding-left:24px;
	padding-top:0px;
}

table.title-search-result td.title-search-more a
{
	padding-left:12px;
	padding-right:15px;
	text-decoration:none;
	color:#999999;
}

table.title-search-result td.title-search-all {
	padding-left:24px;
	padding-right:15px;
}

table.title-search-result td.title-search-all a
{
	padding-left:4px;
	text-decoration:none;
	color:#808080;
}

table.title-search-result td.title-search-separator
, table.title-search-result th.title-search-separator {
	padding-top:0px;
	padding-bottom:0px;
	font-size:4px;
}

div.title-search-fader {
	display:none;
	background-image: url('/local/templates/fhso_2025/components/bitrix/search.title/title_2025/images/fader.png');
	background-position: right top;
	background-repeat: repeat-y;
	position:absolute;
}
/* End */
/* /local/templates/fhso_2025/assets/css/style.css?177200645313362 */
/* /local/templates/fhso_2025/assets/css/header.css?179025033517007 */
/* /local/templates/fhso_2025/assets/css/main.css?179025033519335 */
/* /local/templates/fhso_2025/assets/css/footer.css?17902503352607 */
/* /local/templates/fhso_2025/components/bitrix/search.title/title_2025/style.css?17902503362108 */
