@charset 'UTF-8';


/* Font faces 
@font-face {
	font-family: 'Pass A38';
	src: url('../fonts/pass_a38.woff2') format('woff2-variations'), url('../fonts/pass_a38.woff2') format('woff2');
	font-weight: 200 700;
	font-style: normal;
	font-display: fallback;
}
*/
@font-face {
	font-family: 'Instrument Sans';
	src: url('../fonts/instrumentsans.woff2') format('woff2-variations'), url('../fonts/instrumentsans.woff2') format('woff2');
	font-weight: 400 700;
	font-style: normal;
	font-display: fallback;
	font-variation-settings: 'wdth' 100;
}
@font-face {
	font-family: 'Instrument Sans';
	src: url('../fonts/instrumentsans-italic.woff2') format('woff2-variations'), url('../fonts/instrumentsans-italic.woff2') format('woff2');
	font-weight: 400 700;
	font-style: italic;
	font-display: fallback;
	font-variation-settings: 'wdth' 100, 'ital' 100;
}

/* Setup */
:root {
	/* Colors */
	--color-header-background: #000000;
	--color-header-text: #eeeeee;
	--color-header-link: #dadada;
	--color-header-icon: #2d292f;

	--color-main-background-highlight1: #fff;
	--color-main-background-highlight2: #fff;
	--color-main-background: #ffffff;
	--color-main-text: #1a171b;
	--color-main-link: #575756;
	--color-main-icon: #aa365e;

	--color-footer-background: #000;
	--color-footer-text: #fff;
	--color-footer-link: #545454;
	--color-footer-icon: #aa365e;

	/* Font */
	--font-family: 'Instrument Sans', sans-serif;
	--font-size: 1rem;
	--font-size-m: 1.2rem;
	--font-size-l: 1.5rem;
	--font-size-xl: 1.8rem;
	--font-size-xxl: 2.1rem;
	--font-size-3xl: 3.5rem;
	--font-size-4xl: 4rem;
	--line-height: 1.45em;

	/* Layout */
	--padding-leftright: 20px;
	--padding-top: 65px;
	--padding-bottom: 95px;
	--header-size: 6em;
	--logo-size: 4.33em;
	--hamburger-size: 2.5em;
	--hamburger-size-shrinked: 2em;
	--navigation-size: 33%;
	--border-radius: 5px;
	--sidemargin: 4.5em;
	--grid-gap: 40px;
}
@media (max-width: 1280px) {
	:root {
		/* Layout */
		--padding-top: 70px;
		--padding-bottom: 90px;
	}
}
@media (max-width: 1024px) {
	:root {
		/* Font */
		--font-size-xxl: 2.1rem;
		--font-size-3xl: 2.6rem;
		--font-size-4xl: 3rem;

		/* Layout */
		--header-size: 5em;
		--logo-size: 3.75em;
		--navigation-size: 50%;
		--grid-gap: 20px;
	}
}
@media (max-width: 768px) {
	:root {
		/* Layout */
		--padding-top: 50px;
		--padding-bottom: 70px;
		--header-size: 4.5em;
		--logo-size: 3.25em;
		--hamburger-size: 1.75em;
		--hamburger-size-shrinked: 1.25em;
		--navigation-size: 85%;
	}
}
@media (max-width: 640px) {
	:root {
		/* Font */
		--font-size-3xl: 2.5rem;
	}
}

/* Fixes */
* {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-touch-callout: none;
}
*, *:before, *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}


/* Optimizations */
@media (min-resolution: 2ddpx) {
	svg {
		shape-rendering: optimizeSpeed;
	}
	img {
		image-rendering: optimizeSpeed;
	}
}


/* Generic elements */
html {
	scroll-behavior: smooth;
	overflow-x: hidden;
	overflow-y: scroll;
	scroll-padding-top: var(--header-size);
}
html, body {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	margin: 0;
	padding: 0;
	min-height: 100%;
	width: 100%;
	max-width: 100%;
	background: var(--color-footer-background);
}
body {
	font-family: var(--font-family);
	font-size: var(--font-size);
	font-weight: 400;
	line-height: var(--line-height);
	color: var(--color-main-text);
	font-feature-settings: "ital" 0;
}
em, i {
	font-feature-settings: "ital" 1;
}
strong, b {
	font-weight: bold;
}


/* Scrollbar */
	* {
		scrollbar-color: var(--color-link) rgba(255,255,255,0);
	}
	::-webkit-scrollbar {
		-webkit-appearance: none;
		width: 8px;
	}
	::-webkit-scrollbar-thumb {
		background: var(--color-main-text);
		border-radius: 0px;
	}
	::-webkit-scrollbar-thumb:hover {
		background: var(--color-main-link);
	}
	::-webkit-scrollbar-track {
		background: var(--color-main-background);
	}


/* Wrapper */
	.outerwrapper {
		margin: 0 auto;
		max-width: 2560px;
		border-bottom: 4px solid var(--color-header-background);
	}
	.innerwrapper {
		margin: 0 auto;
		max-width: 1240px;
		padding: 0 var(--padding-leftright);
		width: 100%;
	}


/* Skipper */
	.jumplink {
		left: -100%;
		position: absolute;
		z-index: 3000;
		background: var(--color-footer-background);
		color: var(--color-footer-text);
		font-weight: bold;
		padding: 6px 18px;
		font-size: 0.875em;
		letter-spacing: 0.015em;
		display: block;
		text-decoration: none;
	}
	.jumplink:focus-visible {
		left: 10px;
		top: 10px;
	}


