/**
* Desktop: > 1280px
*/

/**
 *
 * MARK: LAYOUT
 *
 */

:root {
	--header-height: var(--size-md);
}

/* .main-container {
			position: relative;
		} */

.main-container::before {
	content: "";
	display: block;
	padding-top: var(--header-height);
}

.main-container > section:first-of-type {
	margin-top: 0;
}

.container-main_sidebar {
	grid-template-rows: auto 1fr;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
	).container-main_sidebar
	> :is(header, article, footer) {
	grid-column: 1 / span 8;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
	).container-main_sidebar
	> aside {
	position: sticky;
	top: calc(var(--header-height) + var(--gutter));
	grid-row: 1 / -1;
	grid-column: span 4 / -1;
}

:where([class*="--grid"])[class*="--12"] {
	grid-template-columns: repeat(12, 1fr);
}

:where([class*="--grid"])[class*="--11"] {
	grid-template-columns: repeat(11, 1fr);
}

:where([class*="--grid"])[class*="--10"] {
	grid-template-columns: repeat(10, 1fr);
}

:where([class*="--grid"])[class*="--9"] {
	grid-template-columns: repeat(9, 1fr);
}

:where([class*="--grid"])[class*="--8"] {
	grid-template-columns: repeat(8, 1fr);
}

:where([class*="--grid"])[class*="--6"] {
	grid-template-columns: repeat(6, 1fr);
}

:where([class*="--grid"])[class*="--5"] {
	grid-template-columns: repeat(5, 1fr);
}

:where([class*="--grid"])[class*="--4"] {
	grid-template-columns: repeat(4, 1fr);
}

:where([class*="--grid"])[class*="--3"] {
	grid-template-columns: repeat(3, 1fr);
}

:where([class*="--grid"])[class*="--2"] {
	grid-template-columns: repeat(2, 1fr);
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--wide"] {
	grid-column: 2 / -2;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--narrow"] {
	grid-column: 3 / -3;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--narrower"] {
	grid-column: 4 / -4;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--last"] {
	grid-column-end: -1;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--one"] {
	grid-column-start: span 1;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--two"] {
	grid-column-start: span 2;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--three"] {
	grid-column-start: span 3;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--four"] {
	grid-column-start: span 4;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--five"] {
	grid-column-start: span 5;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--six"] {
	grid-column-start: span 6;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--seven"] {
	grid-column-start: span 7;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--eight"] {
	grid-column-start: span 8;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--nine"] {
	grid-column-start: span 9;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--ten"] {
	grid-column-start: span 10;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--eleven"] {
	grid-column-start: span 11;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"][class*="--shift-"]
	)[class*="--one"] {
	grid-column-end: span 1;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"][class*="--shift-"]
	)[class*="--two"] {
	grid-column-end: span 2;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"][class*="--shift-"]
	)[class*="--three"] {
	grid-column-end: span 3;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"][class*="--shift-"]
	)[class*="--four"] {
	grid-column-end: span 4;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"][class*="--shift-"]
	)[class*="--five"] {
	grid-column-end: span 5;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"][class*="--shift-"]
	)[class*="--six"] {
	grid-column-end: span 6;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"][class*="--shift-"]
	)[class*="--seven"] {
	grid-column-end: span 7;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"][class*="--shift-"]
	)[class*="--eight"] {
	grid-column-end: span 8;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"][class*="--shift-"]
	)[class*="--nine"] {
	grid-column-end: span 9;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"][class*="--shift-"]
	)[class*="--ten"] {
	grid-column-end: span 10;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"][class*="--shift-"]
	)[class*="--eleven"] {
	grid-column-end: span 11;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--shift-0"] {
	grid-column-start: 1;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--shift-1"] {
	grid-column-start: 2;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--shift-2"] {
	grid-column-start: 3;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--shift-3"] {
	grid-column-start: 4;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--shift-4"] {
	grid-column-start: 5;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--shift-5"] {
	grid-column-start: 6;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--shift-6"] {
	grid-column-start: 7;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--shift-7"] {
	grid-column-start: 8;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--shift-8"] {
	grid-column-start: 9;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--shift-9"] {
	grid-column-start: 10;
}

:where(
		:is([class*="wrapper--"], [class*="container--"])[class*="--grid"]
			> [class*="content--"]
	)[class*="--shift-10"] {
	grid-column-start: 11;
}

/**
 *
 * MARK: COMPS
 *
 */

.comp__topbar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 200;
	translate: 0 calc(-1 * 100%);
	transition: var(--t-menu);
}

.comp__topbar.active {
	translate: 0 0;
}

.comp__topbar .btn-group {
	width: unset;
}

/* .hero-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
} */

.video-wrapper {
	position: relative;
	display: flex;
}

.video-controls {
	position: absolute;
	right: var(--gutter);
	bottom: var(--gutter);
	transition: var(--t-btns);
	display: inline-flex;
	gap: var(--size-xs);
}

.video-controls.playing {
	opacity: 0;
}

.hasHover .video-player:hover + .video-controls.playing {
	opacity: 0.5;
}

.hasHover .video-player:hover + .video-controls.playing > *:hover,
.hasHover .video-controls:hover {
	opacity: 1;
}

.video-play::after {
	mask-image: var(--icon-play);
	-webkit-mask-image: var(--icon-play);
}

.video-controls.playing .video-play::after {
	mask-image: var(--icon-pause);
	-webkit-mask-image: var(--icon-pause);
}

