@charset "UTF-8";

@media all {
	:root {
		--white: #FFFFFF;
		--default-background: #F9F9F6;
		--gray: #C8C9CA;
		--border-color: #B0B1B4;
		--cover-color: #00000029;
		--text-color: #0C0C0C;
		--header-color: #124563;
		--label-color: #175478;
		--footer-border: #268CC9;
		--blue: #179FDB;
		--light-blue: #65B4E2;
		--lighter-blue: #C1E8FF;
		--yellow: #F4D35E;
		--light-yellow: #F7E08D;
		--error-red: #9E150F;
		--red: #DA251D;
		--light-red: #EF8681;
		--lighter-red: #F2A19D;
		--success: #03B97C;
		--light: 300;
		--regular: 500;
		--bold: 700;
	}

	* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

	*:focus {
		outline: 2px dashed var(--red);
		outline-offset: 2px;
	}

	::placeholder {
		color: var(--text-color);
		opacity: .6;
	}

	body {
		hyphens: auto;
		font-family: "Noto Sans", sans-serif;
		font-size: 18px;
		line-height: 1.7;
		font-weight: var(--regular);
	}

	a {
		text-decoration: underline;
		color: var(--header-color);
	}

	a[data-external] > svg.external {
		width: 16px;
		height: 16px;
		margin-left: 3px;
		fill: var(--header-color);
	}

	a[data-external].btn:not(.no-arrow) .external {
		display: none;
	}

	a:hover,
	a:focus {
		text-decoration: none;
	}

	a:focus:hover {
		text-decoration: underline;
	}

	a.btn {
		text-decoration: none;
		font-weight: var(--bold);
	}

	.btn:hover {
		cursor: pointer;
		text-decoration: underline;
	}

	.btn svg {
		width: 10px;
		height: 12px;
		transform: rotate(90deg);
		margin: 0 0 0 5px;
	}

	.btn.arrow-down svg {
		transform: rotate(180deg);
		margin: 0 0 0 5px;
	}

	.btn.arrow-left svg {
		transform: rotate(-90deg);
		margin: 0 5px 0 0;
	}

	.btn.download-icon svg {
		width: 16px;
		height: 16px;
		transform: rotate(0deg);
		margin: 0 0 0 10px;
	}

	img, video {
		height: auto;
		width: 100%;
	}

	h1, h2, h3, h4 {
		color: var(--header-color);
		line-height: 1.5;
		font-weight: var(--regular);
	}

	h1 {
		font-size: 38px;
		margin: 40px 0 25px 0;
	}

	h2 {
		font-size: 36px;
	}

	h2.small {
		font-size: 30px;
	}

	h3 {
		font-size: 32px;
	}

	h3.small {
		font-size: 28px;
	}

	h4 {
		font-size: 25px;
	}

	hr {
		border: none;
		height: 2px;
		background-color: var(--gray);
	}

	fieldset {
		border: none;
	}

	li {
		list-style-position: inside;
	}

	:required {
		scroll-margin-top: 170px;
	}

	input:not([type="file"]):not([type="submit"]),
	select,
	textarea {
		border: 1px solid var(--border-color);
	}

	input:not([type="file"]):not([type="submit"]):invalid,
	input:not([type="file"]):not([type="submit"])[aria-invalid="true"],
	textarea:invalid {
		border: 3px solid var(--error-red);
		color: var(--error-red);
	}

	input[type="file"]:invalid {
		color: var(--error-red);
	}

	input:not([type="file"]),
	select,
	button[type="submit"],
	form button {
		height: 40px;
		width: 100%;
		background-color: var(--white);
		padding: 0 10px;
		font-size: 18px;
	}

	button[type="submit"],
	form button,
	form button.btn,
	form input.btn {
		width: auto;
		padding: 0 30px;
	}

	.fill-out__form {
		margin-bottom: 60px;
		border: 1px solid var(--border-color);
		border-radius: 20px;
		background-color: var(--white);
		padding: 25px;
	}

	input[type="range"].has-output {
		width: 95%;
	}

	input[type="range"].has-output + output {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 5%;
	}

	input[type="date"],
	input[type="time"] {
		text-align: center;
	}

	textarea {
		width: 100%;
		height: 250px;
		resize: none;
		padding: 10px;
		font-size: 18px;
	}

	label span:not(.default) {
		font-size: 22px;
		color: var(--label-color);
	}

	.char-count-container {
		font-size: 14px;
		text-align: right;
	}

	input[type="file"] {
		height: 40px;
		font-size: 18px;
	}

	input[type="radio"],
	input[type="checkbox"] {
		width: 16px;
		height: 16px;
	}

	input[type="submit"],
	select,
	button[type="submit"],
	form button  {
		color: var(--text-color);
	}

	input[type="submit"], input[type="reset"], button[type="submit"], form button {
		font-weight: var(--bold);
	}

	input[type="reset"]:hover,
	input[type="submit"]:hover,
	button[type="submit"]:hover,
	form button:hover {
		cursor: pointer;
		text-decoration: underline;
	}

	.password-toggle img {
		position: absolute;
		right: 10px;
		bottom: 3px;
		width: 32px;
		height: 32px;
	}

	.password-toggle img:hover {
		cursor: pointer;
	}

	span.radio-vertical span:first-child {
		display: block;
		font-size: 22px;
		color: var(--label-color);
	}

	.radio-vertical .radio {
		display: flex;
		align-items: center;
	}

	.radio-vertical .radio input {
		margin: 0 10px 0 5px;
	}

	.highlight {
		background-color: var(--light-yellow);
	}

	.btn {
		min-height: 40px;
		display: inline-block;
		border: none;
		border-radius: 20px;
		padding: 10px 30px;
		color: var(--text-color);
		line-height: 1;
		text-transform: uppercase;
	}

	.btn.yellow {
		background-color: var(--yellow);
	}

	.btn.yellow.transparent {
		border: 1px solid var(--yellow);
	}

	.btn.yellow:not(.transparent):hover {
		background-color: var(--light-yellow);
	}

	.btn.blue {
		background-color: var(--blue);
	}

	.btn.blue.transparent {
		border: 1px solid var(--blue);
	}

	.btn.blue:not(.transparent):hover {
		background-color: var(--light-blue);
	}

	.btn.red {
		background-color: var(--light-red);
	}

	.btn.red.transparent {
		border: 1px solid var(--light-red);
	}

	.btn.red:not(.transparent):hover {
		background-color: var(--lighter-red);
	}

	.btn.transparent {
		background-color: var(--white);
	}

	.searchbar__buttons {
		text-align: right;
	}

	.searchbar__buttons .btn {
		padding: 0 30px;
	}

	.warning {
		color: var(--red);
	}

	.download {
		background-image: url("/pub/theme/runners/skin/assets/icons/download.svg");
		display: block;
		width: 20px;
		height: 20px;
		align-self: center;
	}

	span.copyright:empty {
		display: none;
	}

	span.copyright:not(:empty):before {
		content: "\00a9\00a0";
	}

	.file-icon {
		display: block;
		width: 30px;
		height: 30px;
		align-self: center;
		background-repeat: no-repeat;
	}

	.file-icon.csv {background-image: url("/pub/theme/runners/skin/assets/icons/files/csv.svg");}
	.file-icon.default {background-image: url("/pub/theme/runners/skin/assets/icons/files/default.svg");}
	.file-icon.excel {background-image: url("/pub/theme/runners/skin/assets/icons/files/excel.svg");}
	.file-icon.image {background-image: url("/pub/theme/runners/skin/assets/icons/files/image.svg");}
	.file-icon.pdf {background-image: url("/pub/theme/runners/skin/assets/icons/files/pdf.svg");}
	.file-icon.powerpoint {background-image: url("/pub/theme/runners/skin/assets/icons/files/powerpoint.svg");}
	.file-icon.text {background-image: url("/pub/theme/runners/skin/assets/icons/files/text.svg");}
	.file-icon.video {background-image: url("/pub/theme/runners/skin/assets/icons/files/video.svg");}
	.file-icon.word {background-image: url("/pub/theme/runners/skin/assets/icons/files/word.svg");}
	.file-icon.zip {background-image: url("/pub/theme/runners/skin/assets/icons/files/zip.svg");}

	.no-wrap {
		white-space: nowrap;
	}

	.card {
		display: grid;
		grid-template-rows: 70px 1fr 80px;
		height: calc(100% - 25px);
		margin-bottom: 25px;
	}

	.card-header, .card-body, .card-footer {
		overflow: hidden;
		border: 1px solid var(--border-color);
		background-color: var(--white);
	}

	.card-header {
		position: relative;
		border-bottom: none;
		border-top-left-radius: 20px;
		border-top-right-radius: 20px;
	}

	.card-header svg {
		position: absolute;
		top: 0;
		left: 0;
	}

	.card-header div {
		position: relative;
		z-index: 1;
		padding: 15px 20px 0 20px;
		font-weight: var(--bold);
	}

	.card-body {
		border-top: none;
		border-bottom: none;
		padding: 20px 20px 0 20px;
	}

	.card-footer {
		border-top: none;
		border-bottom-left-radius: 20px;
		border-bottom-right-radius: 20px;
		padding: 20px 20px 20px 20px;
		text-align: right;
	}

	.card-footer a.btn {
		margin-left: -10px;
		white-space: nowrap;
	}

	.pagination-container {
		margin-bottom: 20px;
	}

	.pagination {
		display: flex;
		justify-content: center;
	}

	.pagination-item {
		width: 26px;
		height: 26px;
		position: relative;
	}

	.pagination-item:not(:first-child):not(:last-child) {
		margin-right: 20px;
		margin-left: 20px;
	}

	.pagination-item.active {
		border-radius: 50%;
		background-color: var(--border-color);
		font-weight: var(--bold);
	}

	.pagination-item a,
	.pagination-item span {
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 50%;
		text-decoration: none;
	}

	.pagination-item:not(.disabled):hover a {
		border-radius: 50%;
		background-color: var(--blue);
		font-weight: var(--bold);
		color: var(--text-color);
		text-decoration: underline;
	}

	.pagination-item.disabled:not(.active) {
		opacity: 0;
	}

	.pagination-item.disabled:hover {
		cursor: default;
	}

	.pagination-item.after::after {
		content: "";
		position: absolute;
		top: 11px;
		right: -23px;
		width: 5px;
		height: 5px;
		border-radius: 50%;
		background-color: var(--header-color);
	}

	.pagination-item.active:nth-child(3)::before {
		left: -25px;
	}

	.pagination-item.active:nth-child(3)::after {
		right: -25px;
	}

	.quick-link {
		position: absolute;
		transform: translateX(-50%);
		top: 15px;
		left: 50vw;
		height: 40px;
		opacity: 0;
		z-index: 12;
		line-height: 1.4;
		font-size: 14px;
	}

	.quick-link:not(:focus) {
		pointer-events: none;
	}

	.quick-link:focus {
		opacity: 1;
	}

	/** == Header Desktop start == **/
	header {
		position: sticky;
		top: 0;
		height: 200px;
		background-color: var(--white);
		box-shadow: 0 3px 6px var(--cover-color);
		z-index: 11;
	}

	header.no-banner {
		height: 150px;
	}

	header > .container,
	header > .container > .row {
		height: 150px;
	}

	header > .container > .row > div.logo-container {
		display: flex;
		align-items: center;
	}

	header > .container > .row > div.logo-container img {
		max-height: 135px;
	}

	header .logo-container a {
		display: inline-block;
	}

	header nav p,
	header nav li {
		line-height: 18px;
	}

	/* Meta */
	.language-selection {
		display: flex;
		height: 25px;
		align-items: center;
		justify-content: flex-end;
		column-gap: 40px;
	}

	.language-selection button {
		font-size: 14px;
		font-weight: var(--bold);
		display: none;
	}

	.language-banner {
		display: none;
		box-shadow: inset 0 -3px 10px 0 var(--cover-color);
		padding: 20px;
		background-color: var(--default-background);
	}

	.language-banner.active {
		display: block;
	}

	.language-banner .container p {
		text-align: center;
	}

	.language-banner .container div {
		display: flex;
		justify-content: center;
		column-gap: 50px;
		margin-top: 20px;
	}

	.language-banner .container div button {
		font-size: 14px;
	}

	#google-translate-element img,
	#google-translate-element-mobile img {
		display: none;
	}

	#google-translate-element > span,
	#google-translate-element-mobile > span,
	#google-translate-element > a,
	#google-translate-element-mobile > a {
		display: block;
	}

	#google-translate-element .goog-te-gadget-simple,
	#google-translate-element-mobile .goog-te-gadget-simple {
		display: flex;
		align-items: center;
		height: 40px;
		padding: 0;
	}

	#google-translate-element .goog-te-gadget-simple .goog-te-menu-value span:first-of-type,
	#google-translate-element-mobile .goog-te-gadget-simple .goog-te-menu-value span:first-of-type {
		margin-right: 5px;
	}

	#google-translate-element .goog-te-gadget-simple .goog-te-menu-value span:not(:first-of-type):not(:last-of-type),
	#google-translate-element-mobile .goog-te-gadget-simple .goog-te-menu-value span:not(:first-of-type):not(:last-of-type) {
		display: none;
	}

	/* Navigation Desktop  */
	header nav {
		height: 110px;
		display: flex;
		justify-content: flex-end;
		align-items: flex-end;
	}

	header nav div.first-level {
		height: 60px;
		padding: 10px;
	}

	header nav div.first-level:last-of-type {
		padding-right: 0;
	}

	header nav div.first-level + .separator {
		height: 50px;
		width: 1px;
		margin: 5px 0;
		background-color: var(--text-color);
	}

	.search-icon {
		min-width: 40px;
		display: inline-block;
	}

	.search-icon > svg:first-child {
		position: relative;
		top: 1px;
		width: 20px;
		height: 20px;
		margin-left: 10px;
		fill: var(--text-color);
	}

	header nav div.first-level > a {
		font-size: clamp(16px, 1.175vw, 22px);
	}

	header nav div.first-level > a:hover {
		text-decoration: underline;
	}

	header nav div.first-level > a:focus {
		outline-offset: 8px;
	}

	header nav div.first-level a {
		position: relative;
		text-decoration: none;
		color: var(--text-color);
	}

	header nav div.first-level.active a > .wave {
		display: block;
		position: absolute;
		bottom: -7px;
		left: 0;
	}

	header nav div.first-level:not(.active) a > .wave {
		display: none;
	}

	header nav div.first-level div.second-level a {
		font-size: 16px;
	}

	header nav div.first-level:hover > div.second-level-container,
	header nav div.first-level > a:focus + div.second-level-container,
	header nav div.first-level:focus-within > div.second-level-container {
		display: flex;
		z-index: 1;
	}

	header nav div.second-level-container {
		position: absolute;
		top: 150px;
		left: 0;
		width: 100%;
		display: none;
		background-color: var(--white);
		padding: 20px 0;
		box-shadow: inset 0 3px 6px var(--cover-color), 0 3px 6px var(--cover-color);
	}

	header nav div.second-level > p {
		width: 260px;
		border-bottom: 1px solid var(--blue);
	}

	header nav div.second-level > p > a,
	header nav div.second-level > ul > li.active > a,
	header nav div.second-level > ul > li > a:focus {
		font-weight: var(--bold);
	}

	header nav div.second-level > p a svg,
	header nav div.second-level > ul > li > a svg {
		position: relative;
		display: none;
		top: 1px;
		width: 12px;
		height: 12px;
		transform: rotate(90deg);
		margin-left: 5px;
	}

	header nav div.second-level > p.active a svg,
	header nav div.second-level > ul > li.active > a svg {
		display: inline-block;
		fill: var(--red);
	}

	header nav div.second-level > p a:hover svg,
	header nav div.second-level > p a:focus svg,
	header nav div.second-level > ul > li > a:hover svg,
	header nav div.second-level > ul > li > a:focus svg {
		display: inline-block;
		fill: var(--blue);
	}

	header nav div.second-level > ul {
		list-style: none;
		padding-top: 10px;
	}

	header nav div.second-level > ul > li {
		padding: 5px 0;
	}

	header nav div.second-level > ul > li > a:hover {
		text-decoration: underline;
	}

	/* Navigation Tablet und Mobile */
	.mobile-menu {
		height: 100%;
	}

	.mobile-menu .mobile-menu-toggle {
		position: relative;
		border: none;
		background-color: var(--white);
		padding-top: 20px;
		text-transform: uppercase;
		font-size: 15px;
		font-weight: var(--bold);
	}

	.mobile-menu .mobile-menu-toggle:hover {
		cursor: pointer;
	}

	.mobile-menu .mobile-menu-toggle::before,
	.mobile-menu .mobile-menu-toggle::after {
		content: "";
		position: absolute;
		width: 100%;
		height: 3px;
		background-color: var(--text-color);
		left: 0;
		transition: transform .5s;
	}

	.mobile-menu .mobile-menu-toggle::before {
		top: 1px;
	}

	.mobile-menu .mobile-menu-toggle::after {
		top: 11px;
	}

	.mobile-menu .mobile-menu-toggle.open::before {
		transform: translate(0, 5px) rotate(20deg);
	}

	.mobile-menu .mobile-menu-toggle.open::after {
		transform: translate(0, -5px) rotate(-20deg);
	}

	.mobile-menu .mobile-menu-toggle span {
		pointer-events: none;
	}

	#page-cover {
		position: fixed;
		top: 150px;
		left: 0;
		width: 20vw;
		height: calc(100vh - 150px);
		display: none;
		background-color: var(--cover-color);
		z-index: 1;
	}

	#mobile-menu:not(.open) .mobile-menu-nav {
		display: none;
	}

	#mobile-menu.open div.mobile-menu-nav,
	#mobile-menu.open #page-cover {
		display: block;
	}

	div.mobile-menu-nav {
		position: fixed;
		top: 150px;
		right: 0;
		width: 80vw;
		height: calc(100vh - 150px);
		z-index: 10;
		background-color: var(--white);
	}

	.mobile-menu-nav .language-selection a {
		font-size: 20px;
	}

	.mobile-menu-nav .language-selection a.active span.arrow {
		top: 5px;
	}

	.mobile-menu-nav-center {
		height: calc(100% - 120px);
		overflow: hidden;
	}

	.mobile-menu-nav-center a {
		color: var(--text-color);
		text-decoration: none;
	}

	.mobile-menu-nav-center a:hover {
		text-decoration: underline;
	}

	.mobile-menu-nav-center a.active {
		text-decoration: underline;
	}

	.mobile-menu-nav-center a.active:hover {
		text-decoration: none;
	}

	.mobile-menu-nav-center a ~ button {
		position: relative;
		top: -3px;
		font-size: 18px;
	}

	.mobile-menu-nav-center.no-info {
		height: calc(100% - 120px);
	}

	.mobile-menu-nav-center .wave,
	.mobile-menu-nav-center nav {
		position: relative;
		top: 80%;
		transition: top ease-out .5s;
	}

	.mobile-menu-nav-center .wave {
		height: 20%;
	}

	div.mobile-menu-nav.open div.mobile-menu-nav-center .wave,
	div.mobile-menu-nav.open div.mobile-menu-nav-center nav {
		top: 0;
	}

	.mobile-menu-nav-center nav {
		height: 80%;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: var(--blue);
	}

	.mobile-menu-nav-center nav ul {
		list-style: none;
	}

	.mobile-menu-nav-center nav > ul {
		height: 100%;
		width: 100%;
		display: block;
		overflow-y: auto;
		padding: 15px 0;
	}

	.mobile-menu-nav-center nav .toggle-nav-level {
		display: inline-block;
		transition: transform .2s;
	}

	.mobile-menu-nav-center nav .toggle-nav-level:hover {
		cursor: pointer;
	}

	.mobile-menu-nav-center nav .toggle-nav-level svg {
		position: relative;
		top: 3px;
		width: 14px;
		height: 14px;
		transform: rotate(90deg);
		margin-left: 5px;
		pointer-events: none;
	}

	.mobile-menu-nav-center nav .toggle-nav-level {
		border: none;
		background-color: transparent;
		transform: rotate(0deg);
	}

	.mobile-menu-nav-center nav .toggle-nav-level.active {
		transform: rotate(90deg);
	}

	.mobile-menu-nav-center nav > ul li {
		width: 100%;
		text-align: center;
	}

	.mobile-menu-nav-center nav ul.hidden {
		display: none;
		padding: 0;
	}

	.mobile-menu-nav-center nav ul ul:not(.hidden) {
		display: block;
		padding: 15px 0;
	}

	.mobile-menu-nav-center nav ul > li:not(:last-of-type) {
		padding-bottom: 15px;
	}

	.mobile-menu-nav-center nav ul > li a {
		font-size: 22px;
	}

	.mobile-menu-nav-center nav {
		overflow-y: auto;
	}

	.mobile-menu-nav-center nav ul > li > ul {
		background-color: var(--light-blue);
	}

	.mobile-menu-nav-center nav ul > li > ul > li > ul {
		background-color: var(--lighter-blue);
	}

	.mobile-menu-nav-center nav ul > li > ul,
	.mobile-menu-nav-center nav ul > li > ul > li > ul {
		padding: 15px;
	}

	.mobile-menu-nav .infobanner {
		height: calc(25% - 50px);
	}

	/* Infobanner */
	.infobanner.blue {
		background-color: var(--blue);
	}

	.infobanner.yellow {
		background-color: var(--yellow);
	}

	.infobanner.red {
		background-color: var(--light-red);
	}

	.infobanner img {
		width: 32px;
	}

	.infobanner p em span {
		top: 1px;
	}

	.mobile-menu-nav .infobanner {
		padding: 15px;
	}

	.mobile-menu-nav .infobanner > div {
		width: 100%;
	}
	/** == Header end == **/

	/** == Inhalt start == **/
	.breadcrumb p {
		margin: 40px 0 10px 0;
	}

	.breadcrumb p a {
		text-decoration: none;
	}

	.breadcrumb p a:hover {
		text-decoration: underline;
	}

	.breadcrumb p a:not(:last-child) {
		margin-right: 5px;
	}

	.breadcrumb p a svg {
		position: relative;
		width: 10px;
		height: 10px;
		transform: rotate(90deg);
		margin: 0 5px 0 0;
		fill: var(--blue);
	}

	.breadcrumb a.active {
		color: var(--header-color);
		font-weight: var(--bold);
	}

	.breadcrumb a.active svg {
		fill: var(--red);
	}

	main {
		background-color: var(--default-background);
		padding-bottom: 40px;
	}
	/** == Inhalt end == **/

	/** == Footer start == **/
	footer {
		background-color: var(--white);
		box-shadow: inset 0 3px 6px var(--cover-color);
		font-size: 16px;
	}

	footer a.maps-link {
		display: inline-block;
	}

	footer .address-opening {
		margin-top: 20px;
		margin-bottom: 20px;
	}

	footer .opening {
		background-color: var(--default-background);
		border: 1px solid var(--footer-border);
		border-radius: 20px;
	}

	footer .opening-header {
		font-weight: var(--bold);
		color: var(--header-color);
	}

	footer div.icons a {
		display: inline-block;
		width: 30px;
		height: 30px;
		text-decoration: none;
	}

	footer div.icons svg {
		width: 30px;
		height: 30px;
		fill: var(--blue);
	}

	footer .last-part > svg:first-of-type {
		position: absolute;
		right: 0;
		bottom: 0;
	}

	footer .footer-links {
		margin-top: 40px;
		margin-left: 20px;
	}

	footer .footer-links > a {
		display: block;
	}
	/** == Footer end == **/

	/** == Data start == **/
	.address-data {
		border: 1px solid var(--light-blue);
		position: relative;
	}

	.event-data {
		border: 1px solid var(--text-color);
	}

	.address-data,
	.event-data {
		border-radius: 20px;
		background-color: var(--white);
		padding: 25px;
		height: 100%;
	}

	.address-data h2,
	.event-data h2 {
		margin-top: 0;
		margin-bottom: 20px;
	}

	.address-data p,
	.event-data p,
	.address-data pre,
	.event-data pre {
		margin-bottom: 20px;
	}

	.address-data pre,
	.event-data pre {
		font-family: "Noto Sans", sans-serif;
		white-space: break-spaces;
	}

	.address-data a,
	.event-data a {
		word-break: break-word;
	}

	.address-data a.btn,
	.event-data a.btn {
		white-space: nowrap;
	}

	.address-data .address-data__body {
		margin-bottom: 35px;
	}

	.address-data a:not(.btn) svg {
		transform: translateY(3px);
		fill: var(--header-color);
		height: 18px;
		padding-right: 10px;
	}

	.address-data .address-data__footer {
		position: absolute;
		bottom: 25px;
		right: 25px;
	}


	.address-data p:nth-child(odd),
	.event-data p:nth-child(odd) {
		color: var(--header-color);
		font-weight: var(--bold);
	}

	.address-data .address-data__body p:nth-child(odd) {
		margin-bottom: 0;
	}

	p.short {
		margin-bottom: 20px;
		font-size: 25px;
		color: var(--header-color);
	}

	.address-data span,
	.organizer-data span,
	.venue-data span,
	.event-date span {
		display: block;
	}

	.event-date span > span {
		margin-left: 15px;
	}

	.row.department-list {
		margin-left: -40px;
		margin-right: -40px;
	}

	.row.department-list > .department-entry {
		padding-left: 40px;
		padding-right: 40px;
		padding-bottom: 20px;
	}
	/** == Data end == **/

	/** == Category Start == **/
	.row.category {
		margin-top: 40px;
	}

	.category__tag {
		border: 1px solid var(--border-color);
		border-radius: 20px;
		background-color: var(--white);
		padding: 2px 10px;
		white-space: nowrap;
	}

	.category__date {
		color: var(--header-color);
		float: right;
	}
	/** == Category end == **/

	/** == Social Start == **/
	.social-block__wrapper--right {
		float: right;
	}

	.social-block__wrapper--left .social-block__icon,
	.social-block__wrapper--right .social-block__icon {
		display: inline-block;
		height: 30px;
	}

	.social-block__wrapper--left .social-block__icon {
		margin-right: 40px;
	}

	.social-block__wrapper--right .social-block__icon {
		margin-left: 40px;
	}

	.social-block__wrapper--left .social-block__icon svg,
	.social-block__wrapper--right .social-block__icon svg {
		fill: var(--header-color);
		height: 100%;
	}
	/** == Social end == **/

	/** == Toast Start == **/
	.toast-notification {
		background: white;
		border-radius: 10px;
		bottom: 0;
		overflow: hidden;
		position: fixed;
		right: 50px;
		transform: translateY(calc(100% + 10px));
		-webkit-transition: all 1s ease;
		-moz-transition: all 1s ease;
		-o-transition: all 1s ease;
		transition: all 1s ease;
		width: 250px;
		visibility: hidden;
	}

	.toast-notification.active {
		transform: translateY(-50px);
		visibility: visible;
	}

	.toast-notification.success {
		box-shadow: 0 0 10px 0 var(--success);
	}

	.toast-notification.warning {
		box-shadow: 0 0 10px 0 var(--yellow);
	}

	.toast-notification.error {
		box-shadow: 0 0 10px 0 var(--red);
	}

	.toast-notification.info {
		box-shadow: 0 0 10px 0 var(--blue);
	}

	.toast-notification .toast-notification__header {
		height: 25px;
	}

	.toast-notification.success .toast-notification__header svg {
		fill: var(--success);
	}

	.toast-notification.warning .toast-notification__header svg {
		fill: var(--yellow);
	}

	.toast-notification.error .toast-notification__header svg {
		fill: var(--red);
	}

	.toast-notification.info .toast-notification__header svg {
		fill: var(--blue);
	}

	.toast-notification .toast-notification__body {
		padding: 5px;
		text-align: center;
	}

	.toast-notification .toast-notification__body p {
		color: var(--text-color);
		font-weight: var(--regular);
		hyphens: none;
	}
	/** == Toast end == **/

	/** == Form start == **/
	#form-layout {
		border: 1px solid var(--border-color);
		border-radius: 20px;
		padding: 25px;
		background-color: var(--white);
	}

	#form-layout div.input-container {
		display: flex;
		margin-top: 25px;
	}

	p.mandatory-notice {
		font-size: 22px;
		color: var(--error-red);
	}

	#form-layout label {
		width: 100%;
	}

	#form-layout label:not([data-form-type="checkbox"]) span,
	[data-captcha-type="label"] {
		display: block;
		font-size: 22px;
		color: var(--header-color);
	}

	#form-layout label[data-form-type="password"] {
		position: relative;
	}

	label[data-form-type="checkbox"] {
		display: flex;
	}

	label[data-form-type="checkbox"] span {
		margin-top: -4px;
		padding-left: 10px;
		font-size: 14px;
		color: var(--text-color);
	}

	label[data-form-type="checkbox"] span p,
	#contact-form label[data-form-type="checkbox"] span {
		display: inline;
	}

	#contact-form [data-captcha-type="label"] {
		display: block;
	}

	#form-layout fieldset:not([data-form-type="captcha"]) legend {
		font-size: 22px;
		color: var(--label-color);
	}

	#form-layout label[data-form-type="file"] span {
		display: block;
	}

	#form-layout label[data-form-type="radio"] {
		display: block;
	}

	#form-layout label[data-form-type="radio"] span {
		font-size: 18px;
		color: var(--text-color);
	}

	#form-layout input[type="submit"] {
		align-self: flex-end;
		border: 0;
		border-radius: 20px;
		background-color: var(--yellow);
		padding: 10px 15px;
		color: var(--text-color);
		text-transform: uppercase;
	}

	#form-layout input[type="submit"]:hover {
		background-color: var(--light-yellow);
	}

	label span:not(.default),
	.date-label-span span:not(.default):first-child {
		display: block;
		font-size: 22px;
		color: var(--label-color);
	}

	label span.row > span:not(.default),
	.date-label-span span.row > span:not(.default) {
		display: flex;
		height: 40px;
	}

	.date-label {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 20%;
		height: 40px;
		border: 1px solid var(--border-color);
		border-right: none;
		background-color: var(--yellow);
		font-size: 18px;
		color: var(--text-color);
	}

	.date-label + input {
		width: 80%;
		height: 40px;
	}
	/** == Form end == **/

	/** == Captcha start == **/
	#captcha_image {
		width: 205px;
		margin-right: 15px !important;
	}

	img.captcha_play_image,
	.captcha_reload_button img,
	.captcha_loading_image {
		width: 28px;
		height: 28px;
	}

	#captcha_user {
		margin-top: 10px;
	}
	/** == Captcha end == **/

	/** == Slider Start == **/
	.slider-search__container {
		--slider-image-height: calc((100vw / 60) * 23);
		--slider-container-height: calc(var(--slider-image-height) + 35px);
		--slider-controlls-margin: calc((100vw - 85vw) / 2);
		height: var(--slider-container-height);
		margin-left: calc(-1 * var(--slider-controlls-margin));
		width: 100%;
	}

	.slider-search__container .slider-search__carousel {
		font-size: 0;
		height: var(--slider-container-height);
		overflow: hidden;
		position: absolute;
		text-align: right;
		width: 100%;
		white-space: nowrap;
	}

	.slider-search__container .slider-search__carousel input {
		appearance: none;
		border: none;
		height: 0;
		left: 0;
		position: absolute;
		top: 0;
		width: 0;
	}

	.slider-search__container .slider-search__carousel input:focus {
		outline: none;
	}

	.slider-search__container .slider-search__carousel input:focus + label {
		outline: 2px dashed var(--red);
		outline-offset: 2px;
	}

	.slider-search__container .slider-search__carousel label {
		border: solid 2px var(--text-color);
		background-color: var(--white);
		border-radius: 10px;
		cursor: pointer;
		display: inline-block;
		height: 20px;
		margin: calc(var(--slider-image-height) + 10px) 10px 0 10px;
		transition-duration: .4s;
		width: 20px;
	}

	.slider-search__container .slider-search__carousel .slider-search__control {
		display: inline-block;
		height: 20px;
		margin-left: 55px;
		margin-right: var(--slider-controlls-margin);
		text-align: center;
		width: 20px;
	}

	.slider-search__container .slider-search__carousel .slider-search__control span {
		display: none;
	}

	.slider-search__container .slider-search__carousel .slider-search__control span.show {
		display: inline-block;
	}

	.slider-search__container .slider-search__carousel a svg {
		fill: var(--text-color);
		height: 20px;
	}

	.slider-search__container .slider-search__carousel .slider-search__image {
		height: var(--slider-image-height);
		position: absolute;
		transform: translateX(-100%);
		transition-duration: .4s;
		top: 0;
		width: 100%;
	}

	.slider-search__container .slider-search__carousel .slider-search__image picture {
		height: inherit;
		width: inherit;
	}

	.slider-search__container .slider-search__carousel .slider-search__image picture img {
		border-radius: 0;
		box-shadow: none;
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

	.slider-search__container .slider-search__carousel input:checked + label {
		background-color: var(--blue);
		border: solid 2px var(--blue);
	}

	.slider-search__container .slider-search__carousel input:checked ~ .slider-search__image {
		transform: translateX(100%);
	}

	.slider-search__container .slider-search__carousel input:checked + label + .slider-search__image {
		transform: translateX(0);
	}

	.slider-search__container.no-controls {
		--slider-container-height: calc(var(--slider-image-height));
	}

	.slider-search__container.no-controls.no-image {
		--slider-container-height: 100px;
	}

	.slider-search__container.no-controls .slider-search__carousel label,
	.slider-search__container.no-controls .slider-search__carousel .slider-search__control {
		display: none;
	}

	.slider-search__container .slider-search__bar-wrapper {
		background-color: var(--white);
		border-radius: 5px;
		left: 50%;
		margin-top: calc(var(--slider-image-height) - 210px);
		opacity: 0.9;
		padding: 10px;
		position: absolute;
		transform: translateX(-50%);
		width: 40%;
		z-index: 1;
	}

	.slider-search__container .slider-search__bar-wrapper .slider-search__icon-button {
		background: transparent;
		border: none;
		height: 22px;
		padding: 0;
		position: absolute;
		right: 25px;
		top: 19px;
		width: 22px;
	}

	.slider-search__container .slider-search__bar-wrapper .slider-search__icon-button svg {
		fill: var(--text-color);
		height: 100%;
		opacity: 0.7;
		width: 100%;
	}

	.slider-search__container.no-controls.no-image .slider-search__bar-wrapper {
		margin-top: 40px;
	}
	/** == Slider End == **/

	/** == Card Start == **/
	.card .card-body h2 {
		margin: 20px 0;
		font-size: 22px;
		font-weight: var(--bold);
	}

	.card .card-body p:first-of-type {
		margin-bottom: 20px;
	}

	.card .card-body span:first-child {
		border: 1px solid var(--border-color);
		border-radius: 20px;
		padding: 2px 10px;
	}

	.card .black {
		color: var(--text-color);
	}

	.card .white {
		color: var(--white);
	}
	/** == Card End == **/

	/** == Tile Start == **/
	.tile.tile--stackable > div[class*="col-"] {
		margin-bottom: 30px;
		margin-top: 25px;
	}

	.tile .tile__wrapper {
		--tile-image-aspect: 19 / 10;
		--tile-image-margin: -40px;
		display: flex;
		flex-direction: column;
		background-color: var(--white);
		border: 1px solid var(--blue);
		border-radius: 20px;
		height: 100%;
		padding: 25px;
		position: relative;
	}

	.news .tile .tile__wrapper {
		display: block;
	}

	.tile .tile__wrapper .tile__image--large {
		--tile-image-aspect: 8 / 5;
		--tile-image-margin: -65px;
	}

	.tile .tile__wrapper div[class*="tile__image"] {
		aspect-ratio: var(--tile-image-aspect);
		margin-bottom: var(--tile-image-margin);
		transform: translateY(-50px);
	}

	.tile .tile__wrapper div[class*="tile__image"] picture {
		margin-bottom: 0;
		width: 100%;
	}

	.tile .tile__wrapper div[class*="tile__image"] img {
		aspect-ratio: var(--tile-image-aspect);
		border-radius: 20px;
		box-shadow: 5px 5px 10px var(--cover-color);
		object-fit: cover;
	}

	.tile .tile__wrapper .float-left:not(.col-12):not(.col-xl-12) div[class*="tile__image"] {
		padding-right: 32.5px;
	}

	.tile .tile__wrapper .tile__meta {
		margin-bottom: 10px;
	}

	.tile .tile__wrapper .tile__date {
		color: var(--header-color);
		margin-bottom: 10px;
		text-align: right;
	}

	.tile .tile__wrapper .tile__categories {
		float: right;
	}

	.tile .tile__wrapper .tile__title h2 {
		margin-bottom: 10px;
	}

	.tile .tile__wrapper .tile__title h2,
	.tile .tile__wrapper .tile__title h3,
	.tile .tile__wrapper .tile__title--center h2,
	.tile .tile__wrapper .tile__title--center h3,
	.tile .tile__wrapper .tile__subtitle,
	.tile .tile__wrapper p[class*="tile__body"] {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
	}

	.tile .tile__wrapper .tile__title--center {
		text-align: center;
	}

	.tile .tile__wrapper .tile__title h2,
	.tile .tile__wrapper .tile__title h3,
	.tile .tile__wrapper .tile__title--center h2,
	.tile .tile__wrapper .tile__title--center h3 {
		margin: 0 0 10px 0;
		-webkit-line-clamp: 2;
	}

	.tile .tile__wrapper .tile__title + p {
		flex-grow: 1;
	}

	.tile .tile__wrapper .tile__subtitle {
		color: var(--header-color);
		margin-bottom: 20px;
		-webkit-line-clamp: 1;
	 }

	.tile .tile__wrapper .tile__body--short {
		-webkit-line-clamp: 2;
	}

	.tile .tile__wrapper .tile__body,
	.tile .tile__wrapper .tile__body--medium {
		-webkit-line-clamp: 3;
	}

	.tile .tile__wrapper .tile__body--long {
		-webkit-line-clamp: 4;
	}

	.tile .tile__wrapper  .tile__footer {
		text-align: center;
		white-space: nowrap;
	}

	.tile .tile__wrapper .tile__footer--teaser a {
		color: var(--text-color);
		font-weight: var(--bold);
	}

	.tile .tile__wrapper .tile__footer--teaser {
		margin-top: 20px;
	}

	.tile .tile__wrapper .tile__edit-mode > h3,
	.tile .tile__wrapper .tile__edit-mode > .mce-content-body {
		margin-left: 35%;
	}
	/** == Tile End == **/

	/** == Teaser Start == **/
	.teaser__wrapper {
		margin-bottom: 25px;
	}

	.teaser__wrapper div[class*="teaser__title"] {
		text-align: center;
	}

	.teaser__wrapper .teaser__title--bold h1 {
		font-weight: var(--bold);
	}

	.teaser__wrapper .teaser__btn {
		display: flex;
		justify-content: flex-end;
	}

	.teaser__wrapper .teaser__btn a.btn {
		height: max-content;
		line-height: 1;
		margin-top: 10px;
	}
	/** == Teaser End == **/

	/** == Icons-Block Start == **/
	.icon__container {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-evenly;
	}

	.icon__container .icon__wrapper {
		text-align: center;
		text-decoration: none;
		margin-bottom: 20px;
		width: 170px;
	}

	.icon__container .icon__wrapper:hover {
		cursor: pointer;
	}

	.icon__container .icon__wrapper .icon__bubble {
		aspect-ratio: 1 / 1;
		border: 3px solid var(--footer-border);
		border-radius: 50%;
		margin-bottom: 10px;
		margin-left: 50%;
		overflow: hidden;
		transform: translateX(-50%);
		width: 100%;
	}

	.icon__container .icon__wrapper .icon__bubble picture,
	.icon__container .icon__wrapper .icon__bubble picture img {
		height: 100%;
		width: 100%;
		object-fit: cover;
	}

	.icon__container .icon__title {
		font-size: 22px;
		margin: 0 -10px;
	}

	hr.icon__divider {
		border-top: 2px solid var(--blue);
		margin-top: 55px;
	}
	/** == Icon-Block End == **/

	/** == Footer Start == **/
	.go-to-top {
		background-color: var(--default-background);
	}

	.go-to-top a {
		position: relative;
		display: block;
		top: 40px;
		height: 60px;
		width: 60px;
		border-radius: 10px 10px 0 0;
		padding: 10px;
		background-color: var(--blue);
	}

	.go-to-top svg {
		width: 100%;
		height: 100%;
		fill: var(--text-color);
	}

	footer .address p:first-child {
		margin-bottom: 5px;
	}

	footer .icons {
		display: flex;
		gap: 25px;
	}
	/** == Footer End == **/

	.leaflet-container {
		z-index: 0;
	}
}

