/****************** HEADER *******************/
header {background-color:var(--color_white);}
.header__inner {}
.header__logo {}
.header__logo .logo {}
.main__menu {flex-grow: 1;}
.main__menu ul {flex-basis: auto; align-items: flex-start;}
.main__menu ul li {list-style:none; flex-grow: 1; position: relative;}
.main__menu ul li a {
	text-align: center;
	display: block;
	color: var(--text);
	line-height: 20px;
	padding: 30px 15px;
	font-weight: 600;
	white-space: nowrap;
}
.main__menu ul li:not(.main__menu-mobile-link) a {height:20px;}
.main__menu ul li a svg {fill: var(--text);}
.main__menu ul li a span {display: inline-block; white-space: nowrap;}
.main__menu ul li.current a {color: var(--text_link_hover); background-color: var(--text_light_2);}
.main__menu ul li.current a svg {fill: var(--main);}
.main__menu ul li a .main__menu-link-arrow,
.main__menu ul li a .main__menu-link-arrow-static {
	margin:-5px 0px;
	vertical-align: middle;
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
}
.main__menu ul li .main__menu-link-icons {height:20px; padding-top: 30px; padding-bottom: 30px;}
.main__menu ul li .main__menu-link-icons>* {vertical-align: middle;}
.main__menu ul li .main__menu-link-icons-svg {margin:-10px 0px;}
.main__menu ul li a.main__menu-link-icon {
	font-size:0rem;
	line-height: 0px;
	padding-top: 26px;
	padding-bottom: 26px;
}
.main__menu ul li a.main__menu-link-icon svg {margin:0px 0px;}
.main__menu ul li ul li a {
	padding: 15px 15px;
	white-space: nowrap;
	text-align: left;
	font-weight: 600;
}
@media screen and (max-width: 1366px) {
	.main__menu ul li a {padding-left: 5px; padding-right: 5px;}
}
@media screen and (min-width: 1101px) {
	.main__menu ul li a:hover {background-color: var(--main_4); color: var(--main);}
	.main__menu ul li a:hover svg {fill: var(--main); stroke: var(--main);}
	.main__menu.main__menu-header>ul>li>a.not(.main__menu-link-icon) {max-height: 20px;}
	.main__menu.main__menu-header ul li ul {
		flex-direction:column;
		text-align: left;
		width: auto !important;
		background-color: var(--color_white);
		visibility: hidden;
		opacity: 0;
		-webkit-transform-origin: 0 0;
		-webkit-transition: all 0.2s ease-in-out;
		-moz-transition: all 0.2s ease-in-out;
		-o-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
		box-shadow: var(--shadow_1);
		overflow: hidden;
		position: absolute;
		top: 100% !important;
		left: 0px;
		min-width: 100% !important;
		visibility: hidden;
		opacity: 0;
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0;
	}
	.main__menu ul li:hover ul,
	.main__menu ul li:focus-within ul {
		display: block;
		opacity: 1;
		transform-origin: 0px 0px;
		transform: scaleX(1) scaleY(1);
		left: 0px;
		visibility: visible;
	}
	.main__menu ul li:hover a .main__menu-link-arrow {
		-moz-transform: rotate(270deg);
		-ms-transform: rotate(270deg);
		-webkit-transform: rotate(270deg);
		-o-transform: rotate(270deg);
		transform: rotate(270deg);
	}
	.main__menu-button {display: none;}
	.main__menu-mobile-link-only {display: none;}
}
.langs__menu {position: relative;}
.langs__menu-link {
	text-align: center;
	display: block;
	white-space: nowrap;
	color: var(--text);
	font-weight: 600;
	padding: 30px 15px;
	font-size: 1.1875rem;
	height: 20px;
}
.langs__menu:hover .langs__menu-link {color: var(--main); background-color: var(--main_4);}
.langs__menu:hover .langs__menu-link svg {fill: var(--main); stroke: var(--main);}
.langs__menu-link span {}
.langs__menu-link svg {
	fill: var(--text);
	stroke: var(--text);
	vertical-align: middle;
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
.langs__menu:hover .langs__menu-link svg {
	-moz-transform: rotate(270deg);
	-ms-transform: rotate(270deg);
	-webkit-transform: rotate(270deg);
	-o-transform: rotate(270deg);
	transform: rotate(270deg);
}
.langs__menu ul {
	overflow: hidden;
	margin-top: 10px;
	position: absolute;
	text-align: left;
	top: 100% !important;
	width: auto !important;
	left: 0px;
	background-color: var(--color_white);
	min-width: 100%;
	z-index: -1;
	opacity: 0;
	-webkit-transform-origin: 0 0;
	transform-origin: 0 0;
	box-shadow: 0px 5px 14.25px 0.75px rgba(225, 228, 231, 0.4);
	visibility: hidden;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
.langs__menu:hover ul,
.langs__menu:focus-within ul {
	display: block;
	margin-top: 0px;
	opacity: 1;
	z-index: -1;
	transform-origin: 0px 0px;
	transform: scaleX(1) scaleY(1);
	left: 0px;
	visibility: visible;
}
.langs__menu ul li {list-style: none;}
.langs__menu ul li a {
	color: var(--text);
	display: block;
	padding: 10px 25px;
	white-space: nowrap;
	text-align: center;
	font-weight: 600;
}
.langs__menu ul li a:hover {background-color: var(--main_4); color: var(--main);}
@media screen and (max-width: 1100px) {
	.main__menu ul li:not(.main__menu-mobile-link)+.main__menu-mobile-link {border-left:none;}
	header .main__menu ul li:not(.main__menu-mobile-link):not(.main__menu-button) {display: none;}
	.main__menu ul {gap:20px;}
	.main__menu ul li .main__menu-link-icon {padding-top: 26px; padding-bottom: 26px;}
	.langs__menu-header {display: none;}
	.main__menu-header .flex__block {justify-content: flex-end;}
	.main__menu-header.main__menu ul li {flex-grow: 0;}
	.main__menu ul li.opened a .main__menu-link-arrow {
		-moz-transform: rotate(270deg);
		-ms-transform: rotate(270deg);
		-webkit-transform: rotate(270deg);
		-o-transform: rotate(270deg);
		transform: rotate(270deg);
	}
	.main__menu ul li.opened ul {
		display: block;
		opacity: 1;
		transform-origin: 0px 0px;
		transform: scaleX(1) scaleY(1);
		left: 0px;
		visibility: visible;
	}
}
@media screen and (max-width: 580px) {
	.main__menu-mobile-button {display: none;}
	.main__menu-link-arrow-static {display: none;}
	.main__menu-mobile-link span {font-size: 0rem;}
}
@media screen and (max-width: 400px) {}
.menu__mobile-blocks {}
.menu__mobile-block+.menu__mobile-block {margin-top: 20px;}
.main__menu-mobile {margin: 0px -20px;}
.main__menu-mobile ul {}
.main__menu-mobile ul li {}
.main__menu-mobile ul li a {
	text-align: left;
	line-height: 120%;
	padding: 15px 20px;
	font-weight: 700;
}
.main__menu-mobile ul li ul {
	position: relative;
	display: none;
	visibility: visible;
	box-shadow: none;
}
.main__menu-mobile ul li ul li a {
	text-align: left;
	padding: 15px 20px 15px 40px;
	font-weight:normal;
	font-weight: 500;
}
.menu__mobile-block-text {line-height: 155%;}
.header {
	background: var(--header_bg);
	box-shadow: 0 1px 0 var(--grey_3);
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 125;
	-webkit-transition: -webkit-transform var(--transition);
	transition: transform var(--transition);
}
html.popup__html header.header {width: auto;}
.header__inner {
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: var(--header_h);
}
.header__logo {flex: 0 0 auto; display: block; line-height: 0;}
.header__logo .logo {width: 210px; height: auto; display: block;}
.header__logo .logo__dot-accent {fill: var(--main);}
.logo__line-1 {--logo_line_time: .85s; --logo_line_wait: 0s;}
.logo__line-2 {--logo_line_time: 1.4s; --logo_line_wait: 1.15s;}
.logo__dot-1 {--logo_dot_wait: .22s;}
.logo__dot-2 {--logo_dot_wait: .39s;}
.logo__dot-3 {--logo_dot_wait: .49s;}
.logo__dot-4 {--logo_dot_wait: .64s;}
.logo__dot-5 {--logo_dot_wait: .78s;}
.logo__dot-6 {--logo_dot_wait: .88s;}
.logo__dot-7 {--logo_dot_wait: 1.19s;}
.logo__dot-8 {--logo_dot_wait: 1.26s;}
.logo__dot-9 {--logo_dot_wait: 1.35s;}
.logo__dot-10 {--logo_dot_wait: 1.53s;}
.logo__dot-11 {--logo_dot_wait: 1.68s;}
.logo__dot-12 {--logo_dot_wait: 1.82s;}
.logo__dot-13 {--logo_dot_wait: 2.01s;}
.logo__dot-14 {--logo_dot_wait: 2.19s;}
.logo__dot-15 {--logo_dot_wait: 2.48s;}
.logo__dot-16 {--logo_dot_wait: 2.63s;}
.index .header__logo .logo__line,
.block__mark .logo__line {stroke-dasharray: 1; stroke-dashoffset: 1; animation: logo-draw var(--logo_line_time) linear var(--logo_line_wait) forwards;}
.index .header__logo .logo__dot,
.block__mark .logo__dot {
	opacity: 0;
	transform-box: fill-box;
	transform-origin: center;
	animation: logo-pop .3s ease-out var(--logo_dot_wait) forwards;
}
.main__menu-header.main__menu {flex-grow: 0;}
.main__menu-header.main__menu ul li {flex-grow: 0;}
.main__menu-header.main__menu {-ms-flex-item-align: stretch; align-self: stretch;}
.main__menu-header ul {
	align-items: stretch;
	justify-content: flex-end;
	gap: 4px;
	list-style: none;
	height: 100%;
	min-height: var(--header_h);
}
.main__menu-header.main__menu ul li:not(.main__menu-mobile-link) {display: flex; align-items: center;}
.main__menu-header.main__menu ul li:not(.main__menu-mobile-link) > a:after {content: ''; position: absolute; inset: 0;}
.main__menu-header.main__menu ul li:not(.main__menu-mobile-link) a {
	display: inline-block;
	height: auto;
	padding: 12px 16px;
	color: var(--text);
	text-decoration: none;
	font-weight: 500;
	border-radius: var(--radius_sm);
	transition: color var(--transition), background var(--transition);
}
.main__menu-header.main__menu ul li:not(.main__menu-mobile-link) a:hover {color: var(--text_link); background: var(--main_3);}
.main__menu-header.main__menu ul li:not(.main__menu-mobile-link) a[aria-current="page"] {color: var(--text_link_active); font-weight: 600; box-shadow: inset 0 -3px 0 var(--main);}
.main__menu-mobile-link {display: none;}
.main__menu-link-icon {
	width: 48px;
	height: 48px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
}
.main__menu-link-icon svg {fill: var(--text);}
#popup__menu .menu__mobile-block+.menu__mobile-block {margin-top: 12px;}
#popup__menu .main__menu-mobile {
	margin: 0;
	background: var(--color_white);
	border-radius: 12px;
	overflow: hidden;
}
#popup__menu .main__menu-mobile ul li a {
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	height: auto;
	min-height: 44px;
	padding: 11px 40px 11px 16px;
	font-size: 1.0625rem;
	line-height: 22px;
	font-weight: 500;
	color: var(--text);
	text-align: left;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 0.15s;
}
#popup__menu .main__menu-mobile ul li a:active {background: rgba(0,0,0,0.06);}
#popup__menu .main__menu-mobile ul li+li a:before {
	content: "";
	position: absolute;
	left: 16px;
	right: 0;
	top: 0;
	height: 1px;
	background: rgba(60,60,67,0.16);
}
#popup__menu .main__menu-mobile ul li a:after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid #c7c7cc;
	border-bottom: 2px solid #c7c7cc;
	border-radius: 1px;
	transform: translateY(-50%) rotate(-45deg);
}
#popup__menu .main__menu-mobile ul li a[aria-current="page"] {color: var(--text_link);}
#popup__menu .main__menu-mobile ul li a[aria-current="page"]:after {
	right: 20px;
	width: 6px;
	height: 12px;
	border-color: var(--text_link);
	border-width: 2.5px;
	transform: translateY(-60%) rotate(45deg);
}
.main__menu-parent-toggle {
	appearance: none;
	-webkit-appearance: none;
	background: none;
	border: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
}
.main__menu-header.main__menu ul li.main__menu-parent {position: relative;}
.main__menu-header.main__menu ul li .main__menu-parent-toggle {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 12px 16px;
	color: var(--text);
	font-weight: 500;
	line-height: 20px;
	white-space: nowrap;
	border-radius: var(--radius_sm);
	transition: color var(--transition), background var(--transition);
}
.main__menu-header.main__menu ul li .main__menu-parent-toggle:hover,
.main__menu-header.main__menu ul li .main__menu-parent-toggle[aria-expanded="true"] {color: var(--text_link); background: var(--main_3);}
.main__menu-header.main__menu ul li .main__menu-parent-toggle:after {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: -3px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	border-radius: 1px;
	transform: rotate(45deg);
	transition: transform var(--transition);
}
.main__menu-header.main__menu ul li .main__menu-parent-toggle[aria-expanded="true"]:after {margin-top: 3px; transform: rotate(225deg);}
.main__menu-header.main__menu ul li ul.main__menu-submenu {
	display: block;
	position: absolute;
	top: 100%;
	left: auto;
	right: 0;
	z-index: 5;
	width: max-content;
	padding: 6px;
	background: var(--color_white);
	border-radius: var(--radius);
	box-shadow: var(--shadow_1);
	visibility: hidden;
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
}
.main__menu-header.main__menu ul li .main__menu-parent-toggle[aria-expanded="true"] + ul.main__menu-submenu {visibility: visible; opacity: 1; transform: none;}
.main__menu-header.main__menu ul li ul.main__menu-submenu li {display: block; flex-grow: 0;}
.main__menu-header.main__menu ul li ul.main__menu-submenu li a {
	display: block;
	height: auto;
	padding: 10px 14px;
	text-align: left;
	font-weight: 500;
	line-height: 20px;
	color: var(--text);
	border-radius: var(--radius_sm);
}
.main__menu-header.main__menu ul li ul.main__menu-submenu li a:hover {color: var(--text_link); background: var(--main_3);}
.main__menu-header.main__menu ul li ul.main__menu-submenu li a[aria-current="page"] {color: var(--text_link_active); font-weight: 600; box-shadow: inset 2px 0 0 var(--main);}
#popup__menu .main__menu-mobile ul li .main__menu-parent-toggle {
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 44px;
	padding: 11px 40px 11px 16px;
	font-size: 1.0625rem;
	line-height: 22px;
	font-weight: 500;
	color: var(--text);
	text-align: left;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 0.15s;
}
#popup__menu .main__menu-mobile ul li .main__menu-parent-toggle:active {background: rgba(0,0,0,0.06);}
#popup__menu .main__menu-mobile ul li+li .main__menu-parent-toggle:before {
	content: "";
	position: absolute;
	left: 16px;
	right: 0;
	top: 0;
	height: 1px;
	background: rgba(60,60,67,0.16);
}
#popup__menu .main__menu-mobile ul li .main__menu-parent-toggle:after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid #c7c7cc;
	border-bottom: 2px solid #c7c7cc;
	border-radius: 1px;
	transform: translateY(-50%) rotate(-45deg);
	transition: transform 0.2s;
}
#popup__menu .main__menu-mobile ul li .main__menu-parent-toggle[aria-expanded="true"]:after {transform: translateY(-50%) rotate(45deg);}
#popup__menu .main__menu-mobile ul li ul.main__menu-submenu {display: none; position: static; background: var(--body_bg_3);}
#popup__menu .main__menu-mobile ul li .main__menu-parent-toggle[aria-expanded="true"] + ul.main__menu-submenu {display: block;}
#popup__menu .main__menu-mobile ul li ul.main__menu-submenu li a {padding-left: 32px; font-weight: 400;}
#popup__menu .main__menu-mobile ul li ul.main__menu-submenu li a:before,
#popup__menu .main__menu-mobile ul li ul.main__menu-submenu li+li a:before {
	content: "";
	position: absolute;
	left: 32px;
	right: 0;
	top: 0;
	height: 1px;
	background: rgba(60,60,67,0.16);
}
#popup__menu .main__menu-mobile ul li ul.main__menu-submenu li a:after {display: none;}
#popup__menu .main__menu-mobile ul li ul.main__menu-submenu li a[aria-current="page"] {color: var(--text_link); font-weight: 500;}
@media (min-width: 681px) {
	.header-hidden {-webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0);}
	.header-hidden:focus-within {-webkit-transform: none; transform: none;}
}
@media (prefers-reduced-motion: reduce) {
	.index .header__logo .logo__line,
	.index .header__logo .logo__dot,
	.block__mark .logo__line,
	.block__mark .logo__dot {animation: none; stroke-dashoffset: 0; opacity: 1;}
}
@media (max-width: 680px) {
	.header__logo .logo {width: min(180px, calc(100vw - 110px));}
}
@media screen and (max-width: 1100px) {
	header .main__menu ul li:not(.main__menu-mobile-link):not(.main__menu-button) {display: flex;}
	.main__menu-header .flex__block {justify-content: flex-end;}
}
@media screen and (max-width: 900px) {
	header .main__menu ul li:not(.main__menu-mobile-link):not(.main__menu-button) {display: none;}
	.main__menu-mobile-link-only {display: flex; align-items: center;}
}
/****************** HEADER - END *******************/
/****************** CONTENT *******************/
main {overflow-x: clip;}
.content__blocks {padding: 0px;}
.content__blocks .content__block:first-child {padding-top: 40px;}
.content__blocks .content__block:last-child {padding-bottom: 40px;}
.content__block+.content__block {margin-top: 40px;}
.content__block > *:last-child {margin-bottom: 0;}
.container:has(+ .page__blocks) .content__blocks .content__block:last-child {padding-bottom: 0;}
@media screen and (min-width: 992px) {
	.content__list-filters {width: 23%; float: left;}
	.content__list-filters+.content__list-content {margin-left: 23%;}
	.content__list-content-inner {margin-left: 50px;}
}
.page__head {gap:40px; align-items: flex-start; padding: 40px 0px 20px 0px;}
.page__head-left {width:calc(50% - 20px);}
.page__head-right {width:calc(50% - 20px);}
.page__head-left iframe {
	height: auto;
	width:100%;
	aspect-ratio: 16 / 9;
	--decor_arc: clamp(48px, 8vw, 120px);
}
@media screen and (max-width: 992px) {
	.page__head {display: block;}
	.page__head>*+* {margin-top: 30px;}
	.page__head-left,
	.page__head-right {width:auto;}
}
.page__images-wrapper {}
.page__images-container {justify-content: flex-start; align-items: flex-start; gap:20px;}
.page__images-main {
	padding-top:50%;
	position: relative;
	overflow: hidden;
	--decor_arc: clamp(48px, 8vw, 120px);
}
.page__images-main-link {
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	top: 0px;
	left: 0px;
}
.page__images-main a img {}
.page__images-items {margin-top:20px; gap:20px; justify-content: flex-start;}
.page__images-item {
	width:33.333%;
	padding-top:25%;
	overflow: hidden;
	position: relative;
}
.page__images-item-link {
	width:100%;
	height:100%;
	position: absolute;
	display: block;
	top:0px;
	left: 0px;
}
.page__images-item a img {}
.page__images-item-video-icon {
	position: absolute;
	background-color: rgba(0,0,0, 0.5);
	width:100%;
	height:100%;
	left: 0px;
	top: 0px;
	justify-content:center;
	font-size: 0rem;
	text-shadow: 0px 0px 3px var(--text);
}
.page__images-item-video-icon svg {fill: var(--text_light);}
.page__images-item-more {
	font-size: 2.5rem;
	color: var(--text_light);
	width:100%;
	height:100%;
	justify-content:center;
	top: 0px;
	left:0px;
	text-align: center;
	position: absolute;
	z-index: 1;
	background-color: rgba(0,0,0, 0.5);
}
.page__images-item-more-inner {padding-top: 5px;}
@media screen and (max-width: 640px) {
	.page__images-items {margin-top:15px; gap:15px;}
}
.page__head-right-items {}
.page__head-right-items>*+* {margin-top: 15px;}
.page__head-info-block {font-weight: bold; font-size: 1.25rem;}
.page__head-info-block>* {display: inline;}
.page__head-info-date-ended {color:var(--color_error);}
.page__head-info-date {}
.page__head-info-time {}
.page__head-info-location {color:var(--text_link);}
.page__head-buttons {gap:20px;}
.page__head-buttons .btn {flex-grow: 1; width: 50%;}
.page__head-content-text {}
@media screen and (max-width: 640px) {
	.page__head-buttons {flex-direction:column;}
	.page__head-buttons .btn {width: 100%;}
}
.blog__items {
	flex-wrap: wrap;
	align-items: stretch;
	justify-content:flex-start;
	margin:0px -15px;
	margin-bottom:-30px;
}
.blog__items .blog__item {
	width:25%;
	list-style: none;
	padding:0px 15px 30px 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.content__text + .filter__layout,
.content__text + .catalog__items,
.content__text + .home__lecturer-grid {margin-top: 34px;}
.blog__items-mosaic {display:block; margin-bottom:-56px;}
.blog__items-mosaic:after {content:''; display:block; clear:both;}
.blog__items-mosaic .blog__item {width:33.333%; float:left; padding-bottom:56px;}
.blog__item-link {
	--card_shadow: none;
	--card_shadow_hover: none;
	--card_shadow_active: none;
	display:block;
	color: var(--text);
	text-decoration:none;
}
.blog__item-media {
	display:block;
	position: relative;
	aspect-ratio: var(--card_media_ratio, 16 / 9);
	overflow: hidden;
	border-radius: var(--radius_lg);
	background: var(--body_bg_3);
}
.blog__item-image {
	display:block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-transition: -webkit-transform var(--transition);
	-moz-transition: -moz-transform var(--transition);
	-o-transition: -o-transform var(--transition);
	transition: transform var(--transition);
}
.blog__item-link:hover .blog__item-image {-webkit-transform: scale(var(--media_overscale)); transform: scale(var(--media_overscale));}
.blog__item-plated .blog__item-media {background-color: var(--main_4);}
.blog__item-plate {
	--decor_dots_size: 2px;
	--decor_dots_step: 14px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.blog__item-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--dark);
	color: var(--text_light);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	padding: 7px 11px;
	border-radius: var(--radius_pill);
}
.blog__item-badge-inline {position: static; display:inline-block; margin-bottom: 10px;}
.blog__item-body {display:block; padding-top: 14px;}
.blog__item-nocover:not(.blog__item-plated) .blog__item-body {padding-top: 0px;}
.blog__item-name {
	display:block;
	font-weight: 700;
	font-size: 1.0625rem;
	line-height: 1.35;
	color: var(--text);
}
.blog__item-link:hover .blog__item-name {color: var(--text_link);}
.blog__item-name-icon-external {
	fill: none;
	stroke: currentColor;
	margin-left: 6px;
	vertical-align: baseline;
}
.blog__item-meta {
	display:block;
	margin-top: 6px;
	color: var(--text_3);
	font-size: 0.875rem;
}
.blog__item-topic:before {content: '\00B7'; margin: 0px 6px;}
.blog__item-meta .blog__item-topic:first-child:before {content: none;}
.blog__item-deadline {
	display:inline-block;
	margin-top: 8px;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--main_2);
	background: var(--main_3);
	padding: 5px 10px;
	border-radius: var(--radius_pill);
}
.blog__item-intro {
	display:block;
	margin-top: 8px;
	color: var(--text_2);
	font-size: 0.9375rem;
	line-height: 1.5;
}
.blog__item-compact .blog__item-media {aspect-ratio: 16 / 9;}
.blog__item-compact .blog__item-name,
.blog__item-compact .blog__item-intro {display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;}
.blog__item-compact .blog__item-name {-webkit-line-clamp: 2;}
.blog__item-compact .blog__item-intro {-webkit-line-clamp: 3;}
.blog__item-expired .blog__item-media {filter: saturate(0.35); opacity: 0.75;}
.blog__item-expired .blog__item-badge-inline {opacity: 0.75;}
.blog__item-expired .blog__item-name,
.blog__item-expired .blog__item-intro {color: var(--text_3);}
.blog__item-expired .blog__item-deadline {color: var(--text_2); background: var(--body_bg_3);}
@media screen and (max-width: 1150px) {
	.blog__items .blog__item {width:33.333%;}
}
@media screen and (max-width: 1024px) {
	.blog__items-mosaic .blog__item {width:50%;}
}
@media screen and (max-width: 867px) {
	.blog__items .blog__item {width:50%;}
}
@media screen and (max-width: 640px) {
	.blog__items {justify-content: center;}
	.blog__items .blog__item {width:100%; max-width: 350px;}
	.blog__items-mosaic .blog__item {width:100%; max-width: none; float:none;}
}
.catalog__categories-items {
	flex-wrap: wrap;
	align-items: stretch;
	justify-content:flex-start;
	margin:0px -15px;
	margin-bottom:-30px;
}
.catalog__categories-items .catalog__categories-item {width:25%; list-style: none;}
.catalog__categories-items .catalog__categories-item .catalog__categories-item-inner {margin:0px 15px 30px 15px;}
.catalog__categories-item {}
.catalog__categories-item-inner {flex: 1;}
.catalog__categories-item-link {
	--card_shadow_hover: var(--shadow_2);
	--card_shadow_active: var(--shadow_3);
	display:block;
	position: relative;
}
.catalog__categories-item-images-wrapper:after {
	position: absolute;
	content:'';
	display: block;
	width: 100%;
	height:100%;
	top:0px;
	left:0px;
	background-image: -moz-linear-gradient( -90deg, rgba(0,0,0,0) 0%, rgba(1,5,20,0.5) 80%, rgb(1,6,25) 100%);
	background-image: -webkit-linear-gradient( -90deg, rgba(0,0,0,0) 0%, rgba(1,5,20,0.5) 80%, rgb(1,6,25) 100%);
	background-image: -ms-linear-gradient( -90deg, rgba(0,0,0,0) 0%, rgba(1,5,20,0.5) 80%, rgb(1,6,25) 100%);
}
.catalog__categories-item-images-wrapper {
	width: 100%;
	padding-top: 120%;
	position: relative;
	margin-left: auto;
	margin-right: auto;
}
.catalog__categories-item-image {
	position: absolute;
	overflow: hidden;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.catalog__categories-item-image-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	-webkit-transition: -webkit-transform var(--transition);
	-moz-transition: -moz-transform var(--transition);
	-o-transition: -o-transform var(--transition);
	transition: transform var(--transition);
}
.catalog__categories-item-image img {width: 100%; height: 100%; object-fit: cover;}
.catalog__categories-item-link:hover .catalog__categories-item-image-inner {-webkit-transform: scale(var(--media_overscale)); transform: scale(var(--media_overscale));}
.catalog__categories-item-content {
	position:absolute;
	bottom:30px;
	left:0px;
	width:calc(100% - 40px);
	padding: 20px 20px;
	flex-grow: 1;
}
.catalog__categories-item-name {
	font-weight: bold;
	font-size: 1.25rem;
	text-align: center;
	color: var(--text_light);
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.catalog__categories-item-link:hover .catalog__categories-item-name {color: var(--main);}
@media screen and (max-width: 1150px) {
	.catalog__categories-items .catalog__categories-item {width:33.333%;}
}
@media screen and (max-width: 867px) {
	.catalog__categories-items .catalog__categories-item {width:50%;}
}
@media screen and (max-width: 640px) {
	.catalog__categories-items {justify-content: center;}
	.catalog__categories-items .catalog__categories-item {width:100%; max-width: 350px;}
}
.catalog__items {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
	margin: 0px;
	align-items: stretch;
	justify-items: stretch;
}
.catalog__items .flex__block {align-items: stretch;}
.catalog__items .catalog__item {width:auto; list-style: none;}
.catalog__items .catalog__item .catalog__item-inner {margin:0px;}
.catalog__item {}
.catalog__item-inner {flex-grow: 1; width:100%;}
.catalog__item-link {
	--card_bg: var(--body_bg);
	--card_radius: var(--radius_lg);
	--card_shadow_hover: var(--shadow_2);
	--card_shadow_active: var(--shadow_3);
	flex-grow: 1;
	width:100%;
	flex-direction:column;
	position: relative;
	overflow: hidden;
}
.catalog__item-images-wrapper {
	width: 100%;
	padding-top: 70%;
	position: relative;
	margin-left: auto;
	margin-right: auto;
}
.catalog__item-image {
	position: absolute;
	overflow: hidden;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.catalog__item-image-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	-webkit-transition: -webkit-transform var(--transition);
	-moz-transition: -moz-transform var(--transition);
	-o-transition: -o-transform var(--transition);
	transition: transform var(--transition);
}
.catalog__item-image img {width: 100%; height: 100%; object-fit: cover;}
.catalog__item-link:hover .catalog__item-image-inner {-webkit-transform: scale(var(--media_overscale)); transform: scale(var(--media_overscale));}
.catalog__item-content {padding: 20px 20px; flex-grow: 1;}
.catalog__item-name {
	font-weight: bold;
	font-size: 1.375rem;
	display: -webkit-box;
	color: var(--text);
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.catalog__item-link:hover .catalog__item-name {color: var(--main);}
.catalog__item-text {}
.catalog__item-button {padding: 0px 20px 20px 20px;}
.filter__results .catalog__items {grid-template-columns: repeat(3, minmax(0, 1fr));}
@media screen and (max-width: 1150px) {
	.catalog__items {grid-template-columns: repeat(3, minmax(0, 1fr));}
	.filter__results .catalog__items {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media screen and (max-width: 867px) {
	.catalog__items,
	.filter__results .catalog__items {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media screen and (max-width: 640px) {
	.catalog__items,
	.filter__results .catalog__items {grid-template-columns: minmax(0, 350px); justify-content: center; gap: 24px;}
}
.catalog__item-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin-bottom: 12px;
	font-size: 0.8125rem;
	line-height: 1.4;
}
.catalog__item-meta-cat {
	background: var(--main_2);
	color: var(--text_light);
	font-weight: 600;
	border-radius: var(--radius_pill);
	padding: 4px 12px;
}
.catalog__item-meta-facet,
.catalog__item-meta-more {
	color: var(--text_3);
	border: 1px solid var(--grey_3);
	border-radius: var(--radius_pill);
	padding: 3px 11px;
}
.catalog__item-meta-more {border-color: transparent; padding-left: 2px; padding-right: 2px;}
.catalog__item-text {
	margin-top: 8px;
	color: var(--text_2);
	font-size: 0.9375rem;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.catalog__item-image-empty {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--main_3);
	position: relative;
	overflow: hidden;
}
.catalog__item-image-dots {
	--decor_dots_step: 14px;
	--decor_fill: var(--main_5);
	position: absolute;
	inset: 0;
	opacity: 0.6;
}
.media__items {}
.media__item {}
.media__item-inner {position: relative; border: 1px solid var(--grey_3);}
.media__item+.media__item {margin-top: 30px;}
.media__item-image {
	width: 360px;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
}
.media__item-image-link {
	position: absolute;
	overflow: hidden;
	left: 0px;
	top: 0px;
	align-items: stretch;
	width: 100%;
	height: 100%;
	background: var(--color_white);
}
.media__item-image-inner {
	display: block;
	flex-grow: 1;
	-webkit-transition: -webkit-transform var(--transition);
	-moz-transition: -moz-transform var(--transition);
	-o-transition: -o-transform var(--transition);
	transition: transform var(--transition);
}
.media__item-image-inner img {}
.media__item-image-link:hover .media__item-image-inner {-webkit-transform: scale(var(--media_overscale)); transform: scale(var(--media_overscale));}
.media__item-play {
	position: absolute;
	border-radius: var(--radius_pill);
	top: 50%;
	left: 50%;
	margin-left: -50px;
	margin-top: -50px;
}
.media__item-play svg {fill: var(--text_light);}
.media__item-image-link:hover .media__item-play svg {}
.media__item-image+.media__item-content {margin-left: 360px;}
.media__item-content-link {display: block; padding: 35px 40px;}
.media__item-name {
	font-size: 1.5rem;
	font-weight: 900;
	color: var(--text);
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
}
.media__item-text {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
}
.media__item-name+.media__item-text {margin-top: 20px;}
.media__item-content-link:hover .media__item-name {color: var(--main);}
@media screen and (max-width: 767px) {
	.media__item-image {
		position: relative;
		width: auto;
		max-width: 360px;
		margin: 0px auto;
	}
	.media__item-image-link {position: relative; display: block;}
	.media__item-image-inner {height: 200px;}
	.media__item-image+.media__item-content {margin-left: 0px;}
	.media__item-content-link {padding: 20px 25px;}
	.media__item-name {font-size: 1.25rem;}
	.media__item-text {}
	.media__item-name+.media__item-text {margin-top: 10px;}
}
.events__items {}
.events__item {}
.events__item-inner {position: relative; border: 1px solid var(--grey_3);}
.events__item+.events__item {margin-top: 30px;}
.events__item-image {
	width: 360px;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
}
.events__item-image-link {
	position: absolute;
	overflow: hidden;
	left: 0px;
	top: 0px;
	align-items: stretch;
	width: 100%;
	height: 100%;
	background: var(--color_white);
}
.events__item-image-inner {
	display: block;
	flex-grow: 1;
	-webkit-transition: -webkit-transform var(--transition);
	-moz-transition: -moz-transform var(--transition);
	-o-transition: -o-transform var(--transition);
	transition: transform var(--transition);
}
.events__item-image-inner img {}
.events__item-image-link:hover .events__item-image-inner {-webkit-transform: scale(var(--media_overscale)); transform: scale(var(--media_overscale));}
.events__item-play {
	position: absolute;
	border-radius: var(--radius_pill);
	top: 50%;
	left: 50%;
	margin-left: -50px;
	margin-top: -50px;
}
.events__item-play svg {fill: var(--text_light);}
.events__item-image-link:hover .events__item-play svg {}
.events__item-image+.events__item-content {margin-left: 360px;}
.events__item-content-link {display: block; padding: 35px 40px;}
.events__item-head {color: var(--text_2); font-size: 1.125rem; margin-bottom: 10px;}
.events__item-date {font-weight: bold;}
.events__item-time {font-weight: bold;}
.events__item-location {}
.events__item-name {
	font-size: 1.5rem;
	font-weight: 900;
	color: var(--text);
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
}
.events__item-text {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
}
.events__item-name+.events__item-text {margin-top: 20px;}
.events__item-content-link:hover .events__item-name {color: var(--main);}
.events__item-past-block {
	position: absolute;
	background: rgba(0,0,0, 0.6);
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}
.events__item-past-block .events__item-past {
	color: var(--text_light);
	line-height: 100%;
	font-size: 2.5rem;
	font-weight: 900;
	margin-top: -15px;
	position: absolute;
	width: 100%;
	left: 0px;
	text-align: center;
	top: 50%;
}
@media screen and (max-width: 767px) {
	.events__item-image {
		position: relative;
		width: auto;
		max-width: 360px;
		margin: 0px auto;
	}
	.events__item-image-link {position: relative; display: block;}
	.events__item-image-inner {min-height: 200px;}
	.events__item-image+.events__item-content {margin-left: 0px;}
	.events__item-content-link {padding: 20px 25px;}
	.events__item-name {font-size: 1.25rem;}
	.events__item-text {}
	.events__item-name+.events__item-text {margin-top: 10px;}
}
.calendar__filter-wrapper {text-align:center;}
.calendar__filter-narrow {display:inline-block;}
.calendar__filter-items {justify-content: center; gap:40px;}
.calendar__filter-items button {
	cursor:pointer;
	border:none;
	border-radius: var(--radius_pill);
	background:transparent;
	justify-content:flex-start;
	color:var(--text);
	font-size: 1.625rem;
	font-weight: 900;
	gap:20px;
}
.calendar__filter-items button span {vertical-align: middle;}
.calendar__filter-items button svg {vertical-align: middle;}
.calendar__filter-items button.active {color: var(--text_link_active);}
.calendar__filter-items button.active svg {fill: var(--text_link_active);}
.events__list-containers {}
.calendar__filter-wrapper+.events__list-containers {margin-top:20px;}
.events__list-container {display:none;}
@media screen and (max-width: 500px) {
	.calendar__filter-items {gap:20px; flex-direction:column; justify-content:flex-start;}
	.calendar__filter-items button {width: 100%;}
}
.calendar__wrapper {background: var(--color_white);}
.calendar__narrow {padding: 25px 35px 25px 35px;}
.calendar__top {text-align: center; padding-bottom: 25px;}
.calendar__top button {
	cursor:pointer;
	font-size: 0rem;
	display: inline-flex;
	align-items:center;
	justify-content:center;
	vertical-align: middle;
	border:none;
	border-radius: var(--radius_pill);
	min-width:44px;
	min-height:44px;
	background: transparent;
}
.calendar__top .calendar__top-prev {
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	transform: rotate(180deg);
}
.calendar__top button svg {}
.calendar__top button:hover svg {fill: var(--main);}
.calendar__top-current {
	display: inline-block;
	vertical-align: middle;
	font-size: 1.5rem;
	font-weight: bold;
	color: var(--text);
}
.calendar__wrapper {
	width: 100%;
	overflow-y: hidden;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	margin-bottom: 15px;
}
.calendar__wrapper .calendar__table {
	min-width: 500px;
	width: 100%;
	border-spacing: 0px;
	border-collapse: collapse;
}
.calendar__table-wrapper {position: relative;}
.calendar__table-popup {
	position: absolute;
	display: none;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: var(--color_white);
}
.calendar__table-inner-popup {
	margin: 35px 0px 20px 0px;
	top: 0px;
	left: 0px;
	overflow: auto;
	width: 100%;
	height: calc(100% - 55px);
}
.calendar__table-content-popup {}
.calendar__table-content-popup a {font-size: 1.5rem; padding: 10px 20px; display: block;}
.calendar__table-content-popup a span {font-weight: bold; vertical-align: baseline; margin-right: 5px;}
.calendar__table-close-popup {position: absolute; top: 10px; right: 10px;}
.calendar__table {display: table; width: 100%;}
.calendar__head {display: thead;}
.calendar__body {display: tbody;}
.calendar__row {display: table-row;}
.calendar__cell {
	border-top: 2px solid var(--main_5);
	display: table-cell;
	padding: 20px 20px;
	color: var(--text);
	height: 140px;
	position: relative;
	width: 14.2857%;
	vertical-align: bottom;
}
.calendar__cell+.calendar__cell {border-left: 2px solid var(--main_5);}
.calendar__cell-has-event {background: var(--main_4);}
.calendar__cell-has-event:hover {background: var(--main_5);}
.calendar__head .calendar__cell {
	padding: 20px 10px;
	text-align: center;
	color: var(--text);
	height: auto;
	font-size: 1.125rem;
	font-weight: bold;
	border-left-color: transparent;
}
.calendar__cell-day {
	font-weight: bold;
	font-size: 1.125rem;
	color: var(--text_link);
	position: absolute;
	top: 20px;
	left: 20px;
}
.calendar__cell-other-month .calendar__cell-day {font-weight: normal;}
.calendar__cell-future .calendar__cell-day {color: var(--text);}
.calendar__cell_has-event .calendar__cell-day {color: var(--text);}
.calendar__cell-events {margin-top: 25px; z-index:1; position:relative;}
.calendar__cell-event,
.calendar__cell-event a {color: var(--text_link);}
.calendar__cell-event a span {font-weight: bold;}
.calendar__cell-event a:hover {color: var(--text_link_hover); text-decoration: underline;}
.calendar__cell-events-link {
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	position: absolute;
	outline:none;
	margin:0px;
	display: block;
	background: transparent;
	border: none;
	padding: 0px;
	outline: none;
}
.calendar__cell-future .calendar__cell-event,
.calendar__cell-future .calendar__cell-event a {color: var(--text_link); font-weight: 500;}
@media screen and (max-width: 768px) {
	.calendar__cell-mobile-title {display: none;}
	.calendar__cell-event,
	.calendar__cell-event a {overflow-wrap: normal; word-break: normal;}
}
@media screen and (max-width: 767px) {
	.calendar__wrapper {margin: 0px -15px; width: auto;}
	.calendar__narrow {padding: 25px 0px;}
	.calendar__cell {height: 100px;}
}
@media screen and (max-width: 640px) {
	.calendar__cell {height: 50px; text-align: center; vertical-align: middle;}
	.calendar__cell-day {position: relative; top: 0px; left: 0px;}
	.calendar__cell-events {display: none;}
}
@media screen and (max-width: 510px) {
	.calendar__cell {height: 40px; padding: 10px;}
	.calendar__wrapper .calendar__table {min-width: 0px;}
	.calendar__top {padding-bottom: 15px;}
	.calendar__narrow {padding: 15px 0 10px 0;}
}
@media screen and (max-width: 400px) {
	.calendar__filter-wrapper {display: block;}
	.calendar__filter-block+.calendar__filter-block {margin-top: 15px;}
}
@media screen and (max-width: 360px) {
	.calendar__head .calendar__cell {padding: 15px 5px; font-size: 1rem;}
}
.page__image-main-wrapper {position: relative;}
.page__image-main {
	height: calc(100vh - var(--header_h));
	height: calc(100svh - var(--header_h));
	position: relative;
	justify-content: center;
}
.page__image-main img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	position: absolute;
	top:0px;
	left:0px;
}
.page__image-main:after {
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	position: absolute;
	z-index: 1;
	content: '';
}
.page__image-title {
	color: var(--text_light);
	padding: 30px 0px;
	position: relative;
	z-index: 10;
}
.page__blocks {}
.page__block {
	position: relative;
	padding-top: var(--section_space);
	padding-bottom: var(--section_space);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.page__block-filled {background-color: var(--panel_bg, var(--main_4)); padding-top: var(--section_space_open); padding-bottom: var(--section_space_open);}
.page__block-chess {padding-top: var(--section_space_open); padding-bottom: var(--section_space_open);}
.page__block-filled + .page__block-filled,
.page__block-chess:not(.page__block-filled) + .page__block-chess:not(.page__block-filled):not([style*="background"]) {padding-top: 0px;}
.page__block.page__block-dense {padding-top: var(--section_space_dense); padding-bottom: var(--section_space_dense);}
.page__block.page__block-open {padding-top: var(--section_space_open); padding-bottom: var(--section_space_open);}
.page__block.page__block-narrow {padding-top: 0px; padding-bottom: 0px;}
.page__block-deep {--decor_fill: var(--text_light); color: var(--text_light);}
.page__block-deep .title,
.page__block-deep .title__link,
.page__block-deep .link__simple,
.page__block-deep .link__simple:link {color: var(--text_light);}
.page__block-deep .link__simple:hover,
.page__block-deep .link__simple:focus-visible,
.page__block-deep .link__simple:active {color: var(--text_light);}
.page__block-deep .title__link:hover,
.page__block-deep .title__link:focus-visible {text-decoration: underline;}
.page__block-deep .title__link-more,
.page__block-deep .title__link:hover .title__link-more,
.page__block-deep .title__link-more:hover,
.page__block-deep .title__link-more:focus-visible {color: var(--text_light);}
.page__block-deep .accordion__items,
.page__block-deep .page__columns-item-card,
.page__block-deep .blog__items,
.page__block-deep .events__items,
.page__block-deep .media__items,
.page__block-deep .catalog__categories-items,
.page__block-deep .catalog__items,
.page__block-deep .community__items,
.page__block-deep .form__narrow,
.page__block-deep .form__wide-wrapper,
.page__block-deep .slider__wide-wrapper,
.page__block-deep .card__row > * {color: var(--text);}
.page__block-deep .accordion__items .title,
.page__block-deep .page__columns-item-card .title,
.page__block-deep .blog__items .title,
.page__block-deep .events__items .title,
.page__block-deep .media__items .title,
.page__block-deep .catalog__categories-items .title,
.page__block-deep .catalog__items .title,
.page__block-deep .community__items .title,
.page__block-deep .form__narrow .title,
.page__block-deep .form__wide-wrapper .title,
.page__block-deep .slider__wide-wrapper .title {color: var(--text);}
.page__block-deep .card__row > .card__quiet {color: var(--text_light);}
.page__block-arc-tl {border-top-left-radius: var(--panel_arc, clamp(64px, 14vw, 260px));}
.page__block-arc-tr {border-top-right-radius: var(--panel_arc, clamp(64px, 14vw, 260px));}
.page__block-arc-bl {border-bottom-left-radius: var(--panel_arc, clamp(64px, 14vw, 260px));}
.page__block-arc-br {border-bottom-right-radius: var(--panel_arc, clamp(64px, 14vw, 260px));}
.page__columns {
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	margin:0px -15px -30px -15px;
}
.page__columns-item {align-items: stretch;}
.page__columns-item-inner {
	flex-direction: column;
	flex-grow:1;
	margin:0px 15px 30px 15px;
	gap:15px;
}
.page__columns-item-inner>* {flex-grow:1;}
.page__columns-item-card {--card_shadow_hover: var(--shadow_2);}
.page__columns-item-image {height:250px; width:100%;}
.page__columns-item-image a {}
.page__columns-item-image img {width:100%; height: 100%; object-fit: cover;}
.page__columns-item-content-wrapper {
	width:calc(100% - 40px);
	flex-grow: 1;
	flex-direction: column;
	gap:15px;
	padding: 20px 20px;
}
.page__columns-item-content {width:100%; flex-grow: 1;}
.page__columns-item-button {width:100%;}
.page__columns-2 {justify-content: space-between;}
.page__columns-2 .page__columns-item {width:50%; max-width:50%;}
.page__columns-3 {justify-content: space-between;}
.page__columns-3 .page__columns-item {width:33.3333%; max-width:33.3333%;}
.page__columns-4 {justify-content: space-between;}
.page__columns-4 .page__columns-item {width:25%; max-width:25%;}
@media (max-width: 767px) {
	.page__columns-2 .page__columns-item {max-width:none; width: 100%; max-width:none;}
	.page__columns-3 .page__columns-item {width:50%; max-width:50%;}
	.page__columns-4 .page__columns-item {width:50%; max-width:50%;}
}
@media (max-width: 640px) {
	.page__columns-2 .page__columns-item {max-width:none; width: 100%; max-width:none;}
	.page__columns-3 .page__columns-item {max-width:none; width: 100%; max-width:none;}
	.page__columns-4 .page__columns-item {max-width:none; width: 100%; max-width:none;}
}
.page__chess-block {}
.page__chess-block-inner {
	gap:50px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: flex-start;
}
.page__block-chess:nth-child(odd)  .page__chess-block-inner {flex-direction: row;}
.page__block-chess:nth-child(even) .page__chess-block-inner {flex-direction: row-reverse;}
.page__block-chess .page__chess-block-left .page__chess-block-inner {flex-direction: row;}
.page__block-chess .page__chess-block-right .page__chess-block-inner {flex-direction: row-reverse;}
.page__chess-block-images {
	position: relative;
	width: 50%;
	position: sticky;
	top: 20px;
}
.page__chess-block-text {width: 50%;}
.page__chess-block-images,
.page__chess-block-text {position: sticky; top: 30px;}
.page__chess-block-slider {}
.page__chess-block-images > img,
.page__chess-block-images a img {width: 100%; height: 100% !important; object-fit: cover;}
.page__chess-block-slider.swiper .swiper-slide {height: auto;}
.page__chess-block-slider.swiper .swiper-slide img {width: 100%; height: 100%; object-fit: cover;}
.page__chess-block-slider.swiper .swiper-button-prev {}
.page__chess-block-slider.swiper .swiper-button-prev svg {}
.page__chess-block-slider.swiper .swiper-button-next {}
.page__chess-block-slider.swiper .swiper-button-next svg {}
.page__chess-block-text-inner {}
@media (max-width: 867px) {
	.page__chess-block-inner {display: block;}
	.page__chess-block-images {
		position: relative;
		width: auto;
		max-width: 550px;
		top: 0px;
		margin: 0px auto 30px auto;
	}
	.page__chess-block-text {max-width: none; width: auto;}
}
.accordion__items {}
.accordion__item {border: 2px solid transparent; background: var(--color_white); box-shadow: 0px 5px 16px 0px rgba(20, 24, 62, 0.08);}
.accordion__item.active {border: 2px solid var(--main);}
.accordion__item+.accordion__item {margin-top: 20px;}
.accordion__item {}
.accordion__item-title {
	padding: 20px;
	font-size: 1.125rem;
	font-weight: 500;
	cursor: pointer;
}
.accordion__item-title svg {
	fill: var(--main);
	stroke: var(--main);
	min-width: 15px;
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
.accordion__item.active .accordion__item-title svg {
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
}
.accordion__item-content {display: none; padding: 20px; padding-top: 0px;}
.accordion__item-not-initialized .accordion__item-content {display: block;}
.accordion__item-content-inner {}
.accordion__item-content .content__text {margin-bottom: 0px;}
.accordion__item-content .content__text p {text-align: justify;}
.accordion__item-content-list-pdf {margin:0px -20px;}
.accordion__item-content-list-pdf+* {margin-top: 10px;}
.accordion__item-content-list-pdf ul {margin:-10px 0px;}
.accordion__item-content-list-pdf ul li {list-style:none;}
.accordion__item-content-list-pdf ul li a svg {stroke: var(--main);}
.accordion__item-content-list-pdf ul li a {
	text-decoration:none;
	position: relative;
	padding: 15px 0px 15px 80px;
	font-size: 1.1875rem;
	font-weight: 500;
	min-height: 50px;
	color: var(--text);
	vertical-align: middle;
	font-weight: bold;
}
.accordion__item-content-list-pdf ul li a:hover {color: var(--main);}
.accordion__item-content-list-pdf-icon {
	position: absolute;
	left:20px ;
	top:50%;
	margin-top: -23px;
	-webkit-transition: fill var(--transition), -webkit-transform var(--transition_fast);
	-moz-transition: fill var(--transition), -moz-transform var(--transition_fast);
	-o-transition: fill var(--transition), -o-transform var(--transition_fast);
	transition: fill var(--transition), transform var(--transition_fast);
}
.accordion__item-content-list-pdf ul li a:hover .accordion__item-content-list-pdf-icon {fill: var(--main); -webkit-transform: translateX(13px); transform: translateX(13px);}
.gallery__photos {margin-top: 30px;}
.gallery__photo,
.gallery__photo-sizer {width: 20%;}
.gallery__photo-inner {
	overflow: hidden;
	display: block;
	position: relative;
	margin: 2px;
}
.gallery__photo a {display: block; position: relative; overflow: hidden;}
.gallery__photo a img {width: 100%; height: 100%; object-fit: cover;}
.gallery__photo-img {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	-webkit-transition: -webkit-transform var(--transition);
	-moz-transition: -moz-transform var(--transition);
	-o-transition: -o-transform var(--transition);
	transition: transform var(--transition);
}
.gallery__photo-img img {width: 100%; height: 100%; object-fit: cover;}
.gallery__photo a:hover .gallery__photo-img {-webkit-transform: scale(var(--media_overscale)); transform: scale(var(--media_overscale));}
.masonry__lazy-loading {position: relative;}
.masonry__lazy-loading > * {
	-webkit-transition: opacity 0.2s ease-in-out;
	-moz-transition: opacity 0.2s ease-in-out;
	-o-transition: opacity 0.2s ease-in-out;
	transition: opacity 0.2s ease-in-out;
}
.masonry__lazy-loading:not(.loaded) > * {opacity: 0;}
.masonry__lazy-loading:after {
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-image: url("../images/loader.gif");
	background-position: center top;
	background-repeat: no-repeat;
	-webkit-transition: opacity 0.2s ease-in-out;
	-moz-transition: opacity 0.2s ease-in-out;
	-o-transition: opacity 0.2s ease-in-out;
	transition: opacity 0.2s ease-in-out;
}
.masonry__lazy-loading.loaded:after {display: none;}
@media screen and (max-width: 991px) {
	.gallery__photo,
	.gallery__photo-sizer {width: 25%;}
}
@media screen and (max-width: 767px) {
	.gallery__photo,
	.gallery__photo-sizer {width: 33.3333%;}
}
@media screen and (max-width: 680px) {
	.gallery__photo,
	.gallery__photo-sizer {width: 50%;}
}
@media screen and (max-width: 520px) {
	.gallery__photo,
	.gallery__photo-sizer {width: 50%;}
}
.form__wide-wrapper {
	position: relative;
	padding-top: 100px;
	padding-bottom: 100px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.form__wide-inner {gap:30px; position: relative; z-index: 1;}
.form__wide-left {}
.form__wide-right {width: 350px; min-width: 350px;}
.form__wide-title {color: var(--text_light); font-size: 2rem; font-weight: bold;}
.form__wide-text {color: var(--text_light); font-size: 1.5rem; line-height: 145%;}
*+.form__wide-text {margin-top: 25px;}
@media screen and (max-width: 767px) {
	.form__wide-inner {display: block; text-align: center;}
	.form__wide-right {
		min-width: 0px;
		width: auto;
		max-width: 350px;
		margin: 20px auto 0px auto;
	}
}
@media screen and (max-width: 640px) {
	.form__wide-title {font-size: 1.625rem;}
	.form__wide-text {font-size: 1.0625rem;}
}
.form__narrow {
	background-color: var(--dark);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: relative;
	border-radius: var(--radius_lg);
	overflow: hidden;
	isolation: isolate;
}
.page__block-deep .form__narrow,
.page__block-deep .form__narrow .title {color: var(--text_light);}
.form__narrow-bg:before {
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	position: absolute;
	z-index: 1;
	content: '';
}
.form__narrow-content {padding: 50px 50px; position: relative; z-index: 1;}
.form__narrow-content-inner {gap:20px;}
.form__narrow-left {max-width: 40%; color: var(--text_light);}
.form__narrow-right {max-width: 50%; flex-grow: 1;}
.form__narrow-title {margin-bottom: 0px;}
.form__narrow-subtitle {margin-bottom: 0px; font-weight: normal;}
*+.form__narrow-subtitle {margin-top: 20px;}
@media (max-width: 991px) {
	.form__narrow-left {max-width: 35%;}
	.form__narrow-right {max-width: 60%;}
}
@media (max-width: 767px) {
	.form__narrow-content-inner {display: block;}
	.form__narrow-left,
	.form__narrow-right {max-width: none;}
	.form__narrow-left+.form__narrow-right {margin-top: 20px;}
	.form__narrow-left {text-align: center;}
}
@media (max-width: 640px) {
	.form__narrow-content {padding: 50px 20px;}
}
.slider__wide {}
.slider__wide-slide.swiper-slide {
	position: relative;
	height:auto;
	background-color: var(--dark);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.swiper .slider__wide-slide-image {height:auto;}
.slider__wide-slide-image-bg {
	width:100%;
	height:100%;
	object-fit:cover;
	position:absolute;
}
.slider__wide-slide-image img {width:100%; height:100%; object-fit:cover;}
.slider__wide-slide-shadow {background-color: rgba(0,0,0, 0.3);}
.slider__wide-slide-content-block {min-height: calc(100vh - var(--header_h)); min-height: calc(100svh - var(--header_h)); justify-content: center;}
.slider__wide-slide-content {width: 100%; color:var(--text_light); padding: 15% 0px;}
.slider__wide-slide-content>*+* {margin-top: 15px;}
.slider__wide-slide-title {font-size: 3.75rem; font-weight: 800;}
.slider__wide-slide-subtitle {font-size: 2.5rem; font-weight: 500;}
.slider__wide-slide-buttons-block {}
.slider__wide-slide-buttons-narrow {display:inline-block;}
.slider__wide-slide-buttons {justify-content:flex-start; gap:15px;}
.slider__wide-slide-text {margin-top:20px; font-size: 1.25rem; line-height: 140%;}
.slider__wide-slide-play {padding:30px;}
.slider__wide.swiper .swiper-pagination {bottom: 20px;}
.slider__wide.swiper .swiper-pagination-bullet {width: 10px; height: 10px; margin:0px 4px !important;}
@media screen and (max-width: 767px) {
	.slider__wide-slide-title {font-size: 3.125rem;}
	.slider__wide-slide-text {font-size: 1.125rem;}
}
@media screen and (max-width: 640px) {
	.slider__wide-slide-title {font-size: 2.5rem;}
	.slider__wide-slide-text {font-size: 1rem;}
	.slider__wide-slide-buttons-narrow {display:block; margin:0px auto; max-width:420px;}
	.slider__wide-slide-buttons {flex-direction:column;}
}
.play__icon-wrapper {display: inline-block; position:relative;}
.play__icon {
	display: inline-block;
	font-size: 0rem;
	text-shadow: 0px 0px 3px var(--text);
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -30px;
	margin-top: -30px;
}
.play__icon-wrapper .play__icon {
	position: relative;
	left: 0%;
	top: 0%;
	margin-left: 0px;
	margin-top: 0px;
}
.play__icon svg {fill: var(--text_light); z-index: 1; position: relative;}
.play__icon:before,
.play__icon:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	border: 1px solid var(--color_white);
	border-radius: 50%;
	box-shadow: 0px 0px 1px var(--main);
	opacity: 0;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-animation: play__ripple 3s cubic-bezier(0.22, 1, 0.36, 1) infinite backwards;
	animation: play__ripple 3s cubic-bezier(0.22, 1, 0.36, 1) infinite backwards;
	will-change: transform, opacity;
}
.play__icon:before {--ripple_peak: 0.8; width: 100%; height: 100%;}
.play__icon:after {
	--ripple_peak: 0.4;
	width: calc(100% + 15px);
	height: calc(100% + 15px);
	-webkit-animation-delay: 1.5s;
	animation-delay: 1.5s;
}
a .play__icon-link-hover:before,
a .play__icon-link-hover:after {display:none;}
a:hover .play__icon-link-hover:before,
a:hover .play__icon-link-hover:after {display:block;}
@keyframes play__ripple {
	0% {opacity: 0; transform: translate(-50%, -50%) scale(0.92);}
	12% {opacity: var(--ripple_peak, 0.8);}
	100% {opacity: 0; transform: translate(-50%, -50%) scale(1.75);}
}
.content__text + .title {margin-top: 36px;}
.content__text {line-height:140%;}
.page__blocks .content__text:not(.blog__item-intro):not(.community__card-text) {font-size: 1.125rem;}
.content__text-measured {max-width:var(--measure);}
.content__text>*:last-child {margin-bottom: 0px;}
.content__text iframe {}
.content__text *+* {margin-top: 15px;}
.content__text * + table {margin-top:15px;}
.content__text img {height:auto !important; width: 100%;}
.content__text td img {min-width:100px;}
.content__text h1,
.content__text h2,
.content__text h3,
.content__text h4,
.content__text h5,
.content__text h6 {font-weight:bold; line-height:120%; margin-bottom: 15px;}
.content__text>p {}
.content__text li p,
.content__text li div,
.content__text li span {display: contents; margin-top:0px;}
.content__text li span {margin-top:0px;}
.content__text h1 {font-size:2.5rem;}
.content__text h2 {font-size:2rem;}
.content__text h3 {font-size:1.5rem;}
.content__text h4 {font-size:1.375rem;}
.content__text h5 {font-size:1.25rem;}
.content__text h6 {font-size:1.125rem;}
.content__text p {}
.content__text ul:not([class]),
.content__text ol:not([class]) {padding-left: 0; padding-right: 25px;}
.content__text ul {margin-left:15px;}
.content__text ul li {list-style-position:inside; list-style-type: disc;}
.content__text ol {margin-left:15px;}
.content__text ol li {list-style-position:inside;}
.content__text a:link {color:var(--main_2); text-decoration:none;}
.content__text a:hover {color:var(--main_2); text-decoration:underline;}
.content__text a:active {color:var(--main_2); text-decoration:underline;}
.content__text a:visited {color:var(--main_2);}
.content__text table {border-spacing:0px; border-collapse:collapse;}
.content__text table tr {border-spacing:0px; border-collapse:collapse;}
.content__text table tr th,
.content__text table tr td {
	border:2px solid var(--main_4);
	border-spacing:0px;
	border-collapse:collapse;
	padding:10px;
}
.content__text *:not(.content__text-responsive)>table {
	width: auto !important;
	display: block;
	overflow-x: auto;
	height: auto !important;
}
.content__text-responsive {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	margin-bottom: 5px;
}
.content__text-responsive table {
	min-width:500px;
	width:100%;
	border-spacing:0px;
	border-collapse:collapse;
}
.content__text blockquote {
	display: block;
	border-top: 2px solid var(--main_3);
	padding: 28px 0 20px 0;
	position: relative;
	margin-top: 40px;
	line-height: 160%;
	font-size: 1.5rem;
	text-align: center;
	color: var(--text);
}
@media screen and (max-width: 767px) {
	.content__text {font-size: 1.1em;}
	.content__text blockquote {font-size: 1.5rem;}
	.content__text h1 {font-size: 1.875rem;}
	.content__text h2 {font-size: 1.5rem;}
	.content__text h3 {font-size: 1.375rem;}
	.content__text h4 {font-size: 1.25rem;}
	.content__text h5 {font-size: 1.1875rem;}
	.content__text h6 {font-size: 1.125rem;}
}
@media screen and (max-width: 640px) {
	.content__text {font-size: 1em;}
	.content__text blockquote {font-size: 1.15rem;}
}
@keyframes logo-draw {
	to {stroke-dashoffset: 0;}
}
@keyframes logo-pop {
	from {opacity: 0; transform: scale(.4);}
	to {opacity: 1; transform: scale(1);}
}
.developers .qwerme {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	margin: -10px 0;
	transition: opacity var(--transition);
}
.developers .qwerme svg {display: block;}
.developers .qwerme {opacity: 0.85;}
.developers .qwerme:hover,
.developers .qwerme:focus-visible {opacity: 1;}
:root {--route_band   : 48px; --route_lane   : 19px; --route_gutter : 44px;}
*.input__text {background-color: var(--body_bg); border: 1px solid var(--grey_5);}
*.input__text:hover {border-color: var(--text_link);}
*.input__text:focus {border-color: var(--text_link); background-color: var(--body_bg);}
*.input__text:disabled {
	opacity: 1;
	color: var(--grey_6);
	border-color: var(--grey_3) !important;
	background-color: var(--grey_1) !important;
}
*.input__text::placeholder {color: var(--grey_6);}
html:has(#popup__menu[aria-hidden="false"]) {background: #000;}
body:has(#popup__menu[aria-hidden="false"]) {background: transparent;}
body:has(#popup__menu[aria-hidden="false"]) .page__shell {min-height: 100vh;}
.page__shell {transform-origin: 50% var(--sheet_origin_y, 0px); transition: transform 0.45s cubic-bezier(.32,.72,0,1);}
body:has(#popup__menu[aria-hidden="false"]) .page__shell {background: var(--body_bg); transform: scale(0.93); clip-path: inset(var(--sheet_clip_top, 0px) 0 var(--sheet_clip_bottom, 0px) 0 round 12px);}
.content__text img,
.page__chess-block-slider .swiper-slide img,
.page__columns-item-image,
.page__columns-item-image img,
.blog__item-media,
.blog__item-image,
.events__item-image-inner,
.events__item-image-inner img,
.media__item-image-inner,
.media__item-image-inner img,
.catalog__categories-item-image-inner,
.catalog__categories-item-image-inner img,
.catalog__item-image-inner,
.catalog__item-image-inner img,
.gallery__photo-inner,
.gallery__photo-inner img,
.gallery__photo-img {border-radius: var(--radius);}
.blog__item-media,
.events__item-image-inner,
.media__item-image-inner,
.catalog__categories-item-image-inner,
.catalog__item-image-inner,
.gallery__photo-inner {isolation: isolate;}
@-webkit-keyframes community-sway-card {
	0% {-webkit-transform: rotate(0deg) translate3d(0, 0, 0);}
	35% {-webkit-transform: rotate(-1deg) translate3d(0, -5px, 0);}
	70% {-webkit-transform: rotate(0.9deg) translate3d(0, 4px, 0);}
	100% {-webkit-transform: rotate(0deg) translate3d(0, 0, 0);}
}
@keyframes community-sway-card {
	0% {transform: rotate(0deg) translate3d(0, 0, 0);}
	35% {transform: rotate(-1deg) translate3d(0, -5px, 0);}
	70% {transform: rotate(0.9deg) translate3d(0, 4px, 0);}
	100% {transform: rotate(0deg) translate3d(0, 0, 0);}
}
@-webkit-keyframes community-sway-back-1 {
	0% {-webkit-transform: translate(-10px, 12px) rotate(-3deg) scale(0.96);}
	40% {-webkit-transform: translate(-12px, 8px) rotate(-3.9deg) scale(0.96);}
	75% {-webkit-transform: translate(-8px, 15px) rotate(-2.3deg) scale(0.96);}
	100% {-webkit-transform: translate(-10px, 12px) rotate(-3deg) scale(0.96);}
}
@keyframes community-sway-back-1 {
	0% {transform: translate(-10px, 12px) rotate(-3deg) scale(0.96);}
	40% {transform: translate(-12px, 8px) rotate(-3.9deg) scale(0.96);}
	75% {transform: translate(-8px, 15px) rotate(-2.3deg) scale(0.96);}
	100% {transform: translate(-10px, 12px) rotate(-3deg) scale(0.96);}
}
@-webkit-keyframes community-sway-back-2 {
	0% {-webkit-transform: translate(9px, 22px) rotate(4deg) scale(0.92);}
	45% {-webkit-transform: translate(10px, 25px) rotate(4.6deg) scale(0.92);}
	80% {-webkit-transform: translate(7px, 19px) rotate(3.2deg) scale(0.92);}
	100% {-webkit-transform: translate(9px, 22px) rotate(4deg) scale(0.92);}
}
@keyframes community-sway-back-2 {
	0% {transform: translate(9px, 22px) rotate(4deg) scale(0.92);}
	45% {transform: translate(10px, 25px) rotate(4.6deg) scale(0.92);}
	80% {transform: translate(7px, 19px) rotate(3.2deg) scale(0.92);}
	100% {transform: translate(9px, 22px) rotate(4deg) scale(0.92);}
}
@media (max-width: 1024px) {
	:root {--header_h: 72px;}
}
@media (prefers-reduced-motion: reduce) {
	.page__shell {transition: none;}
	body:has(#popup__menu[aria-hidden="false"]) .page__shell {transform: none;}
}
/****************** CONTENT - END *******************/
/****************** CALENDAR *******************/
/****************** CALENDAR - END *******************/
/****************** FOOTER *******************/
footer {
	position: relative;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
	background-color: var(--footer_bg);
}
.footer__wrapper {padding: 50px 0px 20px 0px; color: var(--text_light);}
.footer {}
.footer__blocks {align-items: flex-start; margin: 0px -15px;}
.footer__blocks-item {width:33.3333%;}
.footer__blocks-item-inner {margin: 0px 15px; max-width: 400px;}
.footer__blocks-item-inner>*+* {margin-top: 20px;}
.footer__logo {display: inline-block; margin-bottom: 20px;}
.footer__logo img {width: 160px;}
.footer__blocks-item-title {text-transform: uppercase; font-weight: 800; margin-bottom: 20px;}
.footer__info-wrapper {}
.footer__info-wrapper>*+* {margin-top: 20px;}
.footer__menu {}
.footer__menu ul {list-style: none;}
.footer__menu ul li {}
.footer__menu li+li {margin-top: 10px;}
.footer__menu ul li a {color:var(--main); font-size: 1.125rem;}
.footer__menu ul li.current a,
.footer__menu ul li a:hover {color: var(--main_5);}
.footer__blocks-item-text {}
.footer__blocks-item-button {}
.socials__items-mobile {margin: 25px 0px;}
.socials__items ul {flex-wrap: wrap; gap:10px; margin-bottom: -10px;}
.socials__items-mobile.socials__items ul {justify-content: center;}
.socials__items-narrow ul {justify-content: flex-start;}
.socials__items ul {}
.socials__items ul li {list-style: none; margin-bottom: 10px;}
.socials__items ul li a {display: inline-block; vertical-align: middle; text-align: center;}
.socials__items ul li a svg {fill:var(--text); stroke:var(--text);}
.socials__items ul li a:hover svg {fill:var(--main); stroke:var(--main);}
.socials__items-white ul li a svg {fill:var(--main); stroke:var(--main);}
.socials__items-white ul li a:hover svg {fill:var(--color_white); stroke:var(--color_white);}
.copyright__wrapper {padding: 15px 0px; color: var(--text_light);}
.copyright__content {}
.copyright {}
.developers {}
@media screen and (max-width: 990px) {
	.footer__menu {display: inline-block; min-width: 240px;}
}
@media screen and (max-width: 767px) {
	.footer__blocks {flex-wrap: wrap;}
	.footer__blocks-item {flex: 0 0 50%; text-align: center;}
	.footer__blocks-item:nth-child(n+3) {margin-top: 30px;}
}
@media screen and (max-width: 640px) {
	.footer__wrapper {padding: 30px 0px;}
	.footer__blocks {display: block;}
	.footer__blocks-item {width:auto; text-align: center;}
	.footer__blocks-item-inner {max-width: 300px; margin: 0px auto;}
	.footer__blocks-item:nth-child(n+2) {margin-top: 30px;}
	.footer__logo {margin-top: 0px;}
}
.qwerme svg path {
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
.qwerme svg .qwerme-1 {fill:#ffffff;}
.qwerme svg .qwerme-2 {fill:#c90000;}
.qwerme-armed .qwerme__letter,
.qwerme-armed .qwerme__accent {opacity: 0; transform-box: fill-box;}
.qwerme-in .qwerme__letter {-webkit-animation: site-credit-body .42s cubic-bezier(0.22, 0.61, 0.36, 1) forwards; animation: site-credit-body .42s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;}
.qwerme-in .qwerme__accent {-webkit-animation: site-credit-head .36s cubic-bezier(0.22, 0.61, 0.36, 1) forwards; animation: site-credit-head .36s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;}
@keyframes site-credit-body {
	from {opacity: 0; -webkit-transform: translateY(63%); transform: translateY(63%);}
	to {opacity: 1; -webkit-transform: translateY(0); transform: translateY(0);}
}
@keyframes site-credit-head {
	from {opacity: 0; -webkit-transform: translateY(83%); transform: translateY(83%);}
	to {opacity: 1; -webkit-transform: translateY(0); transform: translateY(0);}
}
@media print {.qwerme-armed .qwerme__letter, .qwerme-armed .qwerme__accent {opacity: 1;}}
@media (prefers-reduced-motion: reduce) {
	.qwerme-armed .qwerme__letter,
	.qwerme-armed .qwerme__accent {opacity: 1; -webkit-animation: none; animation: none;}
}
.fixed__buttons {
	position: fixed;
	bottom: 15px;
	right: 15px;
	z-index: 100;
}
.fixed__buttons ul {}
.fixed__buttons ul li {list-style: none;}
.fixed__buttons ul li+li .fixed__button,
.fixed__buttons ul li+li .btn {margin-top: 15px;}
.fixed__button {
	display: block;
	height: 48px;
	width: 48px;
	text-align: center;
	line-height: 48px;
	position: relative;
	border-radius: var(--radius_pill);
	background: var(--main);
	font-size:0rem;
	border:none;
	outline: none;
	cursor: pointer;
	box-shadow: 0 5px 14.25px 0.75px rgba(0, 0, 0, 0.2);
	-webkit-transition: background .2s ease-in-out, -webkit-transform .2s ease-in-out, box-shadow .2s ease-in-out;
	transition: background .2s ease-in-out, transform .2s ease-in-out, box-shadow .2s ease-in-out;
}
.fixed__button:hover {background: var(--btn_primary_hover); -webkit-transform: translateY(-2px); transform: translateY(-2px); box-shadow: 0 8px 18px 0.75px rgba(0, 0, 0, 0.26);}
.fixed__button:active {background: var(--btn_primary_active); -webkit-transform: translateY(0); transform: translateY(0); box-shadow: 0 3px 9px 0.75px rgba(0, 0, 0, 0.22);}
.fixed__button:focus-visible {outline: 2px solid var(--text_link); outline-offset: 3px;}
.fixed__button svg {stroke: var(--text_light); fill: var(--text_light);}
.fixed__button-up {background-color: var(--color_black);}
.fixed__button-up:hover {background-color: var(--text);}
.fixed__button-up:active {background-color: var(--color_black);}
.fixed__button * {vertical-align: middle;}
.footer {background: var(--footer_bg); color: var(--text_light_2); margin-top: 72px;}
.footer__wrapper {padding: 56px 0 40px;}
.footer__blocks {
	margin: 0;
	gap: 100px;
	justify-content: space-between;
	align-items: flex-start;
}
.footer__blocks-brand {flex: 1 1 320px; max-width: 380px;}
.footer__blocks-item {flex: 0 1 auto;}
.footer__logo {display: block; line-height: 0; margin-bottom: 14px;}
.footer__logo img {width: 100%; height: auto;}
.footer__descriptor {color: var(--text_light_3); margin-bottom: 20px;}
.socials__items ul {justify-content: flex-start; gap: 10px; list-style: none;}
.socials__items a {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--grey_7);
	border-radius: 50%;
	transition: border-color var(--transition), background var(--transition);
}
.socials__items svg {display: block; fill: var(--text);}
.footer .socials__items svg {fill: var(--text_light_2);}
.socials__items a:hover {border-color: var(--main); background: var(--main);}
.footer__menu-title {
	font-family: var(--font_display);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--text_light);
	margin-bottom: 14px;
}
.footer__menu ul {list-style: none; display: grid; gap: 4px;}
.footer__menu ul li a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 1rem;
	color: var(--text_light_2);
	text-decoration: none;
	transition: color var(--transition);
}
.footer__copyright {
	background: var(--copyright_bg);
	padding: 18px 0;
	color: var(--text_light_3);
	font-size: 0.875rem;
}
.footer__copyright .container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 20px;
}
.footer__copyright p {margin: 0;}
.socials__items ul li a svg {fill: var(--text); stroke: none;}
.footer .socials__items ul li a svg {fill: var(--text_light_2);}
.socials__items ul li a:hover svg {fill: var(--color_white); stroke: none;}
.socials__items ul li a {display: inline-flex; align-items: center; justify-content: center;}
@media (max-width: 640px) {
	.socials__items ul {justify-content: center;}
}
@media (min-width: 561px) {
	.footer__copyright .container {padding-right: calc(15px + 48px + 12px);}
}
@media (max-width: 560px) {
	.footer__copyright .container {justify-content: center; text-align: center;}
}
@media (max-width: 1024px) {
	.footer__blocks {gap: 32px;}
}
@media (max-width: 680px) {
	.footer {margin-top: 48px;}
	.footer__blocks {flex-direction: column; gap: 28px;}
}
/****************** FOOTER - END *******************/
/****************** PAGINATION *******************/
.pagination {text-align:center;}
.pagination__top {padding-bottom:30px;}
.pagination__bottom {padding-top:30px;}
.pagination ul {font-size:0rem;}
.pagination ul li {display:inline-block; padding:6px; height: auto;}
.pagination li.active {background:transparent;}
.pagination ul li a,
.pagination ul li strong,
.pagination ul li span {
	color: var(--text);
	text-decoration:none;
	font-size:0.9375rem;
	display:block;
	text-align: center;
	width:44px;
	height:44px;
	border:1px solid var(--main_4);
	border-radius: var(--radius_pill);
	line-height:44px;
	font-weight: 500;
}
.pagination ul li a:hover {
	background-color:var(--main);
	border-color:var(--main);
	color:var(--text_light);
	text-decoration:none;
}
.pagination ul li strong,
.pagination ul li span,
.pagination ul li.active a,
.pagination ul li a.active {
	background-color:rgba(var(--main_num), 0.5);
	color: var(--text_light);
	border-color:transparent;
	cursor:default;
	font-weight: normal;
}
@media screen and (min-width: 992px) {
	.pagination__left-desktop {text-align: left;}
}
@media screen and (max-width: 640px) {
	.pagination ul li {padding:4px;}
	.pagination ul li a,
	.pagination ul li strong,
	.pagination ul li span {font-size:0.875rem;}
}
/****************** PAGINATION - END *******************/
/****************** POP_UP_WINDOW *******************/
html.popup__html {overflow:hidden;}
.popup__window {
	display: flex;
	position: fixed;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 200;
	visibility: visible;
	transition: opacity 0.5s, visibility 0.5s;
}
.popup__window-right {align-items: flex-end;}
.popup__window[aria-hidden="true"] {opacity: 0; visibility: hidden; pointer-events: none;}
.popup__overlay {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #02000e;
	opacity: 0.5;
}
.popup__header-draggable {width: auto; padding: 15px 15px 15px 15px; cursor: grab;}
.popup__header-draggable-thumb {
	width: 55px;
	height: 3px;
	background: var(--main_5);
	border-radius: var(--radius_pill);
	margin: 0px auto;
}
.popup__header-draggable-title {
	text-align: center;
	margin-top: 10px;
	margin-bottom: 0px;
	user-select: none;
}
.popup__window[aria-hidden="true"] .popup__content {transform: translateY(100%);}
.popup__content {
	display: flex;
	flex-direction: column;
	border-radius: var(--radius_lg) var(--radius_lg) 0 0;
	background: var(--color_white);
	overflow-y: hidden;
	--default-transitions: transform 0.5s, border-radius 0.5s;
	transition: var(--default-transitions);
	transform: translateY(0);
	max-width: 70rem;
	min-width: 500px;
	max-height: 100vh;
	box-sizing: border-box;
}
.popup__content-narrow {max-width: 420px; min-width: 420px;}
.popup__content:not(.not-selectable) {transition: var(--default-transitions), height 0.5s;}
.popup__content-fullscreen {border-radius: 0px;}
.popup__body {
	flex-grow: 1;
	height: 100%;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	gap: 15px;
	padding: 0px 20px;
	box-sizing: border-box;
}
.popup__body-wide {padding: 0px 0px;}
.popup__body-inner {flex-grow: 1; width: 100%; align-items: flex-start;}
.popup__body-title {text-align: center; margin-bottom: 15px; font-weight:900;}
.popup__footer {padding:0px; text-align: center; border-top:2px solid var(--main_5);}
.popup__footer-close {
	box-sizing: border-box;
	width: 100%;
	padding:15px 15px;
	margin:0px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 0rem;
	-webkit-transition: background-color 0.15s;
	transition: background-color 0.15s;
}
.popup__footer-close:hover {background: var(--grey_1);}
.popup__footer-close:active {background: var(--grey_3);}
.popup__footer-close:focus-visible {outline: 2px solid var(--text_link); outline-offset: -2px;}
.popup__footer-close svg {fill: var(--text_light_3);}
.popup__footer-close:hover svg {fill: var(--main);}
.popup__footer-with-btn {padding:0px 2px;}
@media screen and (max-width: 500px) {
	.popup__content {min-width: 100%;}
}
.popup__body-text {line-height: 150%;}
.popup__body-text a {color: var(--main);}
.popup__body-text a:hover {text-decoration: underline;}
.popup__body-items {padding-bottom: 20px;}
.popup__body-item {}
.popup__body-item+.popup__body-item {margin-top: 20px;}
.popup__fixed-button-shadow {min-height: 90px;}
.popup__fixed-button {
	position: absolute;
	bottom: 55px;
	left: 0px;
	width: calc(100% - 45px);
	padding: 20px 15px 20px 20px;
	background: var(--color_white);
}
#popup__menu .popup__overlay {background: #000; opacity: 0.4;}
#popup__menu .popup__content {
	background: var(--body_bg_3);
	border-radius: 14px 14px 0 0;
	padding-bottom: env(safe-area-inset-bottom, 0px);
	--default-transitions: transform 0.45s cubic-bezier(.32,.72,0,1), border-radius 0.45s;
}
#popup__menu .popup__header-draggable {padding: 8px 15px 6px;}
#popup__menu .popup__header-draggable-thumb {width: 36px; height: 5px; background: #c7c7cc;}
#popup__menu .popup__body {padding: 4px 16px 12px; gap: 12px;}
#popup__menu .popup__body-inner {text-align: left;}
#popup__menu .popup__footer {border-top: none; padding: 0 16px 16px;}
#popup__menu .popup__footer-close {
	margin: 0;
	box-sizing: border-box;
	padding: 13px 16px;
	min-height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color_white);
	border-radius: 12px;
	font-size: 1.0625rem;
	line-height: 24px;
	font-weight: 600;
	color: var(--text_link);
	-webkit-tap-highlight-color: transparent;
	transition: background-color 0.15s;
}
#popup__menu .popup__footer-close:active {background: rgba(0,0,0,0.06);}
#popup__menu .popup__footer-close svg {display: none;}
#popup__adm .popup__content {
	min-width: 0;
	width: 320px;
	max-width: calc(100vw - 30px);
	margin: 0 15px 75px;
	border-radius: var(--radius);
}
#popup__adm .popup__header-draggable {padding: 10px 15px 4px;}
#popup__adm .popup__body {padding: 4px 12px 8px;}
#popup__adm .popup__footer {padding: 0;}
.popup__adm-menu ul {margin: 0; padding: 0;}
.popup__adm-menu ul li {list-style: none;}
.popup__adm-menu ul li a {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 44px;
	padding: 11px 14px;
	border-radius: var(--radius_sm);
	font-size: 0.9375rem;
	line-height: 20px;
	font-weight: 500;
	color: var(--text);
	text-align: left;
	transition: background-color 0.15s, color 0.15s;
}
.popup__adm-menu ul li a:hover {background: var(--body_bg_3); color: var(--text_link);}
/****************** POP_UP_WINDOW - END *******************/
/****************** PMCULTURE COMPONENTS *******************/
.decor__layer {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
	border-radius: inherit;
}
.decor__line {
	--decor_line_weight : 3px;
	--decor_line_node   : calc(var(--decor_line_weight) * 5.4);
	--decor_line_corner : calc(var(--decor_line_weight) * 3.1);
	--decor_line_color  : var(--decor_teal);
	position: relative;
	display: block;
	pointer-events: none;
}
.decor__line svg {display: block; width: 100%; height: auto;}
.decor__line-path {
	fill: none;
	stroke: var(--decor_teal);
	stroke-width: var(--decor_line_weight);
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}
.decor__line-node {
	position: absolute;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: var(--decor_line_node);
	height: var(--decor_line_node);
	margin-left: calc(var(--decor_line_node) / -2);
	margin-top: calc(var(--decor_line_node) / -2);
	border-radius: 50%;
	border: var(--decor_line_weight) solid var(--decor_line_color);
	background: var(--main);
	background-clip: padding-box;
}
.decor__line-node-open {background-color: var(--body_bg);}
.decor__quarter {
	--decor_quarter_size: clamp(72px, 9vw, 160px);
	display: block;
	width: var(--decor_quarter_size);
	height: var(--decor_quarter_size);
	background: var(--decor_fill, var(--decor_teal));
}
.decor__quarter-tl {border-top-left-radius: var(--decor_arc, 100%); -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%;}
.decor__quarter-tr {border-top-right-radius: var(--decor_arc, 100%); -webkit-transform-origin: 0% 100%; transform-origin: 0% 100%;}
.decor__quarter-bl {border-bottom-left-radius: var(--decor_arc, 100%); -webkit-transform-origin: 100% 0%; transform-origin: 100% 0%;}
.decor__quarter-br {border-bottom-right-radius: var(--decor_arc, 100%); -webkit-transform-origin: 0% 0%; transform-origin: 0% 0%;}
.decor__quarter-media {
	--decor_arc: 100%;
	--decor_quarter_media_ratio: 4 / 3;
	position: relative;
	display: block;
	overflow: hidden;
	isolation: isolate;
	aspect-ratio: var(--decor_quarter_media_ratio);
	background-color: var(--grey_1);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.decor__quarter-media > img {display: block; max-width: 100%;}
.decor__pill {
	--decor_pill_length : 56px;
	--decor_pill_weight : 8px;
	display: block;
	width: var(--decor_pill_length);
	height: var(--decor_pill_weight);
	border-radius: var(--radius_pill);
	background: var(--decor_fill, var(--decor_teal));
}
.decor__pill-vertical {width: var(--decor_pill_weight); height: var(--decor_pill_length);}
.decor__dots {
	--decor_dots_size : 2px;
	--decor_dots_step : 16px;
	display: block;
	opacity: 0.5;
	background-image: radial-gradient(circle, var(--decor_fill, var(--decor_teal)) var(--decor_dots_size), transparent calc(var(--decor_dots_size) + 0.5px));
	background-size: var(--decor_dots_step) var(--decor_dots_step);
	background-repeat: repeat;
}
.decor__dots-graded {
	--decor_dots_size_end : 7px;
	--decor_dots_paint    : var(--decor_fill, var(--decor_teal));
	--decor_dots_span     : calc(var(--decor_dots_size_end) - var(--decor_dots_size));
	--decor_dots_r0       : var(--decor_dots_size);
	--decor_dots_r1       : calc(var(--decor_dots_size) + var(--decor_dots_span) * 0.1429);
	--decor_dots_r2       : calc(var(--decor_dots_size) + var(--decor_dots_span) * 0.2857);
	--decor_dots_r3       : calc(var(--decor_dots_size) + var(--decor_dots_span) * 0.4286);
	--decor_dots_r4       : calc(var(--decor_dots_size) + var(--decor_dots_span) * 0.5714);
	--decor_dots_r5       : calc(var(--decor_dots_size) + var(--decor_dots_span) * 0.7143);
	--decor_dots_r6       : calc(var(--decor_dots_size) + var(--decor_dots_span) * 0.8571);
	--decor_dots_r7       : var(--decor_dots_size_end);
	width: calc(var(--decor_dots_step) * 8);
	background-image:
		radial-gradient(circle, var(--decor_dots_paint) var(--decor_dots_r0), transparent calc(var(--decor_dots_r0) + 0.5px)),
		radial-gradient(circle, var(--decor_dots_paint) var(--decor_dots_r1), transparent calc(var(--decor_dots_r1) + 0.5px)),
		radial-gradient(circle, var(--decor_dots_paint) var(--decor_dots_r2), transparent calc(var(--decor_dots_r2) + 0.5px)),
		radial-gradient(circle, var(--decor_dots_paint) var(--decor_dots_r3), transparent calc(var(--decor_dots_r3) + 0.5px)),
		radial-gradient(circle, var(--decor_dots_paint) var(--decor_dots_r4), transparent calc(var(--decor_dots_r4) + 0.5px)),
		radial-gradient(circle, var(--decor_dots_paint) var(--decor_dots_r5), transparent calc(var(--decor_dots_r5) + 0.5px)),
		radial-gradient(circle, var(--decor_dots_paint) var(--decor_dots_r6), transparent calc(var(--decor_dots_r6) + 0.5px)),
		radial-gradient(circle, var(--decor_dots_paint) var(--decor_dots_r7), transparent calc(var(--decor_dots_r7) + 0.5px));
	background-position:
		calc(var(--decor_dots_step) * 0) 0,
		calc(var(--decor_dots_step) * 1) 0,
		calc(var(--decor_dots_step) * 2) 0,
		calc(var(--decor_dots_step) * 3) 0,
		calc(var(--decor_dots_step) * 4) 0,
		calc(var(--decor_dots_step) * 5) 0,
		calc(var(--decor_dots_step) * 6) 0,
		calc(var(--decor_dots_step) * 7) 0;
	background-repeat: repeat-y;
	mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%);
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%);
}
.decor__hatch {
	--decor_hatch_weight : 1px;
	--decor_hatch_step   : 9px;
	--decor_hatch_angle  : 135deg;
	display: block;
	background-image: repeating-linear-gradient(
		var(--decor_hatch_angle),
		var(--decor_fill, var(--decor_teal)) 0,
		var(--decor_fill, var(--decor_teal)) var(--decor_hatch_weight),
		transparent calc(var(--decor_hatch_weight) + 0.5px),
		transparent var(--decor_hatch_step)
	);
}
.decor__relic {
	--decor_relic_h      : clamp(240px, 46vh, 560px);
	--decor_relic_ratio  : 4 / 5;
	--decor_relic_grow   : 0.72;
	--decor_relic_shrink : 0.88;
	--decor_relic_in     : 900ms;
	--decor_relic_out    : 700ms;
	display: block;
	position: relative;
	height: var(--decor_relic_h);
	aspect-ratio: var(--decor_relic_ratio);
}
.decor__relic-slide {
	position: absolute;
	inset: 0;
	display: block;
	opacity: 0;
	visibility: hidden;
	-webkit-transform: scale(var(--decor_relic_grow));
	transform: scale(var(--decor_relic_grow));
	-webkit-transition: opacity var(--decor_relic_in) ease-out, -webkit-transform var(--decor_relic_in) cubic-bezier(0.22, 0.61, 0.36, 1), visibility 0s;
	transition: opacity var(--decor_relic_in) ease-out, transform var(--decor_relic_in) cubic-bezier(0.22, 0.61, 0.36, 1), visibility 0s;
}
.decor__relic-slide-in {
	opacity: 1;
	visibility: visible;
	-webkit-transform: none;
	transform: none;
}
.decor__relic-slide-out {
	opacity: 0;
	visibility: hidden;
	-webkit-transform: scale(var(--decor_relic_shrink));
	transform: scale(var(--decor_relic_shrink));
	-webkit-transition: opacity var(--decor_relic_out) ease-in, -webkit-transform var(--decor_relic_out) ease-in, visibility 0s linear var(--decor_relic_out);
	transition: opacity var(--decor_relic_out) ease-in, transform var(--decor_relic_out) ease-in, visibility 0s linear var(--decor_relic_out);
}
.decor__relic-img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	-o-object-position: center;
	object-position: center;
	-webkit-filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.45));
	filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.45));
	-webkit-animation: decor-relic-sway 9s ease-in-out infinite;
	animation: decor-relic-sway 9s ease-in-out infinite;
}
@-webkit-keyframes decor-relic-sway {
	0% {-webkit-transform: rotate(0deg) translate3d(0, 0, 0);}
	30% {-webkit-transform: rotate(-2deg) translate3d(0, 6px, 0);}
	65% {-webkit-transform: rotate(1.6deg) translate3d(0, -6px, 0);}
	100% {-webkit-transform: rotate(0deg) translate3d(0, 0, 0);}
}
@keyframes decor-relic-sway {
	0% {transform: rotate(0deg) translate3d(0, 0, 0);}
	30% {transform: rotate(-2deg) translate3d(0, 6px, 0);}
	65% {transform: rotate(1.6deg) translate3d(0, -6px, 0);}
	100% {transform: rotate(0deg) translate3d(0, 0, 0);}
}
.hero__video {
	position: relative;
	overflow: hidden;
	background: var(--dark);
	--decor_fill: var(--main);
	color: var(--text_light);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: 1fr auto;
	min-height: calc(100vh - var(--header_h));
	min-height: calc(100svh - var(--header_h));
	padding: var(--section_space_dense) 0;
}
.hero__video-media {position: absolute; inset: 0; z-index: 0;}
.hero__video-player {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.hero__video-scrim {position: absolute; inset: 0;}
.hero__video-scrim::before,
.hero__video-scrim::after {
	content: "";
	position: absolute;
	inset: 0;
}
.hero__video-scrim::before {
	background-image: var(--hero_poster, url('/assets/site/images/hero-poster.jpg'));
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	-webkit-transition: opacity var(--hero_fade, 700ms) ease;
	transition: opacity var(--hero_fade, 700ms) ease;
}
.hero__video-scrim::after {
	background-image:
		linear-gradient(90deg, rgba(17, 17, 17, 0.88) 0%, rgba(17, 17, 17, 0.62) 55%, rgba(17, 17, 17, 0.42) 100%),
		linear-gradient(0deg, rgb(17, 17, 17) 0%, rgba(17, 17, 17, 0.86) 8%, rgba(17, 17, 17, 0.55) 18%, rgba(17, 17, 17, 0) 48%);
}
.hero__video-playing .hero__video-scrim::before {opacity: 0;}
.hero__video-lead {
	position: relative;
	z-index: 1;
	display: grid;
	align-content: center;
}
.hero__video-lead > .container {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
}
.hero__video-content {max-width: 860px;}
.hero__video-nocard .hero__video-content {max-width: 940px;}
.hero__video-title {color: var(--text_light); margin-bottom: 20px;}
.hero__video-subtitle {
	color: var(--text_light_2);
	font-size: 1.125rem;
	max-width: 620px;
	margin-bottom: 28px;
}
.hero__video-actions {display: flex; flex-wrap: wrap; gap: 14px;}
.hero__video-dots {
	--decor_dots_step     : 18px;
	--decor_dots_size     : 1.5px;
	--decor_dots_size_end : 8px;
	position: absolute;
	right: 5%;
	top: 12px;
	bottom: 18px;
}
.hero__video-relic {
	--decor_relic_h : clamp(240px, min(46vh, 92%), 560px);
	position: absolute;
	right: 12%;
	top: 50%;
	z-index: 1;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
a.btn.btn__ghost.btn__ghost-onmedia:link,
a.btn.btn__ghost.btn__ghost-onmedia:visited,
.btn.btn__ghost.btn__ghost-onmedia {color: var(--text_light); border-color: var(--text_light);}
a.btn.btn__ghost.btn__ghost-onmedia:hover,
.btn.btn__ghost.btn__ghost-onmedia:hover {color: var(--dark); background-color: var(--text_light); border-color: var(--text_light);}
.hero__video-rail {position: relative; z-index: 1; margin-top: var(--section_space_dense);}
.hero__rail {position: relative;}
.hero__rail-viewport {
	--rail_fade       : 56px;
	--rail_fade_lead  : 0;
	--rail_fade_tail  : 0;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 12px 0 18px;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, var(--color_black) calc(var(--rail_fade) * var(--rail_fade_lead)), var(--color_black) calc(100% - var(--rail_fade) * var(--rail_fade_tail)), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, var(--color_black) calc(var(--rail_fade) * var(--rail_fade_lead)), var(--color_black) calc(100% - var(--rail_fade) * var(--rail_fade_tail)), transparent 100%);
}
.hero__rail-viewport::-webkit-scrollbar {height: 0; width: 0;}
.hero__rail-fade-start .hero__rail-viewport {--rail_fade_lead: 1;}
.hero__rail-fade-end .hero__rail-viewport {--rail_fade_tail: 1;}
.hero__rail-viewport:focus-visible {--rail_fade_lead: 0; --rail_fade_tail: 0;}
.hero__rail-items {
	--hero_rail_card: 290px;
	--hero_rail_labels: 43px;
	--hero_rail_action: 60px;
	display: flex;
	align-items: stretch;
	gap: 20px;
	list-style: none;
}
.hero__rail-item {
	--reveal_rise: 12px;
	flex: 1 0 var(--hero_rail_card);
	min-width: 0;
	display: flex;
	scroll-snap-align: start;
}
.hero__rail-item > .hero__card {flex: 1 1 auto; min-width: 0;}
.hero__card {
	--card_bg: var(--body_bg);
	--card_radius: var(--radius_lg);
	--card_shadow: var(--shadow_3);
	position: relative;
	display: flex;
	overflow: hidden;
	color: var(--text);
	text-decoration: none;
}
.hero__card-body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	padding: 16px 18px 20px;
}
.hero__card-title.title__link:after,
.hero__card-soon .hero__card-action:after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
}
.hero__card-body > .btn {position: relative; z-index: 2;}
.hero__card-labels {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: var(--hero_rail_labels);
	gap: 6px;
	list-style: none;
	margin-bottom: 12px;
}
.hero__card-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	background: var(--main_2);
	color: var(--text_light);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	border-radius: var(--radius_pill);
	padding: 4px 12px;
}
.hero__card-badge-media {
	background: transparent;
	color: var(--main_2);
	-webkit-box-shadow: inset 0 0 0 1px var(--main_2);
	box-shadow: inset 0 0 0 1px var(--main_2);
}
.hero__card-badge-media svg {flex: none; fill: currentColor;}
.hero__card-badge-soon {background: var(--main_4); color: var(--text_link_active);}
.hero__card-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	margin-bottom: 12px;
}
.hero__card-note {font-size: 0.875rem; color: var(--text_2); margin-bottom: 16px;}
.hero__card-note-clamp {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}
.hero__card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 0;
	list-style: none;
	font-size: 0.875rem;
	color: var(--text_3);
	margin-bottom: 14px;
}
.hero__card-meta-lead {align-items: center; min-height: var(--hero_rail_labels); margin-bottom: 12px;}
.hero__card-meta-cat {
	background: var(--main_2);
	color: var(--text_light);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	border-radius: var(--radius_pill);
	padding: 4px 12px;
}
.hero__card-meta li.hero__card-meta-cat:not(:last-child) {padding-right: 12px; margin-right: 10px;}
.hero__card-meta li.hero__card-meta-cat:not(:last-child):after {content: none;}
.hero__card-meta-media {display: flex; align-items: center;}
.hero__card-meta li.hero__card-meta-media:not(:last-child) {padding-right: 0; margin-right: 10px;}
.hero__card-meta li.hero__card-meta-media:not(:last-child):after {content: none;}
.hero__card-meta-media svg {flex: none; fill: currentColor;}
.hero__card-meta li:not(:last-child) {position: relative; padding-right: 28px;}
.hero__card-meta li:not(:last-child):after {
	content: '';
	position: absolute;
	right: 12px;
	top: 50%;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--grey_5);
	transform: translateY(-50%);
}
.hero__card-body > .btn,
.hero__card-action {margin-top: auto; min-height: var(--hero_rail_action);}
.hero__card-action {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	align-items: center;
}
.hero__card-action {
	align-self: flex-start;
	margin-top: auto;
	color: var(--text_link);
	font-size: 0.9375rem;
}
.hero__card-action svg {fill: currentColor; vertical-align: middle; margin-left: 6px;}
.hero__card-soon {
	--card_bg: var(--main_3);
	--card_shadow: none;
	--card_shadow_hover: none;
	--card_shadow_active: none;
}
.hero__card-soon .hero__card-title {color: var(--text);}
.hero__card-all {--card_bg: var(--main_2); color: var(--text_light);}
.hero__card-all .hero__card-body:before {content: ''; display: block; height: calc(var(--hero_rail_labels) + 12px);}
.hero__card-all .hero__card-note {color: var(--text_light_2);}
.hero__card-all .hero__card-action {color: var(--text_light); -webkit-transition: -webkit-transform var(--transition_fast); transition: transform var(--transition_fast);}
.hero__card-all:hover .hero__card-action,
.hero__card-all:focus-visible .hero__card-action {-webkit-transform: translateX(4px); transform: translateX(4px);}
.course__hero {--panel_bg  : var(--main_2); --panel_arc : clamp(56px, 10vw, 200px); position: relative;}
.course__hero-dots {
	--decor_dots_step     : 24px;
	--decor_dots_size     : 2px;
	--decor_dots_size_end : 10px;
	position: absolute;
	top: 50%;
	right: clamp(16px, 4vw, 80px);
	height: clamp(170px, 20vw, 300px);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.course__hero-body {max-width: 780px;}
.course__hero-media {display: block; margin-top: clamp(24px, 3vw, 32px);}
.course__hero-cover {display: block; width: 100%; height: auto; border-radius: var(--radius);}
.course__hero-title {margin-bottom: 16px;}
.course__hero-summary {
	max-width: var(--measure);
	margin-bottom: 26px;
	font-size: 1.125rem;
	color: var(--text_light_2);
}
.course__hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 0;
	list-style: none;
	margin: 0 0 30px 0;
	padding: 0;
	font-size: 0.9375rem;
	color: var(--text_light_2);
}
.course__hero-meta li:not(:last-child) {position: relative; padding-right: 28px;}
.course__hero-meta li:not(:last-child):after {
	content: '';
	position: absolute;
	right: 12px;
	top: 50%;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--text_light_3);
	transform: translateY(-50%);
}
.course__hero-actions {display: flex; flex-wrap: wrap; gap: 12px;}
.page__block-deep a.btn.btn__outlined,
.page__block-deep .btn.btn__outlined {color: var(--text_light); border-color: var(--text_light_3);}
.page__block-deep a.btn.btn__outlined:hover,
.page__block-deep .btn.btn__outlined:hover {color: var(--text); background-color: var(--body_bg); border-color: var(--body_bg);}
.page__block-deep .accordion__items .btn.btn__outlined,
.page__block-deep .page__columns-item-card .btn.btn__outlined,
.page__block-deep .blog__items .btn.btn__outlined,
.page__block-deep .events__items .btn.btn__outlined,
.page__block-deep .media__items .btn.btn__outlined,
.page__block-deep .catalog__items .btn.btn__outlined,
.page__block-deep .community__items .btn.btn__outlined,
.page__block-deep .card__row > * .btn.btn__outlined {color: var(--text_link); border-color: var(--grey_5);}
.page__block-deep .accordion__items .btn.btn__outlined:hover,
.page__block-deep .page__columns-item-card .btn.btn__outlined:hover,
.page__block-deep .blog__items .btn.btn__outlined:hover,
.page__block-deep .events__items .btn.btn__outlined:hover,
.page__block-deep .media__items .btn.btn__outlined:hover,
.page__block-deep .catalog__items .btn.btn__outlined:hover,
.page__block-deep .community__items .btn.btn__outlined:hover,
.page__block-deep .card__row > * .btn.btn__outlined:hover {color: var(--text_link_hover); background-color: var(--btn_outlined_hover); border-color: var(--text_link_hover);}
.page__block-deep a.btn.btn__outlined.course__cta-ready,
.page__block-deep a.btn.btn__outlined.course__cta-ready:hover {color: var(--text); background-color: var(--body_bg); border-color: var(--body_bg);}
.page__block-deep a.btn.btn__primary:link,
.page__block-deep a.btn.btn__primary:visited,
.page__block-deep .btn.btn__primary {color: var(--main_2); background-color: var(--text_light); border-color: var(--text_light);}
.page__block-deep a.btn.btn__primary:hover,
.page__block-deep .btn.btn__primary:hover {color: var(--main_2); background-color: var(--main_3); border-color: var(--main_3);}
.page__block-deep a.btn.btn__primary:active,
.page__block-deep .btn.btn__primary:active {color: var(--main_2); background-color: var(--main_4); border-color: var(--main_4);}
.page__block-deep .course__hero-actions:has(.course__cta-ready) a.btn.btn__primary {color: var(--text_light); background-color: transparent; border-color: var(--text_light_3);}
.page__block-deep .course__hero-actions:has(.course__cta-ready) a.btn.btn__primary:hover {color: var(--text); background-color: var(--body_bg); border-color: var(--body_bg);}
.course__video {margin-bottom: 26px;}
.course__video-frame {
	position: relative;
	aspect-ratio: 16 / 9;
	max-width: 940px;
	border-radius: var(--radius_lg);
	overflow: hidden;
}
.course__video-player {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.course__lecturer-heading {margin-bottom: 24px;}
.course__lecturer {
	display: flex;
	align-items: flex-start;
	gap: clamp(20px, 3vw, 40px);
	padding: clamp(20px, 3vw, 32px);
	border-radius: var(--radius_lg);
	background-color: var(--main_3);
}
.course__lecturer-photo {
	flex: 0 0 auto;
	width: clamp(96px, 12vw, 150px);
	aspect-ratio: 1 / 1;
	display: grid;
	place-items: center;
	overflow: hidden;
	border-radius: var(--radius);
	background-color: var(--main_4);
}
.course__lecturer-initials {
	font-family: var(--font_display);
	font-weight: 700;
	font-size: clamp(1.875rem, 4vw, 2.75rem);
	line-height: 1;
	color: var(--text_link_active);
}
.course__lecturer-name {margin-bottom: 8px;}
.course__lecturer-roles {
	margin-bottom: 16px;
	padding-left: 18px;
	font-size: 0.9375rem;
	color: var(--text_2);
}
.course__related-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 28px;
}
.course__related-title {margin: 0;}
.course__related .catalog__items {grid-template-columns: repeat(3, minmax(0, 1fr));}
@media screen and (max-width: 1024px) {
	.course__hero-dots {display: none;}
	.course__hero-body {max-width: none;}
}
@media screen and (min-width: 1025px) {
	.course__hero .container {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(300px, 460px);
		align-items: center;
		gap: clamp(24px, 3vw, 48px);
	}
	.course__hero-media {margin-top: 0; margin-left: auto; width: 100%;}
	.course__hero:has(.course__hero-media) .course__hero-dots {display: none;}
}
@media screen and (max-width: 867px) {
	.course__related .catalog__items {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media screen and (max-width: 767px) {
	.course__lecturer {flex-direction: column;}
	.course__hero-actions .btn {width: 100%; min-width: 0;}
	.course__related-head {align-items: flex-start;}
}
@media screen and (max-width: 640px) {
	.course__related .catalog__items {grid-template-columns: minmax(0, 1fr);}
}
.course__body-grid > * + * {margin-top: clamp(36px, 4vw, 64px);}
@media screen and (min-width: 1025px) {
	.course__body-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) clamp(340px, 28%, 420px);
		gap: clamp(28px, 3vw, 56px);
		align-items: start;
	}
	.course__body-aside {position: -webkit-sticky; position: sticky; top: 104px;}
	.course__body-aside .course__program-actions {flex-direction: column; align-items: stretch;}
	.course__body-aside .course__program-actions .btn {width: 100%; min-width: 0;}
	.course__body-aside .course__program-notes {justify-content: center;}
	.course__body-grid > * + * {margin-top: 0px;}
}
.course__body-main > * + * {margin-top: clamp(36px, 4vw, 64px);}
.course__about-text .page__blocks {margin-top: var(--section_space_dense);}
.course__about-text .page__block,
.lesson__body .page__block {margin-top: 0px;}
.course__about-text .page__block:not(.page__block-filled):not(.page__block-chess),
.lesson__body .page__block:not(.page__block-filled):not(.page__block-chess) {padding-top: 0px; padding-bottom: 0px;}
.course__about-text .page__block + .page__block,
.lesson__body .page__block + .page__block {margin-top: var(--section_space_dense);}
.course__lessons-box {
	border: 1px solid var(--grey_3);
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--body_bg);
}
.course__lessons-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	padding: 14px 16px;
	cursor: pointer;
	background: var(--grey_1);
	list-style: none;
}
.course__lessons-summary::-webkit-details-marker {display: none;}
.course__lessons-title {margin: 0;}
.course__lessons-counter {font-size: 0.875rem; color: var(--text_3);}
.course__lessons-details .course__progress-track {border-radius: 0;}
.course__progress-track {height: 6px; background: var(--grey_3); overflow: hidden;}
.course__progress-bar {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--main);
	-webkit-transform: translateX(calc(var(--course_progress, 0) * 1% - 100%));
	transform: translateX(calc(var(--course_progress, 0) * 1% - 100%));
	-webkit-transition: -webkit-transform var(--transition);
	transition: transform var(--transition);
}
.course__lessons-scroll {max-height: 60vh; overflow-y: auto;}
@media screen and (max-width: 1024px) {
	.course__body-aside .course__lessons-scroll,
	.lesson__aside .course__lessons-scroll {max-height: none; overflow-y: visible;}
}
.course__module+.course__module {border-top: 1px solid var(--grey_3);}
.course__module-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 16px 8px;
}
.course__module-title {margin: 0; color: var(--text_2);}
.course__module-count {font-size: 0.8125rem; color: var(--text_3);}
.course__lessons {list-style: none;}
.course__lesson-link {
	display: grid;
	grid-template-columns: 26px 1fr auto;
	gap: 4px 10px;
	padding: 10px 16px;
	color: var(--text);
	text-decoration: none;
	font-size: 0.9375rem;
	transition: background var(--transition);
}
.course__lesson-link:hover {background: var(--main_3);}
.course__lesson-num {color: var(--text_3); font-weight: 600;}
.course__lesson-body {min-width: 0;}
.course__lesson-title {display: block;}
.course__lesson-aside {display: flex; align-items: center;}
.course__lesson-mark {display: none; color: var(--color_success);}
.course__lesson-mark svg {fill: none; stroke: currentColor; display: block;}
.course__lesson-viewed .course__lesson-mark {display: block;}
.course__lesson-active .course__lesson-link {background: var(--main_3); box-shadow: inset 3px 0 0 var(--main); font-weight: 600;}
.course__program-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 20px;
}
.course__program-notes {display: inline-flex; align-items: center; gap: 8px;}
.course__program-notes svg {fill: currentColor;}
.course__program-testing.course__program-testing-ready {background-color: var(--main_3); border-color: var(--text_link);}
.lesson__aside .course__program-actions {display: none; margin-top: 16px; flex-direction: column; align-items: stretch;}
.lesson__aside .course__program-actions:has(.course__program-testing-ready) {display: flex;}
.lesson__aside .course__program-actions .btn {width: 100%; min-width: 0;}
.how {
	position: relative;
	padding: clamp(24px, 3.2vw, 44px);
	border-radius: var(--radius_lg);
	background-color: var(--decor_teal_bg);
	overflow: hidden;
}
.how__arc {
	--decor_quarter_size: clamp(96px, 13vw, 190px);
	--decor_fill: var(--decor_teal);
	position: absolute;
	right: 0;
	bottom: 0;
	opacity: 0.5;
	pointer-events: none;
}
.how__head,
.how__steps {position: relative; z-index: 1;}
.how__head {margin-bottom: clamp(22px, 2.6vw, 34px);}
.how__title {max-width: var(--measure); margin-bottom: 0;}
.how__lead {max-width: var(--measure); margin-top: 12px; color: var(--text_2);}
.how__steps {
	--how_stroke : 3px;
	--how_node   : calc(var(--how_stroke) * 5.4);
	--how_gap    : clamp(14px, 1.6vw, 22px);
	--how_line   : 21.6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.how__step {
	position: relative;
	display: grid;
	grid-template-columns: var(--how_node) minmax(0, 1fr);
	column-gap: var(--how_gap);
	padding-bottom: clamp(22px, 2.6vw, 34px);
}
.how__step:last-child {padding-bottom: 0;}
.how__step:not(:last-child)::before {
	content: '';
	position: absolute;
	top: calc(var(--how_line) / 2);
	bottom: calc(var(--how_line) / -2);
	left: calc((var(--how_node) - var(--how_stroke)) / 2);
	width: var(--how_stroke);
	border-radius: var(--radius_pill);
	background-color: var(--decor_teal);
}
.how__step-node {
	position: relative;
	z-index: 1;
	width: var(--how_node);
	height: var(--how_node);
	margin-top: calc((var(--how_line) - var(--how_node)) / 2);
	border-radius: 50%;
	background-color: var(--body_bg);
	box-shadow: inset 0 0 0 var(--how_stroke) var(--decor_teal);
}
.how__step-node-active {background-color: var(--main);}
.how__step-title {margin-bottom: 6px;}
.how__step-text {max-width: var(--measure); color: var(--text_2);}
.lesson__layout {display: flex; align-items: flex-start; gap: 40px;}
.lesson__main {flex: 1 1 auto; min-width: 0;}
.lesson__aside {
	order: 1;
	flex: 0 0 clamp(340px, 28%, 420px);
	max-width: 420px;
	position: sticky;
	top: 104px;
}
.lesson__kicker {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 0.9375rem;
	color: var(--text_3);
	margin-bottom: 12px;
}
.lesson__kicker-sep {color: var(--grey_5);}
.lesson__title {margin-bottom: 12px;}
.lesson__player {
	aspect-ratio: 16 / 9;
	background: var(--dark);
	border-radius: var(--radius);
	overflow: hidden;
	margin-bottom: 20px;
}
.lesson__player-frame {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}
.lesson__viewed {
	background: var(--grey_1);
	border-radius: var(--radius);
	padding: 16px 18px;
	margin-bottom: 28px;
}
.lesson__body {margin-top: var(--section_space_dense); margin-bottom: 32px;}
.lesson__sources {
	border: 1px solid var(--grey_3);
	border-radius: var(--radius);
	padding: 20px 22px;
	margin-bottom: 32px;
}
.lesson__sources-title {margin-bottom: 10px;}
.lesson__sources p {color: var(--text_2); margin-bottom: 10px;}
.lesson__sources-link {display: inline-flex; align-items: center; gap: 8px;}
.lesson__sources-link svg {fill: currentColor;}
.lesson__nav {display: flex; gap: 16px;}
.lesson__nav-link {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	border: 1px solid var(--grey_3);
	border-radius: var(--radius);
	color: var(--text);
	text-decoration: none;
	transition: border-color var(--transition), background var(--transition);
}
.lesson__nav-link:hover {border-color: var(--text_link); background: var(--main_3);}
.lesson__nav-empty {border-color: transparent; pointer-events: none;}
.lesson__nav-prev svg {transform: rotate(180deg);}
.lesson__nav-next {justify-content: flex-end; text-align: right;}
.lesson__nav-link svg {flex: 0 0 auto; fill: var(--text_link);}
.lesson__nav-role {display: block; font-size: 0.8125rem; color: var(--text_3);}
.lesson__nav-name {display: block; font-weight: 600;}
.lesson__nav-testing {border-color: var(--text_link); background: var(--main_3);}
.testing__gate {max-width: 720px;}
.testing__gate-title {margin-bottom: 12px;}
.testing__gate-lead {color: var(--text_2); margin-bottom: 28px;}
.testing__rules {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	list-style: none;
	margin-bottom: 28px;
}
.testing__rule {
	flex: 1 1 180px;
	background: var(--grey_1);
	border-radius: var(--radius);
	padding: 18px;
}
.testing__rule-value {
	display: block;
	font-family: var(--font_display);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--main_2);
}
.testing__rule-label {
	display: block;
	margin-top: 6px;
	font-size: 0.9375rem;
	color: var(--text_2);
}
.testing__warning {
	display: flex;
	gap: 14px;
	background: var(--color_attention_bg);
	border-left: 4px solid var(--color_attention);
	border-radius: 0 var(--radius) var(--radius) 0;
	padding: 18px 20px;
	margin-bottom: 28px;
}
.testing__warning-icon svg {fill: var(--color_attention_text);}
.testing__warning-title {display: block; margin-bottom: 6px; color: var(--color_attention_text);}
.testing__terms {margin-bottom: 28px;}
.testing__terms-title {margin-bottom: 8px;}
.testing__actions {display: flex; flex-wrap: wrap; gap: 14px;}
.community__items {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 340px));
	gap: 24px;
	list-style: none;
}
.community__item {display: flex;}
.community__card {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	border: 1px solid var(--grey_3);
	border-radius: var(--radius);
	padding: 20px;
	background: var(--body_bg);
}
.community__card-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 14px;
}
.community__card-logo {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border-radius: var(--radius_sm);
	overflow: hidden;
	background: var(--grey_1);
}
.community__card-logo-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto;
	min-width: 56px;
	padding: 0 12px;
	background: var(--main_3);
	color: var(--main_2);
	font-family: var(--font_display);
	font-weight: 700;
	white-space: nowrap;
}
.community__card-text {
	color: var(--text_2);
	font-size: 0.9375rem;
	margin-bottom: 14px;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.community__card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin-bottom: 18px;
}
.community__card-tag {
	font-size: 0.8125rem;
	color: var(--text_2);
	background: var(--grey_1);
	border-radius: var(--radius_pill);
	padding: 3px 10px;
}
.community__modal-tags {margin-bottom: 0;}
.community__card .btn {margin-top: auto;}
.community__modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.community__modal[hidden] {display: none;}
.community__modal-scrim {position: absolute; inset: 0; background: var(--overlay);}
.community__modal-box {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 640px;
	max-height: 86vh;
	overflow-y: auto;
	background: var(--body_bg);
	border-radius: var(--radius_lg);
	padding: 32px;
	box-shadow: var(--shadow_3);
}
.community__modal-close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: var(--radius_pill);
	background: none;
	cursor: pointer;
}
.community__modal-close svg {fill: var(--text_2);}
.community__modal-title {margin-bottom: 16px; padding-right: 40px;}
.community__modal-subtitle {margin: 24px 0 12px;}
.community__modal-contacts {list-style: none; display: grid; gap: 10px;}
.community__modal-contact {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--text_link);
}
.community__modal-contact svg {fill: currentColor;}
.community__modal-contact svg.community__modal-contact-icon-stroke {fill: none; stroke: currentColor;}
.filter__layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}
.filter__bar {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	grid-column: 1 / -1;
}
.filter__found {color: var(--text_3); font-size: 0.9375rem; white-space: nowrap;}
.filter__side-head,
.filter__side-foot {display: none;}
.filter__scrim {display: none;}
.filter__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}
.filter__reset,
.filter__chips-reset {
	border: 0;
	background: none;
	padding: 0;
	font: inherit;
	font-size: 0.875rem;
	color: var(--text_link);
	text-decoration: underline;
	cursor: pointer;
}
@supports selector(:has(*)) {
	.filter__facets:not(:has(.filter__value-js:checked)) .filter__reset {display: none;}
	.filter__chips:not(:has(.filter__chip:nth-child(3))) .filter__chips-reset {display: none;}
}
.filter__group {border: 0; border-top: 1px solid var(--grey_3); padding: 0 0 4px;}
.filter__group-legend {width: 100%; padding: 12px 0 0;}
.filter__group-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	border: 0;
	background: none;
	padding: 4px 0;
	font: inherit;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
}
.filter__group-toggle svg {
	flex: 0 0 auto;
	fill: var(--text_2);
	transform: rotate(-90deg);
	transition: transform var(--transition);
}
.filter__group-toggle[aria-expanded="false"] svg {transform: rotate(90deg);}
.filter__group-legend:has(.filter__group-toggle[aria-expanded="false"])+.filter__group-body {display: none;}
.filter__group-body {padding-top: 4px;}
.filter__values,
.filter__pills {list-style: none;}
.filter__value-item+.filter__value-item {margin-top: 8px;}
.filter__value-hidden {display: none;}
.filter__count {
	margin-left: 6px;
	vertical-align: baseline;
	font-size: 0.8em;
	line-height: 1;
	color: var(--text_3);
	font-variant-numeric: tabular-nums;
}
.filter__value .input__checkbox-1:disabled+span,
.filter__value .input__checkbox-1:disabled~.input__checkbox-item-text {opacity: 0.5;}
.filter__pills {display: flex; flex-wrap: wrap; gap: 8px;}
.filter__pill-input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}
.filter__pill-face {
	display: inline-block;
	border: 1px solid var(--grey_3);
	border-radius: var(--radius_pill);
	padding: 6px 14px;
	font-size: 0.875rem;
	cursor: pointer;
	transition: border-color var(--transition), background var(--transition);
}
.filter__pill-input:checked+.filter__pill-face {
	border-color: var(--text_link);
	background: var(--main_3);
	color: var(--text_link_active);
	font-weight: 600;
}
.filter__pill-input:focus-visible+.filter__pill-face {outline: 3px solid var(--main); outline-offset: 2px;}
.filter__pill-input:disabled+.filter__pill-face {opacity: 0.5; cursor: not-allowed;}
.filter__more {
	margin-top: 10px;
	border: 0;
	background: none;
	padding: 0;
	font: inherit;
	font-size: 0.875rem;
	color: var(--text_link);
	text-decoration: underline;
	cursor: pointer;
}
.filter__group-empty-note {font-size: 0.875rem; color: var(--text_3);}
.filter__chips {
	display: none;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}