/* Header */
	.header {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 1000;
		background: rgba(0,0,0,0);
		transition: background 200ms ease;
		max-width: 2560px;
		margin: 0 auto;
	}
		.bar {
			background: var(--color-header-background);
			color: var(--color-header-text);
			height: var(--header-size);
			display: grid;
			grid-template-columns: 1fr 1fr 1fr;
			grid-template-rows: 1fr;
			grid-template-areas: 'left center right';
			align-items: center;
		}
		.bar__menu {
			grid-area: left;
			display: grid;
			padding: calc(var(--padding-leftright) / 2) var(--padding-leftright);
		}
		.bar__menuGrid {
			display: grid;
			grid-template-columns: max-content 1fr;
			grid-template-rows: 1fr;
			grid-column-gap: var(--padding-leftright);
			align-items: center;
		}
		.bar__menuDate {
			font-size: 0.875em;
			font-weight: 500;
			line-height: 1.25em;
			margin: 0;
		}
		.bar__logo {
			grid-area: center;
			text-align: center;
		}
		.bar__logo svg {
			margin: 0 auto;
			height: var(--logo-size);
			width: auto;
		}
		.bar__logo svg path {
			fill: var(--color-header-text);
			transition: fill 200ms ease;
		}
		.bar__logo svg:hover path {
			fill: var(--color-header-link);
		}
		.bar__tools {
			grid-area: right;
			padding: calc(var(--padding-leftright) / 2) var(--padding-leftright);
		}

		/* Hamburger icon */
		.bar__menuButton {
			border: none;
			padding: 0;
			margin: 0;
			overflow: visible;
			background: transparent;
			color: inherit;
			font: inherit;
			line-height: normal;
			-webkit-font-smoothing: inherit;
			-moz-osx-font-smoothing: inherit;
			appearance: none;
			display: flex;
			flex-direction: column;
			justify-content: center;
			position: relative;
			margin-left: auto;
			height: var(--hamburger-size);
			width: var(--hamburger-size);
			cursor: pointer;
		}
		.bar__menuIcon,
		.bar__menuIcon::before,
		.bar__menuIcon::after {
			height: 2px;
			width: var(--hamburger-size-shrinked);
			background: var(--color-header-text);
			border-radius: 1px;
			position: absolute;
			display: block;
			content: "";
			transition: transform 150ms ease-in-out, background 150ms ease, width 200ms ease;
		}
		.bar__menuIcon::before {
			top: calc(-1 * (var(--hamburger-size) / 3));
			width: var(--hamburger-size);
		}
		.bar__menuIcon::after {
			bottom: calc(-1 * (var(--hamburger-size) / 3));
			width: var(--hamburger-size);
		}
		.bar__menuButton:hover .bar__menuIcon {
			width: var(--hamburger-size);
		}
		.bar__menuButton:hover .bar__menuIcon::before,
		.bar__menuButton:hover .bar__menuIcon::after {
			will-change: top;
		}
		.bar__menuButton:hover .bar__menuIcon,
		.bar__menuButton:hover .bar__menuIcon::before,
		.bar__menuButton:hover .bar__menuIcon::after {
			background: var(--color-header-link);
		}
		/* Transformation */
		.bar__menuButton[aria-expanded="true"] .bar__menuIcon {
			background: transparent;
		}
		.bar__menuButton[aria-expanded="true"] .bar__menuIcon::before {
			top: 0;
			transform: rotate(35deg);
		}
		.bar__menuButton[aria-expanded="true"] .bar__menuIcon::after {
			top: 0;
			transform: rotate(-35deg);
		}
		.bar__menuButton[aria-expanded="true"]:hover .bar__menuIcon::before,
		.bar__menuButton[aria-expanded="true"]:hover .bar__menuIcon::after {
			background: var(--color-header-link);
		}
		@media (max-width: 768px) {
			.bar__menuIcon,
			.bar__menuIcon::before,
			.bar__menuIcon::after {
				background: var(--color-header-icon-mobile, var(--color-header-text));
			}
		}


/* Navigation */
	.navigation {
		display: none;
		height: 100%;
		width: var(--navigation-size);
		background: var(--color-header-background);
		overflow-y: auto;
	}
	.navigation::-webkit-scrollbar {
		-webkit-appearance: none;
		width: 6px;
	}
	.navigation::-webkit-scrollbar-thumb {
		background: var(--color-header-link);
		border-radius: 0px;
	}
	.navigation::-webkit-scrollbar-thumb:hover {
		background: var(--color-header-text);
	}
	.navigation::-webkit-scrollbar-track {
		background: var(--color-main-background);
	}
	.navigation__container {
		margin-left: var(--hamburger-size);
		margin-bottom: calc(var(--header-size) * 2);
		padding: 0 var(--padding-leftright);
		color: var(--color-header-text);
	}
	.navigation__date {
		font-size: 0.875em;
	}
	.navigation__list {
		padding: 0;
		margin-top: var(--padding-leftright);
		margin-left: var(--padding-leftright);
		list-style: none;
		border-bottom: 1px solid var(--color-header-text);
		font-size: 1.0625em
	}
	.navigation__list--sub {
		border-bottom: none;
		margin: 0;
		display: none;
	}
	.navigation__item {
		background: var(--color-header-background);
		border-top: 1px solid var(--color-header-text);
		margin: 0;
	}
	.navigation__openmenu {
		display: block;
		position: relative;
		width: 100%;
		text-align: left;
		font-weight: bold;
		font-family: var(--font-family);
		line-height: var(--line-height);
		font-size: 1.0625em;
		text-decoration: none;
		padding: 25px 10px 12px 0;
		color: var(--color-header-text);
		appearance: none;
		border: none;
		background: none;
		cursor: pointer;
	}
	.navigation__openmenu:hover {
		color: var(--color-header-link);
	}
	.navigation__openmenuInner {
		margin-left: 30px;
	}
	.navigation__openmenuIcon {
		position: absolute;
		width: 16px;
		height: 16px;
		margin-top: 0.33em;
		top: 50%;
		transform: translateY(-50%);
		transition: transform 200ms ease;
	}
	.navigation__openmenuIcon path {
		fill: currentColor;
	}
	.navigation__openmenu[aria-expanded="true"] .navigation__openmenuIcon {
		transform: translateY(-50%) rotate(90deg);
	}
	.navigation__openmenu[aria-expanded="true"] + .navigation__list--sub {
		display: block;
	}
	.navigation__link {
		display: block;
		font-weight: bold;
		text-decoration: none;
		padding: 25px 10px 12px 30px;
		color: var(--color-header-text);
	}
	.navigation__link--active {
		font-weight: bold !important;
	}
	.navigation__link--open {
		background: var(--color-header-icon);
	}
	.navigation__link:hover {
		color: var(--color-header-link);
	}
	.navigation__link:focus-visible,
	.navigation__link:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.navigation__list--sub .navigation__link {
		font-weight: 400;
		padding: 12px 0px 12px 30px;
		transition: font-weight 200ms ease;
	}
	.navigation__list--sub .navigation__link:hover {
		font-weight: 700;
	}
	html[data-hamburger] .header {
		height: 150vh;
		padding-bottom: 50vh;
		bottom: 0;
		background: rgba(0,0,0,0.66);
	}
	html[data-hamburger] .navigation {
		display: block;
		animation: slidein 200ms ease;
		animation-fill-mode: forwards;
	}
	@media (max-width: 768px) {
		.navigation__container,
		.navigation__list {
			margin-left: 0;
		}
	}


/* Tools */
	.tools__list {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		justify-content: flex-end;
		column-gap: 0.5em;
	}
	.tools__item {
		border-radius: 50%;
		background: var(--color-header-icon);
		height: 2.125em;
		width: 2.125em;
		text-align: center;
		transition: background 300ms ease;
	}
	.tools__item:focus-visible,
	.tools__item:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.tools__item:hover {
		background: var(--color-header-link);
	}
	.tools__item--transparent {
		background: rgba(255,255,255,0);
	}
	.tools__link {
		text-decoration: none;
	}
	.tools__icon {
		margin-left: auto;
		width: 100%;
		height: 100%;
		padding: 0.5em;
	}
	.tools__icon path {
		fill: var(--color-header-text);
		transition: fill 300ms ease;
	}
	.tools__item:hover {
		background: var(--color-header-text);
	}
	.tools__item:hover .tools__icon path {
		fill: var(--color-header-background);
	}
	/*@media (max-width: 768px) {
		.tools__icon path {
			fill: var(--color-header-icon-mobile, var(--color-header-text));
		}
	}*/


