* {
	margin: 0;
}

*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-size: var(--font-default-size);

    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
	font-family: var(--font-default-family);
	font-weight: var(--font-default-weight);
	font-size: var(--font-default-size);
	background-color: var(--color-white);
	color: var(--color-text);
	-webkit-font-smoothing: antialiased;
	min-width: var(--body-min-width);
}

img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
	height: auto;
}

b, strong {
	font-weight: var(--font-default-weight-bold);
}

i, em {
	font-style: var(--font-default-italic);
}

ul,
ol {
	margin: 0;
	padding-left: 20px;
}

	ul {
		list-style-type: disc;
	}

	ol {
		list-style-type: decimal;
	}

	li > *:first-child {
		margin-top: 0;
	}

	.content ol li + li,
	.content ul li + li {
		margin-top: 0.2em;
	}

	ul li > ol,
	ul li > ul,
	ol li > ol,
	ol li > ul {
		margin-top: 0;
	}

	ul.no-list-style,
	ol.no-list-style {
		padding: 0;
		list-style-type: none;
	}

		.content ul.no-list-style li + li,
		.content ol.no-list-style li + li {
			margin-top: 0;
		}

small {
	font-size: var(--fontsize-smaller);
}

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

	a:hover,
	a:focus {
		color: var(--color-text);
	}

form {
}

	form fieldset {
		border: 0;
		padding: 0;
		margin: 60px 0;
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		justify-content: space-between;
		align-items: flex-start;
	}

		form fieldset legend {
			margin-bottom: 20px;
		}

		@media ( max-width: 640px ) {

			form fieldset {
				margin-top: 30px;
			}

		}

	input,
	button,
	textarea,
	select {
		font: inherit;
		line-height: 1;
		box-sizing: border-box;
		display: inline-block;
		padding: 8px 10px;
		color: var(--color-black);
		background-color: var(--color-white);
		border: 1px solid var(--color-grey);
		border-radius: 0;
		font-family: var(--font-default-family);
		font-weight: var(--font-default-weight);
		max-width: 100%;
		appearance: none;
	}

		input:active,
		input:focus,
		button:active,
		button:focus,
		textarea:active,
		textarea:focus,
		select:active,
		select:focus {
			outline: 1px solid var(--color-blue);
			box-shadow: 0px 0px 4px 0px var(--color-blue);
		}

		input:disabled {
			outline: none;
			box-shadow: none;
		}

		::-webkit-input-placeholder {
			color: var(--color-blue-light);
			opacity: 1;
		}
		:-moz-placeholder {
			color: var(--color-blue-light);
			opacity: 1;
		}
		::-moz-placeholder {
			color: var(--color-blue-light);
			opacity: 1;
		}
		:-ms-input-placeholder {
			color: var(--color-blue-light);
			opacity: 1;
		}
		::-ms-input-placeholder {
			color: var(--color-blue-light);
			opacity: 1;
		}
		::placeholder {
			color: var(--color-blue-light);
			opacity: 1;
		}

		form.validate :invalid,
		form .invalid {
			border-color: var(--color-red);
		}

		button,
		input[type="submit"],
		.button {
			text-align: center;
			cursor: pointer;
			background: var(--color-yellow);
			border: 2px solid var(--color-yellow);
			color: var(--color-blue);
			display: inline-block;
			box-sizing: border-box;
			padding: 5px 30px;
			border-radius: 30px;
			text-decoration: none;
			font-family: var(--font-special-family);
			font-weight: var(--font-special-weight);
		}

			button:not([disabled]):hover,
			button:not([disabled]):focus,
			input[type="submit"]:not([disabled]):hover,
			input[type="submit"]:not([disabled]):focus,
			.button:not(.disabled):hover,
			.button:not(.disabled):focus {
				background: var(--color-blue);
				border-color: var(--color-blue);
			}

			button[disabled],
			input[type="submit"][disabled]
			.button.disabled {
				opacity: 0.5;
				cursor: not-allowed;
			}

			.button:hover,
			.button:focus,
			button:hover,
			button:focus {
				background: var(--color-blue);
				border-color: var(--color-blue);
				color: var(--color-yellow);
			}

			.button__fullwidth {
				width: 100%;
			}

			.button__outline {
				border: 2px solid var(--color-blue);
				background: transparent;
			}

				.button__outline:hover,
				.button__outline:focus {
					background: var(--color-blue);
					color: var(--color-white);
				}

			.button--blue {
				border-color: var(--color-blue);
				background-color: var(--color-blue);
				color: var(--color-white);
			}

				.button--blue:hover,
				.button--blue:focus {
					color: var(--color-blue);
					background-color: var(--color-white);
				}

			.button__icon-pdf {
				position: relative;
			}
			
				.button__icon-pdf:before {
					content: "";
					display: inline-block;
					vertical-align: text-bottom;
					width: 22px;
					height: 22px;
					margin: -1px 2px -1px 0;
					background: var(--color-blue);
					mask: url(../img/icons/file-pdf.svg) no-repeat left center / contain;
				}
				
					.button__icon-pdf:hover:before,
					.button__icon-pdf:focus:before {
						background: var(--color-white);
					}

		select {
			appearance: none;
			background: var(--color-white) url(../img/icons/arrow-dropdown.svg) no-repeat right 10px top 50% / 20px auto;
			color: var(--color-blue);
			padding-right: 36px;
			padding-top: 12px;
			padding-bottom: 12px;
		}

	form label input,
	form label select {
		width: 100%;
	}

		form label input[type="checkbox"],
		form label input[type="radio"],
		input[type="radio"] {
			display: inline-block;
			vertical-align: middle;
			padding: 0;
			width: 16px;
			height: 16px;
			border: 1px solid var(--color-blue);
		}

			form label input[type="radio"],
			input[type="radio"] {
				border-radius: 50%;
			}

			form label input[type="checkbox"]:checked,
			form label input[type="radio"]:checked,
			input[type="radio"]:checked {
				background: var(--color-blue);
			}

	form .label-description {
		display: block;
		color: var(--color-highlight);
		margin-bottom: 3px;
	}

	form label {
		display: block;
		width: 100%;
	}

		form label.with-checkbox {
			display: flex;
			justify-content: flex-start;
			align-items: flex-start;
			gap: 10px;
		}

			form label.with-checkbox input {
				margin-top: 5px;
				flex-grow: 0;
				flex-shrink: 0;
			}

			form label.with-checkbox .label-description {
				flex-grow: 1;
			}

		form label.width-half {
			display: inline-block;
			width: calc(50% - 10px);
		}

	form small.required-information {
		display: block;
		margin: 40px 0 60px;
	}

	form .form-message {
		display: block;
		margin: 0 0 40px;
		background: var(--color-grey-light);
		padding: 10px;
		text-align: center;
		font-family: var(--font-special-family);
		font-weight: var(--font-special-weight);
	}

		form .form-message.form-error {
			background: var(--color-white);
			background: var(--color-rose);
			color: var(--color-black);
		}

	@media ( max-width: 640px ) {

		form label.width-half {
			width: 100%;
		}

	}

.width {
	width: 100%;
	max-width: var(--width-max);
	padding: 0 20px;
	box-sizing: border-box;
	margin: 0 auto;
}

	.width > :first-child {
		margin-top: 0;
	}

.content {
	line-height: var(--font-default-line-height);
}

	.content > :first-child {
		margin-top: 0;
	}

p,
ul,
ol,
img,
picture,
svg,
video,
blockquote,
dl,
figure,
form,
h2,
h3,
h4,
h5,
h6,
hr,
nav,
pre,
table {
	margin-top: 1em;
}

	h1 + *,
	h2 + *,
	h3 + *,
	h4 + *,
	h5 + *,
	h6 + * {
		margin-top: 0.5em;
	}

.columns {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;

	--gap: 40px;
}

	.columns {
		gap: var(--gap);
	}

	.columns .column {
		flex: 1;
	}

	.columns-2 .column {
		flex-basis: calc(50% - calc(var(--gap) / 2));
	}

		.columns-2.columns-layout-66-33 .column-1,
		.columns-2.columns-layout-33-66 .column-2 {
			flex-basis: calc(64% - calc(var(--gap) / 2));
		}

		.columns-2.columns-layout-66-33 .column-2,
		.columns-2.columns-layout-33-66 .column-1 {
			flex-basis: calc(33% - calc(var(--gap) / 2));
		}

.video-embed {
	display: block;
	margin: 0;
	position: relative;
	aspect-ratio: 16/9;
	width: 100%;
	height: auto;
	background: var(--color-black);
}

	.video-embed img,
	.video-embed iframe {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
		margin: 0;
	}

	.video-embed:not(:has(iframe)):before {
		content: "";
		display: block;
		width: 60px;
		margin-left: -30px;
		height: 60px;
		margin-top: -30px;
		border-radius: 50%;
		position: absolute;
		left: 50%;
		top: 50%;
		background: var(--color-blue);
		z-index: 4;
		pointer-events: none;
	}

	.video-embed:not(:has(iframe)):after {
		content: "";
		display: block;
		position: absolute;
		z-index: 5;
		left: 50%;
		top: 50%;
		border-top: 20px solid transparent;
		margin-top: -20px;
		border-left: 30px solid #fff;
		margin-left: -10px;
  		border-bottom: 20px solid transparent;
  		pointer-events: none;
	}