.video-mute::after {
	mask-image: var(--icon-mute);
	-webkit-mask-image: var(--icon-mute);
}

.video-controls.muted .video-mute::after {
	mask-image: var(--icon-audio);
	-webkit-mask-image: var(--icon-audio);
}

.border-top-accent {
	padding-block-start: var(--size-sm);
	border-top: var(--s-hair) solid var(--color-accent);
}

.grid-group:is(.news, .people) :is(.grid-item, .grid-sizer) {
	width: calc((100% - (var(--gutter) * 3)) / 4);
}

.grid-group.events :is(.grid-item, .grid-sizer) {
	width: 100%;
}

.grid-group:is(.news, .people) .gutter-sizer {
	width: var(--gutter);
}

.grid-group.events .gutter-sizer {
	width: 0;
}

.grid-group.news {
	margin-block-end: calc(-1 * var(--size-md));
}

.grid-group.news .grid-item {
	margin-block-end: var(--size-md);
}

.grid-group.people {
	margin-block-end: calc(-1 * var(--size-xs));
}

.grid-group.people .grid-item {
	margin-block-end: var(--gutter);
}

.grid-group.events {
	margin-block-end: calc(-1 * var(--size-sm));
}

.grid-group.events .grid-item {
	margin-block-end: var(--size-sm);
}

.gallery-group {
	display: inline-flex;
	flex-wrap: wrap;
	gap: var(--size-xs);
}

.gallery-item {
	--gallery-flex-basis: calc((100% - var(--size-xs)) / 2);

	flex: 1 1 var(--gallery-flex-basis);
	filter: grayscale(1);
	transition: var(--t-cards);
	will-change: filter;
	cursor: pointer;
}

.hasHover .gallery-item:hover {
	filter: grayscale(0);
}

.gallery-group:has(:nth-child(3)) > .gallery-item {
	--gallery-flex-basis: calc((100% - (var(--size-xs) * 2)) / 3);
}

.gallery-group:has(:nth-child(4)) > .gallery-item {
	--gallery-flex-basis: calc((100% - (var(--size-xs) * 3)) / 4);
}

.gallery-group:has(:nth-child(5)) > .gallery-item:nth-child(-n + 3) {
	--gallery-flex-basis: calc((100% - (var(--size-xs) * 2)) / 3);
}

.gallery-group:has(:nth-child(5)) > .gallery-item:nth-child(n + 4) {
	--gallery-flex-basis: calc((100% - var(--size-xs)) / 2);
}

.gallery-group:has(:is(:nth-child(6), :nth-child(7)))
	> .gallery-item:nth-child(-n + 4) {
	--gallery-flex-basis: calc((100% - (var(--size-xs) * 3)) / 4);
}

.gallery-group:has(:is(:nth-child(6))) > .gallery-item:nth-child(n + 5) {
	--gallery-flex-basis: calc((100% - var(--size-xs)) / 2);
}

.gallery-group:has(:nth-child(7)) > .gallery-item:nth-child(n + 5) {
	--gallery-flex-basis: calc((100% - (var(--size-xs) * 2)) / 3);
}

.gallery-group:has(:nth-child(8)) > .gallery-item:nth-child(-n + 3) {
	--gallery-flex-basis: calc((100% - (var(--size-xs) * 2)) / 3);
}

.gallery-group:has(:nth-child(8)) > .gallery-item:nth-child(n + 4) {
	--gallery-flex-basis: calc((100% - var(--size-xs)) / 2);
}

.gallery-group:has(:nth-child(8)) > .gallery-item:nth-child(n + 6) {
	--gallery-flex-basis: calc((100% - (var(--size-xs) * 2)) / 3);
}

.gallery-group:has(:nth-child(9)) > .gallery-item:nth-child(-n + 4) {
	--gallery-flex-basis: calc((100% - (var(--size-xs) * 3)) / 4);
}

.gallery-group:has(:nth-child(9)) > .gallery-item:nth-child(n + 5) {
	--gallery-flex-basis: calc((100% - var(--size-xs)) / 2);
}

.gallery-group:has(:nth-child(9)) > .gallery-item:nth-child(n + 7) {
	--gallery-flex-basis: calc((100% - (var(--size-xs) * 2)) / 3);
}

.gallery-group:has(:nth-child(10)) > .gallery-item:nth-child(n + 7) {
	--gallery-flex-basis: calc((100% - (var(--size-xs) * 3)) / 4);
}

.read-more-button {
	display: none;
	position: relative;
	align-items: center;
}

.read-more-button::after {
	content: "\00a0more";
	padding-right: calc(var(--size-2xs) + var(--px-32));
}

.read-more-button.enabled::after {
	content: "\00a0less";
}

.read-more-button::before {
	background-color: currentcolor;
	content: "";
	display: block;
	height: var(--px-32);
	-webkit-mask-image: var(--icon-plus);
	mask-image: var(--icon-plus);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	width: var(--px-32);
	position: absolute;
	right: 0;
}

.read-more-button.enabled::before {
	-webkit-mask-image: var(--icon-minus);
	mask-image: var(--icon-minus);
}

.comp__accordion__item {
	border-bottom: var(--s-hair) solid var(--color-accent);
	width: 100%;
}

.comp__accordion__summary {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-block: var(--size-sm);
	gap: var(--size-xs);
}

.hasHover .comp__accordion__summary:hover {
	color: var(--color-focus);
}

