@charset "UTF-8";

/* Fontfaces */
@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-subset.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
	font-weight: 100 900;
	font-display: swap;
}
@font-face {
	font-family: "Roboto Slab";
	src: url("../fonts/roboto-slab-subset.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
	font-weight: 100 900;
	font-display: fallback;
}

/* Font awesome */
:root, :host {
	--fa-style-family-classic: "Font Awesome 6 Free";
	--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
}
@font-face {
	font-family: "Font Awesome 6 Free";
	font-style: normal;
	font-weight: 900;
	font-display: block;
	src: url("../fonts/fa-solid-900.woff2") format("woff2");
}
.fas, .fa-solid {
	font-weight: 900;
}

/* Setup */
:root {
	/* Colors */
	--color-violet: #712c91;
	--color-lila: #9a2890;
	--color-green: #7eaf83;
	--color-green-soft: #d8e5d3;
	--color-green-light: #ebf3ee;
	--color-red: #AB3200;
	--color-orange: #f26924;
	--color-yellow-light: #FFF1D4;
	--color-white: #fff;
	--color-grey: #3f483a;
	--color-black: #303030;

	/* Fonts */
	--font-size: 1em;
	--font-family: "Inter", Helvetica, Arial, sans-serif;
	--font-weight: 400;
	--font-weight-bold: 700;
	--line-height: 140%;
	--displayfont-family: "Roboto Slab", serif;
	--displayfont-weight: 500;
	--displayfont-weight-bold: 700;
	--displayfont-line-height: 130%;

	/* Font sizes */
	--font-size-h1: 3.375rem;
	--font-size-h2: 1.75rem;
	--font-size-h3: 1.25rem;
	--font-size-h4: 1.125rem;

	/* Layout */
	--max-width: 1240px;
	--grid-gap: 2em;
	--wrapper-padding-y: .6rem;
	--wrapper-padding-x: 1rem;
	--inner-padding: calc(var(--grid-gap) / 2);
	--content-padding-y: 4rem;
	--border-width: 2px;
	--border-radius: 5px;
	--mobileheader-height: 4.25rem;
}

@media (max-width: 1024px) {
	:root {
		/* Font sizes */
		--font-size-h1: 2.5rem;
		--font-size-h2: 1.75rem;

		/* Layout */
		--wrapper-padding-y: .5rem;
		--wrapper-padding-x: .75rem;
		--content-padding-y: 2em;
	}
}

@media (max-width: 768px) {
	:root {
		/* Font sizes */
		--font-size-h1: 2rem;
		--font-size-h2: 1.5rem;

		/* Layout */
		--grid-gap: 1.5rem;
		--inner-padding: var(--grid-gap);
	}
}

/* High contrast mode */
html[data-contrast] {
	--highcontrast-blue: blue;
	--highcontrast-red: red;
	--highcontrast-black: black;
	--highcontrast-white: white;
}
html[data-contrast] * {
	transition: none !important;
	animation: none !important;
}

@media (min-width: 1024px) {
	html[data-hamburger],
	html[data-search] {
		position: fixed; overflow-y:scroll;
	}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
		animation: none !important;
		backdrop-filter: none !important;
		filter: none !important;
	}
}

/* Hide classes */
@media (min-width: 1025px)  {
	.hide-on-desktop {
		display: none !important;
	}
}
@media (min-width: 769px) and (max-width: 1024px)  {
	.hide-on-tablet {
		display: none !important;
	}
}
@media (max-width: 768px) {
	.hide-on-mobile {
		display: none !important;
	}
}

/* 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;
}
html, body {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-style: normal;
	margin: 0;
	padding: 0;
	min-height: 100%;
	width: 100%;
	max-width: 100%;
}
img {
	display: block;
	border-style: none;
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
}
ul, main, header, figure, nav, section, address {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
}
strong {
	font-weight: var(--font-weight-bold);
}
em {
	font-style: normal;
	font-variation-settings: "CASL" 0.85, "slnt" -15, "CRSV" 1;
}
hr {
	margin: var(--grid-gap) 0;
	display: block;
	height: var(--border-width);
	background: var(--color-white);
	border: none;
}
audio {
	width: 100%;
}
audio::-webkit-media-controls-panel {
	background: var(--highcontrast-white, var(--color-green-light));
}
audio::-webkit-media-controls-play-button {
	background-color: var(--highcontrast-red, var(--color-orange));
	border-radius: 50%;
}
.gslide-title {
	margin: 0 !important;
}

/* Generic elements */
html {
	overflow-x: hidden;
	overflow-y: scroll;
	background: var(--color-green-light);
}