.consent-embed-container { 
	position: relative; 
	padding-bottom: 56.25%;
	overflow: hidden;
	max-width: 100%;
	height: auto;
	background: var(--color-grey);
} 

	.consent-embed-container > iframe,
	.consent-embed-container > span,
	.consent-embed-container > div {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.consent-embed-container .consent-embed-container__consent {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		box-sizing: border-box;
		padding: 10px;
	}

	.consent-embed-container:has(iframe[src]:not([src=""])) {
		background: transparent;
	}

	.consent-embed-container .map-box {
		height: 304px;
	}

	.consent-embed-container .cookieconsent-optin-marketing {
		background: var(--color-white);
	}

.infobox {
	--color-background: var(--color-blue);
	--color-text: var(--color-white);
	--color-highlight: var(--color-text);

	padding: 40px;
	box-sizing: border-box;
	position: relative;

	background: var(--color-background);
	color: var(--color-text);
}

	.infobox--warning:after {
		content: "";
		position: absolute;
		right: 10px;
		top: 36px;
		height: calc(100% - 80px);
		width: 200px;
		background: url(../img/icons/warning.svg) no-repeat center center / contain;
	}

	.infobox__content {
		max-width: 84%;
		text-wrap: balance;
	}

	.infobox__headline {
		margin-top: 0;
	}

	.infobox .button:hover {
		background-color: var(--color-white);
		border-color: var(--color-white);
		color: var(--color-blue);
	}

	@media ( max-width: 1040px ) {

		.infobox--warning:after {
			width: 40px;
			height: 40px;
			right: 10px;
			top: 7px;
		}

		.infobox__content {
			max-width: unset;
		}

	}

	@media ( max-width: 840px ) {

		.infobox {
			padding: 30px 20px;
		}

		.infobox__content {
			padding-right: 30px;
		}

	}

details {
	border-top: 2px solid var(--color-grey);
	border-bottom: 2px solid var(--color-grey);
	padding: 10px 0;
}

	summary::-ms-details-marker {
		display: none;
	}
	summary::-moz-details-marker {
		display: none;
	}
	summary::-webkit-details-marker {
		display: none;
	}
	summary::details-marker {
		display: none;
	}
	summary::-ms-marker {
		display: none;
	}
	summary::-moz-marker {
		display: none;
	}
	summary::-webkit-marker {
		display: none;
	}
	summary::marker {
		display: none;
	}

	details + details {
		border-top: 0;
	}

	details summary {
		cursor: pointer;
		list-style: none;
		position: relative;
		font-family: var(--font-special-family);
		font-weight: var(--font-special-weight);
		liste-style: none;
	}

		details summary:before,
		details summary:after {
			content: "";
			display: block;
			position: absolute;
			right: 10px;
			top: 50%;
			width: 30px;
			height: 26px;
			margin-top: -13px;
			background: no-repeat center center / contain;
		}
	
			details summary:before {
				background-image: url(../img/icons/arrow-down.svg);
			}
			
				details[open] summary:before {
					opacity: 0;
				}

			details summary:after {
				background-image: url(../img/icons/arrow-up.svg);
				opacity: 0;
			}
			
				details[open] summary:after {
					opacity: 1;
				}

		details summary .accordion-title {
			display: inline-block;
			margin: 0;
		}
		
			details[open] summary .accordion-title,
			details summary:hover .accordion-title,
			details summary:focus .accordion-title {
				color: var(--color-text);
			}

.margin-top {
	margin-top: 1em;
}

	.margin-top-spacing-single {
		margin-top: var(--spacing);
	}

	.margin-top-spacing-double {
		margin-top: calc(2 * var(--spacing));
	}

.tag {
	font-family: var(--font-special-family);
	font-weight: var(--font-special-weight);
	font-size: var(--fontsize-tiny);
	text-transform: uppercase;
	display: inline-block;
	background: var(--color-blue);
	color: var(--color-white);
	padding: 0.1rem 0.2rem;
	vertical-align: middle;
}

.screen-reader-text {
	position: absolute;
	top: -100px;
	left: 0;
	z-index: 9999;
	padding: 10px 20px;
	background-color: var(--color-black);
	color: var(--color-white) !important;
}

	.screen-reader-text:focus {
		top: 0;
	}

.header {
	position: fixed;
	left: 0;
	top: calc(var(--adminbar-height) + var(--templatemessage-height));
	width: 100%;
	z-index: 100;
	font-family: var(--font-special-family);
	min-width: var(--body-min-width);
}

	body.transition .header {
		transition: top 200ms ease-in-out;
	}

	body.scrolled .header {
		top: calc( var(--adminbar-height) + var(--templatemessage-height) + -1 * var(--topbar-height) );
	}

	.header #menu-topbar .login {
		opacity: 0;
		pointer-events: none;
	}
	
		.header #menu-topbar .login.visible {
			opacity: 1;
			pointer-events: all;
		}

		@media (scripting: none) {

			.header #menu-topbar .login {
				display: unset;
			}

		}

	.header .menu {
		list-style-type: none;
		margin: 0;
		padding: 0;
		display: inline-block;
	}
	
		.header .menu li {
			display: inline-block;
		}

	.topbar {
		height: var(--topbar-height);
		background: var(--color-grey);
		text-align: right;
		color: var(--color-highlight);
		font-size: var(--topbar-menu-fontsize);
		margin: 0;
		position: relative;
		padding-bottom: var(--deco-strip-height);
		box-sizing: content-box;
	}

		.topbar:after {
			content: "";
			display: block;
			width: 100%;
			height: var(--deco-strip-height);
			background: url(../img/header/deco-strip.svg) repeat-x center center / auto 100%;
			position: absolute;
			left: 0;
			bottom: 0;
		}

		.topbar .width {
			display: flex;
			height: 100%;
			justify-content: flex-end;
			align-items: center;
		}
		
			.topbar .menu > li {
				display: inline-block;
				position: relative;
				padding-left: 14px;
				box-sizing: border-box;
			}
			
				.topbar .menu > li + li {
					margin-left: 10px;
				}
			
				.topbar .menu > li + li:before {
					content: "";
					display: block;
					width: 1px;
					height: 100%;
					position: absolute;
					left: 0;
					top: 0;
					background: var(--color-blue-light);
					opacity: 0.5;
				}
			
			.topbar .menu li a {
				color: inherit;
				text-decoration: none;
				display: inline-block;
				vertical-align: middle;
				position: relative;
			}
			
				.topbar .menu li a:hover,
				.topbar .menu li a:focus {
					color: var(--color-black);
				}

				.topbar .menu li.login > a:after {
					content: "";
					display: inline-block;
					width: 16px;
					height: 16px;
					vertical-align: middle;
					margin-left: 3px;
					background: var(--color-blue);
					mask: url(../img/icons/topbar_login.svg) no-repeat center center / contain;
				}
				
					.topbar .menu li.login > a:hover:after,
					.topbar .menu li.login > a:focus:after {
						background-color: var(--color-black);
					}

					.topbar .menu li.login > span.profile:after {
						content: "";
						display: inline-block;
						width: 16px;
						height: 16px;
						vertical-align: middle;
						margin-left: 3px;
						margin-top: -3px;
						background: var(--color-blue);
						mask: url(../img/icons/topbar_profile.svg) no-repeat center center / contain;
					}

				.topbar .menu li.cart > a:after {
					content: "";
					display: inline-block;
					width: 18px;
					height: 18px;
					vertical-align: middle;
					margin-left: 3px;
					background: var(--color-blue);
					mask: url(../img/icons/topbar_cart.svg) no-repeat center center / contain;
				}
				
					.topbar .menu li.cart a:hover:after,
					.topbar .menu li.cart a:focus:after {
						background-color: var(--color-black);
					}

					.topbar .menu li.cart .cart-count {
						position: absolute;
						width: 12px;
						height: 12px;
						overflow: hidden;
						border-radius: 50%;
						background: var(--color-yellow);
						color: var(--color-blue);
						z-index: 5;
						right: -5px;
						top: -5px;
						font-size: 10px;
						display: flex;
						justify-content: center;
						align-items: center;
						text-align: center;
					}

				.topbar .menu li.search a:after {
					content: "";
					display: inline-block;
					width: 18px;
					height: 18px;
					vertical-align: middle;
					margin-left: 3px;
					background: var(--color-blue);
					mask: url(../img/icons/topbar_search.svg) no-repeat center center / contain;
				}
				
					.topbar .menu li.search a:hover:after,
					.topbar .menu li.search a:focus:after {
						background-color: var(--color-black);
					}

				.topbar .menu li.leichte-sprache > a:after {
					content: "";
					display: inline-block;
					width: 16px;
					height: 16px;
					vertical-align: middle;
					margin-left: 3px;
					margin-top: -2px;
					background: var(--color-blue);
					mask: url(../img/icons/topbar_leichte-sprache.svg) no-repeat center center / contain;
				}
				
					.topbar .menu li.leichte-sprache > a:hover:after,
					.topbar .menu li.leichte-sprache > a:focus:after {
						background-color: var(--color-black);
					}

			.topbar .menu .sub-menu {
				position: absolute;
				z-index: 2000;
				left: 0;
				top: 21px;
				background: var(--color-grey);
				padding: 7px 7px 5px;
				display: none;
				text-align: left;
			}
			
				.topbar .menu .sub-menu:before {
					content: "";
					display: block;
					width: 100%;
					height: 2px;
					top: -2px;
					left: 0;
					position: absolute;
				}

				.topbar .menu .sub-menu li {
					margin: 0;
				}

				.topbar .menu .sub-menu a {
					white-space: nowrap;
					display: block;
					padding: 3px 6px;
				}

				.topbar .menu li.menu-item-has-children:hover .sub-menu,
				.topbar .menu li.menu-item-has-children.sub-menu-open .sub-menu {
					display: block;
				}

		@media ( max-width: 640px ) {

			:root {
				--topbar-height: 70px;
			}

			#menu-topbar {
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-end;
			}

			#menu-topbar > li {
				order: 1;
			}

			#menu-topbar > li.login,
			#menu-topbar > li.cart {
				order: 2;
				margin-top: 10px;
			}

			#menu-topbar > li.leichte-sprache {
				min-width: 380px;
			}
			
				#menu-topbar > li.leichte-sprache:before {
					display: none;
				}

			#menu-topbar > li.cart {
				width: 100px;
			}

			#menu-topbar > li.login {
				min-width: calc(100% - 40px - 185px);
			}

		}

		@media ( max-width: 540px ) {

			#menu-topbar > li.leichte-sprache {
				min-width: 150px;
			}

		}

	.mainbar {
		height: var(--mainbar-height);
		background: var(--color-white);
		font-size: var(--mainbar-menu-fontsize);
		margin: 0;
	}

		.mainbar .width {
			display: flex;
			height: 100%;
			justify-content: space-between;
			align-items: center;
		}

		.mainbar .menu {
			margin-right: -10px;
		}

			.mainbar .menu li {
				display: inline-block;
				position: relative;
			}

			.mainbar .menu a {
				padding: 10px;
				display: inline-block;
				color: var(--color-highlight);
				text-decoration: none;
			}
			
				.mainbar .menu a:after {
					content: "";
					display: block;
					width: 100%;
					height: 1px;
					background: var(--color-blue);
					opacity: 0;
				}

					.mainbar .menu a:has(.menu_item_icon):after,
					.mainbar .menu a:has(.menu_item_arrow):after {
						margin-left: 28px;
						width: calc(100% - 26px);
					}

					body.transition .mainbar .menu a:after {
						transition: opacity 200ms ease-in-out;
					}

				.mainbar .menu .current-menu-item > a[href],
				.mainbar .menu .current-page-ancestor > a[href],
				.mainbar .menu .menu-item-has-children:has(.current-menu-item) > a[href] {
					font-weight: bold;
				}

				.mainbar .menu a[href]:hover:after,
				.mainbar .menu a[href]:focus:after {
					opacity: 1;
				}

			.mainbar__menu-wrapper > .menu > li.menu-item-has-children > .sub-menu {
				position: fixed;
				left: calc(calc(100vw - var(--width-max)) / 2 );
				max-width: var(--width-max);
				width: 100%;
				top: calc(var(--topbar-height) + var(--deco-strip-height) + var(--mainbar-height) + var(--adminbar-height) + var(--templatemessage-height));
				max-height: calc(100vh - var(--topbar-height) - var(--deco-strip-height) - var(--mainbar-height) - var(--adminbar-height) - var(--templatemessage-height));
				box-sizing: border-box;
				opacity: 0;
				padding: 16px 0 0;
				pointer-events: none;
				font-size: var(--fontsize-smaller);
				overflow: visible;
			}

				.mainbar__menu-wrapper > .menu > li.menu-item-has-children > .sub-menu:before {
					content: "";
					display: block;
					position: fixed;
					left: 50%;
					transform: translate(-50%, 0);
					width: var(--width-max);
					height: 330px;
					z-index: -1;
					top: calc(var(--topbar-height) + var(--deco-strip-height) + var(--mainbar-height) + var(--adminbar-height) + var(--templatemessage-height));
				}

				.mainbar__menu-wrapper > .menu > li.menu-item-has-children > .sub-menu:after {
					content: "";
					display: block;
					position: fixed;
					z-index: -2;
					left: 0;
					width: 100vw;
					top: calc(var(--topbar-height) + var(--deco-strip-height) + var(--mainbar-height) + var(--adminbar-height) + var(--templatemessage-height));
					height: calc(100vh - var(--topbar-height) - var(--deco-strip-height) - var(--mainbar-height) - var(--adminbar-height) - var(--templatemessage-height));
					background: var(--color-grey-light);
					pointer-events: none;
				}

					body.scrolled .mainbar__menu-wrapper > .menu > li.menu-item-has-children > .sub-menu,
					body.scrolled .mainbar__menu-wrapper > .menu > li.menu-item-has-children > .sub-menu:after {
						top: calc(var(--deco-strip-height) + var(--mainbar-height) + var(--adminbar-height) + var(--templatemessage-height));
						height: calc(100vh - var(--deco-strip-height) - var(--mainbar-height) - var(--adminbar-height) - var(--templatemessage-height));
					}
			
				.mainbar__menu-wrapper > .menu > li.menu-item-has-children:focus > .sub-menu,
				.mainbar__menu-wrapper > .menu > li.menu-item-has-children:has(a:focus) > .sub-menu {
					opacity: 1;
					pointer-events: all;
				}
				
				.mainbar__menu-wrapper > .menu > li.menu-item-has-children:focus:before,
				.mainbar__menu-wrapper > .menu > li.menu-item-has-children:has(a:focus):before {
					content: "";
					display: block;
					position: absolute;
					bottom: -36px;
					height: 40px;
					left: -200px;
					width: calc(100% + 400px);
					z-index: 10;
				}

				.mainbar__menu-wrapper > .menu > li.menu-item-has-children:focus:after,
				.mainbar__menu-wrapper > .menu > li.menu-item-has-children:has(a:focus):after {
					pointer-events: all;
				}

				body.transition .mainbar__menu-wrapper > .menu > li.menu-item-has-children > .sub-menu,
				body.transition .mainbar__menu-wrapper > .menu > li.menu-item-has-children > .sub-menu:before,
				body.transition .mainbar__menu-wrapper > .menu > li.menu-item-has-children > .sub-menu:after {
					transition: top 200ms ease-in-out, height 200ms ease-in-out;
				}
			
				.mainbar .menu .sub-menu {
					padding: 20px 0 0;
					box-sizing: border-box;
				}
				
					.mainbar .menu .sub-menu > li {
						display: block;
						border-top: 1px solid var(--color-grey);
					}
					
						.mainbar .menu .sub-menu > li:last-child {
							border-bottom: 1px solid var(--color-grey);
						}

				.mainbar .menu .sub-menu a {
					white-space: nowrap;
				}

				.mainbar .menu .menu-main_topics > .sub-menu {
					display: flex;
					justify-content: space-between;
					align-items: flex-start;
					border: none;
				}
				
					.mainbar .menu .menu-main_topics > .sub-menu > li {
						width: calc(33% - 20px);
						border: none;
					}
					
						.mainbar .menu .menu-main_topics > .sub-menu > li + li {
							width: calc(67% - 20px);
						}
						
							.mainbar .menu .menu-main_topics > .sub-menu > li + li > .sub-menu {
								columns: 2;
								column-gap: 40px;
							}

					.mainbar .menu .menu-main_topics .sub-menu-title {
						display: block;
						text-transform: uppercase;
						color: var(--color-highlight);
					}

					.menu_item_icon {
						display: inline-block;
						vertical-align: middle;
						width: 20px;
						height: 20px;
						margin-right: 5px;
						background: var(--color-blue);
						mask: no-repeat center center / contain;
					}

						.menu_item_icon--empty {
							background: transparent;
						}
					
					.menu_item_arrow {
						display: inline-block;
						vertical-align: middle;
						width: 20px;
						height: 20px;
						margin-right: 5px;
						background: var(--color-blue);
						color: transparent;
						mask: url(../img/icons/arrow-menu-item.svg) no-repeat center center / contain;
					}
			
				.mainbar__menu-wrapper > .menu > li.menu-item-has-children .menu-teaser {
					display: block;
					background: var(--color-grey);
					position: fixed;
					left: calc(calc(100vw - var(--width-max)) / 2 + calc(var(--width-max) * 1/3));
					max-width: calc(var(--width-max) * 2/3);
					width: 100%;
					top: calc(var(--topbar-height) + var(--deco-strip-height) + var(--mainbar-height) + var(--adminbar-height) + var(--templatemessage-height) + 15px);
					box-sizing: border-box;
					z-index: 5;
					opacity: 1;
					opacity: 0;
					overflow: hidden;
					pointer-events: none;
				}

					.mainbar__menu-wrapper > .menu > li.menu-item-has-children .menu-teaser a {
						display: block;
						padding: 0;
						margin: 0;
					}
					
						.mainbar__menu-wrapper > .menu > li.menu-item-has-children .menu-teaser a:before,
						.mainbar__menu-wrapper > .menu > li.menu-item-has-children .menu-teaser a:after {
							display: none;
						}
					
						.mainbar__menu-wrapper > .menu > li.menu-item-has-children .menu-teaser img {
							display: block;
							margin: 0;
						}

					.mainbar__menu-wrapper > .menu > li.menu-item-has-children:focus > .menu-teaser,
					.mainbar__menu-wrapper > .menu > li.menu-item-has-children:has(a:focus) > .menu-teaser {
						opacity: 1;
						pointer-events: all;
					}

				.mainbar__menu-wrapper > .menu > li.menu-item-has-children.menu-main_clients > .sub-menu {
					width: calc(var(--width-max) * 1/3 - 20px);
				}

				.mainbar__menu-wrapper > .menu > li.menu-item-has-children.menu-main_subsidy > .sub-menu {
					width: calc(var(--width-max) * 1/3 - 20px);
				}

				.mainbar__menu-wrapper > .menu > li.menu-item-has-children.menu-main_about > .sub-menu {
					width: calc(var(--width-max) * 1/3 - 20px);
				}

	.header .logo {
		display: inline-block;
		width: 174px;
		height: 44px;
		background: url(../img/header/logo.svg) no-repeat left center / contain;
		color: transparent;
		overflow: hidden;
	}

	.mainbar__menu-toggle {
		display: none;
	}

	@media ( max-width: 1180px ) {

		:root {
			--mainbar-height: 60px;
		}

		.header #menu-main {
			display: none;
			position: absolute;
			left: 0;
			width: 100%;
			text-align: center;
			box-sizing: border-box;
			margin: 30px 0 0;
			padding: 0 0 25px;
			background: var(--color-white);
			max-height: calc(100vh - var(--topbar-height) - var(--mainbar-height));
			overflow: hidden;
			overflow-x: hidden;
			overflow-y: auto;
		}

			.header.menu-open #menu-main {
				display: block;
			}

		#menu-main li {
			display: block;
		}

			#menu-main a {
				padding: 10px;
				display: block;
			}

			#menu-main .menu-teaser {
				display: none !important;
			}

			.mainbar .menu a:after {
				display: none;
			}

			.mainbar__menu-wrapper .sub-menu {
				margin: 0;
			}

			.mainbar__menu-wrapper > .menu > li.menu-item-has-children > .sub-menu {
				display: block;
				position: static;
				width: 100% !important;
				box-sizing: border-box;
				opacity: 1;
				pointer-events: all;
				padding: 0 20px 20px;
				margin: 0;
				left: unset !important;
				top: unset !important;
				height: unset !important;
				max-height: unset !important;
				text-align: left;
				display: none;
			}

				.mainbar__menu-wrapper > .menu > li.menu-item-has-children.sub-menu-open > .sub-menu {
					display: block;
				}
			
				.mainbar__menu-wrapper > .menu > li.menu-item-has-children > .sub-menu:before,
				.mainbar__menu-wrapper > .menu > li.menu-item-has-children > .sub-menu:after {
					display: none;
				}
			
				.mainbar__menu-wrapper > .menu > li.menu-item-has-children > .sub-menu > li {
					width: 100% !important;
				}

			.mainbar .menu .menu-main_topics > .sub-menu > li + li {
				margin-top: 20px;
			}

			.mainbar .menu .menu-main_topics > .sub-menu > li + li > .sub-menu {
				columns: unset;
			}

			.mainbar__menu-wrapper .sub-menu-title {
				padding-top: 5px;
			}
			
			.mainbar__menu-wrapper .sub-menu-title + .sub-menu {
				padding-top: 10px;
			}

		.header .mainbar__menu-toggle {
			position: absolute;
			display: block;
			right: 20px;
			top: calc(var(--topbar-height) + var(--deco-strip-height) + var(--menubar-height) / 2 );
			width: 30px;
			height: 40px;
			cursor: pointer;
			z-index: 50;
		}

			.header .mainbar__menu-toggle .icon,
			.header .mainbar__menu-toggle .icon:before,
			.header .mainbar__menu-toggle .icon:after {
				pointer-events: none;
				display: block;
				height: 3px;
				background: var(--color-blue);
				width: 100%;
				left: 0;
				top: 50%;
				position: absolute;

				-moz-transform: translate(0px, -50%);
				-webkit-transform: translate(0px, -50%);
				-o-transform: translate(0px, -50%);
				-ms-transform: translate(0px, -50%);
				transform: translate(0px, -50%);

				-webkit-transition: all 200ms ease-in-out;
				-o-transition: all 200ms ease-in-out;
				transition: all 200ms ease-in-out;
			}

				.header .mainbar__menu-toggle .icon:before,
				.header .mainbar__menu-toggle .icon:after {
					content: "";
				}

				.header .mainbar__menu-toggle .icon:before {
					margin-top: -8px;
				}

					.header .mainbar__menu-toggle:hover .icon:before,
					.header .mainbar__menu-toggle:focus .icon:before {
						margin-top: -6px;
					}

				.header .mainbar__menu-toggle .icon:after {
					margin-top: 8px;
				}

					.header .mainbar__menu-toggle:hover .icon:after,
					.header .mainbar__menu-toggle:focus .icon:after {
						margin-top: 6px;
					}

			.header.menu-open .mainbar__menu-toggle .icon {
				background-color: transparent;
			}

				.header.menu-open .mainbar__menu-toggle .icon:before {
					margin-top: 0;

					-moz-transform: rotate(45deg) translate(0px, 0px);
					-webkit-transform: rotate(45deg) translate(0px, 0px);
					-o-transform: rotate(45deg) translate(0px, 0px);
					-ms-transform: rotate(45deg) translate(0px, 0px);
					transform: rotate(45deg) translate(0px, 0px);
				}

				.header.menu-open .mainbar__menu-toggle .icon:after {
					margin-top: 0;

					-moz-transform: rotate(-45deg) translate(0px, 0px);
					-webkit-transform: rotate(-45deg) translate(0px, 0px);
					-o-transform: rotate(-45deg) translate(0px, 0px);
					-ms-transform: rotate(-45deg) translate(0px, 0px);
					transform: rotate(-45deg) translate(0px, 0px);
				}

			body.header-small .header .mainbar__menu-toggle {
				top: 0;
			}

	}