/* Main */
	.main {
		padding-top: var(--header-size);
		background: var(--color-main-background);
		padding-bottom: 100px;
	}
	.content p {
		hyphens: auto;
		hyphenate-limit-chars: 9 3 3;
	}
	.content a {
		color: var(--text-color, var(--color-main-link));
		text-decoration: underline;
		text-decoration-color: rgba(0,0,0,0.15);
		transition: color 150ms ease, text-decoration-color 200ms ease;
	}
	.content a:hover {
		color: var(--color-main-text);
		text-decoration-color: rgba(0,0,0,0);
	}
	.headline__h1 {
		font-size: var(--font-size-3xl);
		font-weight: bold;
		line-height: 1.15em;
	}
	.headline__h2 {
		font-size: var(--font-size-xxl);
		font-weight: 700;
		line-height: 1.15em;
		margin-left: calc(var(--padding-leftright) * -1);
		margin-right: calc(var(--padding-leftright) * -1);
		padding: 15px var(--padding-leftright);
		/*border-bottom: 1px solid rgba(0,0,0,0.15);*/
		margin-bottom: var(--grid-gap);
	}
	.headline__h2:first-child {
		margin-top: 10px;
	}
	.headline__h3 {
		font-size: var(--font-size-xl);
		font-weight: 500;
		line-height: 1.15em;
		margin-left: calc(var(--padding-leftright) * -1);
		margin-right: calc(var(--padding-leftright) * -1);
		padding: 15px var(--padding-leftright);
		border-bottom: 1px solid rgba(0,0,0,0.15);
		margin-bottom: var(--grid-gap);
	}
	.headline__h4 {
		font-size: var(--font-size-l);
		font-weight: bold;
		line-height: 1.15em;
	}

	@media (max-width: 768px) {
		.headline__h1, .headline__h2, .headline__h3, .headline__h4 { 
			hyphens: auto;
			hyphenate-limit-chars: 9 3 3;
		}
	}

/* Grid */
	.layout {
		padding-top: var(--padding-top);
		padding-bottom: var(--padding-bottom);
	}
	.layout__grid {
		display: grid;
		grid-template-columns: repeat(12, 1fr);
		grid-gap: var(--grid-gap);
		margin: 0 auto;
		width: 100%;
	}
	.layout__gridColumn {
		display: block;
		grid-column: span var(--span);
		margin-bottom: var(--gap);
	}
	@media (max-width: 768px) {
		.layout__gridColumn {
			grid-column: span 12;
		}
		.layout__gridColumn--empty {
			display: none;
		}
	}

/* Blocktext */
	.blocktext--large {
		font-size: var(--font-size-m);
		line-height: var(--line-height);
	}
	.blocktext ul {
		list-style: none;
		margin-bottom: 1em;
	}
	.blocktext ul li:before {
		display: inline-block;
		content: "\2013";
		width: 1em;
		margin-left: -1em;
		vertical-align: top;
		opacity: .33;
	}

/* Blockvideo */
	.blockvideo {
		margin: 1em 0;
	}
	.blockvideo iframe {
		width: 100%;
		aspect-ratio: 16 / 9;
		border: none;
		border-radius: var(--border-radius);
		overflow: none;
	}

/* Blockimage */
	.blockimage {
		margin: 1em 0;
	}
	.blockimage__link {
		display: block;
		margin: 0;
		border: none;
		text-decoration: none;
		position: relative;
		overflow: hidden;
		background: var(--color-header-background);
		border-radius: var(--border-radius);
	}
	.blockimage__link:focus-visible,
	.blockimage__link:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.blockimage__src {
		border-radius: var(--border-radius);
		display: block;
		width: 100%;
		height: auto;
		transition: transform 300ms ease;
	}
	.blockimage__link:hover .blockimage__src {
		transform: scale(1.05);
	}


/* Blockspacer */
	.blockspacer {
		display: block;
		height: calc(var(--line-height) * var(--height, 1));
	}


/* Blocknavigation */
	.blocknavigation {
		margin: 40px 0 40px 0;
		hyphens: auto;
		hyphenate-limit-chars: 12 5 5;
	}
	.blocknavigation__list {
		list-style: none;
		text-align: left;
		padding: 0;
	}
	.blocknavigation__item {
		font-size: var(--font-size-3xl);
		letter-spacing: -0.0075em;
		line-height: 1.15em;
	}
	.blocknavigation__item + .blocknavigation__item {
		margin-top: 20px;
	}
	.blocknavigation__link {
		text-decoration: none !important;
		font-weight: 500;
		transition: font-weight 200ms ease, color 150ms ease, text-decoration-color 200ms ease !important;
	}
	.blocknavigation__link:hover {
		font-weight: 700;
	}


/* Blockpeople */
	.blockpeople {
		display: grid;
		grid-template-rows: auto;
		grid-gap: var(--grid-gap);
		grid-row-gap: 40px;
		margin: 40px 0 20px 0;
	}
	.blockpeople--3columns {
		grid-template-columns: repeat(3, 1fr);
	}
	.blockpeople--3columns__large {
		grid-template-columns: repeat(4, 1fr);
	}
	.blockpeople--2columns {
		grid-template-columns: repeat(2, 1fr);
	}
	.blockpeople--1column {
		grid-template-columns: 1fr;
	}
	.blockpeople__personName {
		font-size: var(--font-size-l);
		font-weight: bold;
		line-height: 1.1em;
		margin: 10px 0 0 0;
	}
	.blockpeople__personBiography {
		margin: 3px 0 12px 0;
	}
	.blockpeople__personPortrait {
		width: 100%;
		height: auto;
		border-radius: var(--border-radius);
		filter: grayscale(100%);
		transition: filter 300ms ease;
	}
	.blockpeople__personPortrait:hover {
		filter: grayscale(0%);
	}
	@media (max-width: 1024px) {
		.blockpeople--3columns,
		.blockpeople--3columns__large {
			grid-template-columns: repeat(2, 1fr);
		}
		.blockpeople__personPortrait {
			width: 100%;
		}
	}
	@media (max-width: 560px) {
		.blockpeople--3columns,
		.blockpeople--3columns__large,
		.blockpeople--2column {
			grid-template-columns: 1fr;
		}
	}


/* Blockbuttons */
	.blockbuttons__list {
		display: flex;
		margin: 10px 0;
		padding: 0;
		row-gap: 12px;
		column-gap: 9px;
		flex-wrap: wrap;
		list-style: none;
	}


/* Blocklogos */
	.blocklogos {
		display: grid;
		grid-template-rows: auto;
		grid-gap: var(--grid-gap);
		margin: 20px 0 40px 0;
	}
	.blocklogos--3columns {
		grid-template-columns: repeat(4, 1fr);
	}
	.blocklogos--3columns__large {
		grid-template-columns: repeat(3, 1fr);
	}
	.blocklogos--2columns {
		grid-template-columns: repeat(3, 1fr);
	}
	.blocklogos--2columns__large {
		grid-template-columns: repeat(2, 1fr);
	}
	.blocklogos--1column,
	.blocklogos--1column__large {
		grid-template-columns: 1fr;
	}
	.blocklogos__logo {
		aspect-ratio: 21 / 9;
		overflow: hidden;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		padding: 7% 15%;
		border-radius: var(--border-radius);
		transition: border-color 150ms ease;
		background: var(--color-main-background);
	}
	.blocklogos__logoLink {
		display: flex;
		justify-content: center;
		align-items: center; 
		width: 100%; 
		height: 100%; 
		text-decoration: none;
		transform: scale(1);
		transition: transform 175ms ease !important;
	}
	.blocklogos__logoLink:hover {
		transform: scale(1.05);
	}
	.blocklogos__logoImg {
		max-width: 100%;
		max-height: 100%;
		object-fit: contain; 
		display: block; 
		filter: grayscale(1);
	}
	@media (max-width: 1024px) {
		.blocklogos--3columns__large {
			grid-template-columns: repeat(2, 1fr);
		}
		.blocklogos--3columns {
			grid-template-columns: repeat(3, 1fr);
		}
	}
	@media (max-width: 640px) {
		.blocklogos--3columns,
		.blocklogos--2columns,
		.blocklogos--1column {
			grid-template-columns: repeat(2, 1fr);
		}
		.blocklogos--3columns__large,
		.blocklogos--2columns__large, 
		.blocklogos--1column__large {
			grid-template-columns: repeat(1, 1fr);
		}
	}