.comp__accordion__summary:focus-visible {
	box-shadow: var(--focus-primary);
}

.comp__accordion__summary::after {
	background-color: currentcolor;
	content: "";
	display: block;
	height: var(--px-32);
	-webkit-mask-image: var(--icon-plus);
	mask-image: var(--icon-plus);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	width: var(--px-32);
	flex: 0 0 auto;
}

.comp__accordion__summary.selected::after {
	-webkit-mask-image: var(--icon-minus);
	mask-image: var(--icon-minus);
}

.comp__news__thumbnail {
	filter: grayscale(1);
	transition: var(--t-cards);
}

.hasHover .comp__news:hover .comp__news__thumbnail {
	filter: grayscale(0);
}

.comp__news__date {
	position: absolute;
	top: var(--size-xs);
	left: var(--size-xs);
	width: auto;
}

.comp__news__heading {
	padding-right: var(--size-sm);
}

.comp__news__title:has(:focus-visible):focus-within {
	box-shadow: var(--focus-tertiary);
}

.comp__news :where([class*="btn--"])[class*="--text"]:focus-visible {
	box-shadow: none;
}

.comp__hero {
	position: relative;
}

.comp__hero__title {
	position: absolute;
}

.comp__hero__breadcrumbs {
	top: 0;
	top: var(--size-sm);
	left: 0;
	/* translate: 0 100%; */
	position: absolute;
}

.comp__person__online {
	position: absolute;
	top: var(--size-xs);
	left: var(--size-xs);
}

.comp__person .comp__person__cover {
	position: relative;
}

.comp__person .comp__person__cover::before {
	content: "";
	background-color: var(--color-accent);
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: var(--t-cards);
	mix-blend-mode: color;
	will-change: opacity;
	z-index: 1;
	pointer-events: none;
}

.hasHover .comp__person:hover .comp__person__cover::before {
	opacity: 1;
}

.comp__person:is(.speaker, .placeholder) .comp__person__img {
	filter: grayscale(1);
}

.comp__event {
	transition: var(--t-btns);
}

.hasHover .comp__event:hover {
	transition: var(--t-btns);
	background-color: var(--ui-accent-contrast);
}

/*.comp__event__title a {
	--underline-color: transparent;

	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-color: var(--underline-color);
	text-decoration-thickness: var(--underline-thickness);
	text-underline-offset: var(--underline-offset);
	/~ border-bottom: solid var(--underline-thickness) var(--underline-color); ~/
}*/

/*.hasHover .comp__event:hover .comp__event__title a {
	--underline-color: var(--color-accent);
}*/

.comp__event:has(a:focus-visible) {
	--focus-primary: 0 0 0 var(--px-2) var(--color-bg),
		0 0 0 var(--px-4) var(--color-focus);

	box-shadow: var(--focus-primary);
	background-color: var(--ui-accent-contrast);
}

.comp__event__sidebar {
	pointer-events: none;
}

.comp__ticket {
	container-type: inline-size;
}

.comp__ticket__heading {
	z-index: 1;
}

.comp__ticket__info {
	display: inline-flex;
	flex: 0 0 auto;
}

.comp__ticket__details {
	position: relative;
}

.comp__ticket__details > * + ::before {
	content: "";
	width: var(--s-hair);
	background-color: var(--color-accent);
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	translate: calc(var(--size-sm) * -1);
}

.comp__ticket__tooltip::before {
	background-color: currentcolor;
	content: "";
	display: block;
	height: var(--px-16);
	-webkit-mask-image: var(--icon-info);
	mask-image: var(--icon-info);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	width: var(--px-16);
	cursor: question;
}

.comp__ticket__row.disabled
	:is(
		.comp__ticket__price,
		.comp__ticket__heading > *:not(.comp__ticket__soldout)
	) {
	opacity: 0.5;
	pointer-events: none;
}

.comp__partners:last-child {
	margin-block-end: var(--size-lg);
}

.comp__partners__grid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gutter);
}

.comp__partners__media {
	filter: grayscale(1);
	transition: var(--t-fonts);
}

/* Desktop partners grid - flexible system for any number of items */
.comp__partners__grid > .comp__partners__media {
	padding: var(--size-sm);
	background-color: var(--color-bg);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 var(--logo-flex-basis, auto);

	/* Default: 6 logos per row for optimal desktop layout */
	--logo-flex-basis: calc((100% - (var(--gutter) * 5)) / 6);
}

.hasHover .comp__partners__media:hover {
	filter: grayscale(0);
}

/* JavaScript will add classes to handle specific layouts */
.comp__partners__grid.layout-1 > .comp__partners__media {
	--logo-flex-basis: 100%;
}

.comp__partners__grid.layout-2 > .comp__partners__media {
	--logo-flex-basis: calc((100% - var(--gutter)) / 2);
}

.comp__partners__grid.layout-3 > .comp__partners__media {
	--logo-flex-basis: calc((100% - (var(--gutter) * 2)) / 3);
}

.comp__partners__grid.layout-4 > .comp__partners__media {
	--logo-flex-basis: calc((100% - (var(--gutter) * 3)) / 4);
}

.comp__partners__grid.layout-5 > .comp__partners__media {
	--logo-flex-basis: calc((100% - (var(--gutter) * 4)) / 5);
}

.comp__partners__grid.layout-6 > .comp__partners__media {
	--logo-flex-basis: calc((100% - (var(--gutter) * 5)) / 6);
}