.templatemessage {
	background: var(--color-blue);
	color: var(--color-white);
	position: fixed;
	width: 100%;
	top: var(--adminbar-height);
	padding: 5px;
	height: 30px;
	font-size: var(--fontsize-smaller);
	text-align: center;
	z-index: 999;
	box-sizing: border-box;
	overflow: hidden;
}

	@media ( max-width: 940px ) {

		.templatemessage-additional {
			display: none;
		}

	}

.footer {
	height: var(--footer-height);
	background: var(--color-blue);
	color: var(--color-white);
	padding: 40px 0;
	box-sizing: border-box;
	min-width: var(--body-min-width);
}

	.footer .footer-logos {
		border-top: 10px solid var(--color-blue);
		background: var(--color-white);
		padding: 20px 40px;
		margin: -20px -20px 20px;
		height: 123px;
		box-sizing: border-box;
	}

		.footer-logos .footer-logos__list {
			margin: 0;
			display: flex;
			justify-content: space-around;
			align-items: center;
			gap: 50px;
		}

			.footer-logos__list img {
				width: auto;
				height: auto;
				margin: 0;
			}
	
	.footer .columns {
		justify-content: space-between;
	}

		.footer .columns .column {
			flex-grow: 1;
			flex-shrink: 1;
		}

		.footer .columns .column-1 {
			flex-basis: 40%;
		}

		.footer .columns .column-2 {
			flex-basis: 20%;
		}

		.footer .columns .column-3 {
			flex-basis: 25%;
		}

	.footer .menu {
		display: block;
		margin: 0;
		padding: 0;
		list-style-type: none;
	}

		.footer a {
			color: inherit;
			text-decoration: none;
		}

			.footer a[href]:hover,
			.footer a[href]:focus {
				color: var(--color-yellow);
			}

			.footer .current-menu-item a {
				font-weight: bold;
			}

	.footer .menu-footer-contact-title {
		font-weight: var(--font-special-weight);
		text-transform: uppercase;
		font-size: 16px;
		color: var(--color-grey);
	}

	.footer .menu-footer-contact {
		margin-top: 10px;
		display: inline-block;
		border-top: 1px solid var(--color-grey);
	}
	
		.footer .menu-footer-contact li {
			border-bottom: 1px solid var(--color-grey);
			padding: 10px 0 10px 30px;
			position: relative;
		}
		
			.footer .menu-footer-contact li:before {
				content: "";
				display: inline-block;
				width: 20px;
				height: 25px;
				background: no-repeat center center / contain;
				position: absolute;
				left: 0;
				top: 10px;
			}

				.footer .menu-footer-contact li.address:before {
					background-image: url(../img/icons/address.svg);
				}

				.footer .menu-footer-contact li.phone:before {
					background-image: url(../img/icons/phone.svg);
				}

				.footer .menu-footer-contact li.email:before {
					background-image: url(../img/icons/email.svg);
				}

				.footer .menu-footer-contact li.contact-person:before {
					background-image: url(../img/icons/contact-person.svg);
				}

	.footer .menu-footer-social {
		display: block;
		margin-top: 40px;
	}

		.footer .menu-footer-social li {
			display: inline;
		}
		
			.footer .menu-footer-social li + li {
				margin-left: 3px;
			}

		.footer .menu-footer-social a {
			display: inline-block;
			width: 30px;
			height: 30px;
			background: var(--color-yellow) no-repeat center center / 60% auto;
			color: transparent !important;
			overflow: hidden;
			border-radius: 50%;
		}

			.footer .menu-footer-social a:hover,
			.footer .menu-footer-social a:focus {
				background-color: var(--color-white);
			}

			.footer .menu-footer-social li.facebook a {
				background-image: url(../img/social/facebook.svg);
				background-size: auto 70%;
			}

			.footer .menu-footer-social li.youtube a {
				background-image: url(../img/social/youtube.svg);
				background-size: 70% auto;
			}

			.footer .menu-footer-social li.instagram a {
				background-image: url(../img/social/instagram.svg);
				background-size: auto 60%;
			}

			.footer .menu-footer-social li.linkedin a {
				background-image: url(../img/social/linkedin.svg);
				background-size: auto 55%;
			}

			.footer .menu-footer-social li.xing a {
				background-image: url(../img/social/xing.svg);
				background-size: auto 60%;
			}

	.footer .menu-footer-main,
	.footer .menu-footer-sub {
		margin-top: 2.4em;
	}

		.footer .menu-footer-main li + li,
		.footer .menu-footer-sub li + li {
			margin-top: 0.3em;
		}

	@media ( max-width: 1140px ) {

		.footer .footer-logos {
			height: auto;
			margin-left: 0;
			margin-right: 0;
		}

		.footer-logos .footer-logos__list {
			gap: 20px;
		}

	}

	@media ( max-width: 840px ) {

		:root {
			--footer-height: auto;
		}

		.footer .columns .column-3 {
			width: 100%;
			flex-basis: unset;
		}
	
		.footer .menu-footer-sub {
			margin-top: 0;
		}
		
		.footer .footer-logos {
			padding: 10px;
		}

		.footer-logos .footer-logos__list {
			display: block;
			text-align: center;
			padding: 0;
		}
		
			.footer-logos .footer-logos__list li {
				display: inline-block;
			}

			.footer-logos .footer-logos__list img {
				display: inline;
				max-width: 240px;
				max-height: 80px;
				vertical-align: middle;
				margin: 10px;
			}

	}

	@media ( max-width: 640px ) {

		.footer-logos .footer-logos__list img {
			max-width: 260px;
			max-height: 70px;
		}

	}

	@media ( max-width: 540px ) {

		.footer .columns .column-2 {
			width: 100%;
			flex-basis: unset;
		}
		
		.footer .menu-footer-main {
			margin-top: 0;
		}

		.footer .menu-footer-contact {
			display: block;
			width: 100%;
		}

	}