@media (max-width: 1599px) {
	/** == Icons-Block Start == **/
	.icon__container {
		column-gap: 75px;
	}

	.icon__container.icon__quartet {
		column-gap: 200px;
	}

	hr.icon__divider {
		margin-top: 25px;
	}
	/** == Icons-Block End == **/
}

@media (max-width: 1399px) {
	/** == Slider Start == **/
	.slider-search__container {
		--slider-controlls-margin: calc((100vw - 1140px) / 2);
	}

	.slider-search__container .slider-search__bar-wrapper {
		width: 60%;
	}
	/** == Slider End == **/

	/** == Tile Start == **/
	.tile .tile__wrapper .tile__edit-mode > h3,
	.tile .tile__wrapper .tile__edit-mode > .mce-content-body {
		margin-left: 50%;
	}

	.tile .tile__wrapper .float-left:not(.col-12):not(.col-xl-12) div[class*="tile__image"] {
		padding-right: 32.5px;
	}
	/** == Tile End == **/

	/** == Icons-Block Start == **/
	.icon__container {
		column-gap: 30px;
	}
	/** == Icons-Block End == **/
}

@media (max-width: 1199px) {
	:required {
		scroll-margin-top: 100px;
	}

	/** == Headers Start == **/
	h1 {
		font-size: 32px;
	}

	h2 {
		font-size: 30px;
	}

	h2.small {
		font-size: 25px;
	}

	h3 {
		font-size: 28px;
	}

	h3.small {
		font-size: 24px;
	}

	h4 {
		font-size: 20px;
	}

	header,
	header.no-banner,
	header > .container,
	header > .container > .row {
		height: 80px;
	}

	img#logo {
		height: 70px;
		width: auto;
	}

	div.mobile-menu-nav {
		top: 80px;
		height: calc(100vh - 80px);
	}

	#page-cover {
		top: 80px;
		height: calc(100vh - 80px);
	}

	.language-banner.active {
		position: absolute;
		top: 0;
		width: 100%;
		z-index: 12;
	}

	.language-banner.active .container div {
		column-gap: 15px;
	}

	.search-icon svg {
		width: 20px;
		height: 20px;
	}
	/** == Headers End == **/

	/** == Language Start == **/
	.language-selection {
		height: 50px;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		margin: 10px;
	}

	.language-selection {
		height: 100px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin: 10px;
	}

	#google-translate-element-mobile .goog-te-gadget-simple {
		margin-bottom: 5px;
	}

	.language-selection .goog-te-menu-value span {
		font-size: 16px;
	}
	/** == Language End == **/

	/** == Slider Start == **/
	.slider-search__container {
		--slider-image-height: calc((100vw / 5) * 3);
		--slider-controlls-margin: calc((100vw - 90vw) / 2);
	}

	.slider-search__container .slider-search__carousel label {
		margin: calc(var(--slider-image-height) + 10px) 5px 0 5px;
	}

	.slider-search__container .slider-search__carousel .slider-search__control {
		margin-left: 15px;
	}

	.slider-search__container .slider-search__bar-wrapper {
		margin-top: calc(var(--slider-image-height) - 180px);
		width: 80%;
	}
	/** == Slider End == **/

	/** == Teaser Start == **/
	.teaser__wrapper .teaser__title:not(.col-12) {
		text-align: left;
	}

	.teaser__wrapper + .tile > div:first-of-type .tile__wrapper {
		display: block;
	}
	/** == Teaser End == **/

	/** == Tile Start == **/
	.tile .tile__wrapper .float-left:not(.col-12) div[class*="tile__image"] {
		padding-right: 32.5px;
	}
	/** == Tile End == **/

	/** == Footer Start == **/
	footer .footer-links {
		margin-top: 20px;
	}

	footer .last-part {
		margin-bottom: 20px;
	}

	footer .address {
		margin-left: 20px;
	}
	/** == Footer End == **/
}