/* Special layout classes for mixed distributions */
.comp__partners__grid.layout-mixed > .comp__partners__media.row-2 {
	--logo-flex-basis: calc((100% - var(--gutter)) / 2);
}

.comp__partners__grid.layout-mixed > .comp__partners__media.row-3 {
	--logo-flex-basis: calc((100% - (var(--gutter) * 2)) / 3);
}

.comp__partners__grid.layout-mixed > .comp__partners__media.row-4 {
	--logo-flex-basis: calc((100% - (var(--gutter) * 3)) / 4);
}

.comp__partners__grid.layout-mixed > .comp__partners__media.row-5 {
	--logo-flex-basis: calc((100% - (var(--gutter) * 4)) / 5);
}

.comp__partners__grid.layout-mixed > .comp__partners__media.row-6 {
	--logo-flex-basis: calc((100% - (var(--gutter) * 5)) / 6);
}

.comp__partners__media .logo {
	max-height: var(--size-2xl);
	width: auto;
	transition: var(--t-fonts);
}

/**
 *
 * MARK: BLOCKS
 *
 */

.editorial-blocks {
	display: flex;
	flex-direction: column;
	gap: var(--size-sm);
	align-items: start;
}

.block:empty {
	display: none;
}

.block__side_image > * {
	flex-basis: calc((100% - var(--size-sm)) / 2);
}

.block__side_image .comp__text_cta {
	padding-right: var(--size-md);
}

.block__accordion .comp__text_cta__heading {
	gap: var(--size-sm);
}

.block__accordion .comp__text_cta {
	gap: var(--size-md);
	padding-bottom: var(--size-md);
}

.block__tickets_carousel .flickity-viewport {
	overflow: clip visible;
}

.block__video.embedded .block__video__container {
	position: relative;
}

.block__video.embedded .block__video__container::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--ui-25);
	/* content: "to enable embedded videos, please accept the consent of privacy and cookies policy"; */
	content: "";
	display: flex;
	align-items: center;
	justify-content: center;
}

.block__video.embedded .disclaimer {
	font-size: var(--f-sm);
	letter-spacing: var(--ls-1);
	line-height: var(--lh-sm);
	left: 0;
	padding: var(--size-sm);
	position: absolute;
	text-align: center;
	top: 0;
	height: 100%;
	display: flex;
	align-items: center;
	width: 100%;
	text-align: center;
	justify-content: center;
}

.block__video.embedded .js-reframe {
	pointer-events: none;
}

.block__video.embedded iframe {
	pointer-events: all;
}

.block__video.embedded
	iframe._iub_cs_activate:not(._iub_cs_activate-activated) {
	pointer-events: none;
}

/**
 *
 * MARK: FADER
 *
 */

.fader_logo,
.fader_logo .logo {
	color: var(--color-bg);
	height: var(--size-xl);
}

.fader_logo .logo {
	animation: faderPulse 3000ms var(--ease-in-out-circ) 1000ms infinite;
	-webkit-animation: faderpulse 3000ms var(--ease-in-out-circ) 1000ms infinite;
	opacity: 0;
}

.fader_logo .logo path {
	fill: var(--color-bg);
}

@keyframes faderPulse {
	0% {
		opacity: 0;
		transform: scale(1);
	}

	50% {
		opacity: 1;
		transform: scale(1.5);
	}

	100% {
		opacity: 0;
		transform: scale(2);
	}
}

@keyframes faderPulse {
	0% {
		opacity: 0;
		transform: scale(1);
	}

	50% {
		opacity: 1;
		transform: scale(1.5);
	}

	100% {
		opacity: 0;
		transform: scale(2);
	}
}

/**
 *
 * MARK: HEADER
 *
 */

.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	transition: opacity 1000ms var(--ease-out-quad), visibility 0s;
}

.header.hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 500ms var(--ease-out-quint), visibility 0s 500ms;
}

.header__logo {
	height: var(--size-sm);
	width: var(--px-75);
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
}

.header__logo .logo {
	height: var(--size-sm);
	width: var(--px-75);
	overflow: visible;
}

.header__nav {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 500ms var(--ease-out-quint), visibility 0s 500ms;
	will-change: opacity;
	position: fixed;
	inset: 0;
	overflow-y: auto;
}

.header__nav.open {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
	transition: opacity 1000ms var(--ease-out-quad), visibility 0s;
}

.header__nav__menu {
	margin: auto 0;
}

.header__nav__submenu > .header__nav__sub_item_1:first-of-type {
	padding-block-start: var(--size-xs);
}

.header__nav__sub_item_1 .header__nav__submenu,
.header__nav__sub_item_1 {
	gap: unset;
}

.is-menu :is(.header__logo, .header__right_btn) {
	z-index: 1;
	color: var(--color-bg);
}

.header__right_btn.active::before {
	content: "close ";
}

.header__nav__top_item > .header__nav__submenu {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: max-height 700ms var(--ease-out-quad),
		opacity 500ms var(--ease-out-quad), visibility 0ms 500ms;
	will-change: opacity, max-height;
	max-height: 0;
}

.header__nav__top_item.active > .header__nav__submenu {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
	transition: max-height 2000ms var(--ease-out-quad),
		opacity 1000ms var(--ease-out-quad), visibility 0ms;
	max-height: 999px;
}

.header__right_btn {
	margin-left: auto;
}