.main {
	padding: calc(var(--topbar-height) + var(--deco-strip-height) + var(--mainbar-height) + var(--templatemessage-height) ) 0 0;
	box-sizing: border-box;
	min-height: calc(100vh - var(--adminbar-height) - var(--footer-height));
}

.main .block-pageheader {
	position: relative;
	padding: 0;
	overflow: hidden;
}

	.block-pageheader .pageheader-background-image {
		position: absolute;
		right: 0;
		top: 0;
		height: 100%;
		width: auto;
		width: 60%;
		object-fit: cover;
		object-position: center center;
		margin: 0;
	}

	.block-pageheader .content {
		padding: 80px 0 140px;
		max-width: 600px;
		font-size: var(--fontsize-bigger);
		position: relative;
		z-index: 10;
		background: var(--color-blue);
	}
	
		.block-pageheader .content:before {
			content: "";
			width: 200px;
			right: -100px;
			height: 120%;
			top: -10%;
			background: var(--color-blue);
			position: absolute;
			border-radius: 50%;
			z-index: -1;
		}

	@media ( max-width: 840px ) {

		.block-pageheader .pageheader-background-image {
			display: none;
		}

		.block-pageheader .content:before {
			display: none;
		}

		.block-pageheader .content {
			max-width: unset;
			padding: 40px 0;
		}

	}