/* Hero */
	.hero {
		max-height: calc(100vh - var(--header-size));
		width: 100%;
		background: var(--color-header-background);
		background-size: cover;
		display: grid;
		position: relative;
		hyphens: auto;
		hyphenate-limit-chars: 12 5 5;
	}
	.hero--widescreen {
		aspect-ratio: 16 / 9;
	}
	.hero--cinemascope {
		aspect-ratio: 21 / 9;
	}
	.hero--shadow::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.33) 40%, rgba(0, 0, 0, 0) 100%);
		z-index: 1;
	}
	.hero__inner {
		padding-top: var(--header-size);
		padding-bottom: var(--header-size);
		color: white;
		z-index: 5;
	}
	.hero__inner--vtop {
		margin-top: 0;
		margin-bottom: auto;
	}
	.hero__inner--vcenter {
		margin-top: auto;
		margin-bottom: auto;
	}
	.hero__inner--vbottom {
		margin-top: auto;
		margin-bottom: 0;
	}
	.hero__inner--hleft {
		text-align: left;
	}
	.hero__inner--hcenter {
		text-align: center;
	}
	.hero__inner--hright {
		text-align: right;
	}
	.hero__content {
		font-size: var(--font-size-4xl);
		line-height: 1.15em;
		letter-spacing: -0.005em;
		margin: 0;
		color: var(--text-color, '#ffffff');
	}
	.hero__contentLink {
		color: var(--text-color, '#ffffff') !important;
		text-decoration: none;
	}
	.hero__headline {
		margin: 0;
	}
	@media (max-width: 1024px) {
		.hero {
			aspect-ratio: unset;
			height: calc(100vh - var(--header-size) - var(--header-size));
			max-height: 800px;
		}
	}


/* Timetable */
	.timetable {
		padding-top: var(--padding-top);
		padding-bottom: var(--padding-bottom);
	}
	.timetable__grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-gap: var(--grid-gap);
		margin-bottom: 40px;
	}
	.timetable__field {
		background: var(--color-header);
	}
	.timetable__label {
		font-weight: 700;
	}
	.timetable__dropdown {
		user-select: none;
		font-family: var(--font-family);
		font-size: var(--font-size);
		font-weight: 500;
		background: var(--color-main-background-highlight2);
		color: var(--color-main-text);
		display: block;
		margin-top: .25em;
		width: 100%;
		padding: 10px 16px;
		border: none;
		border-radius: var(--border-radius);
	}
	.timetable__dropdown:focus-visible,
	.timetable__dropdown:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.timetable__dropdownBold {
		font-weight: bold;
	}
	.timetable__day {
		animation: fadein 200ms ease-in forwards;
	}
	.timetable__day[aria-hidden=true] {
		display: none;
	}
	.timetable__dayHeadline {
		margin-bottom: 0;
	}
	.timetable__screening[aria-hidden=true] {
		display: none;
	}
	.timetable__list {
		list-style: none;
		padding: 0;
		margin-bottom: var(--grid-gap);
		margin-left: calc(var(--padding-leftright) * -1);
		margin-right: calc(var(--padding-leftright) * -1);
		margin-bottom: 0;
	}
	.timetable__screening {
		margin: 0;
		padding: 15px var(--padding-leftright) calc(15px - (var(--font-size-m) - var(--font-size)));
		display: inline-flex;
		align-items: center;
		justify-content: start;
		width: 100%;
		gap: 10px;
		line-height: 1.4em;
	}
	.timetable__screening[aria-hidden="false"] ~ .timetable__screening[aria-hidden="false"] {
		border-top: 1px solid var(--color-header-background);
	}
	.timetable__screening .button {
		margin: -5px 0;
	}
	.timetable__screeningTicket {
		color: var(--color-main-icon);
		font-weight: bold;
		transition: color 150ms ease;
		text-decoration: none;
	}
	.timetable__screeningTicket:hover {
		color: var(--color-main-text);
	}
	.timetable__screeningFacts {
		padding-bottom: calc(var(--font-size-m) - var(--font-size));
	}
	.timetable__screeningLink {
		color: var(--color-main-icon);
		text-decoration: none;
	}
	.timetable__screeningLink:hover {
		color: var(--color-main-text);
	}
	.timetable__screeningTitle {
		font-size: var(--font-size-m);
		font-weight: bold;
		line-height: 1em;
	}
	@media (max-width: 640px) {
		.timetable__grid {
			grid-template-columns: 1fr;
		}
	}


/* Filmgrid */
	.films {
		padding-top: var(--padding-top);
		padding-bottom: var(--padding-bottom);
		background: var(--color-main-background-highlight2);
	}
	.films__sections {
		display: flex;
		column-gap: 8px;
		row-gap: 10px;
		flex-wrap: wrap;
		margin: 10px 0 40px 0;
	}
	.films__section {
		display: inline-block;
		user-select: none;
		font-family: var(--font-family);
		font-size: var(--font-size);
		font-weight: 550;
		line-height: 100%;
		padding: 12px 20px 14px 20px;
		cursor: pointer;
		text-decoration: none;
		border: none;
		border-radius: 100px;
		background: var(--color-main-background);
		color: var(--text-color, var(--color-main-link));
		transition: background 250ms ease, color 250ms ease, font-weight 250ms ease, font-variation-settings 250ms ease, border 250ms ease;
	}
	.films__section:focus-visible,
	.films__section:active {
		outline: 2px solid rgba(0,0,0,.05);
	}
	.films__section:hover {
		color: var(--color-main-text);
	}
	.films__section--open {
		background: var(--color-main-icon);
		color: var(--color-main-background);
	}
	.films__section--open:hover,
	.films__section--open:focus {
		background: var(--color-main-text);
		color: var(--color-main-background);
	}
	p + .filmgrid {
		margin-top: var(--grid-gap);
	}
	.filmgrid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: auto;
		grid-column-gap: var(--grid-gap);
		grid-row-gap: var(--grid-gap);
	}
	.filmgrid__film {
		animation: fadein 200ms ease-in forwards;
	}
	.filmgrid__cover,
	.filmgrid__coverLink {
		display: block;
		margin: 0;
		border: none;
		text-decoration: none;
		position: relative;
		overflow: hidden;
		border-radius: var(--border-radius);
	}
	.filmgrid__coverLink:focus-visible,
	.filmgrid__coverLink:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.filmgrid__coverImg {
		display: block;
		width: 100%;
		height: auto;
		transition: transform 300ms ease;
	}
	.filmgrid__coverLink:hover .filmgrid__coverImg {
		transform: scale(1.05);
	}
	.filmgrid__title {
		font-size: var(--font-size-l);
		line-height: 1.1em;
		margin: 12px 0 0 0;
	}
	.filmgrid__title a {
		font-weight: 500;
		letter-spacing: -0.0075em;
		color: var(--color-main-icon);
		transition: color 150ms ease;
		text-decoration: none;
	}
	.filmgrid__title a:hover,
	.filmgrid__coverLink:hover + .filmgrid__title a {
		color: var(--color-main-text);
	}
	.filmgrid__subline {
		margin: 3px 0 10px 0;
	}
	@media (max-width: 1024px) {
		.filmgrid {
			grid-template-columns: repeat(2, 1fr);
		}
	}
	@media (max-width: 768px) {
		.filmgrid {
			grid-template-columns: repeat(1, 1fr);
			grid-row-gap: calc(var(--grid-gap) * 2);
		}
	}
	@media (max-width: 768px) {
		.films__section {
			padding: 10px 16px 12px 16px;
		}
	}