.shape {
	animation-duration: 12s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-fill-mode: both;
}

.pictogram {
	animation-name: pictogramAnim;
}

.logotype {
	animation-name: logotypeAnim;
}

@keyframes pictogramAnim {
	0% {
		opacity: 1;
		filter: blur(0);
	} /* Visible and sharp */
	33.33% {
		opacity: 1;
		filter: blur(0);
	} /* Stay visible (2s) */
	50% {
		opacity: 0;
		filter: blur(5px);
	} /* Blur out (1s transition) */
	83.33% {
		opacity: 0;
		filter: blur(5px);
	} /* Stay hidden (2s) */
	100% {
		opacity: 1;
		filter: blur(0);
	} /* Blur back in (1s transition) */
}

@keyframes logotypeAnim {
	0% {
		opacity: 0;
		filter: blur(5px);
	} /* Hidden */
	33.33% {
		opacity: 0;
		filter: blur(5px);
	} /* Stay hidden (2s) */
	50% {
		opacity: 1;
		filter: blur(0);
	} /* Blur in (1s transition) */
	83.33% {
		opacity: 1;
		filter: blur(0);
	} /* Stay visible (2s) */
	100% {
		opacity: 0;
		filter: blur(5px);
	} /* Blur out (1s transition) */
}

/**
 *
 * MARK: FOOTER
 *
 */

.footer__newsletter {
	border-bottom: var(--s-hair) solid var(--color-accent);
}

.footer__credits__copyright a {
	--underline-color: currentcolor;

	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-color: var(--underline-color);
	text-decoration-thickness: var(--underline-thickness);
	text-underline-offset: var(--underline-offset);
	transition: var(--t-btns);
}

.hasHover .footer__credits__copyright a:hover {
	--underline-color: transparent;

	color: var(--ui-accent-contrast);
}

.footer__credits__copyright a:focus-visible {
	box-shadow: var(--focus-footer);
}

.footer__nav__item.menu-item-has-children {
	pointer-events: none;
}

.footer__nav__item.menu-item-has-children a {
	pointer-events: all;
}

.footer__nav__item.menu-item-has-children > a {
	font-size: var(--f-md);
	letter-spacing: var(--ls-n3);
	line-height: var(--lh-xs);
	text-transform: uppercase;
	pointer-events: all;
}

.footer__nav__item:is([disabled], :disabled, .disabled) a {
	pointer-events: none;
	/* color: var(--ui-50); */
}

.footer__nav__icon .svg {
	width: var(--px-24);
	height: var(--px-24);
}

.footer__credits__logo .svg {
	height: var(--px-36);
}

.footer a > .svg {
	transition: var(--t-btns);
}

.hasHover .footer a:hover > .svg {
	color: var(--ui-accent-contrast);
}

.footer a:focus-visible > .svg {
	box-shadow: var(--focus-footer);
}

/**
 *
 * MARK: FRONT
 *
 */

/**
 *
 * MARK: BLOG
 *
 */

.blog__featured .comp__news.grid-item {
	margin-block-end: 0;
	flex: 1;
}

/**
 *
 * MARK: PROGRAM LIST
 *
 */

/**
 *
 * MARK: PROGRAM ACCORDION
 *
 */

.program_accordion__summary::after {
	background-color: currentcolor;
	content: "";
	display: block;
	height: var(--px-48);
	-webkit-mask-image: var(--icon-plus);
	mask-image: var(--icon-plus);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	width: var(--px-48);
	pointer-events: none;
}

.program_accordion__summary:has(.selected)::after {
	-webkit-mask-image: var(--icon-minus);
	mask-image: var(--icon-minus);
}

/**
 *
 * MARK: EVENT
 *
 */

:where(.event_day__content) .comp__filters__results {
	grid-row: 1;
	grid-column-end: -1;
}

:where(.event_day__content) .comp__filters__tax {
	grid-row: 1;
	grid-column-end: -1;
}

/**
 *
 * MARK: PERSON
 *
 */

.person__description {
	--paragraph-space: 1rem;
}

/**
 *
 * MARK: FAQ
 *
 */

/**
 *
 * MARK: TICKETS
 *
 */

.tickets__section__purchase {
	flex: 0 0 auto;
}

.tickets__section__row.disabled
	:is(
		.tickets__section__purchase,
		.tickets__section__heading > *:not(.tickets__section__release),
		.tickets__section__release__label
	) {
	opacity: 0.5;
	pointer-events: none;
}

:is(.tickets__section__purchase, .tickets__section__heading) > * {
	flex: 0 1 auto;
	position: relative;
	min-height: var(--size-md);
	display: inline-flex;
	align-items: center;
}

.tickets__section__heading > :not(:last-child)::after {
	content: "";
	width: var(--s-hair);
	background-color: var(--color-accent);
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	translate: var(--size-sm);
	right: 0;
}

.tickets__section__tooltip::before {
	background-color: currentcolor;
	content: "";
	display: block;
	height: var(--px-16);
	-webkit-mask-image: var(--icon-info);
	mask-image: var(--icon-info);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	width: var(--px-16);
	cursor: question;
}

.tickets__section__ticket .mobile {
	display: none;
}

/**
 *
 * MARK: VENUES
 *
 */

.venues__item:not(.main, :last-child) {
	margin-block-end: var(--size-md);
}

/**
 *
 * MARK: NEWS
 *
 */