.breadcrumb {
	font-family: var(--font-special-family);
	font-weight: var(--font-special-weight);
	color: var(--color-blue-light);
	list-style-type: none;
	padding: 0 20px;
	box-sizing: border-box;
	margin: 40px auto 0;
	max-width: var(--width-max);
}

	.breadcrumb li {
		display: inline;
	}
	
		.breadcrumb li + li:before {
			content: " > ";
		}

	.breadcrumb a {
		color: inherit;
		text-decoration: none;
	}
	
		.breadcrumb a:hover,
		.breadcrumb a:focus {
			color: var(--color-blue);
		}

	.breadcrumb + .block {
		padding-top: 20px;
	}

.block {
	padding: var(--spacing-double) 0;
	background: var(--color-white);
}

	.block.block-background-grey-light {
		background: var(--color-grey-light);
	}

	.block.block-background-grey {
		background: var(--color-grey);
	}

	.block.block-background-blue {
		background: var(--color-blue);
		color: var(--color-text);
		
		--color-text: var(--color-white);
		--color-highlight: var(--color-white);
	}

	.block .content + .content {
		margin-top: 40px;
	}

.teaser {
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 200px;
	color: var(--color-blue);
	background: var(--color-white) no-repeat left bottom / contain;
	--font-base-size: 20px;
}

	.columns .teaser {
		background-position: left center;
		--font-base-size: 15px;
	}

	.teaser .content {
		width: 66%;
		margin-left: auto;
		position: relative;
		padding: 20px 0;
		font-size: var(--font-base-size);
		text-wrap: balance;
	}

		.teaser .content .text {
			display: block;
			margin: 0 20px;
			box-sizing: border-box;
			max-width: 500px;
		}

			.teaser .content .text p {
				margin-top: 0.5em;
			}
		
			.teaser .content .text .subtitle {
				font-family: var(--font-special-family);
				font-weight: var(--font-special-weight);
				text-transform: uppercase;
				margin: 0;
			}

			.teaser .content .text .title {
				font-family: var(--font-special-family);
				font-weight: var(--font-special-weight);
				font-size: 1.9em;
				margin: 0;
			}

	.teaser .button-wrapper {
		position: absolute;
		right: 40px;
		bottom: -0.8em;
		text-align: right;
	}

		.teaser .button-wrapper .button + .button {
			margin-left: 20px;
		}

	@media ( max-width: 1140px ) {

		.teaser {
			height: auto;
		}

		.teaser .content {
			padding: 30px 0 40px;
		}

		.teaser .button-wrapper {
			right: 20px;
		}

		.teasers-columns {
			flex-wrap: wrap;
			justify-content: center;
		}

		.teasers-columns .column {
			width: 100%;
			flex-basis: unset;
			max-width: 530px;
		}
		
	}

	@media ( max-width: 940px ) {

		.teaser {
			background-position: left -7% center;
			--font-base-size: 17px;
		}

	}

	@media ( max-width: 740px ) {

		.teaser {
			background-position: left -12% center;
			--font-base-size: 15px;
		}

	}

	@media ( max-width: 640px ) {

		.teaser {
			background-position: left -16% center;
		}

		body .teaser {
			--font-base-size: 14px;
		}

	}

	@media ( max-width: 580px ) {

		.teaser {
			background-image: none !important;
		}

		.teaser .content {
			padding: 20px 0 30px;
			width: 100% !important;
		}

	}

.select-wrapper label {
	display: flex;
	align-items: center;
}

	.select-wrapper select {
		flex-grow: 1;
	}

.pagination {
	list-style-type: none;
	padding: 0;
	text-align: center;
	display: block;
	margin: 80px 0 0;
}

	.pagination li {
		display: inline;
	}
	
		.pagination li + li {
			margin-left: 20px;
		}

.content .newsposts-list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	padding-bottom: var(--spacing);
}

	.newsposts-list li {
		flex-basis: calc(calc(100% - 60px) / 3);
		background: var(--color-white);
		position: relative;
		display: flex;
		flex-direction: column;
		box-shadow: 0px 0px 20px rgba(0,0,0,.05);
	}
	
		.newsposts-list li > :first-child {
			margin-top: 0;
		}

		.newsposts-list li:hover,
		.newsposts-list li:focus {
			box-shadow: 0 0 10px rgba(0,0,0,.2);
		}
	
		.newsposts-list li .text {
			padding: 20px;
			display: block;
			display: flex;
			flex-direction: column;
			flex-grow: 1;
		}

			.newsposts-list li .text .meta {
				text-transform: uppercase;
				font-size: var(--fontsize-smaller);
				color: var(--color-blue);
				display: flex;
				justify-content: space-between;
			}

		.newsposts-list li .news-title {
			margin-top: 10px;
		}

			.newsposts-list li:hover .news-title,
			.newsposts-list li:focus .news-title {
				color: var(--color-black);
			}

		.newsposts-list li .permalink-spacer {
			display: block;
			width: 100%;
			flex-grow: 1;
		}
		
		.newsposts-list li .permalink {
			font-weight: var(--font-default-weight-bold);
			text-decoration: none;
			color: var(--color-blue);
		}
		
			.newsposts-list li .permalink:hover,
			.newsposts-list li .permalink:focus {
				color: var(--color-black);
			}

			.newsposts-list li .permalink:after {
				content: "\2192";
				display: inline-block;
				color: transparent;
				width: 20px;
				height: 12px;
				background: var(--color-blue);
				mask: url(../img/icons/read-more.svg) no-repeat left center / contain;
				margin-left: 0.2em;
				vertical-align: middle;
			}

				.newsposts-list li .permalink:hover:after,
				.newsposts-list li .permalink:focus:after {
					background-color: var(--color-black);
				}

			.newsposts-list li .permalink:before {
				content: "";
				display: block;
				position: absolute;
				left: 0;
				top: 0;
				width: 100%;
				height: 100%;
				z-index: 5;
			}

	@media ( max-width: 840px ) {

		.newsposts-list li {
			flex-basis: calc(calc(100% - 40px) / 2);
		}

	}

	@media ( max-width: 540px ) {

		.newsposts-list li {
			flex-basis: 100%;
		}

	}

.topics-list {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	--gap: 15px;
	gap: var(--gap);
}

	.topics-list + .topics-list {
		margin-top: 40px;
	}

	.topics-list__item {
		width: calc(100% / 4 - calc(var(--gap)*3/4));
		position: relative;
		display: flex;
		flex-direction: column;
		padding: 20px;
		box-sizing: border-box;
	}
	
		.topics-list__item__icon {
			display: block;
			width: 30px;
			height: 30px;
			position: absolute;
			right: 15px;
			top: 15px;
			background: var(--color-grey);
			mask: no-repeat center center / contain;
			pointer-events: none;
		}
		
			.topics-list__item:hover .topics-list__item__icon,
			.topics-list__item:focus .topics-list__item__icon {
				background: var(--color-blue);
			}
		
			.topics-list__interessenorientiert .topics-list__item__icon {
				background: var(--color-white);
				opacity: 0.25;
			}
			
				.topics-list__interessenorientiert .topics-list__item:hover .topics-list__item__icon,
				.topics-list__interessenorientiert .topics-list__item:focus .topics-list__item__icon {
					background: var(--color-white);
					opacity: 1;
				}

		.topics-list__item__title {
			margin: 0;
			padding-right: 30px;
		}

		.topics-list__item__description {
			display: block;
			margin-top: 1em;
		}

		.topics-list__item__permalink {
			flex-grow: 1;
			align-content: end;
			text-decoration: none;
			display: block;
			margin-top: 1em;
			font-family: var(--font-default-family);
			font-weight: var(--font-default-weight-semibold);
		}

			.topics-list__item__permalink:after {
				content: "\2192";
				display: inline-block;
				color: transparent;
				width: 20px;
				height: 12px;
				background: var(--color-blue);
				mask: url(../img/icons/read-more.svg) no-repeat left center / contain;
				margin-left: 0.2em;
				vertical-align: middle;
			}

				.topics-list__item__permalink:hover:after,
				.topics-list__item__permalink:focus:after {
					background-color: var(--color-black);
				}

			.topics-list__item__permalink:before {
				content: "";
				display: block;
				position: absolute;
				left: 0;
				top: 0;
				width: 100%;
				height: 100%;
				z-index: 5;
			}

	.topics-list__abschlussorientiert .topics-list__item {
		background-color: var(--color-grey-light);
	}

		.topics-list__abschlussorientiert .topics-list__item__permalink {
			color: var(--color-blue);
		}
		
			.topics-list__abschlussorientiert .topics-list__item__permalink:hover,
			.topics-list__abschlussorientiert .topics-list__item__permalink:focus {
				color: var(--color-text);
			}

	.topics-list__interessenorientiert .topics-list__item {
		background-color: var(--color-blue);
		color: var(--color-white);
	}

		.topics-list__interessenorientiert .topics-list__item__title {
			color: inherit;
		}
		
		.topics-list__interessenorientiert .topics-list__item__description {
			display: none;
		}
		
		.topics-list__interessenorientiert .topics-list__item__permalink {
			color: var(--color-yellow);
		}

			.topics-list__interessenorientiert .topics-list__item__permalink:after {
				background-color: var(--color-yellow);
			}

			.topics-list__interessenorientiert .topics-list__item__permalink:hover,
			.topics-list__interessenorientiert .topics-list__item__permalink:focus {
				color: var(--color-white);
			}

				.topics-list__interessenorientiert .topics-list__item__permalink:hover:after,
				.topics-list__interessenorientiert .topics-list__item__permalink:focus:after {
					background-color: var(--color-white);
				}

	@media ( max-width: 940px ) {

		.topics-list__item {
			width: calc(100% / 3 - calc(var(--gap)*2/3));
		}

	}

	@media ( max-width: 740px ) {

		.topics-list__item {
			width: calc(100% / 2 - calc(var(--gap)*1/2));
		}

	}

	@media ( max-width: 440px ) {

		.topics-list__item {
			width: 100%;
		}

	}