/* Effects */
@media screen and (prefers-reduced-motion: no-preference) {
	html:not([data-contrast]) {
		scroll-behavior: smooth;
	}

	/* Animations */
	@keyframes fadein {
		from { opacity: 0; }
		to { opacity: 1; }
	}
	@keyframes gradient {
		from { background-position: 0% 50%; }
		50% { background-position: 100% 50%; }
		to { background-position: 100% 100%; }
	}

	/* Animation classes */
	html:not([data-contrast]) .fadein {
		opacity: 0;
		animation: fadein ease 350ms;
		animation-delay: 50ms;
		animation-fill-mode: forwards;
	}
}

html.noscroll {
	overflow-y: hidden;
}

html {
	background: var(--highcontrast-white, var(--color-green-light));
}
body {
	color: var(--highcontrast-black, var(--color-black));
	background: var(--highcontrast-white, var(--color-green-light));
	font-family: var(--font-family);
	font-size: var(--font-size);
	font-weight: var(--font-weight);
	line-height: var(--line-height);
	text-align: left;
	text-rendering: optimizeLegibility;
	position: relative;
}
.wrapper {
	margin: auto;
	max-width: var(--max-width);
	padding: 0 var(--wrapper-padding-x);
}

/* Jumplink */
	.jumplink {
		border: 0;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
		font-weight: var(--font-weight-bold);
		font-size: 0.8750rem;
		display: block;
		text-decoration: none !important;
		text-align: center;
		padding: var(--wrapper-padding-y) var(--wrapper-padding-x);
		margin: 0 auto;
		color: var(--highcontrast-blue, var(--color-white));
		background: var(--highcontrast-white, var(--color-violet));
	}
	.jumplink:active,
	.jumplink:focus {
		clip: auto;
		height: auto;
		margin: 0;
		overflow: visible;
		position: static;
		white-space: normal;
		width: auto;
	}
	.jumplink__icon {
		margin-right: 0.5rem;
	}

/* header */
	.mobileheader {
		display: none;
	}
	.logo__claim {
		fill: var(--highcontrast-white, var(--color-orange));
	}
	.logo__backslash {
		fill: var(--highcontrast-white, var(--color-violet));
	}
	.logo:hover .logo__backslash, .logo:focus .logo__backslash {
		fill: var(--highcontrast-white, var(--color-orange));
		transition: 250ms ease fill;
	}
	.logo:active .logo__backslash {
		fill: var(--highcontrast-white, var(--color-black));
	}

	/* Toolbar */
		.toolbar {
			color: var(--highcontrast-white, var(--color-grey));
			background: var(--highcontrast-blue, var(--color-green-light));
		}
		.toolbar__list {
			list-style: none;
			font-size: 0;
		}
		.toolbar__item {
			display: inline-block;
			border-right: var(--border-width) solid var(--highcontrast-black, var(--color-white));
			font-size: 0.875rem;
			padding: var(--wrapper-padding-y) var(--wrapper-padding-x);
		}
		.toolbar__item:first-child { 
			padding-left: 0;
		}
		.toolbar__item:last-child {
			border: none;
		}
		.toolbar__link {
			font-weight: var(--font-weight-bold);
			color: var(--highcontrast-white, var(--color-violet));
			text-decoration: none;
		}
		.toolbar__link:hover,
		.toolbar__link:active,
		.toolbar__link:focus {
			color: var(--highcontrast-red, var(--color-black));
			text-decoration: underline;
			text-decoration-thickness: var(--border-width);
			text-decoration-color: var(--highcontrast-red, var(--color-black));
			text-underline-offset: var(--border-width);
		}
		.toolbar__icon {
			margin-right: 0.5rem;
			color: var(--highcontrast-red, var(--color-violet));
		}

	/* Menu */
		.menu {
			background: var(--highcontrast-black, var(--color-white));
			padding: 2.5rem 0;
		}
		.menu__grid {
			display: grid;
			width: 100%;
			grid-template-columns: max-content 1fr;
			grid-auto-rows: auto;
			grid-template-areas: "logo menu";
			grid-gap: var(--grid-gap);
		}
		.menu__logo {
			grid-area: logo;
		}
		.menu__logo .logo {
			width: 320px;
		}
		.menu__list {
			grid-area: menu;
			margin: auto 0;
			list-style: none;
			text-align: right;
			font-size: 0;
		}
		.menu__item {
			display: inline-block;
			margin-left: 2rem;
		}
		.menu__link {
			font-family: var(--displayfont-family);
			font-size: 1.1250rem;
			font-weight: var(--displayfont-weight-bold);
			text-decoration: none;
			color: var(--highcontrast-red, var(--color-violet));
			transition: color 150ms ease;
		}
		.menu__link:hover,
		.menu__link:focus {
			color: var(--highcontrast-blue, var(--color-orange));
		}
		.menu__link--active, .menu__link--open {
			text-decoration: underline;
			text-decoration-thickness: var(--border-width);
			text-underline-offset: var(--border-width);
			color: var(--highcontrast-white, var(--color-orange));
		}
		.menu__button {
			font-family: var(--displayfont-family);
			font-size: 1.1250rem;
			font-weight: var(--font-weight-bold);
			text-decoration: none;
			transition: background 150ms ease, border 150ms ease, color 150ms ease;
			transition-delay: 50ms;
			background: var(--highcontrast-blue, var(--color-violet));
			color: var(--highcontrast-white, var(--color-white));
			border-radius: var(--border-radius);
			padding: .875rem 1.25rem;
			line-height: 4rem;
		}
		.menu__button:hover,
		.menu__button:focus {
			background: var(--highcontrast-red, var(--color-orange));
		}
		.menu__button:active {
			background: var(--highcontrast-red, var(--color-black));
		}
		.menu__button--active {
			background: var(--highcontrast-white, var(--color-green-light));;
			color: var(--highcontrast-blue, var(--color-orange));
			text-decoration: underline;
			text-decoration-thickness: var(--border-width);
			text-underline-offset: var(--border-width);
		}
		.menu__button--active:hover,
		.menu__button--active:focus {
			color: var(--highcontrast-white, var(--color-white)); 
		}

