:root {
	--stoVX: calc(75vmax + 25vmin);
	--rootFontSize: calc((var(--stoVX) + 1220px) / 250);
	--asideX: 0px;
}
@media only screen and (max-width: 620px) {
	:root {
		--asideX: 6.25em;
	}
}
.clearfix:before,
.clearfix:after {
	content: '';
	display: table;
	line-height: 0;
	height: 0;
	border-spacing: 0;
}
.clearfix:after {
	clear: both;
}
.clear {
	clear: both;
}
.clear:before {
	content: '';
	display: block;
	overflow: hidden;
}
.visual-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	clip: rect(0 0 0 0);
	overflow: hidden;
}
*,
:before,
:after {
	box-sizing: border-box;
}
:focus,
:active {
	outline: 0 none;
}
::selection {
	color: #fff;
	background: #e1ad7c;
	text-shadow: none;
}
ARTICLE,
ASIDE,
DETAILS,
FIGCAPTION,
FIGURE,
FOOTER,
HEADER,
HGROUP,
MAIN,
NAV,
SECTION,
SUMMARY {
	display: block;
	margin: 0;
	padding: 0;
}
.img-holder {
	display: block;
	overflow: hidden;
	background-color: #ccc;
	aspect-ratio: 16 / 9;
}
.img-holder > * {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}
.img-holder.round-holder {
	border-radius: 50%;
	aspect-ratio: 1 / 1;
}
.img-holder.arx {
	aspect-ratio: unset;
}
.img-holder.ar-1x1 {
	aspect-ratio: 1 / 1;
}
.img-holder.ar-2x1 {
	aspect-ratio: 2 / 1;
}
.img-holder.ar-3x4 {
	aspect-ratio: 3 / 4;
}
.img-holder.ar-4x3 {
	aspect-ratio: 4 / 3;
}
.img-holder.ar-5x6 {
	aspect-ratio: 5 / 6;
}
.img-holder.ar-8x5 {
	aspect-ratio: 8 / 5;
}
HTML,
BODY {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	min-width: 320px;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}
HTML {
	font-size: var(--rootFontSize);
	background-color: #eee;
}
BODY {
	font-family: 'Futura PT', 'Arial', sans-serif;
	font-size: 1.8rem;
	line-height: 1.25;
	color: #111;
	overflow: hidden;
	z-index: 1;
	min-height: 100%;
}
BODY.preload *,
BODY.preload :before,
BODY.preload :after {
	transition-duration: 0s !important;
}
BODY[style*="margin-right"] {
	margin-right: 0 !important;
}
.mobile BODY {
	font-size: min( 17px, calc( ( 280rem - var(--stoVX) ) / 100 + .5rem ) );
}
A {
	color: #d48943;
	transition: color 0.3s ease;
}
A:hover {
	color: #f50;
}
A > .fa {
	transition-duration: 0s;
	transition-delay: 0s;
}
.fa {
	transition: color 0.3s ease;
	text-decoration: none;
}
IMG,
VIDEO {
	max-width: 100%;
}
/* flex */
.flex {
	display: flex;
}
.flex-col {
	display: flex;
	flex-direction: column;
}
.flex-col-rev {
	display: flex;
	flex-direction: column-reverse;
}
.flex-row-rev {
	display: flex;
	flex-direction: row-reverse;
}
.flex-wrap {
	display: flex;
	flex-wrap: wrap;
}
.flex-shrink {
	flex-grow: 0;
	flex-shrink: 1;
}
.flex-auto {
	flex-grow: 1;
	flex-shrink: 1;
}
.flex-grow {
	flex-grow: 1;
}
.flex-order-first {
	order: -1;
}
.flex-start {
	display: flex;
	align-items: flex-start;
}
.flex-end {
	display: flex;
	align-items: flex-end;
}
.flex-cent {
	display: flex;
	align-items: center;
}
.flex-just {
	display: flex;
	justify-content: space-between;
}
.flex-jent {
	display: flex;
	justify-content: center;
}
.mrg-ta {
	margin-top: auto;
}
.mrg-ba {
	margin-bottom: auto;
}
.mrg-la {
	margin-left: auto;
}
.mrg-ra {
	margin-right: auto;
}
.mrg-ha {
	margin-top: auto;
	margin-bottom: auto;
}
.mrg-wa {
	margin-left: auto;
	margin-right: auto;
}
.mrg-aa {
	margin: auto;
}
.gap-1em {
	gap: 1em;
}
.gap-15em {
	gap: 1.5em;
}
.gap-2em {
	gap: 2em;
}
.gap-1ex {
	gap: 1ex;
}
.gap-1emy {
	row-gap: 1em;
}
.gap-1emx {
	column-gap: 1em;
}
.gap-1exy {
	row-gap: 1ex;
}
.gap-1exx {
	column-gap: 1ex;
}
/* grid */
.container {
	margin-left: 6%;
	margin-right: 3%;
}
.mobile .mainpage .container {
	margin-left: 4.5%;
	margin-right: 4.5%;
}
/* columns */
/* pushing blocks */
/* menu */
.topmenu {
	margin: auto 0;
}
.topmenu UL {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 4rem;
}
.topmenu A {
	color: #111;
	text-decoration: none;
	display: inline-block;
	position: relative;
	transition: color 0.2s linear, text-shadow 0.2s linear;
}
.topmenu A:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -0.5ex;
	width: 0;
	height: 2px;
	background-color: #e1ad7c;
	transition: width 0.3s ease;
}
.topmenu A:hover {
	color: #d48943;
	text-shadow: 0 0 1px #d48943;
}
.topmenu A:hover:after {
	width: 3rem;
}
.mobile .topmenu {
	display: none;
}
.mainpage .topmenu A {
	color: #e1ad7c;
}
.mainpage .topmenu A:hover {
	color: #fff;
}
.mainpage .topmenu A:after {
	background-color: #fff;
}
.slidemenu {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 110;
}
.slidemenu UL {
	margin: 0;
	padding: 0;
	list-style: none;
}
.slidemenu .has-child {
	--arrW: 0.3em;
	--arrH: 0.4em;
}
.slidemenu .has-child .sm-item {
	padding-bottom: 0;
}
.slidemenu .has-child .sm-item > A:after {
	content: '';
	display: inline-block;
	border: var(--arrW) solid transparent;
	border-top-color: #111;
	border-bottom-width: 0;
	border-top-width: var(--arrH);
	margin-left: 1ex;
	margin-bottom: 0.3rem;
	transition: border 0.3s ease;
}
.slidemenu .sm-item {
	margin: auto;
	transform: translateY(-4em);
	padding-bottom: 1rem;
}
.slidemenu .sm-item > A {
	display: inline-block;
	font-size: 1.33em;
	font-weight: bold;
	line-height: 1.1;
	max-width: 11em;
}
.slidemenu .sm-item > I {
	display: flex;
	gap: 1rem;
	align-items: center;
	margin: 0 0 1em -1.75em;
	font-style: normal;
	font-size: 1.25em;
}
.slidemenu .sm-item > I:before {
	counter-increment: item;
	content: '0' counter(item);
}
.slidemenu .sm-item > I:after {
	content: '';
	display: block;
	width: 4rem;
	border-top: 2px solid #111;
}
.slidemenu .sm-item UL {
	position: relative;
	overflow: hidden;
	max-height: 0;
	padding-top: 1rem;
	transition: max-height 0.5s ease;
}
.slidemenu .sm-item UL A:hover {
	color: #fff;
}
.slidemenu .sm-item LI {
	margin: 1ex 0;
}
.slidemenu A {
	color: #111;
	text-decoration: none;
}
.slidemenu > UL {
	display: flex;
	height: 0;
	counter-reset: item;
}
.mobile .menu-open .slidemenu > UL {
	animation: FromLeft 0.5s ease forwards;
}
.mobile .menu-none .slidemenu > UL {
	animation: ToLeft 0.5s ease forwards;
}
.slidemenu > UL > LI {
	display: flex;
	position: relative;
	flex-basis: 25%;
	background-color: #cb915a;
	margin: 0;
	padding: 0;
	height: 100vh;
/* overflow: hidden; */
	transform: translateY(-100%);
	transition: background-color 0.5s ease;
}
.slidemenu > UL > LI:after {
	content: '';
	position: absolute;
	top: 0;
	left: 100%;
	bottom: 0;
	border-right: 1px solid #cb915a;
}
.slidemenu > UL > LI.hovered {
	background-color: #c48244;
}
.slidemenu > UL > LI.hovered.has-child .sm-item > A:after {
	border-top-width: 0;
	border-top-color: transparent;
	border-bottom-color: #fff;
	border-bottom-width: var(--arrH);
}
.slidemenu > UL > LI.hovered .sm-item > A {
	color: #fff;
}
.slidemenu > UL > LI.hovered .sm-item UL {
	max-height: 16em;
	transition: max-height 0.6s ease;
}
.menu-open .slidemenu > UL > LI {
	animation: FromTop 0.5s ease forwards;
}
.menu-open .slidemenu > UL > LI:nth-child(2) {
	animation-delay: 0.2s;
}
.menu-open .slidemenu > UL > LI:nth-child(3) {
	animation-delay: 0.4s;
}
.menu-open .slidemenu > UL > LI:nth-child(4) {
	animation-delay: 0.6s;
}
.menu-none .slidemenu > UL > LI {
	animation: ToTop 0.5s ease forwards;
}
.mobile .menu-open .slidemenu > UL > LI {
	animation: none;
}
.mobile .menu-none .slidemenu > UL > LI {
	animation: none;
}
.mobile .slidemenu {
	width: 0;
	height: 100%;
}
.mobile .slidemenu > UL {
	flex-direction: column;
	justify-content: center;
	height: 100%;
	width: 100vw;
	transform: translateX(-100%);
	background-color: #e1ad7c;
	overflow: hidden;
}
.mobile .slidemenu > UL > LI {
	height: auto;
	width: auto;
	transform: translateY(-2vh);
	flex-basis: auto;
	min-height: 10vh;
	padding: 2vh 0;
	overflow: hidden;
	background-color: transparent;
	border-bottom: 1px solid #cb915a;
}
.mobile .slidemenu > UL > LI:last-of-type {
	border-bottom: 0 none;
}
.mobile .slidemenu > UL > LI:after {
	content: none;
}
.mobile .slidemenu .sm-item {
	width: 12em;
	transform: none;
}
.mobile .slidemenu .sm-item > I {
	margin-bottom: 0;
	font-size: 1.125em;
	display: none;
}
.mobile .slidemenu .sm-item > I:after {
	border-width: 1px;
}
.menu-button {
	display: flex;
	position: relative;
	font-size: 1em;
	width: 2em;
	height: 2em;
	margin: 0;
	padding: 0;
	border: 0 none;
	color: transparent;
	background-color: transparent;
	z-index: 120;
	appearance: none;
	cursor: pointer;
	--butt-color: #111;
	--bar-height: 3px;
	transform: translateY(0);
	transition: transform 0.3s ease 0.1s;
}
.mainpage:not(.menu-open) .menu-button {
	--butt-color: #e1ad7c;
}
.menu-button I {
	display: block;
	position: relative;
	margin: auto;
	width: 100%;
	height: var(--bar-height);
	background-color: var(--butt-color);
	border-radius: 2px;
	transition: background-color 0.3s ease;
}
.menu-button I:after,
.menu-button I:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: var(--bar-height);
	background-color: var(--butt-color);
	border-radius: 2px;
	transition: transform 0.3s ease;
}
.menu-button I:after {
	transform: translateY(0.5em) rotate(0deg);
}
.menu-button I:before {
	transform: translateY(-0.5em) rotate(0deg);
}
.menu-open.isSticky .menu-button {
	transform: translateY(1.5rem);
}
.menu-open .menu-button I {
	background-color: transparent;
}
.menu-open .menu-button I:after,
.menu-open .menu-button I:before {
	left: -5%;
	width: 110%;
}
.menu-open .menu-button I:after {
	top: 0;
	transform: translateY(0) rotate(45deg);
}
.menu-open .menu-button I:before {
	bottom: 0;
	transform: translateY(0) rotate(-45deg);
}
@media only screen and (max-width: 1025px) {
	.menu-button {
		--bar-height: 2px;
	}
}
/* controls */
/* typography */
PRE {
	font-size: 11px;
	white-space: break-spaces;
}
.fakebg {
/* display: none; */
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	background-image: linear-gradient(transparent, transparent 66%, rgba(102,102,102,0.3));
	opacity: 0.5;
	z-index: -1;
}
.fakebg .i-svg {
	position: absolute;
	top: 50%;
	right: 0;
	height: auto;
	width: calc(100% - max(6.25em,8.5%));
	transform: translateX(0) translateY(-50%) scaleX(1);
	transition: transform 0.5s ease-out;
}
.fakebg .i-jpg {
	position: absolute;
	top: 0;
	left: 5%;
	max-width: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: none;
	transform: scale(1.1);
}
.mainpage .fakebg {
	opacity: 1;
}
.mainpage .fakebg .i-svg {
	display: none;
}
.mainpage .fakebg .i-jpg {
	display: block;
}
@media only screen and (orientation: portrait) {
	.fakebg .isvg {
		transform: translateX(25%) scaleX(0.88);
	}
}
.maincontent {
	height: 100%;
	overflow-x: hidden;
	overflow-y: scroll;
	scroll-behavior: smooth;
}
.mainpage .maincontent {
	scrollbar-color: rgba(255,255,255,0.2) transparent;
}
.mainpage .maincontent::-webkit-scrollbar-track {
	background-color: transparent;
}
.mainpage .maincontent::-webkit-scrollbar-thumb {
	background-color: rgba(255,255,255,0.2);
}
.maincontent > MAIN {
	padding-top: 0.5rem;
	padding-bottom: 4rem;
}
.mainpage .maincontent > MAIN {
	display: flex;
	flex-direction: column;
}
.aside {
	position: relative;
	width: max(6.25em,8.5%);
	flex-shrink: 0;
	border-right: 2px solid rgba(153,153,153,0.3);
}
.social {
	display: flex;
	flex-direction: column;
	gap: 2.5vh 1.2rem;
	list-style: none;
	padding: 0;
	margin: auto;
	text-align: center;
	z-index: 130;
	transform: translateY(-1rem);
	position: relative;
	align-items: center;
}
.mobile .social {
	gap: 2.5vh 1.5em;
}
.social A {
	color: #111;
	display: block;
	width: 1.1em;
	height: 1.1em;
	position: relative;
}
.social A:hover {
	color: #d48943;
}
.menu-open .social {
	animation: SocInOut 1s linear forwards;
}
.menu-open .social A:hover {
	color: #fff;
}
.mainpage:not(.menu-open) .social A {
	color: #e1ad7c;
}
.mainpage:not(.menu-open) .social A:hover {
	color: #fff;
}
.x-footer {
	height: 14rem;
	text-align: center;
	z-index: 120;
}
.x-footer P {
	font-size: 0.75em;
}
.menu-open .x-footer {
	animation: CopyInOut 1s linear forwards;
}
.mainpage:not(.menu-open) .x-footer {
	color: #e1ad7c;
}
.x-header {
	height: 12rem;
	background-color: #eee;
	flex-shrink: 0;
	transition: box-shadow 0.3s ease 0s, background-color 0.3s ease 0s, height 0.5s ease 0s, margin 0.5s ease 0s;
}
.isSticky .x-header {
	height: 8rem;
	background-color: #fff;
	margin-bottom: 4rem;
}
.mainpage .x-header {
	background-color: transparent;
}
.mainheader {
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0);
}
.mainheader > .container {
	height: 100%;
}
.isSticky .mainheader {
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.2);
}
.logo {
	position: absolute;
	right: calc(3% + 1em);
	top: 6rem;
	width: 8.2rem;
	aspect-ratio: 1 / 1;
	z-index: 1;
	transform: translateY(-50%);
	transition: top 0.3s ease 0.1s, width 0.4s ease 0.1s, opacity 0.5s ease 0.1s;
}
.logo IMG,
.logo .isvg {
	display: block;
	width: 100%;
	height: 100%;
}
.logo .stroke-svg {
	stroke-width: 1px;
	stroke-opacity: 0.5;
}
.logo .svg-anima {
	animation: svgStroke 0.5s linear forwards;
}
.mobile .logo {
	position: fixed;
	right: 3vw;
}
.isSticky:not(.menu-open) .logo {
	top: 4rem;
	width: 5.2rem;
}
.menu-open .logo {
	transition-delay: 0.7s;
}
.mainpage .logo {
	visibility: hidden;
	opacity: 0;
}
.mainpage.menu-open .logo {
	visibility: visible;
	opacity: 1;
}
.main-block {
	max-width: 78rem;
	padding-bottom: 3vh;
}
.main-block IMG {
	width: 12rem;
	height: 12rem;
	display: block;
	margin: 0 auto;
}
.maintext {
	font-size: 3rem;
	text-align: center;
	color: #e1ad7c;
	text-transform: uppercase;
}
.maintext SPAN {
	display: inline-block;
	font-size: 2.2rem;
	margin-top: 0.75ex;
}
.video-link {
	position: relative;
	gap: 2rem;
	max-width: max-content;
	--hcolor: #e1ad7c;
}
.video-link .svg-stroke,
.video-link .svg-fill {
	transition: all 0.3s ease;
}
.video-link .img-holder {
	width: 7.2rem;
	background-color: transparent;
}
.video-link A {
	text-decoration: none;
	color: #111;
	line-height: 1;
	font-size: 1.25em;
	padding-bottom: 0.5rem;
}
.video-link A:after {
	content: '';
	position: absolute;
	inset: 0;
}
.video-link:hover A {
	color: var(--hcolor);
}
.video-link:hover .svg-stroke {
	stroke: var(--hcolor);
}
.video-link:hover .svg-fill {
	fill: var(--hcolor);
}
.swiper-button-next,
.swiper-button-prev {
	border-radius: 50%;
	border: 0.2rem solid #e1ad7c;
	color: #e1ad7c;
	width: 3rem;
	height: 3rem;
	top: 75%;
	transition: color 0.3s ease, border-color 0.3s ease;
}
.swiper-button-next:after,
.swiper-button-prev:after {
	font-size: 1em;
	line-height: 4rem;
	font-weight: bold;
}
.swiper-button-next:hover,
.swiper-button-prev:hover {
	border-color: #fff;
	color: #fff;
}
.mobile .swiper-button-next,
.mobile .swiper-button-prev {
	top: -4rem;
	width: 5rem;
	height: 5rem;
}
.swiper-button-prev {
	left: -1em;
}
.swiper-button-prev:after {
	margin-right: 0.3rem;
}
.mobile .swiper-button-prev {
	left: 0;
}
.swiper-button-next {
	right: -1em;
}
.swiper-button-next:after {
	margin-left: 0.3rem;
}
.mobile .swiper-button-next {
	right: 0;
}
.bar-mizwa {
	--bar-col: 3;
	--bar-gap: 4rem;
	--max-hei: 28rem;
	display: flex;
	align-items: flex-end;
	position: relative;
	padding: 0 2em;
	border-bottom: 1px solid #e1ad7c;
	gap: var(--bar-gap);
	margin-left: -1em;
}
HTML:not(.mobile) .bar-mizwa {
	height: var(--max-hei);
}
.bar-mizwa:after,
.bar-mizwa:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 100%;
	width: 0.52em;
	height: 0.52em;
	border-radius: 50%;
	border: 1px solid #e1ad7c;
	transform: translateY(50%);
}
.bar-mizwa:after {
	left: auto;
	right: 100%;
}
.bar-mizwa FIGURE {
	position: relative;
	padding: 1.4rem 1.6rem;
	background-color: #000;
	width: calc(100% / var(--bar-col) - var(--bar-gap) + (var(--bar-gap) / var(--bar-col)));
	height: var(--max-hei);
	overflow: hidden;
	border-bottom: 0.6rem solid #fff;
	border-radius: 2rem 2rem 0 0;
	box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.3);
	transform: translateZ(0);
	will-change: height, background-color;
	transition: height 0.3s ease-out;
}
.bar-mizwa FIGURE:before {
	position: absolute;
	left: 0;
	top: 0;
	inset: 0;
	background-image: linear-gradient(158deg, #ffdea4 0%, #b28958 100%);
	transition: opacity 0.3s ease-out;
}
.bar-mizwa FIGURE.active,
.bar-mizwa FIGURE:hover {
	height: 32rem;
}
.bar-mizwa FIGURE.active A IMG,
.bar-mizwa FIGURE:hover A IMG {
	opacity: 0.75;
}
.bar-mizwa FIGURE.active FIGCAPTION,
.bar-mizwa FIGURE:hover FIGCAPTION {
	font-size: 1em;
}
.bar-mizwa FIGURE.active .event-name H3,
.bar-mizwa FIGURE:hover .event-name H3 {
	height: 4em;
}
.bar-mizwa FIGURE.active:before,
.bar-mizwa FIGURE:hover:before {
	opacity: 0;
}
.bar-mizwa FIGCAPTION {
	position: relative;
	width: 100%;
	color: #fff;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.25;
	text-shadow: 0 0 0.5rem rgba(0,0,0,0.5);
	will-change: font-size;
	transition: font-size 0.3s ease;
}
.bar-mizwa A:after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
}
.bar-mizwa A IMG {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	opacity: 0.75;
	transition: opacity 0.3s ease-out;
}
.bar-mizwa .event-date {
	gap: 1em;
}
.bar-mizwa .event-date STRONG {
	font-size: 6em;
	line-height: 0.75;
	font-weight: 300;
	letter-spacing: -0.1ex;
	margin-left: -0.1ex;
}
.bar-mizwa .event-name {
	padding-bottom: 1.5ex;
}
.bar-mizwa .event-name H3 {
	font-size: 1.5em;
	line-height: 1;
	margin: 0;
	overflow: hidden;
	height: 4em;
	max-width: 100%;
	width: 9.6em;
	will-change: height;
	transition: height 0.2s ease-out;
}
.firefox .bar-mizwa .event-name H3 {
	transition-duration: 0.5s;
}
.bar-mizwa .swiper-wrapper {
	align-items: flex-end;
}
.bar-mizwa .swiper {
	top: 0.3rem;
}
.mobile .bar-mizwa {
	display: block;
	min-width: 0;
	width: auto;
	max-width: 71.5rem;
	margin: 3rem auto 0;
	padding: 0;
	opacity: 0;
	border-bottom: 0 none;
	transition: opacity 0.5s ease-out;
}
.mobile .bar-mizwa:after,
.mobile .bar-mizwa:before {
	content: none;
}
.mobile .bar-mizwa FIGURE {
	width: auto;
	height: 36vh;
	min-height: 37rem;
	background-color: #000;
	border: 0 none;
	border-radius: 2rem;
	box-shadow: none;
	top: auto;
	margin-bottom: 1em;
}
.mobile .bar-mizwa FIGURE A IMG {
	opacity: 0.75;
}
.mobile .bar-mizwa FIGURE FIGCAPTION {
	font-size: 0.875em;
}
.mobile .bar-mizwa FIGURE .event-name H3 {
	height: 4em;
}
.mobile .bar-mizwa FIGURE:before {
	content: none;
}
.mobile .bar-mizwa .swiper {
	top: auto;
	border-radius: 2rem;
	box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.3);
	background-color: #111;
}
.fancybox__content :focus:not(.carousel__button.is-close) {
	outline: none;
}
.article {
	--leftShift: 18vw;
	--leftGap: 2vw;
	position: relative;
}
.article H2,
.article H3,
.article H4 {
	margin-top: 4rem;
}
.article > .container {
	gap: var(--leftGap);
}
.mobile .article > .container {
	flex-direction: column;
	gap: 2em;
}
.article .pic-header {
	position: relative;
	overflow: hidden;
	margin-bottom: 2.5em;
	background-color: #000;
	aspect-ratio: 3/1;
}
.article .pic-header IMG {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	opacity: 0.9;
}
.article .pic-header H1 {
	position: absolute;
	bottom: 1.2ex;
	right: 6vw;
	left: calc(6% + var(--leftShift));
	font-weight: 900;
	line-height: 1.15;
	margin: 0;
	font-size: 4rem;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 0 0.3rem 1rem rgba(0,0,0,0.75);
}
.mobile .article .pic-header H1 {
	font-size: 2em;
}
.article ASIDE {
	width: calc(var(--leftShift) - var(--leftGap));
	min-width: calc(var(--leftShift) - var(--leftGap));
	font-size: 0.875em;
}
.mobile .article ASIDE {
	width: auto;
	display: flex;
	gap: 2rem 2em;
}
.article ASIDE UL {
	margin: 0;
	padding: 0;
	list-style: none;
}
.article ASIDE LI {
	margin: 0 0 1ex;
}
.article ASIDE NAV A {
	color: #333;
}
.article ASIDE NAV A:hover {
	color: #e1ad7c;
}
.article ASIDE .img-holder {
	margin-bottom: 2em;
}
.article ASIDE H3 {
	margin-top: 0;
}
.article BLOCKQUOTE {
	position: relative;
	min-height: 5.35em;
	margin: 1.75em 0;
	padding: 1.5em 0 1.5em 8vw;
	font-size: 1.25em;
	font-weight: 600;
	margin-left: calc(var(--leftShift) * -1);
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
}
.article BLOCKQUOTE:before {
	content: '‘’';
	position: absolute;
	left: 0;
	top: 0.5ex;
	font-size: 5em;
	font-weight: 900;
	line-height: 1;
	-webkit-text-stroke: 0.2rem #666;
	-webkit-text-fill-color: transparent;
}
.mobile .article BLOCKQUOTE {
	margin-left: 0;
	padding-left: 2.5em;
}
.mobile .article BLOCKQUOTE:before {
	font-size: 3em;
	line-height: 1.25;
}
.article SECTION > :first-child {
	margin-top: 0;
}
.article SECTION IMG {
	display: block;
	margin: 2em 0;
}
.art-date {
	margin-bottom: 3em;
}
.art-date STRONG {
	display: block;
	font-size: 10rem;
	line-height: 1;
	font-weight: 300;
	letter-spacing: -0.1ex;
	margin-left: -0.1ex;
}
.mobile .art-date {
	margin-bottom: 0;
	width: calc(var(--leftShift) - 2em);
}
.mobile .art-date STRONG {
	font-size: 4em;
}
.cat-list SECTION {
	margin: 0 -0.5rem 8vh;
	padding: 0 0.5rem 1vh;
	position: relative;
	overflow: hidden;
	transition: height 0.5s ease-out;
}
.mobile .cat-list SECTION.section-ints {
	overflow: visible;
}
.cat-list FIGURE {
	position: relative;
}
.cat-list FIGURE A {
	color: #111;
	text-decoration: none;
}
.cat-list FIGURE A:after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
}
.cat-list FIGURE:hover A {
	color: #e1ad7c;
}
.cat-list FIGURE:hover .img-holder IMG {
	transform: scale(1.1);
}
.cat-list .img-holder {
	border-radius: 1em;
	box-shadow: 0 0.3rem 0.5rem rgba(0,0,0,0.5);
	transform: translateZ(0);
}
.mobile .cat-list .img-holder {
	border-radius: 1.5rem;
}
.cat-list .img-holder IMG {
	transform: scale(1);
	transition: transform 0.5s ease-out;
}
.cat-list .swiper {
	margin: 0 -0.5rem;
	padding: 0 0.5rem 1rem;
}
.cat-list .swiper-pagination {
	bottom: -1em;
	display: flex;
	justify-content: center;
}
.cat-list .swiper-pagination-bullet {
	width: 4rem;
	height: 1rem;
	border-radius: 0.5rem;
	opacity: 1;
	background-color: #666;
}
.cat-list .swiper-pagination-bullet-active {
	background-color: #e1ad7c;
}
.ev-holder {
	--cat-gap: 2vw;
	gap: var(--cat-gap);
	transition: opacity 0.5s ease-out;
}
.ev-holder.ajx-wait {
	opacity: 0.1;
}
.section-main .ev-holder FIGURE {
	width: 100%;
}
.section-main .ev-holder FIGURE:hover H3 A {
	color: #f50;
}
.section-main .ev-holder FIGCAPTION {
	position: absolute;
	left: 8%;
	right: 8%;
	bottom: 1em;
	color: #fff;
}
.section-main .ev-holder .img-holder {
	height: 42vh;
	aspect-ratio: auto;
}
.section-main .ev-holder H3 {
	font-size: 2em;
	font-weight: 900;
	margin: 0;
	max-width: 100%;
	width: 22em;
	text-transform: capitalize;
}
.section-main .ev-holder H3 A {
	background-color: #111;
	color: #fff;
}
.section-main .ev-holder .arx {
	height: 100%;
}
.section-pred .ev-holder {
	--cat-col: 2;
}
.section-ints .ev-holder {
	--cat-col: 4;
}
.section-pred .ev-holder FIGCAPTION,
.section-ints .ev-holder FIGCAPTION {
	margin-top: 1.5em;
	font-size: 0.875em;
	max-width: 100%;
}
.section-pred .ev-holder H3,
.section-ints .ev-holder H3 {
	margin: 0 0 1ex;
	font-size: 1.5em;
	line-height: 1.2;
}
.section-pred .ev-holder FIGURE,
.section-ints .ev-holder FIGURE {
	width: calc((100% - 1px - var(--cat-gap) * (var(--cat-col) - 1)) / var(--cat-col));
}
.bb_date_ev {
	position: absolute;
	top: 1em;
	left: 8%;
	font-size: 1.8em;
	font-weight: 300;
}
.big_block .event-date {
	position: absolute;
	top: 5em;
	left: 8%;
	gap: 0.3em;
}
.big_block .event-date STRONG {
	font-size: 4em;
	font-weight: 300;
	line-height: 0.8;
}
.date_ev {
	font-weight: 500;
}
.date_ev SPAN {
	display: block;
}
.cat-head {
	margin-bottom: 1.5em;
}
.cat-head H1,
.cat-head H2 {
	font-size: 2em;
	font-weight: 900;
	margin: 0;
	line-height: 1.1;
}
.cat-head A {
	padding-bottom: 0.3ex;
	color: #333;
}
.cat-head A:hover {
	color: #f50;
}
.cat-head A.disabled {
	color: #999;
	text-decoration: none;
}
.mobile .cat-head A {
	display: inline-block;
	white-space: nowrap;
	color: #fff;
	background-color: #e1ad7c;
	text-decoration: none;
	font-size: 0.875em;
	padding: 0.3ex 1ex;
	border-radius: 0.5ex;
	margin-bottom: 0.3ex;
}
.mobile .cat-head A.disabled {
	opacity: 0.3;
	background: #666;
	cursor: default;
}
.mobile .section-ints .cat-head A {
	display: none;
}
.contacts {
	height: 100%;
}
.contacts H1 {
	width: 100%;
}
.reqs {
	position: relative;
	width: 35%;
	min-width: 360px;
	min-height: 60vh;
	padding: 2em 2em 2em 3em;
	border-radius: 1em;
	background: radial-gradient(ellipse at 10%, #e7c394 0%, #e1ad7c 100%);
	box-shadow: 0 0.4rem 1em rgba(0,0,0,0.5);
	z-index: 1;
}
.reqs H1,
.reqs H3 {
	margin: 0 0 1rem;
	font-size: 1.125em;
	font-weight: 900;
	text-transform: uppercase;
}
.reqs DL {
	margin: 0;
	display: grid;
	grid-template: auto/9em 1fr;
}
.reqs DT,
.reqs DD {
	margin: 0;
	padding-top: 2.5vh;
}
.reqs .req-1 {
	margin-bottom: 4vh;
}
.reqs .req-1 DD {
	font-weight: 700;
}
.reqs .req-2 DT {
	font-weight: 300;
}
.mapa {
	position: relative;
	width: 65%;
	height: 42vh;
	box-shadow: 0 0.4rem 1em rgba(0,0,0,0.5);
}
.mapa .arx {
	height: 100%;
}
.aside-sticky {
	padding-top: 0.5ex;
}
ASIDE .aside-sticky {
	position: sticky;
	top: 6em;
}
.fake-aside .aside-sticky {
	border-top: 1px solid #999;
	padding-top: 1em;
	margin-top: 1em;
}
.aside-sticky > H2:first-of-type {
	font-size: 1.25em;
	margin: 0 0 1em;
}
.evt-item {
	overflow: hidden;
	margin-bottom: 1em;
	position: relative;
}
.evt-img {
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	object-fit: cover;
}
.evt-date {
	font-size: calc(1em - 2px);
	font-weight: 600;
}
.evt-title {
	font-size: calc(1em + 1px);
	line-height: 1.1;
	margin: 0;
}
.article .evt-title {
	margin: 0;
}
.evt-title A {
	text-decoration: none;
}
.evt-title A:after {
	content: '';
	position: absolute;
	inset: 0;
}
.prj-item {
	position: relative;
}
.article .prj-item H4 {
	margin: 0;
}
.prj-item H4 A {
	text-decoration: none;
}
.mobile .only-desk {
	display: none !important;
}
.fBacks .fBack {
	margin-bottom: 1em;
	display: grid;
	align-content: start;
	grid-template-rows: auto minmax(2.5em, 0fr);
	transition: grid-template-rows 0.3s ease-out;
	padding: 1em;
	border-radius: 1em;
	background-color: #fff;
}
.fBacks .fBack.is-active {
	grid-template-rows: auto minmax(2.5em, 1fr);
}
.fBacks .fBack.is-active .ttm_name:after {
	content: '\f106';
}
.fBacks .ttm_name {
	font-weight: 600;
	margin-bottom: 1ex;
	max-width: max-content;
	cursor: pointer;
}
.fBacks .ttm_name:after {
	content: '\f107';
	display: inline-block;
	font-family: 'FontAwesome';
	font-weight: normal;
	margin-left: 1ex;
}
.fBacks .ttm_txt {
	overflow: hidden;
	line-height: 1.25;
	position: relative;
	padding-left: 1.5em;
}
.fBacks .ttm_txt:before {
	content: '\f10d';
	position: absolute;
	left: 0;
	top: 0;
	font-family: 'FontAwesome';
	color: #cb915a;
}
.fBacks .ttm_txt P {
	margin: 1ex 0;
}
.fBacks .ttm_txt P:first-of-type {
	margin-top: 0;
}
.fBacks .ttm_txt P:last-of-type {
	margin-bottom: 0;
}
.subs-form {
	--cnth: max(2.5rem, 25px);
	position: relative;
	max-width: 26ch;
}
.subs-form .fields-wrap {
	border: 1px solid #ccc;
	border-radius: 1ex;
	padding: 0.5ex;
	background-color: #fff;
	gap: 0.75ex;
}
.subs-form LEGEND {
	font-size: 0.8125em;
	font-weight: 500;
	margin-bottom: 0.5ex;
}
.subs-form > P {
	margin: 2px 0 0;
	font-size: 0.75em;
	width: max-content;
	max-width: calc(100vw - 8em);
}
.subs-form > P + P {
	color: #f00;
}
.subs-form > P + P.alles-ok {
	color: currentColor;
}
.subs-form INPUT[type="email"] {
	width: 100%;
	height: var(--cnth);
	font-size: 0.875em;
	margin: 0;
	border: 0 none;
	font-family: inherit;
	background-color: #fff;
}
.subs-form BUTTON[type="submit"] {
	height: var(--cnth);
	aspect-ratio: 1;
	font-family: inherit;
	color: #fff;
	border-radius: 1ex;
	border: 0 none;
	background-color: #e1ad7c;
	font-size: 0.875em;
	padding: 0;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.subs-form BUTTON[type="submit"]:before {
	content: '\f054';
	font-family: 'FontAwesome';
	line-height: 1;
	margin-left: 2px;
}
.subs-form.is-process:before {
	content: '';
	position: absolute;
	inset: -1px;
	z-index: 10;
}
.subs-form.is-process INPUT[type="email"] {
	opacity: 0.5;
}
.subs-form.is-process BUTTON[type="submit"]:after {
	content: '';
	position: absolute;
	inset: 2px;
	background-color: #e1ad7c;
	z-index: 1;
	border-radius: 50%;
	border: 0.5ex dotted currentColor;
	animation: rotation 3s linear infinite;
}
.main-footer {
	padding-bottom: 1em;
	max-width: 100vw;
	overflow-x: clip;
}
.mainpage .main-footer {
	display: none;
}
.main-footer .container {
	padding: 1ex 2ex 1.25ex;
	border-radius: 1ex;
	background-color: #fff;
	gap: 1em;
}
.main-footer .copy {
	font-size: 0.75em;
	font-weight: 500;
	text-align: center;
	white-space: nowrap;
}
.main-footer .socio {
	width: 26ch;
	text-align: right;
}
.main-footer .socio A {
	color: #111;
}
.main-footer .socio A:hover {
	color: #e1ad7c;
}
@media only screen and (min-width: 481px) {
	.main-footer .container {
		flex-direction: row;
	}
}
@media only screen and (max-width: 860px) {
	.big_block .event-date {
		top: 1.2em;
	}
	.article .pic-header {
		aspect-ratio: 2/1;
	}
	.section-main .ev-holder {
		flex-direction: column;
		gap: 2.5rem;
	}
	.section-main .ev-holder FIGURE:first-child {
		width: auto;
	}
	.section-main .ev-holder FIGURE:last-child .arx {
		aspect-ratio: 3/1;
	}
	.section-main .ev-holder H3 {
		font-size: 1.75em;
		line-height: 1.1;
	}
	.section-pred .ev-holder {
		--cat-col: 2;
	}
	.section-ints .ev-holder {
		--cat-col: 3;
	}
	.section-pred .ev-holder H3,
	.section-ints .ev-holder H3 {
		margin: 0 0 1ex;
		font-size: 1.25em;
		line-height: 1.1;
	}
	.cat-head H2 {
		font-size: 1.75em;
	}
	.contacts {
		flex-direction: column;
	}
	.contacts.flex-cent {
		align-items: flex-end;
	}
	.reqs {
		width: auto;
		min-width: 0;
		max-width: 480px;
		padding: 2em;
		transform: translateY(-3em);
		margin-bottom: -3em;
	}
	.mapa {
		width: auto;
		margin-left: -7%;
		margin-right: -4%;
		order: -1;
	}
}
@media only screen and (max-width: 620px) {
	HTML {
		scroll-behavior: smooth;
	}
	BODY {
		height: unset;
		overflow: unset;
	}
	.fakebg .i-svg {
		width: 100%;
	}
	.maincontent {
		height: auto;
		overflow-x: unset;
		overflow-y: unset;
		scroll-behavior: unset;
		padding-bottom: 3em;
	}
	.mainpage .maincontent {
		padding-top: 2em;
	}
	.maincontent > MAIN {
		width: 100vw;
		overflow: hidden;
	}
	.aside {
		position: fixed;
		top: 0;
		left: calc(var(--asideX) * -1);
		height: 100%;
		z-index: 110;
	}
	.menu-button {
		left: calc(var(--asideX) - 1em);
		display: none;
	}
	.container {
		width: min(calc(100% - 5rem), 480px);
		margin-left: auto;
		margin-right: auto;
	}
	.mobile .mainpage .container {
		margin-left: auto;
		margin-right: auto;
	}
	.mobile .mainpage .mainheader {
		display: none;
	}
	.main-block .maintext H1 {
		font-size: 2.8rem;
	}
	.article .pic-header {
		aspect-ratio: 5 / 3;
	}
	.article .pic-header H1 {
		width: min(calc(100% - 5rem), 480px);
		left: 50%;
		transform: translateX(-50%);
	}
	.mapa {
		margin-left: -2.5rem;
		margin-right: -2.5rem;
	}
}
@media only screen and (max-width: 480px) {
	.maincontent > MAIN {
		padding-bottom: 1.5em;
	}
	.section-pred .ev-holder,
	.section-ints .ev-holder {
		--cat-col: 1;
		gap: 2.5rem;
	}
	.main-block H1 {
		font-size: 5.5rem;
	}
	.article ASIDE {
		font-size: 1em;
		flex-direction: column;
	}
	.mobile .art-date {
		width: auto;
	}
	.art-date STRONG {
		display: inline-block;
		line-height: normal;
		font-weight: bold;
		letter-spacing: 0;
		margin-left: 0;
	}
	.art-date STRONG:after {
		content: '•';
		display: inline-block;
		font-weight: normal;
		margin-left: 0.5ex;
	}
	.mobile .art-date STRONG {
		font-size: 1em;
	}
	.reqs H3 {
		margin-bottom: 1em;
	}
	.reqs DL {
		display: flex;
		flex-direction: column;
	}
	.reqs DT,
	.reqs DD {
		padding: 0;
	}
	.reqs DT {
		margin-bottom: 0.5ex;
	}
	.reqs DD {
		margin-bottom: 1em;
	}
	.main-footer .container .socio {
		text-align: center;
	}
}
@media only screen and (max-width: 420px) {
	.section-ints .ev-holder FIGURE {
		border-radius: 1rem;
		box-shadow: 0 0.3rem 0.5rem rgba(0,0,0,0.5);
		overflow: hidden;
		display: flex;
		aspect-ratio: 5/6;
	}
	.section-ints .ev-holder .img-holder {
		border-radius: 1rem;
		position: absolute;
		inset: 0;
		box-shadow: none;
	}
	.section-ints .ev-holder FIGCAPTION {
		width: 100%;
		margin-top: auto;
		padding: 1em;
		background-color: rgba(0,0,0,0.3);
		z-index: 1;
	}
	.section-ints .ev-holder H3 {
		margin: 0;
		text-shadow: 0 -1px 3px rgba(0,0,0,0.5);
		font-size: 1.33em;
	}
	.section-ints .ev-holder A {
		color: #fff;
	}
}
@keyframes FromTop {
	from {
		transform: translateY(-100%);
	}
	to {
		transform: translateY(0);
	}
}
@keyframes ToTop {
	from {
		transform: translateY(0);
	}
	to {
		transform: translateY(-100%);
	}
}
@keyframes FromLeft {
	from {
		transform: translateX(-100%);
	}
	to {
		transform: translateX(0);
	}
}
@keyframes ToLeft {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}
@keyframes bgStroke {
	from {
		stroke-width: 0;
		stroke-opacity: 0;
	}
	to {
		stroke-width: 2px;
		stroke-opacity: 0.5;
	}
}
@keyframes gbStroke {
	from {
		stroke-width: 0;
		stroke-opacity: 0;
	}
	to {
		stroke-width: 1.2px;
		stroke-opacity: 0.3;
	}
}
@keyframes svgStroke {
	from {
		stroke-width: 1px;
		stroke-opacity: 0.5;
	}
	to {
		stroke-width: 7px;
		stroke-opacity: 1;
	}
}
@keyframes SocInOut {
	0% {
		opacity: 1;
		width: auto;
		margin-bottom: auto;
		flex-direction: column;
		transform: translateY(-1rem);
	}
	25% {
		opacity: 0;
		width: auto;
		margin-bottom: auto;
		flex-direction: column;
		transform: translateY(-1rem);
	}
	50% {
		opacity: 0;
		width: calc(100vw + var(--asideX) * 2);
		margin-bottom: 0;
		flex-direction: row;
		justify-content: center;
		transform: translateY(0);
	}
	100% {
		opacity: 1;
		width: calc(100vw + var(--asideX) * 2);
		margin-bottom: 0;
		flex-direction: row;
		justify-content: center;
		transform: translateY(0);
	}
}
@keyframes CopyInOut {
	0% {
		opacity: 1;
		width: 100%;
	}
	25% {
		opacity: 0;
		width: 100%;
	}
	50% {
		opacity: 0;
		width: calc(100vw + var(--asideX) * 2);
	}
	100% {
		opacity: 1;
		width: calc(100vw + var(--asideX) * 2);
	}
}
@keyframes rotation {
	to {
		transform: translateZ(0) rotate(1turn);
	}
}