.filter__chips-visible {display: flex;}
.filter__chips-label {font-size: 0.875rem; color: var(--text_3);}
.filter__chips-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
}
.filter__chip {display: inline-flex; max-width: 100%;}
.filter__chip-remove {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	background: var(--main_3);
	border: 1px solid var(--main_4);
	border-radius: var(--radius_pill);
	padding: 4px 6px 4px 12px;
	font: inherit;
	font-size: 0.875rem;
	color: inherit;
	text-align: left;
	cursor: pointer;
}
.filter__chip-x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--main_4);
	color: var(--text_link_active);
	line-height: 1;
}
.filter__chip-remove:hover {border-color: var(--main_5);}
.filter__chip-remove:hover .filter__chip-x {background: var(--main_5);}
.filter__empty {
	text-align: center;
	padding: 56px 20px;
	border: 1px dashed var(--grey_5);
	border-radius: var(--radius);
}
.filter__empty-icon svg {fill: var(--grey_5);}
.filter__empty h3 {margin: 14px 0 8px;}
.filter__empty p {color: var(--text_3); margin-bottom: 20px;}
.filter__open-count {
	display: inline-block;
	min-width: 22px;
	margin-left: 8px;
	background: var(--main_2);
	color: var(--text_light);
	border-radius: var(--radius_pill);
	font-size: 0.8125rem;
	padding: 1px 7px;
}
.filter__open svg {fill: currentColor;}
.filter__open-count[hidden] {display: none;}
@media (max-width: 1199px) {
	.hero__video-dots {display: none;}
	.hero__video-relic {
		--decor_relic_h : clamp(160px, 26vh, 260px);
		position: relative;
		top: auto;
		right: auto;
		margin: 0 0 24px;
		-webkit-transform: none;
		transform: none;
		justify-self: center;
	}
}
@media (max-width: 1024px) {
	.hero__rail-items {--hero_rail_card: 250px; gap: 16px;}
	.hero__card-meta {gap: 2px 16px;}
	.hero__card-meta li:not(:last-child) {padding-right: 0;}
	.hero__card-meta li:not(:last-child):after {content: none;}
	.hero__card-meta li.hero__card-meta-cat:not(:last-child),
	.hero__card-meta li.hero__card-meta-media:not(:last-child) {margin-right: 0;}
	.lesson__layout {flex-direction: column; gap: 24px;}
	.lesson__aside {
		order: 0;
		position: static;
		flex: none;
		max-width: none;
		width: 100%;
	}
	.filter__layout {grid-template-columns: minmax(0, 1fr);}
	.filter__bar {display: flex;}
	.filter__open.btn {
		min-width: 0;
		width: max-content;
		max-width: 100%;
		padding: 9px 14px;
		font-size: 0.9375rem;
		display: inline-flex;
		align-items: center;
		gap: 8px;
		border-color: var(--grey_3);
	}
	.filter__open .filter__open-count {margin-left: 0;}
	.filter__side {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 1001;
		width: min(360px, 88vw);
		display: flex;
		flex-direction: column;
		background: var(--body_bg);
		box-shadow: var(--shadow_3);
		transform: translateX(-100%);
		transition: transform var(--transition);
	}
	.filter__layout-open .filter__side {transform: translateX(0);}
	.filter__side-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 16px 20px;
		border-bottom: 1px solid var(--grey_3);
	}
	.filter__side-close {
		width: 44px;
		height: 44px;
		border: 0;
		border-radius: var(--radius_pill);
		background: none;
		cursor: pointer;
	}
	.filter__side-close svg {fill: var(--text_2);}
	.filter__side-body {flex: 1 1 auto; overflow-y: auto; padding: 16px 20px;}
	.filter__side-foot {display: block; padding: 16px 20px; border-top: 1px solid var(--grey_3);}
	.filter__layout-open .filter__scrim {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 1000;
		background: var(--overlay);
	}
}
@media (max-width: 680px) {
	.hero__video-subtitle {font-size: 1rem; margin-bottom: 24px;}
	.how__steps {--how_line: 20.4px;}
	.how__arc {display: none;}
	.hero__video-actions {gap: 10px;}
	.hero__video-actions .btn {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
		padding-left: 16px;
		padding-right: 16px;
	}
	.hero__video-title {margin-bottom: 14px;}
	.hero__video-subtitle {margin-bottom: 20px;}
	.hero__rail-items {
		--hero_rail_card: 256px;
		gap: 14px;
		padding-left: 15px;
		padding-right: 15px;
	}
	.hero__video-rail > .container {padding-left: 0; padding-right: 0;}
	.hero__rail-viewport {-webkit-mask-image: none; mask-image: none; padding: 10px 0 16px; scroll-padding-left: 15px;}
	.hero__card-body {padding: 16px 18px 20px;}
	.course__program-actions .btn {width: 100%; min-width: 0;}
	.course__program-notes {width: 100%; justify-content: center;}
	.lesson__nav {flex-direction: column;}
	.lesson__nav-empty {display: none;}
	.lesson__nav-next {justify-content: flex-start; text-align: left;}
	.lesson__nav-next svg {order: -1;}
	.testing__rule {flex-basis: 100%;}
	.testing__actions .btn {width: 100%; min-width: 0;}
	.community__items {grid-template-columns: minmax(0, 1fr);}
	.community__modal {padding: 0; align-items: stretch; height: 100dvh;}
	.community__modal-box {
		max-width: none;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		max-height: 100%;
		height: 100%;
		border-radius: 0;
		padding: 24px 20px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.hero__video-player {display: none;}
	.hero__video-player.hero__video-player-on {display: none;}
	.home__audience-img {-webkit-transition: none; transition: none;}
	.home__audience-item:hover .home__audience-img,
	.home__audience-item:focus-within .home__audience-img {
		-webkit-transform: none;
		transform: none;
		-webkit-animation: none;
		animation: none;
	}
	.decor__relic-img {-webkit-animation: none; animation: none;}
}
.route__layer {
	--route_lift : calc(var(--route_band) / 2);
	top: auto;
	bottom: calc(-1 * var(--route_lift));
	height: var(--route_band);
	border-radius: 0;
}
.route__traverse {
	--route_figure : 2600px;
	position: absolute;
	left: 50%;
	top: 0;
	width: var(--route_figure);
	height: var(--route_band);
	margin-left: calc(var(--route_figure) / -2);
}
.route__rail {display: none;}
.home__kicker {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text_2);
}
.home__kicker .decor__pill {--decor_pill_length : 34px; --decor_pill_weight : 5px; flex: 0 0 auto;}
.page__block-deep .home__kicker {color: var(--text_light_2);}
.home__section-title {max-width: 800px; margin-bottom: 28px;}
.home__lead,
.home__arrival-lead,
.home__arrival-text,
.home__program-text,
.home__lecturer-lead,
.home__certificate-text,
.home__community-text,
.home__join-text,
.partners__text {max-width: var(--measure); font-size: 1.125rem;}
.home__arrival {--panel_bg  : var(--copyright_bg); --panel_arc : clamp(56px, 10vw, 200px); --decor_fill: var(--decor_teal);}
.home__arrival .route__layer {bottom: 0;}
.home__arrival .home__section-title,
.home__arrival .home__section-title .title__link,
.home__arrival .home__section-title .title__link:link {color: var(--decor_teal);}
.home__arrival .link__simple:hover,
.home__arrival .link__simple:focus-visible,
.home__arrival .link__simple:active {color: var(--decor_teal);}
.home__arrival-hatch {
	--decor_hatch_step   : 12px;
	--decor_hatch_weight : 1.5px;
	--scroll_p    : 1;
	--hatch_a     : clamp(0, calc(var(--scroll_p) * 2), 1);
	--hatch_b     : clamp(0, calc(var(--scroll_p) * 2 - 1), 1);
	--hatch_side  : clamp(140px, 15vw, 220px);
	--hatch_wide  : clamp(200px, 22vw, 320px);
	--hatch_short : clamp(110px, 12vw, 170px);
	--hatch_lane  : clamp(118px, calc(82vw - 725px), 452px);
	position: absolute;
	top: clamp(72px, 8vw, 110px);
	right: clamp(16px, 4vw, 80px);
	width: calc(var(--hatch_side) + (var(--hatch_wide) - var(--hatch_side)) * var(--hatch_b));
	height: calc(var(--hatch_side) - (var(--hatch_side) - var(--hatch_short)) * var(--hatch_b));
	border-radius: calc(50% * (1 - var(--hatch_a)) + var(--radius) * var(--hatch_a));
	-webkit-transform: translateX(calc(var(--hatch_lane) * (var(--scroll_p) - 1)));
	transform: translateX(calc(var(--hatch_lane) * (var(--scroll_p) - 1)));
}
.home__arrival-lead {margin-bottom: 12px;}
.home__arrival-text {color: var(--text_light_2);}
.home__audience-items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.4vw, 36px);
	margin-top: clamp(40px, 5vw, 72px);
	list-style: none;
}
@-webkit-keyframes audience-float {
	0% {-webkit-transform: translate3d(0, -8px, 0);}
	50% {-webkit-transform: translate3d(0, -17px, 0);}
	100% {-webkit-transform: translate3d(0, -8px, 0);}
}
@keyframes audience-float {
	0% {transform: translate3d(0, -8px, 0);}
	50% {transform: translate3d(0, -17px, 0);}
	100% {transform: translate3d(0, -8px, 0);}
}
.home__audience-item {display: flex; align-items: stretch; gap: 16px;}
.home__audience-img {
	flex: 0 0 clamp(72px, 9vw, 120px);
	width: clamp(72px, 9vw, 120px);
	align-self: stretch;
	-webkit-transition: -webkit-transform var(--transition_pop);
	transition: transform var(--transition_pop);
}
.home__audience-item:hover .home__audience-img,
.home__audience-item:focus-within .home__audience-img {
	-webkit-transform: translate3d(0, -8px, 0);
	transform: translate3d(0, -8px, 0);
	-webkit-animation: audience-float 2.8s ease-in-out 550ms infinite;
	animation: audience-float 2.8s ease-in-out 550ms infinite;
}
.home__audience-body {min-width: 0;}
.home__audience-text {color: var(--text_light_2);}
.home__program-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 20px 48px;
	align-items: start;
}
.home__program-text {color: var(--text_2);}
.home__program-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
}
.home__program-meta li {
	padding: 8px 16px;
	border: 0;
	border-radius: var(--radius_sm);
	background: var(--body_bg_3);
	font-size: 0.875rem;
	color: var(--text_2);
	white-space: nowrap;
}
.home__program-modules {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px 48px;
	margin-top: clamp(32px, 4vw, 52px);
}
.home__program-module-title {margin-bottom: 4px;}
.home__program-module-count {margin-bottom: 16px; font-size: 0.875rem; color: var(--text_3);}
.home__program-lessons {list-style: none;}
.home__program-lesson {
	display: flex;
	align-items: baseline;
	gap: 18px;
	padding: 16px 0;
	border-top: 1px solid var(--grey_3);
}
.home__program-num {
	flex: 0 0 56px;
	white-space: nowrap;
	font-family: var(--font_display);
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 1;
	color: var(--main);
}
.home__program-lesson-body {display: flex; flex-direction: column; gap: 4px;}
.home__program-lesson-title {font-weight: 600;}
.home__program-module-folded {display: none;}
.home__program-cover {
	display: block;
	align-self: start;
	overflow: hidden;
	border-radius: var(--radius_lg);
	background: var(--body_bg_3);
}
.home__program-cover img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	-o-object-fit: cover;
	object-fit: cover;
	-webkit-transition: -webkit-transform var(--transition_reveal);
	transition: transform var(--transition_reveal);
}
.home__program-cover:hover img,
.home__program-cover:focus-visible img {-webkit-transform: scale(1.04); transform: scale(1.04);}
.home__program-more {width: 100%; margin-top: 32px;}
.home__program-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px 28px;
	margin-top: clamp(28px, 3.4vw, 40px);
}
.home__lecturer {--panel_bg: var(--decor_teal_bg);}
.home__lecturer .home__lecturer-card {border-color: var(--grey_3);}
.home__lecturer .home__lecturer-photo:not(.home__lecturer-photo-empty) {background-color: var(--decor_teal_bg);}
.home__lecturer-lead {margin-bottom: 32px;}
.home__lecturer-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	list-style: none;
	margin-bottom: 32px;
}
.home__lecturer-item {display: flex;}
.home__lecturer-card {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 24px 20px;
	border: 1px solid var(--main_3);
	border-radius: var(--radius);
	background: var(--body_bg);
	text-align: left;
}
.home__lecturer-photo {
	aspect-ratio: 1 / 1;
	max-width: 200px;
	display: grid;
	place-items: center;
	margin: 0 0 16px;
	overflow: hidden;
	border-radius: var(--radius);
	background-color: var(--main_4);
}
.home__lecturer-initials {
	font-family: var(--font_display);
	font-weight: 700;
	font-size: clamp(2.25rem, 5vw, 3rem);
	line-height: 1;
	color: var(--text_link_active);
}
.home__lecturer-name {margin-bottom: 6px;}
.home__lecturer-roles {color: var(--text_2); font-size: 0.875rem; padding-left: 18px;}
.home__lecturer-roles li {margin-bottom: 6px; list-style-type: disc;}
.home__lecturer-card-clamped .home__lecturer-roles {
	--roles_max : 9em;
	max-height: var(--roles_max);
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to bottom, black 68%, transparent 100%);
	mask-image: linear-gradient(to bottom, black 68%, transparent 100%);
}
.home__lecturer-card-open .home__lecturer-roles {
	max-height: none;
	-webkit-mask-image: none;
	mask-image: none;
}
.home__lecturer-roles-more {
	align-self: flex-start;
	margin-top: 10px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--text_link);
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
}
.home__lecturer-roles-more:hover,
.home__lecturer-roles-more:focus-visible {color: var(--text_link_hover); text-decoration: underline;}
.home__lecturer .home__lecturer-card-empty {
	gap: 14px;
	text-align: center;
	background: transparent;
	border-style: dashed;
	border-color: var(--decor_teal);
}
.home__lecturer-photo-empty {
	--decor_hatch_step   : 11px;
	--decor_hatch_weight : 1px;
	--decor_hatch_angle  : 135deg;
	--decor_fill         : var(--decor_teal);
	flex: 1 1 auto;
	width: auto;
	max-width: none;
	min-height: 120px;
	aspect-ratio: auto;
	margin: 0;
	border-radius: var(--radius_sm);
	background-color: transparent;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 14%, black 86%, transparent 100%);
	mask-image: linear-gradient(to bottom, transparent 0%, black 14%, black 86%, transparent 100%);
}
.home__lecturer-placeholder {margin-top: auto; color: var(--text_3); font-size: 0.875rem;}
.home__lecturer-more {
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
}
.home__certificate-text {margin-bottom: clamp(24px, 3vw, 36px); color: var(--text_2);}
.home__certificate-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	list-style: none;
}
.home__certificate-step {padding-top: 20px; border-top: 3px solid var(--main); border-radius: 3px 3px 0 0;}
.home__certificate-num {
	display: block;
	margin-bottom: 10px;
	font-family: var(--font_display);
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 1;
	color: var(--main);
}
.home__certificate-step-title {margin-bottom: 0;}
.home__certificate-close {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	align-items: stretch;
	margin-top: clamp(28px, 3.4vw, 40px);
}
.home__certificate-hatch {
	--decor_fill         : var(--main_5);
	--decor_hatch_step   : 11px;
	--decor_hatch_weight : 1px;
	min-height: 120px;
}
.home__certificate-shot {
	display: block;
	width: 100%;
	height: auto;
	align-self: center;
	border-radius: var(--radius);
}
.home__certificate-quote {
	grid-column: span 2;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px 22px;
	border-radius: var(--radius_lg);
	background: var(--main_3);
}
.home__certificate-quote-photo {
	flex-grow: 0;
	flex-shrink: 0;
	width: clamp(72px, 9vw, 120px);
	height: auto;
	object-fit: contain;
}
.home__certificate-quote-text {
	margin: 0;
	max-width: var(--measure);
	font-size: 1.125rem;
	font-style: italic;
}
.home__certificate-quote-text cite {
	display: block;
	margin-top: 12px;
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: 600;
	color: var(--text_2);
}
.home__media {--panel_bg: var(--body_bg_2);}
.home__lecturer .btn.btn__outlined:hover,
.home__media .btn.btn__outlined:hover {background-color: var(--body_bg);}
.home__lecturer .btn.btn__outlined:active,
.home__media .btn.btn__outlined:active {background-color: var(--body_bg_3);}
.home__media-lead {margin-bottom: 32px;}
.home__media-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 36px 30px;
	list-style: none;
	margin-bottom: 32px;
}
.home__media-more {
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
}
.home__media + .home__community {padding-top: var(--section_space_open);}
.home__community {--panel_bg: var(--dark); position: relative;}
.home__community-arc {
	--decor_quarter_size: clamp(120px, 14vw, 240px);
	--decor_fill: var(--decor_teal);
	position: absolute;
	top: 0;
	right: 0;
	pointer-events: none;
}
.home__community + .home__join,
.home__community + .home__join-row .home__join:first-child {padding-top: var(--section_space_open);}
.home__community-inner {
	display: grid;
	grid-template-columns: minmax(0, 560px) minmax(0, 340px);
	justify-content: space-between;
	gap: 28px clamp(32px, 4vw, 56px);
	align-items: start;
}
.home__community-text {margin-bottom: 22px;}
.home__community-deck {position: relative;}
.home__community-deck::before,
.home__community-deck::after {
	content: '';
	position: absolute;
	inset: 0;
	border: 1px solid var(--grey_3);
	border-radius: var(--radius);
	background: var(--body_bg);
}
.home__community-deck::before {-webkit-transform: translate(-10px, 12px) rotate(-3deg) scale(0.96); transform: translate(-10px, 12px) rotate(-3deg) scale(0.96); opacity: 0.62;}
.home__community-deck::after {-webkit-transform: translate(9px, 22px) rotate(4deg) scale(0.92); transform: translate(9px, 22px) rotate(4deg) scale(0.92); opacity: 0.4;}
.home__community-deck .community__items {position: relative; z-index: 1;}
.home__community-deck .community__item {-webkit-animation: community-sway-card 8s ease-in-out -1.2s infinite; animation: community-sway-card 8s ease-in-out -1.2s infinite;}
.home__community-deck::before {-webkit-animation: community-sway-back-1 10.5s ease-in-out -4s infinite; animation: community-sway-back-1 10.5s ease-in-out -4s infinite;}
.home__community-deck::after {-webkit-animation: community-sway-back-2 13s ease-in-out -6.5s infinite; animation: community-sway-back-2 13s ease-in-out -6.5s infinite;}
.home__join-subscribe {--panel_bg: var(--body_bg_3);}
.home__join-partnership {--panel_bg: var(--body_bg);}
.home__join + .home__join {padding-top: var(--section_space_open);}
.home__join-partnership .route__layer {bottom: 0;}
.home__join-partnership {padding-bottom: calc(var(--section_space_open) + var(--route_band));}
.home__join-row {position: relative;}
.home__join-seam {display: none;}
@media (min-width: 1200px) {
	.home__join-row {
		--join_bleed : clamp(80px, 8vw, 160px);
		--join_seam  : clamp(20px, 2.6vw, 48px);
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		-webkit-column-gap: clamp(64px, 9vw, 170px);
		-moz-column-gap: clamp(64px, 9vw, 170px);
		column-gap: clamp(64px, 9vw, 170px);
		align-items: stretch;
		overflow: hidden;
		background-color: var(--body_bg_3);
		padding: var(--section_space_open) max(15px, calc((100% - 1410px) / 2 + 15px));
	}
	.home__join-row .home__join {
		--panel_bg : transparent;
		position: static;
		padding-top: 0;
		padding-bottom: 0;
	}
	.home__join-row .home__join + .home__join,
	.home__community + .home__join-row .home__join:first-child {padding-top: 0;}
	.home__join-row .home__join > .container {max-width: none; padding-left: 0; padding-right: 0;}
	.home__join-row .home__join-inner {
		max-width: none;
		grid-template-columns: minmax(0, 1fr);
	}
	.home__join-row .home__join-object {
		position: absolute;
		bottom: 0;
		left: calc(-1 * var(--join_bleed));
	}
	.home__join-row .home__join-mirror .home__join-inner {grid-template-columns: minmax(0, 1fr);}
	.home__join-row .home__join-mirror .home__join-object {left: auto; right: calc(-1 * var(--join_bleed));}
	.home__join-row .home__join-relic {--decor_relic_h: clamp(220px, 26vw, 420px);}
	.home__join-row .home__join-body {position: relative; z-index: 1;}
	.home__join-row .home__form-fields {grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));}
	.home__join-row .home__form-note {-ms-flex-preferred-size: 140px; flex-basis: 140px;}
	.home__join-row .home__join-head {
		text-shadow:
			0 0 4px var(--body_bg_3),
			0 0 10px var(--body_bg_3),
			0 0 18px var(--body_bg_3);
	}
	.home__join-seam {
		--scroll_p           : 1;
		--seam_p             : clamp(0, calc((var(--scroll_p) - 0.12) / 0.48), 1);
		--decor_hatch_step   : 12px;
		--decor_hatch_weight : 1.5px;
		--decor_hatch_angle  : 160deg;
		--decor_fill         : var(--decor_teal);
		display: block;
		position: absolute;
		left: 50%;
		top: var(--section_space_open);
		bottom: var(--section_space_open);
		width: var(--join_seam);
		margin-left: calc(var(--join_seam) / -2);
		border-radius: var(--radius_pill);
		-webkit-clip-path: inset(0 0 calc((1 - var(--seam_p)) * 100%) 0 round var(--radius_pill));
		clip-path: inset(0 0 calc((1 - var(--seam_p)) * 100%) 0 round var(--radius_pill));
		pointer-events: none;
	}
	@supports (grid-template-rows: subgrid) {
		.home__join-row {grid-template-rows: auto 1fr;}
		.home__join-row .home__join,
		.home__join-row .home__join > .container,
		.home__join-row .home__join-inner,
		.home__join-row .home__join-body {display: grid; grid-row: span 2; grid-template-rows: subgrid;}
		.home__join-row .home__join-object {grid-row: 1 / -1;}
	}
	.home__join-row .home__join:first-child .route__layer {left: 0; right: 0; bottom: 0;}
	.home__join-row .home__join + .home__join .route__layer {display: none;}
}
.home__join-inner {
	--join_track : clamp(240px, 26vw, 350px);
	--join_gap   : clamp(32px, 4vw, 72px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, var(--join_track));
	gap: 32px var(--join_gap);
	max-width: calc(var(--measure) + var(--join_gap) + var(--join_track));
}
.home__join-body {min-width: 0;}
.home__join-mirror .home__join-inner {grid-template-columns: minmax(0, var(--join_track)) minmax(0, 1fr);}
.home__join-mirror .home__join-object {
	-ms-grid-column: 1;
	grid-column: 1;
	-webkit-box-ordinal-group: 0;
	-ms-flex-order: -1;
	order: -1;
}
.home__join-object {
	position: relative;
	display: block;
	-ms-grid-column-align: start;
	justify-self: start;
	-ms-grid-row-align: stretch;
	align-self: stretch;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}