.login-form {
	max-width: 600px;
	margin: 0 auto;
	padding: 60px 0 80px;
}

	.login-form__fields {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.login-form__fields label {
		width: calc(50% - 10px);
	}

	.login-form__reset-password {
		margin: 0.2em;
		font-size: 0.8em;
	}

	.login-form__no-account-notify {
		font-size: 0.8em;
		margin-top: 1.3em;
	}

	.login-form__button {
		float: right;
		margin-top: 0.5em;
	}

	@media ( max-width: 540px ) {

		.login-form__fields label {
			width: 100%;
		}

	}

	@media ( max-width: 440px ) {

		.login-form {
			padding-top: 30px;
			padding-bottom: 40px;
		}

		.login-form__button {
			float: none;
		}

	}

.smaller-content {
	max-width: 740px;
}

.register-form {
	margin-top: 80px;
}

.single-meta {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

	.single-meta__vernr {
		flex-shrink: 1;
		text-align: right;
	}

	.single-meta .tag-list .tag {
		background-color: var(--color-grey);
		color: var(--color-blue);
	}

	@media ( max-width: 560px ) {

		.single-meta {
			flex-wrap: wrap;
			gap: unset;
		}

		.single-meta__vernr {
			width: 100%;
			order: 1;
			text-align: left;
		}

	}

.event-title {
	margin-top: 0.3em;
	margin-bottom: 0;
}

	.event-title__sub {
		margin-top: 0.2em;
	}

.event-additional-information {
	margin: 40px 0 80px;
}

	.event-additional-information__item .accordion-title:before {
		content: "";
		display: inline-block;
		width: 24px;
		height: 24px;
		margin-right: 5px;
		background: no-repeat center center / contain;
		vertical-align: text-bottom;
	}
	
		.event-additional-information__item--abschluss .accordion-title:before {
			background-image: url(../img/single-icons/abschluss.svg);
		}

		.event-additional-information__item--downloads .accordion-title:before {
			background-image: url(../img/single-icons/downloads.svg);
		}

		.event-additional-information__item--foerderung .accordion-title:before {
			background-image: url(../img/single-icons/foerderung.svg);
		}

		.event-additional-information__item--inhalt .accordion-title:before {
			background-image: url(../img/single-icons/inhalt.svg);
		}

		.event-additional-information__item--inhouse-training .accordion-title:before {
			background-image: url(../img/single-icons/inhouse-training.svg);
		}

		.event-additional-information__item--kontakt-ansprechperson .accordion-title:before {
			background-image: url(../img/single-icons/kontakt-ansprechperson.svg);
		}

		.event-additional-information__item--preisdetails .accordion-title:before {
			background-image: url(../img/single-icons/preisdetails.svg);
		}

		.event-additional-information__item--pruefung .accordion-title:before {
			background-image: url(../img/single-icons/pruefung.svg);
		}

		.event-additional-information__item--veranstaltungsort .accordion-title:before {
			background-image: url(../img/single-icons/veranstaltungsort.svg);
		}

		.event-additional-information__item--vorraussetzungen .accordion-title:before {
			background-image: url(../img/single-icons/vorraussetzungen.svg);
		}

		.event-additional-information__item--zielgruppe .accordion-title:before {
			background-image: url(../img/single-icons/zielgruppe.svg);
		}



@media ( max-width: 980px ) {

	.with-sidebar__sidebar.single-sidebar {
		width: 100%;
	}

}

.gallery {
	display: block;
	position: relative;
}

	.gallery__image {
		display: block;
		width: 100%;
		background: var(--color-white);
		padding: 5px;
		border: 1px solid var(--color-grey);
	}

		.gallery:has(.gallery__thumbnails) .gallery__image {
			aspect-ratio: 1;
			overflow: hidden;
		}
	
		.gallery__image img {
			margin: 0;
			width: 100%;
			height: 100%;
			object-fit: contain;
		}
	
		.gallery__image a {
			cursor: zoom-in;
		}

	.gallery__thumbnails {
		height: 70px;
		overflow: auto;
		overflow-y: hidden;
		margin-top: 10px;
		position: relative;
	}
	
		.gallery__thumbnails--interactive {
			overflow: hidden;
		}
			
			.gallery__thumbnails--interactive .gallery-thumbnails-list {
				left: 0px;
				top: 0;
				position: absolute;
			}
		
				body.transition .gallery__thumbnails--interactive .gallery-thumbnails-list {
					transition: left 200ms ease-in-out;
				}

		.gallery-thumbnails__arrow {
			position: absolute;
			height: 100%;
			width: 24px;
			background: rgba(255,255,255,.5) no-repeat center center / 50% auto;
			z-index: 5;
			top: 0;
			cursor: pointer;
			transition: opacity 200ms ease-in-out
		}
		
			.gallery__thumbnails--noscroll .gallery-thumbnails__arrow {
				display: none;
			}
		
			.gallery-thumbnails__arrow:hover,
			.gallery-thumbnails__arrow:focus {
				background-color: rgba(255,255,255,.8);
			}
		
			.gallery-thumbnails__arrow--hidden {
				opacity: 0;
				pointer-events: none;
			}
		
			.gallery-thumbnails__arrow__left {
				left: 0;
				background-image: url(../img/icons/arrow-left.svg);
			}
			
			.gallery-thumbnails__arrow__right {
				right: 0;
				background-image: url(../img/icons/arrow-right.svg);
			}
	
		.gallery-thumbnails-list {
			list-style-type: none;
			margin: 0;
			padding: 0;
			white-space: nowrap;
			font-size: 0;
			display: inline-block;
			height: 80px;
		}
		
			.gallery-thumbnails-list__item {
				vertical-align: top;
				display: inline-block;
				width: 70px;
				height: 70px;
				margin: 0 10px 0 0;
				background: var(--color-white);
				box-sizing: border-box;
				border: 1px solid var(--color-grey);
				position: relative;
			}
			
				.gallery-thumbnails-list__item img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}

				.gallery-thumbnails-list__item--active {
					border-color: var(--color-blue);
				}
			
				.gallery-lightbox--video {
					display: block;
					position: relative;
					height: 100%;
				}

					.gallery-lightbox--video:before,
					.gallery-thumbnails-list__item--video:before {
						content: "";
						display: block;
						width: 40px;
						margin-left: -20px;
						height: 40px;
						margin-top: -20px;
						border-radius: 50%;
						position: absolute;
						left: 50%;
						top: 50%;
						background: var(--color-blue);
						z-index: 4;
						pointer-events: none;
					}

					.gallery-lightbox--video:after,
					.gallery-thumbnails-list__item--video:after {
						content: "";
						display: block;
						position: absolute;
						z-index: 5;
						left: 50%;
						top: 50%;
						border-top: 10px solid transparent;
						margin-top: -10px;
						border-left: 15px solid #fff;
						margin-left: -5px;
						border-bottom: 10px solid transparent;
						pointer-events: none;
					}

.event__location,
.event__timeslot,
.event__format {
	display: inline-block;
	height: 0;
	width: 26px;
	padding: 26px 0 0;
	margin-right: 8px;
	vertical-align: middle;
	overflow: hidden;
	background: no-repeat center center / contain;
}

	.event__location {
		background-image: url(../img/icons/location.svg);
	}

	.event__timeslot {
		background-image: url(../img/icons/timetable.svg);
	}

	.event__format {
		background-image: url(../img/icons/format.svg);
	}

.timeslot-status {
	display: block;
	position: relative;
}

	.timeslot-status:before {
		content: "";
		display: inline-block;
		width: 12px;
		height: 12px;
		border-radius: 50%;
		background: var(--color-grey);
		vertical-align: middle;
		margin-top: -3px;
		margin-right: 10px;
	}

		.timeslot-status--free:before {
			background: var(--color-green);
		}

		.timeslot-status--few:before {
			background: var(--color-yellow);
		}

		.timeslot-status--full:before {
			background: var(--color-red);
		}

	.timeslot-status__wrapper {
		margin-bottom: 40px;
	}

.price__wrapper {
	color: var(--color-blue);
	margin-top: 10px;
}

	.price__value {
		font-family: var(--font-special-family);
		font-weight: var(--font-special-weight-bold);
		font-size: var(--fontsize-bigger);
	}

	.price__reduced {
		font-family: var(--font-special-family);
	}
	
	.price__info {
		margin-top: 0.3em;
		font-size: var(--fontsize-smaller);
		text-wrap: balance;
		line-height: 1.1;
	}

	.single-price__wrapper {
		font-size: 1.3em;
	}
	
		.single-price__wrapper .price__value {
			font-size: 2em;
		}

.search-bar {
	position: relative;
	display: flex;
	align-items: stretch;
	margin-bottom: var(--spacing);
}

	.search-bar__search-label {
		flex-grow: 1;
	}

	.search-bar__search-field {
		color: var(--color-blue);
		border-color: var(--color-blue);
		width: 100%;
		border-radius: 30px 0 0 30px;
		border-right: 0;
		padding: 10px 20px;
		font-size: 1.3rem;
		background: var(--color-white) no-repeat right center / auto 30px;
	}
	
		.search-bar__search-field--searching {
			background-image: url(../img/icons/loading.svg);
		}
	
		.search-bar .search-bar__screenreader-text {
			position: absolute;
			width: 1px;
			height: 1px;
			padding: 0;
			margin: -1px;
			overflow: hidden;
			clip: rect(0, 0, 0, 0);
			white-space: nowrap;
			border: 0;
		}

	.search-bar .search-bar__results-list {
		position: absolute;
		left: 23px;
		background: var(--color-white);
		color: var(--color-blue);
		z-index: 5;
		margin: 0;
		padding: 0;
		margin-top: -1px;
		list-style-type: none;
		padding: 5px;
		border: 1px solid var(--color-blue);
		border-top: 0;
		border-radius: 0 0 5px 5px;
		box-shadow: 0 5px 5px rgba(0,0,0,.1);
	}
	
		body.results-list--hidden .search-bar .search-bar__results-list {
			opacity: 0;
			pointer-events: none;
		}
	
		.search-bar .search-bar__results-list li {
			display: block;
			padding: 3px;
			cursor: pointer;
		}
		
			.search-bar .search-bar__results-list li:hover {
				text-decoration: underline;
			}
	
	.search-bar .search-bar__search-submit {
		border: 1px solid var(--color-blue);
		min-width: unset;
		width: 60px;
		display: block;
		height: 0;
		padding: 53px 0 0;
		overflow: hidden;
		box-sizing: border-box;
		overflow: hidden;
		background: var(--color-white) !important;
		border-radius: 0 30px 30px 0;
		border-left: 0;
		position: relative;
	}

		.search-bar__search-submit:after {
			content: "";
			display: block;
			width: 100%;
			height: 100%;
			position: absolute;
			left: 0;
			top: 0;
			background: var(--color-blue);
			mask: url(../img/icons/searchbar_search.svg) no-repeat center center / auto 60%;
		}

			.search-bar__search-submit:hover:after,
			.search-bar__search-submit:focus:after {
				background-color: var(--color-black);
			}

	@media ( max-width: 640px ) {

		.search-bar .search-bar__search-submit {
			padding-top: 49px;
		}

	}

.glide {
}

	.glide__bullets {
		text-align: center;
		line-height: 1;
	}

		.glide__bullet {
			display: inline-block;
			width: 18px;
			height: 18px;
			border: 4px solid transparent;
			padding: 0;
			border: 0;
			margin: 0 2px;
			background: var(--color-grey);
		}

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

.overview-type {
	margin: 0 0 20px;
	display: flex;
	align-items: flex-end;
	container-type: inline-size;
	container-name: overview-type;
}

	.overview-type__element {
		flex-basis: 50%;
		flex: 1;
	}
	
		.overview-type__element span,
		.overview-type__element a {
			display: block;
			width: 100%;
			color: var(--color-blue);
			border-bottom: 2px solid var(--color-blue);
		}
	
		.overview-type__element a {
			text-decoration: none;
		}
	
		.overview-type__element:not(.overview-type__element--active) a {
			opacity: 0.6;
		}

		.overview-type__element a:hover,
		.overview-type__element a:focus {
			opacity: 1;
		}

	@container overview-type ( max-width: 480px ) {
		
		.overview-type__element {
			flex-basis: auto;
		}

	}

	@container overview-type ( max-width: 440px ) {

		.overview-type__element__title {
			font-size: 0.9rem;
		}

	}

.overview-filter {
	background: var(--color-blue);
	color: var(--color-white);
	padding: 20px;
	container-type: inline-size;
	container-name: overview-filter;
}

	.overview-filter-list {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 10px;
		margin: 0;
	}
	
		.overview-filter-list .label-description {
			color: inherit;
		}

		.overview-filter-list__element {
			flex-basis: calc(calc(100% - 40px) / 5);
		}

			.overview-filter-list__element select {
				width: 100%;
			}

	.overview-filter .label-title {
		display: block;
		opacity: 0.6;
	}

	@container overview-filter ( max-width: 940px ) {

		.overview-filter-list__element {
			flex-basis: calc(calc(100% - 30px) / 4);
		}

	}

	@container overview-filter ( max-width: 840px ) {

		.overview-filter-list__element {
			flex-basis: calc(calc(100% - 20px) / 3);
		}

	}

	@container overview-filter ( max-width: 640px ) {

		.overview-filter-list__element {
			flex-basis: calc(calc(100% - 10px) / 2);
		}

	}

	@container overview-filter ( max-width: 480px ) {

		.overview-filter-list__element {
			flex-basis: 100%;
		}

	}

.overview-list__toggle {
	border: 1px solid var(--color-blue);
	display: flex;
	border-radius: 30px;
	list-style-type: none;
	padding: 3px;
	width: fit-content;
	margin: 30px 0 0;
}

	.overview-list__toggle input {
		position: absolute;
		opacity: 0;
	}

	.overview-list__toggle li {
		display: block;
		border-radius: 26px;
		color: var(--color-blue-light);
		padding: 2px 10px;
		position: relative;
		margin-top: 0 !important;
	}
	
		.overview-list__toggle li + li {
			margin-left: -6px;
		}
	
		.overview-list__toggle li:hover {
			color: var(--color-blue);
		}

		.overview-list__toggle li label {
			cursor: pointer;
		}
	
		.overview-list__toggle li:has(input:checked) {
			background: var(--color-blue);
			color: var(--color-white);
		}
		
			.overview-list__toggle li:has(input:checked):after {
				content: "";
				display: block;
				width: 18px;
				height: 18px;
				margin-top: -10px;
				position: absolute;
				top: 50%;
				background: no-repeat center center / contain;
			}
		
			.overview-list__toggle li:first-child:has(input:checked) {
				padding-right: 38px;
			}
			
				.overview-list__toggle li:first-child:has(input:checked):after {
					right: 8px;
					background-image: url(../img/icons/view-toggle_grid.svg);
				}

			.overview-list__toggle li:last-child:has(input:checked) {
				padding-left: 30px;
			}

				.overview-list__toggle li:last-child:has(input:checked):after {
					left: 10px;
					background-image: url(../img/icons/view-toggle_table.svg);
				}

.overview-list__grid {
	--gap: 40px;
	display: flex;
	justify-content: flex-start;
	gap: var(--gap);
	align-items: stretch;
	flex-wrap: wrap;
}

	body .overview-list__grid {
		padding: 20px 0;
	}

	.overview-list__grid .overview-list__element {
		width: calc(calc(100% - var(--gap) - var(--gap)) / 3);
		background: var(--color-grey-light);
		padding: 20px;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		position: relative;
	}

		.glide .overview-list__grid {
			--gap: 0;
		}

		.overview-list__element.glide__slide {
			height: auto;
			box-shadow: 0px 0px 20px rgba(0,0,0,.05);
		}
	
		.container--backgroundcolor .overview-list__grid .overview-list__element,
		.block-background-grey-light .overview-list__grid .overview-list__element {
			background: var(--color-white);
		}

		.overview-list__element > :first-child,
		.overview-list__element form,
		.overview-list__element .tag-wrapper {
			margin-top: 0;
		}

		.overview-list__element__title {
			margin-top: 1rem;
		}

			.overview-list__element__title + .headline-xs {
				margin-top: 0;
			}
	
		.overview-list__element > :last-child {
			flex-grow: 1;
			align-content: end;
		}

		.overview-list__element__price {
			font-family: var(--font-special-family);
			font-weight: var(--font-special-weight-bold);
		}

		.overview-list__element .permalink:after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
		}

		.overview-list__element__image {
			object-fit: cover;
			aspect-ratio: 600/400;
		}

	@media ( max-width: 980px ) {

		.overview-list__grid {
			--gap: 30px;
		}

		.overview-list__grid .overview-list__element {
			width: calc(calc(100% - var(--gap)) / 2);
		}

	}

	@media ( max-width: 640px ) {

		.overview-list__grid {
			--gap: 20px;
		}

		.overview-list__grid .overview-list__element {
			width: 100%;
		}

	}