/* Eventgrid */
	.events {
		padding-top: var(--padding-top);
		padding-bottom: var(--padding-bottom);
		background: var(--color-main-background-highlight2);
	}
	.events__days {
		display: flex;
		column-gap: 8px;
		row-gap: 10px;
		flex-wrap: wrap;
		margin: 10px 0 40px 0;
	}
	.events__day {
		display: inline-block;
		user-select: none;
		font-family: var(--font-family);
		font-size: var(--font-size);
		font-weight: 550;
		line-height: 100%;
		padding: 12px 20px 14px 20px;
		cursor: pointer;
		text-decoration: none;
		border: none;
		border-radius: 100px;
		background: var(--color-main-background);
		color: var(--text-color, var(--color-main-link));
		transition: background 250ms ease, color 250ms ease, font-weight 250ms ease, font-variation-settings 250ms ease, border 250ms ease;
	}
	.events__day:focus-visible,
	.events__day:active {
		outline: 2px solid rgba(0,0,0,.05);
	}
	.events__day:hover {
		color: var(--color-main-text);
	}
	.events__day--open {
		background: var(--color-main-icon);
		color: var(--color-main-background);
	}
	.events__day--open:hover,
	.events__day--open:focus {
		background: var(--color-main-text);
		color: var(--color-main-background);
	}
	p + .eventsgrid {
		margin-top: var(--grid-gap);
	}
	.eventgrid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: auto;
		grid-column-gap: var(--grid-gap);
		grid-row-gap: var(--grid-gap);
	}
	.eventgrid__event {
		animation: fadein 200ms ease-in forwards;
	}
	.eventgrid__coverLink {
		display: block;
		margin: 0;
		border: none;
		text-decoration: none;
		position: relative;
		overflow: hidden;
		border-radius: var(--border-radius);
	}
	.eventgrid__coverLink:focus-visible,
	.eventgrid__coverLink:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.eventgrid__coverImg {
		display: block;
		width: 100%;
		height: auto;
		transition: transform 300ms ease;
	}
	.eventgrid__coverLink:hover .eventgrid__coverImg {
		transform: scale(1.05);
	}
	.eventgrid__title {
		font-size: var(--font-size-l);
		line-height: 1.1em;
		margin: 12px 0 0 0;
	}
	.eventgrid__title a {
		font-weight: 500;
		letter-spacing: -0.0075em;
		color: var(--color-main-icon);
		transition: color 150ms ease;
		text-decoration: none;
	}
	.eventgrid__title a:hover,
	.eventgrid__coverLink:hover + .eventgrid__title a {
		color: var(--color-main-text);
	}
	.eventgrid__subline {
		margin: 3px 0 10px 0;
	}
	@media (max-width: 1024px) {
		.eventgrid {
			grid-template-columns: repeat(2, 1fr);
		}
	}
	@media (max-width: 768px) {
		.eventgrid {
			grid-template-columns: repeat(1, 1fr);
			grid-row-gap: calc(var(--grid-gap) * 2);
		}
	}
	@media (max-width: 768px) {
		.events__day {
			padding: 10px 16px 12px 16px;
		}
	}


/* Festivals */
	.festivals {
		padding-top: var(--padding-top);
		padding-bottom: var(--padding-bottom);
		background: var(--color-main-background-highlight1);
	}
	.festivals__grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: auto;
		grid-column-gap: var(--grid-gap);
		grid-row-gap: var(--grid-gap);
		margin-bottom: var(--grid-gap);
	}
	.festivals__gridItem {
		display: grid;
		aspect-ratio: 16 / 9;
		border-radius: var(--border-radius);
		overflow: hidden;
		padding: var(--grid-gap);
		position: relative;
		text-decoration: none;
		background: var(--color-header-background);
		background-size: 100%;
		background-position: center;
		transition: background-size 300ms ease;
	}
	.festivals__gridItem:focus-visible,
	.festivals__gridItem:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.festivals__gridItem:hover {
		background-size: 105%;
	}
	.festivals__gridItem::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.33));
		z-index: 1;
	}
	.festivals__gridInner {
		margin-top: auto;
		margin-bottom: 0;
		z-index: 5;
		color: white;
	}
	.festivals__gridTitle {
		margin: 0 0 10px 0;
		font-size: var(--font-size-xl);
		font-weight: bold;
		letter-spacing: -0.0075em;
		line-height: 1.15em;
		color: white;
		transition: color 150ms ease;
	}
	.galleriesgrid__gallery:hover .festivals__gridTitle {
		color: var(--color-header-background);
	}
	.festivals__gridSubline {
		margin: 0;
		font-size: var(--font-size);
	}
	.galleries__button {
		margin-top: 40px;
	}
	@media (max-width: 768px) {
		.galleries__grid {
			grid-template-columns: 1fr;
			grid-row-gap: calc(var(--grid-gap) * 2);
		}
	}


/* Gallery */
	.gallery {
		padding-top: var(--padding-top);
		padding-bottom: var(--padding-bottom);
	}
	.gallery__headline {
		margin-top: 10px;
	}
	.gallery__photos {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: auto;
		grid-gap: var(--grid-gap);
	}
	p + .gallery__photos {
		margin-top: 40px;
	}
	@media (max-width: 1024px) {
		.gallery__photos {
			grid-template-columns: repeat(2, 1fr);
		}
	}
	@media (max-width: 768px) {
		.gallery__photos {
			grid-template-columns: repeat(1, 1fr);
		}
	}