.home__join-object::before {
	content: "";
	position: absolute;
	left: var(--join_pool_x);
	bottom: var(--join_pool_y);
	width: var(--join_pool_w);
	height: 4%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	border-radius: 50%;
	background: rgba(26, 26, 26, var(--join_pool_a));
	-webkit-filter: blur(10px);
	filter: blur(10px);
}
.home__join-subscribe .home__join-object {
	--join_pool_x : 52%;
	--join_pool_y : 15%;
	--join_pool_w : 46%;
	--join_pool_a : 0.16;
}
.home__join-partnership .home__join-object {
	--join_pool_x : 24%;
	--join_pool_y : 7%;
	--join_pool_w : 34%;
	--join_pool_a : 0.22;
}
.home__join-text {margin-bottom: clamp(24px, 3vw, 36px); color: var(--text_2);}
.home__join-relic {
	--decor_relic_h: min(100%, calc(var(--join_track) * 1.25));
	-webkit-transform: rotate(-3deg);
	-ms-transform: rotate(-3deg);
	transform: rotate(-3deg);
}
.home__join-mirror .home__join-relic {-webkit-transform: rotate(3deg); -ms-transform: rotate(3deg); transform: rotate(3deg);}
.home__join-relic .decor__relic-img {-webkit-filter: drop-shadow(0 18px 30px rgba(26, 26, 26, 0.18)); filter: drop-shadow(0 18px 30px rgba(26, 26, 26, 0.18));}
.home__join-mirror .decor__relic-img {
	-webkit-animation-duration: 11s;
	animation-duration: 11s;
	-webkit-animation-delay: -3.5s;
	animation-delay: -3.5s;
}
.home__form-fields {display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px;}
.home__form-fields .input__wrapper + .input__wrapper {margin-top: 0;}
.home__form {
	max-width: var(--measure);
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: var(--radius_lg);
	box-shadow: var(--shadow_1);
	padding: 32px;
}
.home__form-actions {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 12px 20px;
	margin-top: 18px;
}
.home__form-note {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 220px;
	flex: 1 1 220px;
	min-width: 0;
	font-size: 0.875rem;
	color: var(--text_3);
}
.partners__title {margin-bottom: 14px;}
.partners__text {margin-bottom: clamp(20px, 2.6vw, 32px); color: var(--text_2);}
.partners__items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 16px;
	list-style: none;
}
.partners__item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	border: 1px solid var(--grey_3);
	border-radius: var(--radius);
	box-sizing: border-box;
	padding: 16px 18px;
	background: transparent;
	transition: border-color var(--transition), background var(--transition), box-shadow var(--transition);
}
.partners__item:has(.partners__link):hover {border-color: var(--main); background: var(--main_2); box-shadow: var(--shadow_1);}
.partners__item:has(.partners__link):hover .partners__name,
.partners__item:has(.partners__link):active .partners__name {color: var(--text_light);}
.partners__item:has(.partners__link):active {border-color: var(--main); background: var(--main_2); box-shadow: var(--shadow_2);}
.partners__link {position: absolute; inset: 0;}
.partners__mark {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	height: 56px;
	padding: 0 12px;
	box-sizing: border-box;
	white-space: nowrap;
	border-radius: var(--radius_sm);
	background: var(--main_3);
	color: var(--main_2);
	font-family: var(--font_display);
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.01em;
}
.partners__logo {flex: 0 0 auto; width: 72px; height: 56px;}
.partners__name {font-size: 0.9375rem; line-height: 1.4;}
.hero__video {background-color: var(--dark);}
.hero__video-player {display: none;}
.hero__video-player.hero__video-player-on {display: block;}
@media (max-width: 1024px) {
	.home__arrival-hatch,
	.home__certificate-hatch {display: none;}
	.home__community-arc {--decor_quarter_size: 100px;}
	.home__certificate-close {grid-template-columns: minmax(0, 1fr);}
	.home__certificate-quote {grid-column: span 1;}
	.home__join-relic {-webkit-transform: rotate(-2deg); -ms-transform: rotate(-2deg); transform: rotate(-2deg);}
	.home__join-mirror .home__join-relic {-webkit-transform: rotate(2deg); -ms-transform: rotate(2deg); transform: rotate(2deg);}
	.home__audience-items {grid-template-columns: minmax(0, 1fr); gap: 24px;}
	.home__arrival-lead,
	.home__arrival-text {max-width: none;}
	.home__program-head {grid-template-columns: minmax(0, 1fr);}
	.home__lecturer-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.home__media-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.home__community-inner {grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: 24px 32px;}
}
@media (max-width: 680px) {
	.route__layer {top: 0; bottom: 0; height: auto;}
	.route__traverse {display: none;}
	.route__rail {
		display: block;
		position: absolute;
		left: var(--route_lane);
		top: 0;
		bottom: 0;
		width: 8px;
		margin-left: -4px;
	}
	.route__rail svg {height: 100%;}
	.route__host > .container {padding-left: var(--route_gutter);}
	.home__join-row::after {
		content: "";
		position: absolute;
		left: var(--route_lane);
		bottom: 0;
		box-sizing: border-box;
		width: var(--decor_line_node, 16px);
		height: var(--decor_line_node, 16px);
		margin-left: calc(var(--decor_line_node, 16px) / -2);
		margin-bottom: calc(var(--decor_line_node, 16px) / -2);
		z-index: 2;
		border: 3px solid var(--decor_teal);
		border-radius: 50%;
		background: var(--main);
		background-clip: padding-box;
		pointer-events: none;
	}
	.home__program-modules,
	.home__certificate-steps {grid-template-columns: minmax(0, 1fr);}
	.home__join-partnership {padding-bottom: var(--section_space_open);}
	.home__join-inner,
	.home__join-mirror .home__join-inner {grid-template-columns: minmax(0, 1fr); gap: 24px; max-width: none;}
	.home__join-object,
	.home__join-mirror .home__join-object {
		-webkit-box-ordinal-group: 0;
		-ms-flex-order: -1;
		order: -1;
		-ms-grid-column: 1;
		grid-column: 1;
	}
	.home__join-relic,
	.home__join-mirror .home__join-relic {--decor_relic_h: clamp(180px, 42vw, 220px);}
	.home__lecturer-grid {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		grid-template-columns: none;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		scroll-padding-left: 0;
		margin-right: -15px;
		padding-left: 0;
		padding-right: 15px;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	.home__lecturer-grid::-webkit-scrollbar {height: 0; width: 0;}
	.home__lecturer-item {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 min(78%, 300px);
		flex: 0 0 min(78%, 300px);
		scroll-snap-align: start;
	}
	.home__lecturer-item:has(.home__lecturer-card-empty) {display: none;}
	.home__media-grid {grid-template-columns: minmax(0, 1fr);}
	.home__certificate-quote {flex-direction: column; align-items: flex-start;}
	.home__certificate-quote-photo {width: 72px;}
	.home__form {padding: 24px 20px;}
	.home__form-submit {width: 100%; min-width: 0;}
	.home__community-inner {grid-template-columns: minmax(0, 1fr); row-gap: 44px;}
}
/****************** PMCULTURE COMPONENTS - END *******************/
/****************** ABOUT PAGE *******************/
.page__block:is(.about__intro, .about__origin, .about__next) {
	--about_relic : clamp(240px, 32vw, 460px);
	--about_gap   : clamp(32px, 5vw, 88px);
	overflow: hidden;
}
.page__block:is(.about__intro, .about__origin, .about__next) .container {
	display: grid;
	-webkit-column-gap: var(--about_gap);
	column-gap: var(--about_gap);
	row-gap: 0;
	align-items: center;
}
.page__block:is(.about__intro, .about__next) .container {grid-template-columns: minmax(0, 1fr) minmax(0, var(--about_relic));}
.about__origin .container {grid-template-columns: minmax(0, var(--about_relic)) minmax(0, 1fr);}
.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block,
.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-inner {display: contents;}
.page__block:is(.about__intro, .about__origin, .about__next) .title.h2 {
	grid-row: 1;
	align-self: end;
	margin-bottom: 20px;
	font-size: clamp(2rem, 3.4vw, 3rem);
	line-height: 1.1;
}
.page__block:is(.about__intro, .about__next) .title.h2 {grid-column: 1;}
.about__origin .title.h2 {grid-column: 2;}
.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-images,
.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-text {
	position: relative;
	top: auto;
	width: auto;
	max-width: none;
	margin: 0;
}
.page__block:is(.about__intro, .about__next) .page__chess-block-text {grid-column: 1; grid-row: 2; align-self: start;}
.about__origin .page__chess-block-text {grid-column: 2; grid-row: 2; align-self: start;}
.page__block:is(.about__intro, .about__next) .page__chess-block-images {grid-column: 2; grid-row: 1 / span 2;}
.about__origin .page__chess-block-images {grid-column: 1; grid-row: 1 / span 2;}
.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-images {--reveal_pop: 0.85;}
.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-slider {overflow: visible;}
.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-slider .swiper-button-prev,
.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-slider .swiper-button-next,
.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-slider .swiper-pagination {display: none;}
.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-slider .swiper-slide a {
	display: block;
	border-radius: var(--radius_lg);
	outline-offset: 8px;
}
.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-slider .swiper-slide img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto !important;
	max-height: clamp(320px, 52vh, 600px);
	margin: 0 auto;
	-o-object-fit: contain;
	object-fit: contain;
	-webkit-filter: drop-shadow(0 24px 40px rgba(26, 26, 26, 0.28));
	filter: drop-shadow(0 24px 40px rgba(26, 26, 26, 0.28));
	-webkit-animation: decor-relic-sway 9s ease-in-out infinite;
	animation: decor-relic-sway 9s ease-in-out infinite;
}
.page__block:is(.about__intro, .about__origin, .about__next) .content__text {max-width: var(--measure);}
@media (max-width: 680px) {
	.page__block:is(.about__origin, .about__next) .page__chess-block-slider .swiper-slide img,
	.about__contact .form__narrow::after,
	.decor__relic-img {-webkit-animation: none; animation: none;}
}