@media (max-width: 991px) {
	main {
		padding-bottom: 50px;
	}

	.go-to-top a {
		top: 50px;
	}

	/** == Slider Start == **/
	.slider-search__container {
		--slider-image-height: calc((100vw / 4) * 3);
		--slider-controlls-margin: calc((100vw - 95vw) / 2);
	}

	.slider-search__container .slider-search__bar-wrapper {
		margin-top: calc(var(--slider-image-height) - 210px);
		width: calc(100vw - var(--slider-controlls-margin));
	}
	/** == Slider End == **/

	/** == Tile Start == **/
	.tile .tile__wrapper .tile__image--large {
		--tile-image-margin: -40px;
	}

	.tile .tile__wrapper .tile__edit-mode > h3,
	.tile .tile__wrapper .tile__edit-mode > .mce-content-body {
		margin-left: 0;
	}

	.tile .tile__wrapper .tile__edit-mode > h3 {
		margin-top: 60%;
	}

	.teaser__wrapper + .tile > div:first-of-type .tile__wrapper {
		display: block;
	}
	/** == Tile End == **/

	/** == Icons-Block Start == **/
	.icon__container {
		column-gap: 45px;
	}

	.icon__container.icon__quartet {
		column-gap: 140px;
	}

	hr.icon__divider {
		margin-top: 20px;
	}
	/** == Icons-Block End == **/

	/** == Footer Start == **/
	footer .address {
		margin-left: 20px;
	}
	/** == Footer End == **/
}