/**
 *
 * MARK: ARTICLE
 *
 */

.news__content > :last-child {
	padding-bottom: 0;
}

/**
 *
 * MARK: CONTACT
 *
 */

/**
 *
 * MARK: 404
 *
 */

/* ---------------------------------

MARK: FILTERS

---------------------------------- */

.comp__filters {
	z-index: 10;
}

.comp__filters__mobile {
	display: none;
}

.search-bar {
	height: var(--px-64);
	background-color: var(--color-accent);
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: var(--color-fg);
	gap: var(--size-sm);
	position: relative;
	transition: var(--t-fonts);
}

.search-bar:is(:hover, :focus-within) {
	background-color: var(--ui-accent-contrast);
}

.search-toggle {
	position: absolute;
	left: var(--size-sm);
	top: 0;
	bottom: 0;
	margin: auto;
	height: var(--px-32);
	width: var(--px-32);
}

.search-toggle::before {
	background-color: currentcolor;
	content: "";
	display: inline-block;
	height: var(--px-32);
	vertical-align: baseline;
	width: var(--px-32);
	-webkit-mask-image: var(--icon-lens);
	mask-image: var(--icon-lens);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
}

.search-input {
	padding-inline-start: calc(var(--px-32) + (var(--size-sm) * 2));
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: var(--color-fg);
	gap: var(--size-sm);
	font-family: var(--f-davinci);
	font-style: normal;
	font-feature-settings: "liga" 1, "kern" 1;
	font-kerning: normal;
	font-variant-ligatures: common-ligatures;
	letter-spacing: var(--ls-n3);
	line-height: var(--lh-lg);
	font-size: var(--f-lg);
	width: 100%;
	height: 100%;
}

.search-input::placeholder {
	color: var(--ui-75);
}

/* .search-input:is(:not(:focus), :focus:placeholder-shown) + .search-toggle {
	pointer-events: none;
} */

.search-input:placeholder-shown + .search-toggle {
	pointer-events: none;
}

/* .search-input:focus:not(:placeholder-shown) + .search-toggle::before {
	-webkit-mask-image: var(--icon-times);
	mask-image: var(--icon-times);
} */

.search-input:not(:placeholder-shown) + .search-toggle::before {
	-webkit-mask-image: var(--icon-times);
	mask-image: var(--icon-times);
}

.search-button {
	height: 100%;
	display: inline-flex;
	align-items: center;
	flex: 1 0 auto;
}

.search-button::before {
	background-color: currentcolor;
	content: "";
	display: inline-block;
	height: var(--px-23);
	vertical-align: baseline;
	width: var(--px-52);
	-webkit-mask-image: var(--icon-right);
	mask-image: var(--icon-right);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	margin-inline: var(--size-sm);
}

.filters-reset {
	margin-left: auto;
}

.comp__filters__results {
	align-self: end;
	justify-self: end;
	height: var(--size-md);
}

:is(
		.comp__filters__searchbar,
		.comp__filters__results,
		.comp__filters__tax
	).disabled {
	display: none;
}

.comp__filters__controls {
	opacity: 1;
	pointer-events: all;
	visibility: visible;
	max-height: var(--size-lg);
	transition: var(--t-fonts);
}

.comp__filters__controls.disabled {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	max-height: 0;
	transition: var(--t-fonts);
	padding-top: 0;
	margin-top: calc(var(--gutter) * -1);
}

.comp__filters__searchbar + .comp__filters__results + .comp__filters__controls {
	justify-content: start;
}

:where(
		.comp__filters__searchbar
			+ .comp__filters__results
			+ .comp__filters__controls
	)
	.filters-reset {
	margin-left: unset;
	align-self: flex-start;
}

.comp__filters__searchbar
	+ .comp__filters__results
	+ .comp__filters__controls
	.filters-submit {
	display: none;
}

.filter-dropdown {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--gutter);
}

:is(.dropdown-trigger, .fullscreen-trigger, .menu-trigger, .menu-back) {
	padding-inline: var(--size-sm);
	background: var(--color-fg);
	cursor: pointer;
	height: var(--px-64);
	color: var(--color-bg);
	display: flex;
	align-items: center;
	gap: var(--gutter);
	font: 400 var(--f-lg) / var(--px-64) var(--f-davinci);
	font-style: normal;
	font-feature-settings: "liga" 1, "kern" 1;
	font-kerning: normal;
	font-variant-ligatures: common-ligatures;
	letter-spacing: var(--ls-n3);
	justify-content: space-between;
	position: relative;
}

:is(.dropdown-trigger, .fullscreen-trigger, .menu-trigger)::after {
	background-color: currentcolor;
	content: "";
	height: var(--px-32);
	width: var(--px-32);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	transition: var(--t-fonts);
}

.hasHover
	:is(.dropdown-trigger, .fullscreen-trigger, .menu-trigger):hover::after {
	color: var(--ui-accent-contrast);
}

:is(.dropdown-trigger, .fullscreen-trigger, .menu-trigger, .menu-back) .label {
	display: -webkit-box;
	line-clamp: 1;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-all;
}

[data-multiselect="true"] .dropdown-trigger::after {
	-webkit-mask-image: var(--icon-plus);
	mask-image: var(--icon-plus);
}

[data-multiselect="true"] .dropdown-trigger[aria-expanded="true"]::after {
	-webkit-mask-image: var(--icon-minus);
	mask-image: var(--icon-minus);
}