/* INTRO */
.page__block-mark {
	--mark_tone    : var(--color_black);
	--mark_opacity : 0.12;
	--mark_width   : min(124%, 1760px);
	--mark_shift_x : 0%;
	--mark_shift_y : 0%;
}
.block__mark {z-index: 0;}
.block__mark .logo {
	position: absolute;
	left: 50%;
	top: 50%;
	width: var(--mark_width);
	height: auto;
	-webkit-transform: translate(calc(-50% + var(--mark_shift_x)), calc(-50% + var(--mark_shift_y)));
	transform: translate(calc(-50% + var(--mark_shift_x)), calc(-50% + var(--mark_shift_y)));
	opacity: var(--mark_opacity);
}
.block__mark .logo__line {stroke: var(--mark_tone);}
.block__mark .logo__dot {fill: var(--mark_tone); stroke: none;}
@media (max-width: 680px) {
	.block__mark {display: none;}
}
.about__intro {
	--panel_bg  : var(--main_2);
	--panel_arc : clamp(56px, 10vw, 200px);
	background-image: radial-gradient(circle at 82% 12%, rgba(255, 255, 255, 0.16), transparent 42%);
}
.about__intro::before {
	content: "";
	position: absolute;
	right: clamp(12px, 4vw, 80px);
	bottom: clamp(16px, 4vw, 56px);
	width: 128px;
	height: clamp(140px, 20vw, 300px);
	background-image: radial-gradient(circle, var(--main_5) 2px, transparent 2.5px);
	background-size: 16px 16px;
	opacity: 0.55;
	pointer-events: none;
	mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
}
.about__intro .title.h2 {max-width: 22ch;}
.about__intro .content__text {color: var(--text_light_2);}
.about__intro .content__text > p:first-child {
	font-size: clamp(1.2rem, 1.5vw, 1.5rem);
	font-weight: 500;
	line-height: 1.4;
	color: var(--text_light);
}
.page__block.about__intro .page__chess-block-slider .swiper-slide img {
	-webkit-filter: drop-shadow(0 18px 10px rgba(26, 26, 26, 0.22));
	filter: drop-shadow(0 18px 10px rgba(26, 26, 26, 0.22));
}