/* Film database */
	.filmdb {
		padding-top: var(--padding-top);
		padding-bottom: var(--padding-bottom);
		background: var(--color-main-background-highlight1);
	}
	.filmdb__filmAward {
		display: inline-block;
		height: .825em;
		width: auto;
		opacity: 0.825;
	}
	.filmdb__filmLink {
		font-weight: bold;
		color: var(--text-color, var(--color-main-link));
		text-decoration: underline;
		text-decoration-color: rgba(0,0,0,0.15);
		transition: color 150ms ease, text-decoration-color 200ms ease;
	}
	.filmdb__filmLink:hover {
		color: var(--color-main-text);
		text-decoration-color: rgba(0,0,0,0);
	}
	.filmdb__filmEdition {
		display: inline-block;
		padding: 4px 7px;
		font-size: 0.8125em;
		line-height: 1em;
		font-weight: 600;
		margin-right: 0.5em;
		letter-spacing: 0.015em;
		border-radius: var(--border-radius);
		text-decoration: none;
    }
	.filmdb__filmMeta {
		font-size: .825em;
		line-height: var(--line-height);
		opacity: 0.825;
	}
	.filmdb__grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-gap: var(--grid-gap);
		margin-bottom: 40px;
	}
	.filmdb__grid--2columns {
		grid-template-columns: repeat(2, 1fr);
	}
	.filmdb__field {
		background: var(--color-header);
	}
	.filmdb__label {
		font-weight: 700;
	}
	.filmdb__input {
		font-family: var(--font-family);
		font-size: var(--font-size);
		font-weight: 500;
		background: var(--color-main-background);
		color: var(--color-main-text);
		display: block;
		margin-top: .25em;
		width: 100%;
		padding: 10px 16px;
		border: none;
		border-radius: var(--border-radius);
	}
	.filmdb__input:focus-visible,
	.filmdb__input:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.filmdb__dropdownBold {
		font-weight: bold;
	}
	.filmdb__input--dropdown {
		user-select: none;
	}
	@media (max-width: 640px) {
		.filmdb__grid {
			grid-template-columns: 1fr;
		}
	}


/* Galleries */
	.galleries {
		padding-top: var(--padding-top);
		padding-bottom: var(--padding-bottom);
		background: var(--color-main-background-highlight1);
	}
	.galleries__grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto;
		grid-column-gap: var(--grid-gap);
		grid-row-gap: var(--grid-gap);
		margin-bottom: var(--grid-gap);
	}
	.galleriesgrid__gallery {
		display: grid;
		aspect-ratio: 3 / 2;
		border-radius: var(--border-radius);
		overflow: hidden;
		padding: var(--grid-gap);
		position: relative;
		text-decoration: none;
		background: var(--color-header-background);
		background-size: 100%;
		background-position: center;
		transition: background-size 300ms ease;
	}
	.galleriesgrid__gallery:focus-visible,
	.galleriesgrid__gallery:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.galleriesgrid__gallery:hover {
		background-size: 105%;
	}
	.galleriesgrid__gallery::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.33));
		z-index: 1;
	}
	.galleriesgrid__inner {
		margin-top: auto;
		margin-bottom: 0;
		z-index: 5;
		color: white;
	}
	.galleriesgrid__title {
		margin: 0 0 10px 0;
		font-size: var(--font-size-xl);
		font-weight: bold;
		letter-spacing: -0.0075em;
		line-height: 1.15em;
		color: white;
		transition: color 150ms ease;
	}
	.galleriesgrid__gallery:hover .galleriesgrid__title {
		color: var(--color-header-background);
	}
	.galleriesgrid__subline {
		margin: 0;
		font-size: var(--font-size);
	}
	.galleries__button {
		margin-top: 40px;
	}
	@media (max-width: 768px) {
		.galleries__grid {
			grid-template-columns: 1fr;
			grid-row-gap: calc(var(--grid-gap) * 2);
		}
	}


/* pressreleases */
	.pressreleases {
		padding-top: var(--padding-top);
		padding-bottom: var(--padding-bottom);
		background: var(--color-main-background-highlight1);
	}
	.pressreleases__grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto;
		grid-column-gap: var(--grid-gap);
		grid-row-gap: var(--grid-gap);
		margin-bottom: var(--grid-gap);
	}
	.pressreleases__coverLink {
		display: block;
		margin: 0;
		border: none;
		text-decoration: none;
		position: relative;
		overflow: hidden;
		border-radius: var(--border-radius);
	}
	.pressreleases__coverLink:focus-visible,
	.pressreleases__coverLink:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.pressreleases__coverImg {
		display: block;
		width: 100%;
		height: auto;
		transition: transform 300ms ease;
	}
	.pressreleases__coverLink:hover .pressreleases__coverImg {
		transform: scale(1.05);
	}
	.pressreleases__festival {
		display: inline-block;
		padding: 4px 7px;
		font-size: 0.8125em;
		line-height: 1em;
		font-weight: 600;
		margin-right: 0.5em;
		letter-spacing: 0.015em;
		border-radius: var(--border-radius);
		text-decoration: none;
	}
	.pressreleases__date {
		display: inline-block;
		margin: 5px 0 10px 0;
	}
	.pressreleases__title {
		font-size: var(--font-size-xl);
		line-height: 1.1em;
		margin: 12px 0 0 0;
	}
	.pressreleases__title a {
		font-weight: 500;
		letter-spacing: -0.0075em;
		color: var(--color-main-icon);
		transition: color 150ms ease;
		text-decoration: none;
	}
	.pressreleases__title a:hover,
	.pressreleases__coverLink:hover + .pressreleases__title a {
		color: var(--color-main-text);
	}
	.pressreleases__buttons {
		display: flex;
		gap: 40px;
		flex-direction: row;
	}
	.pressreleases__button {
		margin-top: 40px;
	}
	.pressreleases__button--next .button__link {
		flex-direction: row-reverse;
	}
	@media (max-width: 768px) {
		.pressreleases__grid {
			grid-template-columns: repeat(1, 1fr);
			grid-row-gap: calc(var(--grid-gap) * 2);
		}
	}


/* Articles */
	.articles {
		padding-top: var(--padding-top);
		padding-bottom: var(--padding-bottom);
		background: var(--color-main-background-highlight2);
	}
	.articles__article--large {
		grid-column: span 2;
	}
	.articles__grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: auto;
		grid-column-gap: var(--grid-gap);
		grid-row-gap: var(--grid-gap);
	}
	.articles__coverLink {
		display: block;
		margin: 0;
		border: none;
		text-decoration: none;
		position: relative;
		overflow: hidden;
		border-radius: var(--border-radius);
	}
	.articles__coverLink:focus-visible,
	.articles__coverLink:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.articles__coverImg {
		display: block;
		width: 100%;
		height: auto;
		transition: transform 300ms ease;
	}
	.articles__coverLink:hover .articles__coverImg {
		transform: scale(1.05);
	}
	.articles__festival {
		display: inline-block;
		padding: 4px 7px;
		font-size: 0.8125em;
		line-height: 1em;
		font-weight: 600;
		margin-right: 0.5em;
		letter-spacing: 0.015em;
		border-radius: var(--border-radius);
		text-decoration: none;
	}
	.articles__date {
		display: inline-block;
		margin: 5px 0;
	}
	.articles__title {
		font-size: var(--font-size-xl);
		line-height: 1.1em;
		margin: 12px 0 0 0;
	}
	.articles__title a {
		font-weight: 500;
		letter-spacing: -0.0075em;
		color: var(--color-main-icon);
		transition: color 150ms ease;
		text-decoration: none;
	}
	.articles__title a:hover,
	.articles__coverLink:hover + .articles__title a {
		color: var(--color-main-text);
	}
	.articles__buttons {
		display: flex;
		gap: 40px;
		flex-direction: row;
	}
	.articles__button {
		margin-top: 40px;
	}
	.articles__button--next .button__link {
		flex-direction: row-reverse;
	}
	@media (max-width: 1024px) {
		.articles__grid {
			grid-template-columns: repeat(2, 1fr);
		}
		.articles__article--large {
			grid-column: span 1;
		}
	}
	@media (max-width: 768px) {
		.articles__grid {
			grid-template-columns: repeat(1, 1fr);
			grid-row-gap: calc(var(--grid-gap) * 2);
		}
	}