/* Main */
.main {
	background: var(--highcontrast-black, var(--color-white));
	color: var(--highcontrast-white, var(--color-black));
}
.content {
	padding: var(--content-padding-y) 0;
}
.content + .content {
	padding-top: 0;
}

	/* Layout */
	.content__grid {
		max-width: var(--max-width);
		margin: 0 auto;
		display: grid;
		grid-template-columns: repeat(12, minmax(0,1fr));
		grid-column-gap: var(--grid-gap);
		--columns: 12;
	}
	.content__grid--highlight {
		background: var(--highcontrast-black, var(--color-green-light));
		border: 2px solid var(--highcontrast-white, var(--color-green-light));
		border-radius: var(--border-radius);
		padding: 0 var(--grid-gap);
	}
	.content__grid > .content__gridColumn {
		grid-column: span var(--columns);
	}
	.content__gridColumn[hidden] {
		display: block;
	}

	/* Breadcrumbs */
	.breadcrumbs {
		color: var(--highcontrast-white, var(--color-grey));
		font-size: 0.875rem;
	}
	.breadcrumbs__list {
		display: inline;
		padding: 0;
	}
	.breadcrumbs__item {
		display: inline-block;
	}
	.breadcrumbs__item::after {
		margin: 0 .25em;
		content: "\00203A";
		font-weight: var(--font-weight-bold);
	}
	.breadcrumbs__item:last-child::after {
		display: none;
	}
	.breadcrumbs__link {
		font-weight: var(--font-weight-bold);
		text-decoration: none;
		color: var(--highcontrast-red, var(--color-violet));
	}
	.breadcrumbs__link:hover,
	.breadcrumbs__link:focus {
		color: var(--highcontrast-blue, var(--color-black));
		text-decoration: underline;
		text-decoration-color: var(--highcontrast-blue, var(--color-black));
		text-decoration-thickness: var(--border-width);
	}
	.breadcrumbs__link[aria-current="page"] {
		color: var(--highcontrast-white, var(--color-grey));
		text-decoration: none;
	}


/* Footer */
	.footer {
		padding: 3rem 0;
		background: var(--highcontrast-white, var(--color-green-light));
		border-top: var(--border-width) solid var(--color-white);
		color: var(--highcontrast-black, var(--color-grey));
	}
	.footer__grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-template-areas: "nav nav partners partners";
		grid-gap: var(--grid-gap);
	}
	.nav {
		grid-area: nav;
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-areas: "left right";
		grid-gap: var(--grid-gap);
	}
	.nav__list {
		list-style: none;
	}
	.nav__list--left {
		grid-area: left;
	}
	.nav__list--right {
		grid-area: right;
	}
	.nav__item {
		margin-bottom: .66rem;
	}
	.nav__link {
		font-weight: var(--font-weight-bold);
		text-decoration: none;
		color: var(--highcontrast-blue, var(--color-violet));
		transition: color 150ms ease;
	}
	.nav__link--active, .nav__link--open {
		text-decoration: underline;
		text-decoration-thickness: var(--border-width);
		text-underline-offset: var(--border-width);
		color: var(--highcontrast-black, var(--color-orange));
	}
	.nav__link:hover,
	.nav__link:focus {
		color: var(--highcontrast-red, var(--color-orange));
	}
	.nav__icon {
		margin-right: 0.5rem;
		font-size: 1rem;
		color: var(--color-white);
	}
	.nav__icon--active {
		color: var(--color-orange);
	}
	.bwgt__link {
		display: block;
		width: 50%;
		max-width: 50%;
	}
	.partner {
		grid-area: partners;
		text-align: right;
	}
	.partner__img {
		width: 100%;
		max-width: 100%;
	}
	.partner__paragraph {
		margin: 0;
		text-align: left;
	}
	.footer__copyright {
		margin: 0;
	}