/* LEAD */
.about__lead {padding-bottom: 0;}
.about__lead .title.h2 {max-width: 900px;}
.about__lead .content__text {max-width: var(--measure);}

/* PILLARS */
.about__pillars {padding-top: clamp(28px, 3vw, 44px);}
.about__pillars .page__columns {counter-reset: about-pillar;}
.about__pillars .page__columns-item {counter-increment: about-pillar;}
.about__pillars .page__columns-item-card {
	position: relative;
	background: var(--body_bg_2);
	border-radius: var(--radius_lg);
	overflow: hidden;
	cursor: pointer;
	box-shadow: none;
	-webkit-transition: -webkit-transform var(--transition), box-shadow var(--transition);
	transition: transform var(--transition), box-shadow var(--transition);
}
.about__pillars .page__columns-item-card:hover,
.about__pillars .page__columns-item-card:focus-within {
	-webkit-transform: translateY(-6px);
	transform: translateY(-6px);
	box-shadow: var(--shadow_3);
}
.about__pillars .page__columns-item-image {
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: clamp(180px, 16vw, 230px);
	padding: 28px 24px 0;
	background: linear-gradient(180deg, var(--main_3) 0%, var(--body_bg_2) 100%);
}
.about__pillars .page__columns-item-image::before {
	content: counter(about-pillar, decimal-leading-zero);
	position: absolute;
	top: 18px;
	left: 22px;
	font-family: var(--font_display);
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	color: var(--main_2);
}
.about__pillars .page__columns-item-image img {
	width: auto;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	-webkit-filter: drop-shadow(0 16px 24px rgba(26, 26, 26, 0.22));
	filter: drop-shadow(0 16px 24px rgba(26, 26, 26, 0.22));
	-webkit-transition: -webkit-transform var(--transition_reveal);
	transition: transform var(--transition_reveal);
}
.about__pillars .page__columns-item-card:hover .page__columns-item-image img {
	-webkit-transform: translateY(-8px) rotate(-2deg);
	transform: translateY(-8px) rotate(-2deg);
}
.about__pillars .page__columns-item-content-wrapper {padding: 22px 24px 28px;}
.about__pillars .content__text {font-size: 1rem;}
.about__pillars .content__text h3 {
	font-family: var(--font_display);
	font-size: 1.375rem;
	margin-bottom: 0;
	color: var(--text);
}
.about__pillars .content__text h3::after {
	content: "";
	display: block;
	width: 34px;
	height: 4px;
	margin-top: 12px;
	border-radius: var(--radius_pill);
	background: var(--main);
}
.about__pillars .content__text p {margin-top: 14px; color: var(--text_2);}
.about__pillars .press_item_title {display: none;}