[data-multiselect="false"] .dropdown-trigger::after {
	-webkit-mask-image: var(--icon-chevron-down);
	mask-image: var(--icon-chevron-down);
}

[data-multiselect="false"] .dropdown-trigger[aria-expanded="true"]::after {
	rotate: 180deg;
}

.fullscreen-trigger {
	display: none;
}

.fullscreen-trigger::after {
	-webkit-mask-image: var(--icon-filters);
	mask-image: var(--icon-filters);
}

.menu-trigger {
	width: 100%;
	background-color: var(--ui-75);
}

.menu-trigger::after {
	-webkit-mask-image: var(--icon-chevron-right);
	mask-image: var(--icon-chevron-right);
}

.menu-back {
	justify-content: center;
}

.menu-back::before {
	background-color: currentcolor;
	content: "";
	height: var(--px-32);
	width: var(--px-32);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	transition: var(--t-fonts);
	-webkit-mask-image: var(--icon-chevron-left);
	mask-image: var(--icon-chevron-left);
	position: absolute;
	left: var(--size-sm);
}

.menu-back .label {
	text-align: center;
}

.schedule__grid .menu-back {
	display: none;
}

:is(
		.dropdown-trigger,
		.fullscreen-trigger,
		.menu-trigger,
		.menu-back
	):focus-visible {
	box-shadow: var(--focus-primary);
}

.dropdown-menu {
	position: absolute;
	top: calc(var(--px-64) + var(--gutter));
	padding: var(--size-sm);
	left: 0;
	width: 100%;
	max-height: 0;
	overflow-y: auto;
	background: var(--ui-75);
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	transition: var(--t-fonts);
	color: var(--color-bg);
	display: flex;
	flex-direction: column;
	gap: var(--gutter);
	align-items: start;
}

.dropdown-menu.open {
	transition: var(--t-fonts);
	opacity: 1;
	visibility: visible;
	max-height: 50svh;
}

.dropdown-option {
	font: 400 var(--f-md) / var(--lh-xs) var(--f-arial);
	font-style: normal;
	letter-spacing: var(--ls-n3);
	text-transform: uppercase;
}

.dropdown-option label {
	cursor: pointer;
	position: relative;
}

.dropdown-option input[type="radio"] ~ .label {
	padding-left: 0;
	transition: var(--t-fonts);
}

.hasHover .dropdown-option:hover input[type="radio"] ~ .label {
	padding-left: calc(var(--size-xs) + var(--gutter));
}

.dropdown-option:has(input:focus-visible):focus-within {
	box-shadow: var(--focus-primary);
}

.dropdown-option input[type="radio"]:checked ~ .label {
	padding-left: calc(var(--size-xs) + var(--gutter));
}

.dropdown-option input[type="radio"] + .checkmark {
	transition: var(--t-fonts);
	opacity: 0;
	width: var(--size-xs);
	height: var(--size-xs);
	position: absolute;
	left: 0;
	margin: auto;
	top: 0;
	bottom: 0;
}

.dropdown-option input[type="radio"]:checked + .checkmark {
	background-color: var(--color-accent);
	opacity: 1;
}

.dropdown-option input[type="checkbox"] ~ .label {
	padding-left: calc(var(--px-22) + var(--size-2xs));
}

.dropdown-option input[type="checkbox"] + .checkmark {
	transition: var(--t-fonts);
	width: var(--px-16);
	height: var(--px-16);
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	box-shadow: inset 0 0 0 var(--px-1) var(--ui-50);
	margin: var(--px-3);
}

.hasHover .dropdown-option:hover input[type="checkbox"] + .checkmark {
	box-shadow: inset 0 0 0 var(--px-1) var(--color-bg);
	opacity: 1;
}

.dropdown-option input[type="checkbox"]:checked + .checkmark {
	box-shadow: unset;
	background-color: var(--color-accent);
}

.dropdown-option input[type="checkbox"]:checked + .checkmark::after {
	background-color: var(--color-fg);
	content: "";
	display: inline-block;
	height: var(--px-12);
	-webkit-mask-image: var(--icon-check);
	mask-image: var(--icon-check);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	width: var(--px-12);
	position: absolute;
	left: 0;
	top: 0;
	margin: auto;
	bottom: 0;
	right: 0;
}

button[type="button"] .label {
	flex: 1;
}

.fullscreen-menu-wrapper {
	position: absolute;
	top: 0;
	width: 100%;
	background-color: var(--color-fg);
	height: 100%;
	display: flex;
	flex-direction: column;
	z-index: 10;
	left: 0;
	padding: var(--size-2xl) var(--gutter) var(--size-md);
	translate: 100%;
	transition: var(--t-fonts);
	gap: var(--size-sm);
}

.fullscreen-menu-wrapper.open {
	translate: 0;
}

.fullscreen-menu {
	display: flex;
	flex-direction: column;
	gap: var(--size-xs);
	padding-left: var(--size-sm);
}

:is(.comp__topbar, .comp__filters__mobile)
	:is(.comp__filters__results, .comp__filters__searchbar) {
	display: none;
}

/**
 *
 * MARK: SCHEDULE
 *
 */

.schedule__grid {
	width: 100%;
}

:is(.schedule__mobile, .schedule__toolbar__mobile) {
	display: none;
}

.schedule__calendar {
	z-index: 1;
}

.schedule__calendar.slides-contained .nav-group {
	display: none;
}