/* Button */
	.button {
		display: flex;
	}
	.button--iconWithText + .button--iconWithText {
		margin-top: 15px;
	}
	.button--icononly {
		display: inline-block;
		margin-right: 8px;
	}
	.button__link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: none;
		gap: 10px;
		text-decoration: none !important;
	}
	.button__icon {
		border-radius: 50%;
		background: var(--color-main-icon);
		height: 2rem;
		width: 2rem;
		text-align: center;
		transition: background 150ms ease;
		flex-shrink: 0;
	}
	.button__icon:focus-visible,
	.button__icon:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.button__link:hover .button__icon {
		background: var(--color-main-text);
	}
	.button__icon svg {
		margin: auto;
		width: 100%;
		height: 100%;
		padding: 0.4em;
	}
	.button__icon svg path {
		fill: white;
		transition: fill 300ms ease;
	}
	.button__text {
		font-weight: bold;
		color: var(--color-main-icon);
		transition: color 150ms ease;
		line-height: 1.25em;
	}
	.button__link:hover .button__text {
		color: var(--color-main-text);
	}

/* Textbutton */
	.textbutton,
	.form__button {
		display: inline-block;
		font-family: var(--font-family);
		font-size: var(--font-size);
		font-weight: bold;
		line-height: 100%;
		padding: 12px 20px 14px 20px;
		cursor: pointer;
		text-decoration: none !important;
		border: none;
		border-radius: 100px;
		background: var(--color-main-icon);
		color: var(--color-main-background) !important;
		transition: background 250ms ease, color 250ms ease !important;
	}
	.textbutton:hover,
	.form__button:hover {
		background: var(--color-main-text);
		color: var(--color-main-background);
	}
	.textbutton:focus-visible,
	.textbutton:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	@media (max-width: 768px) {
		.textbutton,
		.form__button  {
			padding: 10px 16px 12px 16px;
		}
	}


/* Footer */
	.footer {
		color: var(--color-footer-text);
		background: var(--color-footer-background);
		padding: 20px 20px;
		border-top: 1px solid var(--color-header-background);
	}
	.footer__grid {
		display: grid;
		grid-template-columns: max-content auto auto max-content;
		grid-template-rows: auto;
		grid-template-areas: 'logo tickets navigation partners';
		grid-gap: 20px;
		align-items: center;
		max-width: 100%;
	}
	.footer__tickets {
		grid-area: tickets;
		text-align: right;
	}
	.footer__ticketsImg {
		height: var(--header-size);
		width: auto;
	}
	.footer__logo {
		grid-area: logo;
	}
	.footer__logoLink {
		text-decoration: none;
	}
	.footer__logoSvg {
		height: var(--logo-size);
		width: auto;
		max-width: 100%;
	}
	.footer__logoSvg path {
		fill: var(--color-footer-text);
	}
	.footer__navigation {
		grid-area: navigation;
	}
	.footer__navigationList {
		list-style: none;
		margin: 0 0 5px 0;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
		column-gap: 1em;
		row-gap: 5px;
	}
	.footer__navigationLink {
		text-decoration: none;
		font-size: 1.0625em;
		font-weight: bold;
		color: var(--color-footer-text);
	}
	.footer__navigationLink:hover {
		text-decoration: none;
		font-size: 1.0625em;
		color: var(--color-footer-link);
	}
	.footer__copyright {
		font-size: 0.875em;
		line-height: 1.25em;
	}
	.footer__partners {
		grid-area: partners;
		display: grid;
		justify-items: end;
		grid-gap: 20px;
		max-width: 400px;
	}
	.footer__member {
		display: grid;
		grid-template-columns: max-content max-content max-content;
		grid-template-rows: auto;
		grid-template-areas: 'label logo1 logo2';
		grid-gap: 15px;
		align-items: center;
		font-size: 0.825rem;
		font-weight: 500;
	}
	.footer__memberLogo1, .footer__memberLogo2 {
		width: 90px;
	}
	.footer__memberLogoSrc {
		display: block;
		width: 100%;
		height: auto;
	}
	.footer__memberLogoSrc path {
		fill: var(--color-footer-text);
	}
	.footer__tools .tools__icon path {
		fill: var(--color-main-background);
	}
	.footer__tools .tools__item {
		background: var(--color-footer-icon);
	}
	.footer__tools .tools__item:hover {
		background: var(--color-footer-link);
	}
	.footer__tools .tools__item:hover .tools__icon path {
		fill: var(--color-main-background);
	}
	.footer__berlin {
		text-align: right;
	}
	.footer__berlinLabel {
		display: block;
		font-size: 0.825rem;
		font-weight: 500;
		margin-bottom: 0.125em;
	}
	.footer__berlinLogo {
		width: 75%;
		max-width: 300px;
		height: auto;
	}
	@media (max-width: 1024px) {
		.footer__grid {
			grid-template-columns: auto;
			grid-template-rows: auto;
			grid-template-areas: 'logo'
			'tickets'
			'navigation'
			'partners';
			align-items: start;
			grid-gap: var(--grid-gap);
		}
		.footer__logo,
		.footer__tickets,
		.footer__navigation,
		.footer__berlin {
			text-align: center;
		}
		.footer__partners {
			justify-items: center;
		}
		.footer__navigationList {
			margin: 0 0 20px 0;
			justify-content: center;
		}
		.footer__logoSvg {
			height: var(--header-size);
		}
	}


/* Archived */
	.archived {
		background: var(--color-header-text);
		color: var(--color-header-icon);
		padding: 13px 20px 15px 20px;
		text-align: center;
	}
	.archived__paragraph {
		font-size: 0.875em;
		line-height: 1.25em;
		letter-spacing: 0.01em;
		margin: 0;
	}
	.archived__link {
		font-weight: bold;
		text-decoration: underline;
		color: var(--color-header-background);
	}
	.archived__link:hover {
		color: var(--color-header-icon);
		text-decoration: none;
	}
	@media (max-width: 768px) {
		.archived {
			text-align: left;
		}
	}


/* Breadcrumbs */
	.breadcrumbs {
		background: var(--color-main-background);
		color: var(--color-main-text);
		padding: 13px 20px 15px 20px;
		font-size: 0.875em;
		font-weight: 500;
	}
	.breadcrumbs__list {
		display: inline;
		margin: 0;
		padding: 0;
	}
	.breadcrumbs__item {
		display: inline-block;
	}
	.breadcrumbs__item::after {
		margin: 0 .25em;
		content: "\00203A";
		color: var(--highcontrast-black, var(--color-1));
		font-weight: bold;
	}
	.breadcrumbs__item:last-child::after {
		display: none;
	}
	.breadcrumbs__link {
		color: var(--color-main-link);
		text-decoration: none;
		font-weight: bold;
		transition: color 150ms ease;
	}
	.breadcrumbs__link:hover,
	.breadcrumbs__link:focus {
		color: var(--color-main-text);
	}
	.breadcrumbs__link[aria-current="page"] {
		color: var(--color-main-text);
		text-decoration: none;
		font-weight: 500;
	}