/* ORIGIN */
.about__origin {
	--panel_bg  : var(--body_bg_2);
	--panel_arc : clamp(56px, 10vw, 200px);
}
.about__origin::after {
	content: "";
	position: absolute;
	right: -40px;
	bottom: -30px;
	width: clamp(160px, 22vw, 320px);
	height: clamp(110px, 14vw, 200px);
	background-image: repeating-linear-gradient(135deg, var(--main_5) 0, var(--main_5) 1px, transparent 1.5px, transparent 9px);
	-webkit-transform: rotate(-8deg);
	transform: rotate(-8deg);
	opacity: 0.8;
	pointer-events: none;
}
.about__origin .title.h2 {max-width: 22ch;}
.about__origin .page__chess-block-slider .swiper-slide img {
	width: 100%;
	max-height: none;
	-webkit-filter: drop-shadow(0 22px 36px rgba(26, 26, 26, 0.22));
	filter: drop-shadow(0 22px 36px rgba(26, 26, 26, 0.22));
}
.about__origin .content__text ul {
	display: grid;
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}
.about__origin .content__text ul li {
	position: relative;
	margin: 0;
	padding: 0 0 0 22px;
	list-style: none;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
}
.about__origin .content__text ul li::before {
	content: "";
	position: absolute;
	top: 0.7em;
	left: 0;
	width: 12px;
	height: 2px;
	background: var(--main_2);
}