.overview-list__table {
	border-top: 1px solid var(--color-blue-light);
}

	.overview-list__table .overview-list__element {
		border-bottom: 1px solid var(--color-blue-light);
		padding: 10px 220px 10px 10px;
		display: block;
		position: relative;
		display: flex;
		flex-wrap: wrap;
	}

	.overview-list__table .overview-list__element form {
		width: 200px;
		position: absolute;
		right: 0;
		top: 0;
		height: 100%;
		display: flex;
		align-items: center;
	}
	
		.overview-list__table .overview-list__element form p {
			margin: 0;
		}

	.overview-list__table .overview-list__element__title {
		margin: 0 0.5em 0 0;
		order: 0;
	}
	
	.overview-list__table .overview-list__element__tags {
		order: 1;
	}
	
	.overview-list__table .overview-list__element__description {
		margin: 0.2em 0 0;
		order: 2;
	}

	@media ( max-width: 640px ) {

		.overview-list__table .overview-list__element {
			display: block;
			padding: 10px;
		}
		
		.overview-list__table .overview-list__element__title {
			margin-top: 0.5em;
		}

		.overview-list__table .overview-list__element form {
			width: unset;
			position: static;
			display: block;
			margin-top: 0.5em;
		}
		
		.overview-list__table .overview-list__element form button {
			width: unset;
		}

	}

.load-more {
	margin: 20px 0 40px;
	text-align: center;
}