/* Buttons */
	.buttons {
		list-style: none;
		font-size: 0;
		padding-bottom: 0.75rem;
	}
	.buttons__item {
		display: inline-block;
		margin-right: .75rem;
		margin-top: .75rem;
	}
	.buttons--centered .buttons__item {
		margin-left: .375rem;
		margin-right: .375rem;
	}
	.button {
		font-family: var(--displayfont-family);
		font-weight: var(--displayfont-weight-bold);
		font-size: 1rem;
		display: inline-block;
		text-decoration: none;
		background: var(--highcontrast-blue, var(--color-green));
		border: var(--border-width) solid var(--highcontrast-blue, var(--color-green));
		color: var(--highcontrast-white, var(--color-white));
		border-radius: var(--border-radius);
		padding: .875rem 1.25rem;
		line-height: 100%;
		cursor: pointer;
		-webkit-appearance: none;
	}
	.button:hover,
	.button:focus {
		background: var(--highcontrast-red, var(--color-violet));
		border-color: var(--highcontrast-red, var(--color-violet));
		transition: background 150ms ease, border 150ms ease, color 150ms ease;
		transition-delay: 50ms;
	}
	.button:active {
		box-shadow: 0 0 0 var(--border-width) var(--color-green-soft);
	}
	.button--violet {
		background: var(--highcontrast-blue, var(--color-violet));
		border: var(--border-width) solid var(--highcontrast-blue, var(--color-violet));
		color: var(--highcontrast-white, var(--color-white));
	}
	.button--violet:hover,
	.button--violet:focus {
		background: var(--highcontrast-red, var(--color-orange));
		border-color: var(--highcontrast-red, var(--color-orange));
		color: var(--highcontrast-white, var(--color-white));
	}
	.button--lightgreen {
		background: var(--highcontrast-blue, var(--color-green-light));
		border: var(--border-width) solid var(--highcontrast-blue, var(--color-green-light));
		color: var(--highcontrast-white, var(--color-violet));
	}
	.button--lightgreen:hover,
	.button--lightgreen:focus {
		background: var(--highcontrast-red, var(--color-black));
		border-color: var(--highcontrast-red, var(--color-black));
		color: var(--highcontrast-white, var(--color-white));
	}
	.button--orange {
		background: var(--highcontrast-blue, var(--color-orange));
		border: var(--border-width) solid var(--highcontrast-blue, var(--color-orange));
		color: var(--highcontrast-white, var(--color-white));
	}
	.button--orange:hover,
	.button--orange:focus {
		background: var(--highcontrast-red, var(--color-violet));
		border-color: var(--highcontrast-red, var(--color-violet));
		color: var(--highcontrast-white, var(--color-white));
	}
	.button--white {
		background: var(--highcontrast-blue, var(--color-white));
		border: var(--border-width) solid var(--highcontrast-blue, var(--color-white));
		color: var(--highcontrast-white, var(--color-violet));
	}
	.button--white:hover,
	.button--white:focus {
		background: var(--highcontrast-red, var(--color-orange));
		border-color: var(--highcontrast-red, var(--color-orange));
		color: var(--highcontrast-white, var(--color-white));
	}
	.button:active {
		background: var(--highcontrast-red, var(--color-black));
		border-color: var(--highcontrast-red, var(--color-black));
	}
	.button__icon {
		margin-right: .66em;
	}

/* Notice */
.notice {
	font-size: 0.8750rem;
	color: var(--color-grey);
	margin-bottom: var(--grid-gap);
}

/* Dates */
	.dates {
		list-style: none;
	}
	.dates__item {
		font-weight: var(--font-weight);
	}
	.dates__cancelled {
		display: inline;
		font-weight: var(--font-weight-bold);
		font-size: 0.8750rem;
		border-radius: var(--border-radius);
		background: var(--highcontrast-black, var(--color-orange));
		color: var(--highcontrast-white, var(--color-white));
		padding: 1px 5px;
	}