/* NEXT */
.about__next::before {
	content: "";
	position: absolute;
	right: clamp(8px, 3vw, 60px);
	top: clamp(40px, 8vw, 120px);
	width: 128px;
	height: clamp(160px, 24vw, 340px);
	background-image: radial-gradient(circle, var(--main_4) 2px, transparent 2.5px);
	background-size: 16px 16px;
	pointer-events: none;
	mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
}
.about__next .title.h2 {max-width: 18ch;}
.about__next .content__text ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}
.about__next .content__text ul li {
	margin: 0;
	padding: 16px 18px 16px 22px;
	list-style: none;
	border-radius: var(--radius);
	border-left: 4px solid var(--main);
	background: var(--body_bg_3);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
}
.about__next .content__text ul li:last-child:nth-child(odd) {grid-column: 1 / -1;}
.about__next .page__chess-block-slider .swiper-slide img {
	-webkit-animation-duration: 11s;
	animation-duration: 11s;
	-webkit-animation-delay: -3s;
	animation-delay: -3s;
}

/* CONTACT */
.about__contact .form__narrow {background: radial-gradient(circle at 12% 100%, rgba(240, 50, 114, 0.4), transparent 46%), var(--dark);}
.about__contact .form__narrow::after {
	content: "";
	position: absolute;
	left: clamp(16px, 2.4vw, 44px);
	bottom: 5px;
	width: clamp(120px, 13vw, 190px);
	height: 95%;
	background: url(/assets/site/images/monuments/about/flower.webp) center bottom / contain no-repeat;
	-webkit-filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.5));
	filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.5));
	z-index: 1;
	pointer-events: none;
	-webkit-animation: decor-relic-sway 11s ease-in-out -3s infinite;
	animation: decor-relic-sway 11s ease-in-out -3s infinite;
}
.about__contact .form__narrow-content {padding-left: clamp(180px, 19vw, 280px);}