/* Search */
	.search {
		display: none;
		position: fixed;
		z-index: 2000;
		top: 0;
		right: 0;
		left: 0;
		width: 100%;
		height: 150vh;
		overflow-y: auto;
		padding: 0 40px 50vh 40px;
	}
	html[data-search] .search {
		display: grid;
		background: rgba(0,0,0,0.66);
	}
	.search__inner {
		background: var(--color-header-background);
		color: var(--color-header-text);
		margin: auto;
		width: 100%;
		max-width: 600px;
		max-height: 75%;
		overflow-y: auto;
		border-radius: var(--border-radius);
		outline: 2px solid rgba(0,0,0,.15);
	}
	@media (max-width: 768px) {
		.search__inner {
			margin: var(--header-size) 0 auto 0;
		}
	}
	.search__header {
		background: var(--color-header-background);
		padding: var(--padding-leftright) var(--padding-leftright) calc(var(--padding-leftright) / 2) var(--padding-leftright);
		position: sticky;
		top: 0;
	}
	.search__content {
		padding: 0 20px 20px 20px;
	}
	.search__formGrid {
		display: grid;
		grid-template-columns: 1fr max-content;
		grid-column-gap: calc(var(--padding-leftright) / 2);
	}
	.search__label {
		display: block;
		margin-bottom: 5px;
	}
	.search__input {
		border: 1px solid var(--color-main-background);
		border-radius: 100px;
		height: 3em;
		line-height: 3em;
		padding: 0 1.25em;
		width: 100%;
		background: var(--color-main-background);
		color: var(--color-main-text);
		font-family: var(--font-family);
		font-size: 0.875em;
		font-weight: 500;
	}
	.search__select {
		border: 1px solid var(--color-main-background);
		border-radius: 100px;
		height: 3em;
		line-height: 3em;
		padding: 0 1.25em;
		width: 100%;
		background: none;
		color: var(--color-header-text);
		font-family: var(--font-family);
		font-size: 0.875em;
		font-weight: 500;
	}
	.search__button {
		appearance: none;
		cursor: pointer;
		border: none;
		border-radius: 100px;
		height: 3em;
		line-height: 3em;
		padding: 0 1.25em;
		background: var(--color-main-text);
		color: var(--color-main-background);
		font-family: var(--font-family);
		font-weight: bold;
		font-size: 0.875em;
		letter-spacing: 0.025em;
	}
	.search__button:focus-visible,
	.search__button:active {
		outline: 2px solid rgba(0,0,0,.1);
	}
	.search__button:hover,
	.search__button:focus {
		background: var(--color-main-link);
	}
	.search__list {
		list-style: none;
		margin: 10px 0 10px 0;
		padding: 0;
	}
	.search__result {
		padding: 10px 0;
		border-top: 1px solid var(--color-main-text);
	}
	.search__tag {
		display: inline-block;
		background: var(--color-header-icon);
		color: var(--color-header-text);
		padding: 4px 7px;
		font-size: 0.8125em;
		line-height: 1em;
		text-transform: uppercase;
		font-weight: 600;
		margin-right: 0.5em;
		letter-spacing: 0.015em;
		border-radius: var(--border-radius);
	}
	.search__tag--year {
		display: inline-block;
		background: var(--color-header-text);
		color: var(--color-header-icon);
	}
	.margin-right {
		display: inline-block;
		background: var(--color-header-icon);
		padding: 4px 6px;
		font-size: 0.8125em;
		line-height: 1em;
		text-transform: uppercase;
		font-weight: 500;
		margin-left: 0.5em;
	}
	.search__link {
		color: var(--color-header-link);
		font-weight: bold;
		text-decoration: underline;
	}
	.search__link:hover {
		color: var(--color-header-text);
		text-decoration: none;
	}


/* Hide classes */
	@media (max-width: 768px) {
		.hide-on-mobile {
			display: none;
		}
	}
	@media (min-width: 769px) and (max-width: 1024px) {
		.hide-on-tablet {
			display: none;
		}
	}
	@media (min-width: 1025px) {
		.hide-on-desktop {
			display: none;
		}
	}


/* Form */
	.form__fields {
		display: flex;
		flex-wrap: wrap;
		row-gap: 32px;
		margin-left: -32px;
		padding-bottom: 32px;
	}
	.form__field {
		padding-left: 32px;
		flex-shrink: 0;
	}
	@media (max-width: 768px) {
		.form__field {
			width: var(--widthMobile);
		}
	}
	@media (min-width: 769px) and (max-width: 1024px) {
		.form__field {
			width: var(--widthTablet);
		}
	}
	@media (min-width: 1025px) {
		.form__field {
			width: var(--widthDesktop);
		}
	}
	.form__label {
		font-weight: bold;
		cursor: pointer;
		display: inline-block;
		margin-bottom: 2px;
	}
	.form__label--checkbox {
		font-weight: normal;
	}
	.form__label--radio {
		font-weight: normal;
	}
	.form__input--text,
	.form__input--textarea,
	.form__input--tel,
	.form__input--email,
	.form__input--select {
		width: 100%;
	}
	.form__error {
		margin-top: 2px;
		color: red;
	}
	.form__field:last-of-type {
		position: absolute;
		left: -9999px;
	}
	.form__input {
		font-family: var(--font-family);
		font-size: var(--font-size);
		background: var(--color-main-background-highlight2);
		color: var(--color-main-text);
		display: block;
		margin-top: 0.25em;
		padding: 10px 16px;
		border: none;
		border-radius: var(--border-radius);
	}
	.form__input--radio,
	.form__input--checkbox {
		display: inline-block;
	}
	.form__label--radio + .form__input--radio {
		margin-left: .66em;
	}


/* Glightbox */
	.glightbox-container .gslider {
		padding: var(--grid-gap);
	}
	.glightbox-container .gslide-inner-content {
		border-radius: var(--border-radius);
		overflow: hidden;
	}
	.glightbox-clean .gslide-description {
		background: var(--color-header-background) !important;
		color: var(--color-header-text) !important;
	}
	.glightbox-clean .gslide-title {
		font-family: var(--font-family);
		font-weight: bold;
		margin: 0 0 5px 0;
	}
	.glightbox-clean .gslide-desc {
		font-family: var(--font-family);
	}


/* Selections */
	*::selection {
		background: rgba(0,0,0,.075);
	}
	a::selection {
		text-shadow: none !important;
		box-shadow: none !important;
	}


/* Animations */
	@keyframes fade {
		0% { opacity: 1; }
		50% { opacity: 0; }
		100% { opacity: 1; }
	}
	@keyframes fadein {
		from { opacity: 0; }
		to { opacity: 1; }
	}
	@keyframes slidein {
		from { transform: translate(-100vw, 0); }
		to { transform: translate(0, 0); }
	}