@media (max-width: 767px) {
	form.fill-out__form {
		margin-bottom: 50px;
	}

	/** == Searchbar Start == **/
	.searchbar__buttons .btn {
		width: 100%;
	}
	/** == Searchbar End == **/

	.searchbar__buttons .btn:not(:first-child) {
		margin-top: 15px;
	}

	/** == Mobile Menu Start == **/
	div.mobile-menu-nav {
		width: 100vw;
	}

	.mobile-menu-nav-center {
		height: calc(100% - 120px);
	}

	.mobile-menu-nav-center.no-info {
		height: calc(100% - 120px);
	}

	.mobile-menu-nav .infobanner {
		height: calc(35% - 50px);
	}
	/** == Mobile Menu End == **/

	/** == Slider Start == **/
	.slider-search__container {
		--slider-image-height: calc((100vw / 1) * 1);
	}

	.slider-search__container .slider-search__bar-wrapper {
		margin-top: calc(var(--slider-image-height) - 130px);
	}
	/** == Slider End == **/

	/** == Teaser Start == **/
	.teaser__wrapper {
		margin-bottom: 20px;
	}

	.teaser__wrapper .teaser__title:not(.col-12) {
		margin-bottom: 5px;
		text-align: center;
	}

	.teaser__wrapper .teaser__btn {
		justify-content: center;
	}
	/** == Teaser End == **/

	/** == Tile Start == **/
	.tile .tile__wrapper .float-left div[class*="tile__image"] {
		padding-right: 0 !important;
	}
	/** == Tile End == **/

	/** == Icons-Block Start == **/
	.icon__container,
	.icon__container.icon__quartet {
		column-gap: 65px;
	}

	.icon__container .icon__wrapper {
		width: 160px;
	}
	/** == Icons-Block End == **/

	/** == Footer Start == **/
	footer .container .mobile-center {
		flex-direction: column;
	}

	footer .container .mobile-center,
	footer .container .mobile-center > p,
	footer .container .mobile-center > div.icons {
		display: flex;
		justify-content: center;
	}

	footer .address,
	footer .address-opening .opening {
		text-align: center;
	}

	footer .footer-links {
		margin-left: 0;
	}

	footer .footer-links > a,
	footer .footer-links > p,
	footer .last.mobile-center > div > .footer-follow {
		display: flex;
		justify-content: center;
	}

	footer .last.mobile-center {
		margin-bottom: 225px;
	}

	footer .last-part > svg:first-of-type {
		left: 50%;
		transform: translateX(-50%);
	}
	/** == Footer End == **/
}