@media screen and (max-width: 1024px) {
	.page__block:is(.about__intro, .about__origin, .about__next) {--about_relic: clamp(200px, 28vw, 320px);}
}
@media screen and (max-width: 867px) {
	.page__block:is(.about__intro, .about__origin, .about__next) .container {grid-template-columns: minmax(0, 1fr);}
	.page__block:is(.about__intro, .about__origin, .about__next) .title.h2 {grid-column: 1; grid-row: 1; align-self: auto;}
	.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-images {
		grid-column: 1;
		grid-row: 2;
		max-width: 320px;
		margin: 4px auto 28px;
	}
	.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-text {grid-column: 1; grid-row: 3;}
	.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-slider .swiper-slide img {max-height: 280px;}
	.about__origin .page__chess-block-slider .swiper-slide img {width: auto; max-height: 220px;}
	.about__intro::before,
	.about__next::before,
	.about__origin::after {display: none;}
	.about__next .content__text ul {grid-template-columns: minmax(0, 1fr);}
	.about__next .content__text ul li:last-child:nth-child(odd) {grid-column: auto;}
	.about__contact .form__narrow::after {display: none;}
	.about__contact .form__narrow-content {padding-left: 20px;}
}
@media (prefers-reduced-motion: reduce) {
	.page__block:is(.about__intro, .about__origin, .about__next) .page__chess-block-slider .swiper-slide img,
	.about__contact .form__narrow::after {-webkit-animation: none; animation: none;}
	.about__pillars .page__columns-item-card,
	.about__pillars .page__columns-item-image img {-webkit-transition: none; transition: none;}
}
/* PAGE FRAME */
body.page__about main {background-color: var(--main_2);}
body.page__about .page__blocks {background: var(--body_bg);}
body.page__about .breadcrumbs,
body.page__about .breadcrumbs__item a {color: var(--text_light_3);}
body.page__about .breadcrumbs__item a:hover,
body.page__about .breadcrumbs__item a:focus-visible {color: var(--text_light);}
body.page__about .breadcrumbs__current {color: var(--text_light_2);}
body.page__about .title__page {
	max-width: 18ch;
	margin-bottom: 0;
	font-size: clamp(2.25rem, 4.2vw, 3.75rem);
	line-height: 1.08;
	color: var(--text_light);
}
body.page__about .about__intro {overflow: visible; padding-top: clamp(20px, 2.4vw, 32px); background-image: none;}
body.page__about .about__intro .page__chess-block-text {grid-row: 1 / span 2; align-self: start;}
body.page__about .about__intro .page__chess-block-images {align-self: start; margin-top: clamp(-240px, -19vw, -110px);}
body.page__about .about__intro .page__chess-block-slider .swiper-slide img {max-height: clamp(360px, 56vh, 640px);}
@media screen and (max-width: 867px) {
	body.page__about .title__page {max-width: none;}
	body.page__about .about__intro .page__chess-block-text {grid-row: 3;}
	body.page__about .about__intro .page__chess-block-images {margin: 20px auto 28px;}
}
/****************** ABOUT PAGE - END *******************/

/****************** ACCESSIBILITY PANEL *******************/
#accessibility-modal.close {display: none;}
.a11y-panel-loose #accessibility-modal.close {display: flex;}
/****************** ACCESSIBILITY PANEL - END *******************/
/****************** IDLE ANIMATION *******************/
.decor__idle,
.decor__idle::before,
.decor__idle::after {-webkit-animation-play-state: paused; animation-play-state: paused;}
/****************** IDLE ANIMATION - END *******************/

/****************** OBJECT 3D *******************/
.object3d {
	--object3d_ratio: 1;
	--object3d_w: 720px;
	--object3d_p: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

/* STAGE */
.object3d__stage {
	position: relative;
	width: 100%;
	max-width: min(100%, var(--object3d_w), calc(80vh * var(--object3d_ratio)));
	max-width: min(100%, var(--object3d_w), calc(80svh * var(--object3d_ratio)));
	aspect-ratio: var(--object3d_ratio);
	overflow: hidden;
	border-radius: var(--radius);
	background: var(--grey_1);
	cursor: default;
	touch-action: pan-y;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
.object3d.is-ready .object3d__stage {cursor: grab;}
.object3d.is-dragging .object3d__stage {cursor: grabbing;}
.object3d__frame {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	pointer-events: none;
	-webkit-user-drag: none;
}

/* PROGRESS */
.object3d__progress {
	position: absolute;
	right: 16px;
	bottom: 16px;
	left: 16px;
	height: 3px;
	border-radius: var(--radius_pill);
	background: var(--grey_3);
	opacity: 0;
	transition: opacity var(--transition_fast);
}
.object3d.is-loading .object3d__progress {opacity: 1;}
.object3d__progress-bar {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	background: var(--main);
	transform: scaleX(var(--object3d_p));
	transform-origin: left center;
	transition: transform var(--transition_fast);
}

/* HINT */
.object3d__hint {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: var(--text_3);
	font-size: 0.875rem;
	line-height: 1.4;
	transition: opacity var(--transition);
}
.object3d.is-engaged .object3d__hint {opacity: 0;}
.object3d__hint-icon {flex: none;}

@media (prefers-reduced-motion: reduce) {
	.object3d__progress-bar {transition: none;}
}
/****************** OBJECT 3D - END *******************/