.schedule__nav {
	margin-left: auto;
}

.schedule-grid {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 7fr;
	column-gap: var(--gutter);
}

.grid-sidebar {
	display: flex;
	flex-direction: column;
	position: relative;
}

.grid-filter .dropdown-trigger {
	padding-inline: var(--size-sm);
	font: 400 var(--f-md) / var(--lh-xs) var(--f-arial);
	text-transform: uppercase;
}

.grid-filter .dropdown-trigger::after {
	height: var(--size-sm);
	width: var(--size-sm);
	-webkit-mask-image: var(--icon-chevron-down);
	mask-image: var(--icon-chevron-down);
}

.grid-filter .dropdown-trigger[aria-expanded="true"]::after {
	rotate: 180deg;
}

.grid-header {
	flex: 0 0 auto;
	height: var(--px-64);
}

.schedule__venue__name {
	display: -webkit-box;
	line-clamp: 1;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-all;
}

/* .grid-header.sticky {
	position: fixed;
	top: calc(var(--header-height) + var(--gutter));
	max-width: var(--column-header-width);
	width: 100%;
	z-index: 10;
} */

/* .grid-header, */
.grid-filter {
	position: sticky;
	z-index: 2;
	top: calc(var(--header-height) + var(--gutter));
}

.grid-timetable {
	padding-block: var(--size-sm);
}

.grid-sidebar .filter-backdrop {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all 300ms var(--ease-out-quint), visibility 0ms 300ms;
	position: fixed;
	top: 0;
	left: 0;
	background: var(--backdrop-modal);
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

.filter-backdrop .loading-spinner {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all 300ms var(--ease-out-quint), visibility 0ms 300ms;
}

.grid-sidebar .grid-timetable {
	display: grid;
	padding-inline: var(--gutter) 0;
	background-color: var(--ui-50);
	font-family: var(--f-arial);
	font-style: normal;
	font-size: var(--f-sm);
	letter-spacing: var(--ls-1);
	line-height: var(--lh-sm);
	color: var(--color-bg);
	gap: var(--px-51);

	/* EXPERIMENTAL: HIGHER CELLS */
	gap: var(--px-99);
}

.grid-body .grid-timetable {
	padding-inline: var(--size-2xs);
	grid-auto-rows: var(--px-12);
	display: grid;
	row-gap: var(--px-1);
	column-gap: var(--size-2xs);
	height: 100%;
	background-image: linear-gradient(
		to bottom,
		var(--color-bg) 0 1px,
		var(--ui-25) 1px 52px
	);
	background-position: 0 var(--px-19);
	background-size: 100% 52px;
	background-repeat: repeat-y;

	/* EXPERIMENTAL: HIGHER CELLS */
	grid-auto-rows: var(--px-24);
	background-image: linear-gradient(
		to bottom,
		var(--color-bg) 0 1px,
		var(--ui-25) 1px 100px
	);
	background-size: 100% 100px;
}

.schedule__hour {
	display: flex;
	align-items: center;
	gap: var(--gutter);
	height: var(--px-1);
}

.schedule__hour:first-child {
	height: 0;
}

.schedule__hour::after {
	content: "";
	width: 100%;
	height: var(--px-1);
	background-color: currentColor;
}

.grid-body {
	--column-number: 5;
	--column-width: 25vw;

	display: grid;
	grid-template-columns: repeat(var(--column-number), var(--column-width));
	column-gap: var(--gutter);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

.grid-column {
	scroll-snap-align: start;
	scroll-snap-stop: always;
	position: relative;
	background-color: var(--ui-25);
	display: flex;
	flex-direction: column;
}

.schedule__event {
	--paragraph-space: 0;
	font-family: var(--f-inter);
	font-style: normal;
	font-size: var(--f-3xs);
	letter-spacing: var(--ls-0);
	line-height: var(--lh-xl);
	padding: var(--size-2xs) var(--px-8);
	border-radius: var(--px-4);
	gap: var(--px-8);
	display: flex;
	justify-content: space-between;
	transition: var(--t-btns);
	overflow: hidden;
}

.schedule__event:has(:focus-visible):focus-within {
	box-shadow: var(--focus-primary);
}

.schedule__title {
	font-weight: 600;
}

:is(.schedule__event, .schedule__modal__card).panel {
	background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0) 80%,
			rgba(0, 0, 0, 0.5) 100%
		),
		var(--ui-75);
	color: var(--color-bg);
}

.hasHover .schedule__event.panel:hover {
	background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0) 80%,
			rgba(0, 0, 0, 0.5) 100%
		),
		var(--color-fg);
}

:is(.schedule__event, .schedule__modal__card).show {
	background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0) 80%,
			rgba(0, 0, 0, 0.1) 100%
		),
		var(--ui-accent-contrast);
	color: var(--color-fg);
}

.hasHover .schedule__event.show:hover {
	background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0) 80%,
			rgba(0, 0, 0, 0.1) 100%
		),
		var(--color-accent);
}

.schedule__time {
	flex: 0 0 auto;
}

.show :is(.schedule__time, .schedule__modal__time, .schedule__modal__heading) {
	color: var(--ui-75);
}

.panel :is(.schedule__time, .schedule__modal__time, .schedule__modal__heading) {
	color: var(--ui-25);
}

.schedule__modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	background-color: var(--backdrop-modal);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all 300ms var(--ease-out-quint), visibility 0ms 300ms;
}