.cart-steps-list {
	list-style-type: none;
	padding: 0;
	margin: 0;
	border-bottom: 2px solid var(--color-grey);
	margin-top: 60px;
}

	.cart-steps-list__item {
		display: inline-block;
		padding: 0;
		border-bottom: 2px solid var(--color-highlight);
		margin-bottom: -2px;
	}
	
		.cart-steps-list__item + .cart-steps-list__item {
			margin-left: 2em;
		}
	
		.cart-steps-list__item--disabled {
			border-color: var(--color-grey);
		}

			.cart-steps-list__title {
				margin-top: 0;
			}

			.cart-steps-list__item--disabled .cart-steps-list__title {
				color: var(--color-grey);
			}

	@media ( max-width: 980px ) {

		.with-sidebar__sidebar.cart-sidebar {
			width: 100%;
		}

	}

	@media ( max-width: 540px ) {

		.cart-steps-list__item + .cart-steps-list__item {
			margin-left: 0.5em;
		}

		.cart-steps-list__title {
			font-size: 1rem;
		}

	}

	@media ( max-width: 380px ) {

		.cart-steps-list__item + .cart-steps-list__item {
			margin-left: 0.2em;
		}

		.cart-steps-list__title {
			font-size: 0.85rem;
		}

	}

.info-container {
	padding: 20px;
	background: var(--color-grey-light);
}

	.info-container > :first-child {
		margin-top: 0;
	}

.last-clicked-list {
	font-size: 0.8em;
}

	.last-clicked-list li + li {
		margin-top: 0.4em;
	}

.cart-items-table {
	table-layout: fixed;
	border-collapse: collapse;
	width: 100%;
	box-sizing: border-box;
	border: 0;
	margin-bottom: var(--spacing);
}

	.cart-items-table td {
		padding: 10px;
	}
	
		.cart-items-table td:last-child {
			text-align: right;
			width: 100px;
		}

	.cart-items-table tbody tr + tr td {
		border-top: 2px solid var(--color-grey-light);
	}
	
	.cart-items-table tbody tr:last-child td {
		padding-bottom: 40px;
	}

	.cart-items-table tfoot {
		background: var(--color-grey);
		color: var(--color-highlight);
		font-weight: var(--font-default-weight-bold);
	}
	
		.cart-items-table tfoot td {
			padding-top: 20px;
			padding-bottom: 20px;
		}

	.cart-item__remove {
		display: inline-block;
		width: 22px;
		height: 22px;
		overflow: hidden;
		color: transparent !important;
		background: var(--color-blue) url(../img/icons/cart-delete.svg) no-repeat center center / contain;
		cursor: pointer;
	}
	
		.cart-item__remove:hover,
		.cart-item__remove:focus {
			background-color: var(--color-black);
		}

.lightbox-container {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	z-index: 999;
	background: none;
	color: var(--color-white);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 40px;
	border: none;
	opacity: 0;
	pointer-events: none;
	max-width: unset;
	max-height:unset;
}
	
	.lightbox-container::backdrop {
		background: var(--color-lightbox-background);
	}

	body.transition .lightbox-container {
		transition: opacity 200ms ease-in-out;
	}

	.lightbox-container[open] {
		opacity: 1;
		pointer-events: all;
	}

	.lightbox-close {
		position: absolute;
		right: 10px;
		top: 10px;
		width: 30px;
		height: 30px;
		z-index: 20;
		cursor: pointer;
		padding: 0 !important;
		border: none !important;
		outline: none !important;
		box-shadow: none !important;
		background: var(--color-blue) !important;
		mask: url(../img/icons/close.svg) no-repeat center center / contain;
	}

		.lightbox-close:hover {
			background: var(--color-white) !important;
		}

	.lightbox-content {
		flex-grow: 1;
		text-align: center;
	}

		.lightbox-content-inner {
			background: var(--color-white);
			max-width: fit-content;
			display: inline-block;
		}

		.lightbox-content img,
		.lightbox-content iframe {
			display: block;
			margin: 0;
			width: auto;
			max-width: 100%;
			height: auto;
			max-height: calc(100vh - 100px);
		}

		.lightbox-content .video-embed,
		.lightbox-content .consent-embed-container {
			width: calc(100vw - 80px);
			color: var(--color-text);
		}
		
			.lightbox-content .video-embed img {
				width: 100% !important;
				height: 100% !important;
				max-height: unset !important;
			}

			.lightbox-content iframe {
				width: 100%;
				height: 100%;
				max-width: unset;
				max-height: unset;
			}

.with-sidebar {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 40px;
}

	.with-sidebar__content {
		width: calc(100% - 40px - 300px);
	}

	.with-sidebar__sidebar {
		width: 300px;
		position: relative;
	}

		.with-sidebar__sidebar > :first-child {
			margin-top: 0;
		}

	.with-sidebar__sticky-content {
		position: sticky;
		top: calc(var(--mainbar-height) + var(--templatemessage-height) );
	}

	@media ( max-width: 980px ) {

		.with-sidebar {
			flex-wrap: wrap;
		}
		
		.with-sidebar__content {
			width: 100%;
		}

	}

.list-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

	.list-meta label {
		margin-right: 10px;
	}

	.content .list-meta > * {
		margin-top: 0;
	}

	.list-meta .filter-list {
		padding: 10px 0;
	}

.events-list {
}

	.events-list__item {
		background: var(--color-grey-light);
		display: block;
		margin-top: 20px;
		padding: 20px;
	}

		.events-list__item-title {
			margin-top: 10px;
			padding-bottom: 20px;
			border-bottom: 1px solid var(--color-grey);
		}

		.events-list__item-meta {
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
		}
		
			.events-list__item-meta li {
				width: calc(100% / 3 - 20px);
			}
		
		.events-list__item-date:before,
		.events-list__item-location:before,
		.events-list__item-type:before {
			content: "";
			display: inline-block;
			width: 10px;
			height: 10px;
			border-radius: 50%;
			background: var(--color-blue);
			margin-right: 5px;
		}
		
			.events-list__item-type--teilnehmer:before {
				background: var(--color-green);
			}

			.events-list__item-type--warteliste:before {
				background: var(--color-yellow);
			}

			.events-list__item-type--storniert:before {
				background: var(--color-red);
			}

		.events-list__item-downloads {
			display: flex;
			justify-content: flex-start;
			flex-wrap: wrap;
			align-items: center;
		}
		
			.events-list__item-downloads li + li {
				margin-left: 50px;
			}
		
			.events-list__item-download-certificate a:before {
				content: "";
				display: inline-block;
				width: 30px;
				height: 40px;
				background: var(--color-grey);
				mask: url(../img/icons/account-certificate.svg) no-repeat center center / contain;
				vertical-align: middle;
				margin-right: 10px;
				transition: background-color 200ms ease-in-out;
			}

				.events-list__item-download-certificate a:hover:before {
					background-color: var(--color-blue);
				}

			.events-list__item-download-badge a:before {
				content: "";
				display: inline-block;
				width: 30px;
				height: 40px;
				background: var(--color-grey);
				mask: url(../img/icons/account-openbadge.svg) no-repeat center center / contain;
				vertical-align: middle;
				margin-right: 10px;
				transition: background-color 200ms ease-in-out;
			}

				.events-list__item-download-badge a:hover:before {
					background-color: var(--color-blue);
				}

	@media ( max-width: 1080px ) {

		.events-list__item-downloads {
			display: block;
		}
		
			.events-list__item-downloads li {
				display: block;
			}

			.events-list__item-downloads li + li {
				margin-left: 0;
				margin-top: 10px;
			}

		.events-list__item-meta li {
			width: 100%;
		}

	}

.filter-list {
	margin-top: 0;
}

	.filter-list__letter {
		display: inline-block;
		padding: 5px;
		color: var(--color-blue-light);
	}
	
		.filter-list__letter--selected {
			background: var(--color-blue);
			color: var(--color-white);
		}

.contact-list {
	list-style-type: none;
	margin: 0;
	padding: 0;
	gap: 20px;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	container-type: inline-size;
	container-name: contact-list;
}

	.content .contact-list .contact-list__item {
		width: calc(100% / 2 - 20px);
		margin-top: 40px;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 20px;

		--image-size: 150px;
	}
	
		.contact-list__item__image {
			display: block;
			margin: 0 auto 20px;
			border-radius: 50%;
			width: var(--image-size);
			aspect-ratio: 1;
			object-fit: cover;
		}

			.contact-list__item__image--empty {
				background: var(--color-grey);
				position: relative;
				overflow: hidden;
			}
			
				.contact-list__item__image--empty:after {
					content: "";
					position: absolute;
					left: 0;
					top: 0;
					width: 100%;
					height: 100%;
					background: var(--color-blue-light);
					mask: url(../img/icons/avatar.svg) no-repeat center center / cover;
				}

		.contact-list__item__content {
			width: calc(100% - var(--image-size));
			padding-top: 10px;
		}

			.contact-list__item__location {
				display: block;
				color: var(--color-blue);
				font-family: var(--font-special-family);
				font-weight: var(--font-special-weight);
			}

			.contact-list__item__name {
				display: block;
				font-weight: var(--font-default-weight-bold);
			}

			.contact-list__item__position {
				display: block;
			}

			.contact-list__item__mail {
				display: block;
				overflow-wrap: break-word;
				word-wrap: break-word;
				word-break: break-word;
				hyphens: auto;
			}

			.contact-list__item__phone {
				display: block;
			}

	@container contact-list ( max-width: 940px ) {

		.contact-list__item {
			width: 100%;
			margin-top: 20px;
		}

	}

	@container contact-list ( max-width: 640px ) {

		.contact-list__item {
			width: 100%;
		}

	}

.single-news__categories {
	margin-top: 0.5em;
}

	.single-news__categories .tag + .tag {
		margin-left: 0.2em;
	}

.main-courses-overview > .breadcrumb + .block {
	padding-bottom: 0;
}

.error404 {
}

	.error404 .main {
		padding-bottom: var(--spacing-double);
	}
	
		.error404 .main .content {
			padding-top: var(--spacing-half);
		}

.post-type-archive-np_news {
}

	.post-type-archive-np_news .newsposts-list {
		padding-bottom: 0;
	}