/* Blocks */
	.block {
		display: block;
	}

	/* Textblock */
	.block--text {
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
	.block--text ul {
		list-style: none;
		margin: 0 0 0 1.25em;
	}
	.block--text ul li::before {
		content: "\2013\2002";
		font-weight: var(--font-weight-bold); 
		display: inline-block; 
		width: 1.25em; 
		margin-left: -1.25em; 
		opacity: .5;
	}

	/* Gallery */
	.block--gallery {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-column-gap: var(--grid-gap);
		list-style: none;
	}

	/* Headlines */
	.block--headline {
		font-family: var(--displayfont-family);
		font-weight: var(--displayfont-weight);
	}
	.block--headline--h1 {
		font-size: var(--font-size-h1);
		line-height: var(--displayfont-line-height);
	}
	.block--headline--h2 {
		font-size: var(--font-size-h2);
		line-height: var(--displayfont-line-height);
	}
	.block--headline--h3 {
		font-size: var(--font-size-h3);
		line-height: var(--displayfont-line-height);
	}
	.block--headline--h4 {
		font-size: var(--font-size-h4);
		line-height: var(--displayfont-line-height);
	}

	/* Spacer */
	.block--spacer {
		height: var(--spacer-height);
	}

	/* Video */
	.block--video {
		margin: .725em 0;
	}
	.block--video iframe {
		border: none;
		width: 100%;
		aspect-ratio: 16 / 9;
		border-radius: var(--border-radius);
		overflow: hidden;
	}
	.block--video .caption {
		margin-top: 0;
	}

	/* Image */
	html[data-contrast] .block--image[aria-hidden="true"] {
		opacity: 0;
	}

/* Box */
.box {
	background: var(--highcontrast-white, var(--color-orange));
	color: var(--highcontrast-black, var(--color-black));
	border-radius: var(--border-radius);
	overflow: hidden;
}

/* Search overlay */
	.search {
		display: none;
		position: fixed;
		z-index: 2000;
		top: 0;
		right: 0;
		left: 0;
		height: 100vh;
		background: var(--highcontrast-black, var(--color-green-light));
		backdrop-filter: blur(5px);
		opacity: 0;
		transition: opacity 100ms ease;
		overflow-y: auto;
	}
	html[data-search] .search {
		display: grid;
		opacity: 1;
		animation: fadein 100ms;
		animation-fill-mode: forwards;
		animation-timing-function: ease-out;
	}
	.search__inner {
		max-width: 50%;
		margin: auto;
		text-align: center;
		color: var(--highcontrast-white, var(--color-black));
		padding: var(--wrapper-padding-x);
	}
	.search__headline {
		display: block;
		color: var(--highcontrast-white, var(--color-violet));
		font-family: var(--displayfont-family);
		font-weight: var(--displayfont-weight);
		font-size: var(--font-size-h1);
		line-height: var(--displayfont-line-height);
	}
	.search__form {
		display: grid;
		grid-template-columns: max-content 1fr max-content;
		grid-template-areas: "label input submit";
		grid-gap: calc(var(--grid-gap) / 2);
		margin: 4rem 0;
	}
	.search__form > * {
		align-self: center;
	}
	.search__label {
		cursor: pointer;
		grid-area: label;
	}
	.search__input {
		grid-area: input;
		-webkit-appearance: none;
		font-family: var(--font-family);
		font-weight: 400;
		font-size: 1rem;
		width: 100%;
		padding: .75rem 1rem;
		border-radius: var(--border-radius);
		background: var(--highcontrast-white, var(--color-white));
		color: var(--highcontrast-white, var(--color-black));
		border: none;
	}
	.search__input:hover {
		border-color: var(--highcontrast-blue, var(--color-grey));;
	}
	.search__input:focus {
		background: var(--highcontrast-white, var(--color-white));
		color: var(--highcontrast-blue, var(--color-black));
		border-color: var(--highcontrast-red, var(--color-white));
	}
	.search__input::placeholder {
		color: var(--highcontrast-white, var(--color-grey));
	}
	.searchInput:focus::placeholder {
		color: var(--highcontrast-blue, var(--color-black));
	}
	.search__input:not(:placeholder-shown):not(:focus):invalid {
		border-color: var(--highcontrast-red, var(--color-red));
	}
	.search__submit {
		grid-area: submit;
	}

/* Mobile phones */
@media (max-width: 1024px) {
	/* Menu */
	.menu__logo {
		display: none;
	}
	.mobileheader {
		display: grid;
		position: sticky;
		z-index: 1000;
		top: 0;
		background: var(--highcontrast-blue, var(--color-green-light));
		border-bottom: var(--border-width) solid var(--color-white);
		width: 100%;
		height: var(--mobileheader-height);
		padding: 0 var(--wrapper-padding-x);
		grid-template-columns: 1.25fr 1fr;
		grid-auto-rows: auto;
		grid-template-areas: "logo nav";
		grid-gap: var(--wrapper-padding-x);
	}
	.mobileheader__logo {
		grid-area: logo;
		margin: auto 0;
		width: 100%;
		max-width: 200px;
		height: auto;
	}
	.mobileheader__nav {
		grid-area: nav;
		margin: auto 0;
		text-align: right;
	}
	.hamburger {
		background: var(--highcontrast-red, var(--color-orange));
		color: var(--highcontrast-white, var(--color-white));
		border: var(--border-width) solid var(--highcontrast-red, var(--color-orange));
		border-radius: var(--border-radius);
		font-size: 1rem;
		font-weight: var(--font-weight-bold);
		padding: .66rem 1rem;
		text-align: center;
		cursor: pointer;
	}
	.hamburger:hover, 
	.hamburger:focus {
		background: var(--highcontrast-white, var(--color-violet));
		color: var(--highcontrast-red, var(--color-white));
		border-color: var(--highcontrast-white, var(--color-violet));
	}
	html[data-hamburger] .hamburger {
		color: var(--highcontrast-white, var(--color-violet));
		border-color: var(--highcontrast-white, var(--color-violet));
		background: transparent;
	}
	html[data-hamburger] .hamburger:hover,
	html[data-hamburger] .hamburger:focus {
		color: var(--highcontrast-white, var(--color-violet));
		border-color: var(--highcontrast-white, var(--color-violet));
	}
	.hamburger__inner--close {
		display: none;
	}
	html[data-hamburger] .hamburger__inner--open {
		display: none;
	}
	html[data-hamburger] .hamburger__inner--close {
		display: inline;
	}
	.hamburger__icon {
		margin-right: .5rem;
		transform: translateY(0.025rem);
	}
	.header {
		display: none;
		opacity: 0;
	}
	html[data-hamburger] .header {
		display: block;
		position: fixed;
		top: var(--mobileheader-height);
		right: 0;
		left: 0;
		height: 100vh;
		background: var(--highcontrast-white, var(--color-green-light));
		backdrop-filter: blur(5px);
		overflow-y: auto;
		opacity: 1;
		z-index: 1000;
		animation: fadein 150ms;
		animation-fill-mode: forwards;
		animation-timing-function: ease;
	}
	.header .toolbar__list {
		display: flex;
	}
	.header .toolbar__item {
		flex: 1;
		text-align: center;
		line-height: var(--line-height);
		padding: var(--wrapper-padding-x);
	}
	.header .toolbar__item:first-child {
		padding-left: 0;
	}
	.header .toolbar__item:last-child {
		padding-right: 0;
	}
	.header .toolbar__link {
		text-decoration: none !important;
	}
	.header .toolbar__icon {
		display: block;
		margin-bottom: .25rem;
		margin-right: 0;
	}
	.header .menu__grid {
		grid-gap: 0;
		padding-bottom: var(--mobileheader-height);
	}
	.header .menu__item {
		display: block;
		text-align: center;
		margin: 1rem;
	}

	/* Main */
	.main {
		padding: 1rem 0 0 0;
	}

	/* Search */
	.search__inner {
		margin: 0;
		max-width: 100%;
	}
	.search__headline {
		margin-top: var(--mobileheader-height);
	}
	.search__form {
		grid-template-columns: 1fr max-content;
		grid-template-areas: "label label"
			"input submit";
		margin: 2rem 0;
	}
}

/* Images */
.image {
	position: relative;
	display: block;
	border-radius: var(--border-radius);
	overflow: hidden;
}
.image__link {
	display: block;
	text-decoration: none;
}
.image__src {
	display: block;
	width: 100%;
	height: auto;
}
.image__src--4to3 {
	aspect-ratio: 4 / 3;
}
.image__copyright {
	position: absolute;
	display: inline-block;
	background: var(--highcontrast-black, var(--color-green-light));
	margin: 0;
	bottom: 0;
	right: 0;
	border-top-left-radius: var(--border-radius);
	border-bottom-right-radius: var(--border-radius);
	padding: 4px 8px;
	font-size: 0.75rem;
	letter-spacing: 0.025em;
	color: var(--highcontrast-white, var(--color-black));
}


/* Cards */
.swiper {
	width: 100%;
	height: auto;
}
.swiper-wrapper {
	width: 100%;
	padding-bottom: calc(var(--grid-gap) * 2);
}
.swiper-slide {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: baseline;
	align-items: baseline;
	border-radius: var(--border-radius);
	border: var(--border-width) solid var(--highcontrast-black, var(--color-green-light));
	overflow: hidden;
	height: auto;
}
.swiper-slide img {
	display: block;
	width: 100% !important;
	height: 100%;
	object-fit: cover;
}
.swiper-pagination-bullet {
	background: var(--highcontrast-white, var(--color-green-soft)) !important;
	opacity: 1 !important;
}
.swiper-pagination-bullet-active {
	background: var(--highcontrast-red, var(--color-orange)) !important;
	opacity: 1 !important;
}
.card {
	width: 100%;
}
.card__cover {
	position: relative;
	display: block;
	overflow: hidden;
}
.card__coverLink {
	display: block;
	text-decoration: none;
}
.card__coverSrc {
	display: block;
	width: 100%;
	height: auto;
}
.card__coverCopyright {
	position: absolute;
	display: inline-block;
	background: var(--highcontrast-black, var(--color-green-light));
	margin: 0;
	bottom: 0;
	right: 0;
	border-top-left-radius: var(--border-radius);
	padding: 4px 8px;
	font-size: 0.75rem;
	letter-spacing: 0.025em;
	color: var(--highcontrast-white, var(--color-black));
}
.card__title {
	padding: var(--inner-padding);
	background: var(--highcontrast-blue, var(--color-violet));
	border-top: var(--border-width) solid var(--highcontrast-black, var(--color-green-light));
}
.card:hover .card__title {
	background: var(--highcontrast-red, var(--color-orange));
	transition: background 150ms ease;
	transition-delay: 50ms;
}
.card__titleLink {
	font-family: var(--displayfont-family);
	font-weight: var(--displayfont-weight);
	font-size: var(--font-size-h3);
	line-height: var(--displayfont-line-height);
	color: var(--highcontrast-white, var(--color-white));
	text-decoration: none;
}
.card__cover:hover + .card__title .card__titleLink,
.card__titleLink:hover {
	text-decoration: none;
	text-decoration: underline;
	text-decoration-color: var(--highcontrast-red, var(--color-white));
	text-decoration-thickness: var(--border-width);
}
.card__desc {
	padding: var(--inner-padding);
	background: var(--highcontrast-white, var(--color-white));
	color: var(--highcontrast-black, var(--color-black));
	border-top: var(--border-width) solid var(--highcontrast-black, var(--color-green-light));
}
.card__desc:first-of-type {
	border-top: none !important;
	background: red !important;
}

/* Forms */
.form {
	padding: var(--grid-gap) 0;
}
.form__label {
	display: block;
	width: 100%;
	margin-bottom: .25rem;
}
.form__input {
	display: block;
	width: 100%;
	background: var(--highcontrast-blue, var(--color-white));
	border: var(--border-width) solid var(--highcontrast-blue, var(--color-green-soft));
	color: var(--highcontrast-white, var(--color-black));
	border-radius: var(--border-radius);
	padding: .775rem 1.25rem;
	font-family: var(--font-family);
	font-size: var(--font-size);
	font-weight: var(--font-weight);
	line-height: 100%;
	transition: border 150ms ease;
	transition-delay: 50ms;
}
.form__input:hover {
	border-color: var(--color-orange);
}
.form__input:active, .form__input:focus {
	border-color: var(--color-violet);
}
.form__input--textarea {
	line-height: var(--line-height);
	height: 150px;
	resize: vertical;
}
.form__input + .form__label,
.form__error + .form__label {
	margin-top: 1.4rem;
}
.form__button {
	margin-top: 1.4rem;
}
.form__error {
	display: block;
	color: var(--color-orange);
	font-weight: bold;
	margin-top: 0.25rem;
}
.form__success {
	margin: var(--grid-gap) 0;
}
.website {
	position: absolute;
	left: -9999px;
}

/* Tablets */ 
@media (max-width: 1024px) {
	/* Blocks */
	.block--gallery {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Mobile phones */
@media (max-width: 728px) {
	.content__grid {
		grid-gap: 0;
	}
	.content__grid > .content__gridColumn {
		grid-column: span 12;
	}
	.content__gridColumn[hidden] {
		display: none;
	}

	/* Blocks */
	.block--gallery {
		grid-template-columns: repeat(1, 1fr);
	}

	/* Cards */
	.card {
		width: 100%;
	}

	/* Footer */
	.footer__grid {
		grid-template-columns: 1fr;
		grid-template-areas: "nav"
			"partners";
	}
	.bwgt__link {
		max-width: 75%;
		width: 75%;
	}
}

/* Cookie banner */
.cookie-modal {
	background-color:rgba(0,0,0,.5);
	height:100%;
	left:0;
	pointer-events:none;
	position:fixed;
	top:0;
	width:100%;
	z-index:1000;
	padding: var(--wrapper-padding-x);
}
.cookie-modal--hidden {
	display:none
}
.cookie-modal__content {
	background-color: var(--highcontrast-white, var(--color-green-light));
	box-shadow:0 10px 30px rgba(0,0,0,.25);
	margin:15vh auto 0;
	max-width:600px;
	padding:20px;
	pointer-events:auto;
	border-radius: var(--border-radius);
}
@media (min-width:400px) {
	.cookie-modal__content{
		margin:22vh auto 0;
		padding:40px
	}
}
.cookie-modal__title {
	font-size:1.4rem;
	font-weight:700;
	margin-bottom:10px;
	margin-top:0
}
.cookie-modal__text{
	line-height:1.4;
	margin-bottom:20px
}
.cookie-modal__text a {
	font-weight: var(--font-weight-bold);
	text-decoration: underline;
	text-decoration-color: var(--highcontrast-blue, var(--color-violet));
	text-decoration-thickness: var(--border-width);
	color: var(--highcontrast-red, var(--color-violet));
}
.cookie-modal__text a:hover,
.cookie-modal__text a:focus {
	color: var(--highcontrast-blue, var(--color-violet));
	text-decoration: none;
}
.cookie-modal__options{
	align-items:flex-start;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
	margin-bottom:20px
}
.cookie-modal__options>*{
	width:calc(50% - 30px)
}
@media (min-width:400px){
	.cookie-modal__options>*{
		width:calc(33.3333% - 30px)
	}
}
.cookie-modal__option{
	align-items:center;
	cursor:pointer;
	display:inline-flex;
	flex-direction:row;
	justify-content:flex-start;
	margin-bottom:10px;
	margin-right:30px;
	position:relative
}
.cookie-modal__option.disabled{
	opacity:.7
}
.cookie-modal__checkbox{
	appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	border:2px solid var(--highcontrast-blue, var(--color-violet));
	border-radius: var(--border-radius);
	display:block;
	flex-shrink:0;
	height:20px;
	margin:0 6px 0 0;
	width:20px;
	background: var(--highcontrast-white, var(--color-white));
}
.cookie-modal__checkbox:checked{
	background-color:var(--highcontrast-blue, var(--color-violet));
}
.cookie-modal__checkbox:focus-visible, .cookie-modal__checkbox:hover {
	border-color: var(--highcontrast-black, var(--color-black));
}
.cookie-modal__checkbox:checked:focus-visible{
	background-color:var(--highcontrast-blue, var(--color-violet));
	outline:none
}
.cookie-modal__checkbox:focus-visible{
	border-color:var(--highcontrast-blue, var(--color-violet));
	outline:none
}
.cookie-modal__check{
	align-items:center;
	display:flex;
	flex-shrink:0;
	height:20px;
	justify-content:center;
	left:0;
	position:absolute;
	width:20px;
	z-index:1
}
.cookie-modal__check svg{
	stroke:var(--color-white);
}
.cookie-modal__label{
	line-height:22px
}
.cookie-modal__buttons{
	align-items:flex-start;
	display:flex;
	flex-direction:row;
	justify-content:flex-start
}
.cookie-modal__button{
	color: var(--highcontrast-black, var(--color-black));
	display:block;
	margin-right:8px;
	padding:6px 20px;
	text-decoration:none;
	white-space:nowrap;
	border-radius: var(--border-radius);
	background: var(--color-white);
	font-family: var(--displayfont-family);
	font-size: 1rem;
	font-weight: var(--font-weight-bold);
}
@media (min-width:400px){
	.cookie-modal__button{
		margin-right:10px;
		padding:10px 24px
	}
}
.cookie-modal__button.primary{
	background-color:var(--highcontrast-blue, var(--color-violet));
	color:var(--highcontrast-white, var(--color-white));
}
.cookie-modal__button.primary:focus-visible,.cookie-modal__button.primary:hover{
	background-color:var(--highcontrast-black, var(--color-black));
}
.cookie-modal__button.primary:active {
	background-color:var(--highcontrast-black, var(--color-grey));
	color:var(--highcontrast-white, var(--color-white));
}
.cookie-modal__button:focus-visible,.cookie-modal__button:hover{
	background-color:var(--highcontrast-red, var(--color-orange));
	color:var(--highcontrast-white, var(--color-white));
	outline:none
}
.cookie-modal__button:active {
	background-color:var(--highcontrast-black, var(--color-grey));
	color:var(--highcontrast-white, var(--color-white));
}
.cookie-modal__button.hide{
	display:none
}

@media (min-width: 720px) {
	/* Scrollbar */
	::-webkit-scrollbar {
		-webkit-appearance: none;
		width: 9px;
	}
	::-webkit-scrollbar-thumb {
		background: var(--color-orange);
		border-radius: var(--border-radius);
	}
	::-webkit-scrollbar-thumb:hover {
		background: var(--color-violet);
	}
	::-webkit-scrollbar-track {
		background: var(--color-green-soft);
	}
}
