

/* 
------------------------------------------------------------------------------
FONTS
------------------------------------------------------------------------------
*/

@font-face {
	font-family: 'azosans regular';
	src: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/fonts/azosans-regular.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'azosans bold';
	src: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/fonts/azosans-bold.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'azosans bold italic';
	src: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/fonts/azosans-bold-italic.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'azosans light italic';
	src: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/fonts/azosans-light-italic.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'azosans medium italic';
	src: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/fonts/azosans-medium-italic.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'rift bold';
	src: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/fonts/rift-bold.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'rift regular';
	src: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/fonts/rift-regular.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

/*
##############################################################################
GENERAL
##############################################################################
*/


/*
------------------------------------------------------------------------------
RESET
------------------------------------------------------------------------------
*/

	html
	{
		background-color: #fff;
	}

	html, body
	{
		overflow-x: hidden;
	}

	html, body, div, span, applet, object, iframe,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre,
	a, abbr, acronym, address, big, cite, code,
	del, dfn, em, img, ins, kbd, q, s, samp,
	small, strike, strong, sub, sup, tt, var,
	b, u, i, address,
	dl, dt, dd, ol, ul, li,
	fieldset, form, label, legend,
	table, caption, tbody, tfoot, thead, tr, th, td,
	article, aside, canvas, details, embed,
	figure, figcaption, footer, header, hgroup,
	menu, nav, output, section, summary,
	time, mark, audio, video
	{
		margin: 0;
		padding: 0;
		border: 0;
		vertical-align: baseline;
		font-weight: normal;
		font-style: normal;
	}

	button,input,textarea,input[type="submit"]
	{
		display: block;
		margin: 0;
		padding: 0;
		border:none;
		-webkit-appearance: none;
		outline: none;
	}

	button
	{
		cursor:pointer;
		background-color: transparent;
	}
	button:focus,input:focus,label:focus
	{
		outline: none;
	}

	button, input[type="submit"]
	{
		cursor:pointer;
	}

	template
	{
		display: block;
	}

	br
	{
		font-size: 0;
		line-height: 0;
	}




/*
------------------------------------------------------------------------------
PAGE
------------------------------------------------------------------------------
*/

:root
{
	--spritesheet: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/spritesheet.svg');
	--spritesheet-size: 2340px 780px;
}

html.state-navigation-open
{
	box-sizing: border-box;
	overflow-y: hidden;
}
	@media only screen and (min-width: 769px)
	{
		html.state-navigation-open
		{
			padding-right: 15px;
		}
	}

html.state-tabhandling-active *:focus
{
	outline: 2px dashed #911909;
}
html.state-tabhandling-active nav.main ul.menu a:focus
{
	outline-offset: -3px;
}
html.state-tabhandling-active .structure-element-background.black *:focus,
html.state-tabhandling-active footer *:focus
{
	outline-color: #fff;
}


#cover-page
{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 10;

	width: 100%;
	height: 100%;

	background-color: #000;
	opacity: 0.4;
}


/*
------------------------------------------------------------------------------
STRUCTURE
------------------------------------------------------------------------------
*/

header#mainHeader > .wrapper,
footer > .wrapper,
.structure-element-background > .wrapper,
.content-element-image-hero .wrapper,
.content-element-keyvisual .wrapper
{
	box-sizing: border-box;
	display: block;
	position: relative;

	width: 100%;
	max-width: 1280px;

	padding: 0 26px;

	margin: 0 auto;
}

.structure-element + .structure-element,
.structure-element + .content-element,
.content-element + .structure-element,
.content-element + .content-element,
.page-element + .content-element,
.page-element + .structure-element,
.content-element + .page-element,
.structure-element + .page-element,
.page-element + .page-element,
.form-element + .content-element,
.form-element + .structure-element,
.content-element + .form-element,
.structure-element + .form-element,
.form-element + .form-element
{
	margin-top: 20px;
}

	@media only screen and (min-width: 760px)
	{

		.structure-element-background > .wrapper,
		header#mainHeader > .wrapper,
		footer > .wrapper,
		.content-element-image-hero .wrapper,
		.content-element-keyvisual article
		{
			padding: 0 40px;
		}

		.structure-element + .structure-element,
		.structure-element + .content-element,
		.content-element + .structure-element,
		.content-element + .content-element,
		.page-element + .content-element,
		.page-element + .structure-element,
		.content-element + .page-element,
		.structure-element + .page-element,
		.page-element + .page-element,
		.form-element + .content-element,
		.form-element + .structure-element,
		.content-element + .form-element,
		.structure-element + .form-element,
		.form-element + .form-element
		{
			margin-top: 40px;
		}

	}

	@media only screen and (min-width: 769px)
	{
		.structure-element + .structure-element,
		.structure-element + .content-element,
		.content-element + .structure-element,
		.content-element + .content-element,
		.page-element + .content-element,
		.page-element + .structure-element,
		.content-element + .page-element,
		.structure-element + .page-element,
		.page-element + .page-element,
		.form-element + .content-element,
		.form-element + .structure-element,
		.content-element + .form-element,
		.structure-element + .form-element,
		.form-element + .form-element
		{
			margin-top: 70px;
		}
	}




/*
##############################################################################
FONTS
##############################################################################
*/

p, a, i, em, li, b, strong, h1, h2, h3, h4, h5, span, button, input, small, q, address, label, legend, time, figcaption, textarea
{
	font-family: 'azosans regular';
	font-size: 1rem;
	line-height: 1.375rem;
	color: #1F1A17;
}


/*font-families*/

h2, h3, h1
{
	font-family: 'rift bold';
}

em, strong
{
	font-family: 'azosans bold';
}

a
{
	text-decoration: none;
}


/*font-sizes*/

h4
{
	font-size: 1.25rem;
	line-height: 1.625rem;
	letter-spacing: 2px;
}

h3
{
	font-size: 1.375rem;
	line-height: 1.375rem;
	letter-spacing: 2px;
}

h2,
h1
{
	font-size: 1.75rem;
	line-height: 2rem;
	letter-spacing: 2px;
}



@media only screen and (min-width: 600px)
{
    h2,
    h1
    {
        font-size: 2.25rem;
        line-height: 2.375rem;
        letter-spacing: 2px;
    }
}




/*
##############################################################################
HEADER
##############################################################################
*/

header#mainHeader
{
	box-sizing: border-box;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 20;

	width: 100%;
	height: 60px;

	background-color: #fff;
	box-shadow: 0px 1px 10px 0px rgba(0,0,0,0.15);
	transition: box-shadow 200ms
}

	html.state-navigation-open header#mainHeader
	{
		box-shadow: none;
	}


header#mainHeader > .wrapper
{
	display: flex;
	align-items: center;

	height: 100%;

	background-color: #fff;
}
header#mainHeader > .wrapper::before
{
	content: '';

	position: absolute;
	top: 0;
	left: 50%;

	width: 100vw;
	height: 100%;

	transform: translateX(-50%);

	background-color: #fff;
}

header#mainHeader .logo-big
{
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0px;
	left: 26px;
	z-index: 1;

	padding: 20px;

	background-color: #fff;
	box-shadow: 0px 0px 9px 1px rgba(0,0,0,0.15);
	transition: transform 200ms;
}
header#mainHeader .logo-big.disabled,
html.state-navigation-open header#mainHeader .logo-big
{
	transform: translateY(-110%);
}

header#mainHeader .logo-big img
{
	width: 55px;
	height: auto;
}

header#mainHeader .logo
{
	position: relative;

	height: 24px;
}
html:not(.state-tabhandling-active) header#mainHeader .logo:focus,
html:not(.state-tabhandling-active) header#mainHeader .logo-big:focus
{
    outline: none;
}

header#mainHeader .logo img
{
	display: block;
	width: auto;
	height: 100%;
}

header#mainHeader p
{
	position: relative;

	margin-right: auto;
	margin-left: 10px;

	opacity: 0;

	transition: opacity 200ms;

	font-family: 'rift bold';
	font-size: 1.25rem;
	line-height: 1.25rem;
}
header#mainHeader .logo-big.disabled ~ p,
html.state-navigation-open header#mainHeader p
{
	opacity: 1;
}

header#mainHeader .navigation-button
{
	margin-left: 15px;

	color: #1F1A17;
}

header#mainHeader nav,
header#mainHeader .search
{
	display: none;
	position: relative;
}

header#mainHeader .search form label
{
	position: absolute;

	font-size: 0;
	line-height: 0;
}

header#mainHeader .english
{
	display: none;

	font-size: 0;
	line-height: 0;
}
html.state-navigation-open header#mainHeader .english
{
	display: block;
}

header#mainHeader .english img
{
	display: block;
	position: relative;
}
html.state-tabhandling-active header#mainHeader .english:focus img
{
	outline: 2px dashed #911909;
	outline-offset: 2px;
}


@media only screen and (min-width: 760px)
{
	header#mainHeader .logo
	{
		margin-left: 25px;
	}

	header#mainHeader .logo-big img
	{
		width: 75px;
		height: auto;
	}
}

@media only screen and (min-width: 1100px)
{
	header#mainHeader .navigation-button
	{
		display: none;
	}

	header#mainHeader .logo
	{
		margin-right: auto;
	}

	header#mainHeader p
	{
		display: none;
	}

	header#mainHeader .english
	{
		display: block;
	}

	header#mainHeader nav,
	header#mainHeader .search
	{
		display: block;
	}

	header#mainHeader nav a
	{
		display: inline-block;
		position: relative;

		font-family: 'rift bold';
		font-size: 1rem;
		line-height: 1.125rem;
		text-transform: uppercase;
	}
	header#mainHeader nav a + a,
	header#mainHeader nav a + ul,
	header#mainHeader nav ul + a,
	header#mainHeader a + div,
	header#mainHeader div + a,
	header#mainHeader div + div,
	header#mainHeader nav + a
	{
		margin-left: 15px;
	}

	header#mainHeader nav a::before
	{
		content: '';

		display: block;
		position: absolute;
		bottom: -4px;
		left: 0;

		width: 0px;
		height: 3px;

		background-color: #1F1A17;
	}

	header#mainHeader nav a.active::before
	{
		width: 100%;
	}

	header#mainHeader .search
	{
		position: relative;
	}

	header#mainHeader .search button
	{
		width: 30px;
		height: 30px;

		background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/spritesheet.svg');
		background-size: var(--spritesheet-size);
		background-position: -1158px -76px;
	}

	header#mainHeader .search form
	{
		position: absolute;
		bottom: -66px;
		right: -9px;

		padding: 10px;

		background-color: #E3DED6;
		opacity: 0;
		transition: opacity 200ms;
		box-shadow: 0px 1px 10px 0px rgba(0,0,0,0.15);

		pointer-events: none;
	}
	header#mainHeader .search.open form
	{
		opacity: 1;

		pointer-events: initial;
	}

	header#mainHeader .search form::before
	{
		content: '';

		display: block;
		position: absolute;
		top: -10px;
		right: 16px;

		width: 20px;
		height: 20px;

		transform: rotate(45deg);

		background-color: #E3DED6;
	}

	header#mainHeader .search form input[type="text"]
	{
		display: block;

		width: 300px;

		padding: 7px 33px 7px 7px;

		text-align: center;
	}

	header#mainHeader .search form input[type="submit"]
	{
		display: block;
		position: absolute;
		top: 50%;
		right: 13px;
		z-index: 1;

		width: 28px;
		height: 28px;

		margin-top: 0;
		padding: 0;
		transform: translateY(-50%);

		background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/spritesheet.svg');
		background-size: var(--spritesheet-size);
		background-position: -1516px -76px;
		background-color: transparent;

		font-size: 0;
		line-height: 0;
	}

	header#mainHeader nav a
	{
		font-size: 1.125rem;
		line-height: 1.25rem;
	}
}

@media (hover: hover) and (pointer: fine)
{
	header#mainHeader .search form input[type="submit"]
	{
		transition: background-position 100ms;
	}

	header#mainHeader .search form input[type="submit"]:hover
	{
		background-position: -1513px -76px;
	}

	header#mainHeader nav a::before
	{
		transition: width 200ms;
	}
	header#mainHeader nav a:hover::before
	{
		width: 100%;
	}

	header#mainHeader .logo img,
	header#mainHeader .logo-big img
	{
		transition: opacity 200ms;
	}
	header#mainHeader .logo img:hover,
	header#mainHeader .logo-big img:hover
	{
		opacity: 0.7;
	}
}





/*
------------------------------------------------------------------------------
NAVIGATION
------------------------------------------------------------------------------
*/


/*navigation-button*/

.navigation-button
{
	position: relative;

	width: 30px;
	height: 20px;
}

.navigation-button i,
.navigation-button:before,
.navigation-button:after
{
	display: block;

	width: 100%;
	height: 2px;

	background-color: #1F1A17;

	transition: all 200ms;
}
.navigation-button i::after
{
	content: '';

	display: block;
	position: absolute;
	top: 50%;
	left: 50%;

	width: 40px;
	height: 40px;

	transform: translateX(-50%) translateY(-50%);
}
.navigation-button:before,
.navigation-button:after
{
	content: '';

	display: block;
	position: absolute;
}
.navigation-button:before { top: 0; }
.navigation-button:after { bottom: 0; }

html.state-navigation-open .navigation-button i
{
	top: 0px;
	background-color: transparent;
}

html.state-navigation-open .navigation-button::before,
html.state-navigation-open .navigation-button::after
{
	top: 45%;
}
html.state-navigation-open .navigation-button::before
{
	transform: rotate(45deg);
}
html.state-navigation-open .navigation-button::after
{
	transform: rotate(-45deg);
}


/*navigation*/

nav.main
{
	box-sizing: border-box;
	display: flex;
	flex-flow: column;
	position: fixed;
	top: 0;
	left: 100%;
	z-index: 15;

	width: 100%;
	height: 100%;

	padding: 80px 26px 26px;

	background-color: #fff;
	transition: transform 300ms ease;
}
	html.state-navigation-open nav.main
	{
		transform: translateX(-100%);
	}
nav.main::after
{
	content: '';

	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;

	width: 100%;
	height: 200px;

	transform: translateY(100%);

	background-color: #fff;
}

nav.main form
{
	display: flex;
	align-items: center;

	margin-bottom: 40px;
	padding: 9px;

	border: 1px solid #1F1A17;
}

nav.main form label
{
	position: absolute;

	font-size: 0;
	line-height: 0;
}

nav.main .search input[type="submit"]
{
	width: 30px;
	height: 30px;

	margin-top: unset;
	margin-left: 4px;
	padding: 0;

	background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/spritesheet.svg');
	background-size: var(--spritesheet-size);
	background-position: -1158px -76px;
	background-color: transparent;

	font-size: 0;
	line-height: 0;
}

nav.main .search input[type="text"]
{
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	padding: 0;

	line-height: 1.9;
}
nav.main .search input[type="text"]::-webkit-input-placeholder,
nav.main .search input[type="text"]:-moz-placeholder,
nav.main .search input[type="text"]:-ms-input-placeholder
{
	font-size: 1rem;
	line-height: normal !important;
}

nav.main ul.menu
{
	width: 100%;
	height: 100%;
	flex-basis: auto;

	padding-right: 20px;

	overflow-y: scroll;
	overflow-x: visible;
}

nav.main ul.menu > li
{
	position: relative;

	overflow: hidden;
	border-top: 1px solid rgba(0, 0, 0, 0.15);
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
nav.main ul.menu > li + li
{
	border-top: none;
}

nav.main ul.menu > li a
{
	display: block;
	box-sizing: border-box;

	padding: 18px 0px;

	font-family: 'rift regular';
	font-size: 1.25rem;
	line-height: 1.25rem;
}

nav.main ul.menu > li > a
{
	width: 100%;

	font-family: 'rift bold';
}

nav.main ul.menu li.active > a,
nav.main ul.menu li a:hover
{
	color: #911909;
}

nav.main ul.menu li button
{
	display: block;
	position: absolute;
	top: 7px;
	right: 0;
	z-index: 5;

	width: 40px;
	height: 40px;

	background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/spritesheet.svg');
	background-size: var(--spritesheet-size);
	background-position: -190px -70px;

	transition: transform 200ms;
}
nav.main ul.menu li.open button
{
	transform: rotate(45deg);
}

nav.main ul.menu li ul li
{
	display: block;
}

nav.main ul.menu li ul li a
{
	padding: 12px 0px;
}
nav.main ul.menu li ul li:first-child a
{
	padding-top: 0px;
}
nav.main ul.menu li ul li:last-child a
{
	padding-bottom: 24px;
}

nav.main ul.service
{
	display: flex;
	justify-content: space-between;
	align-items: center;

	margin-top: 20px;
}

nav.main ul.service li
{
	list-style: none;
}

nav.main ul.service li.social a
{
	display: block;

	width: 40px;
	height: 40px;

	background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/spritesheet.svg');
	background-size: var(--spritesheet-size);

	font-size: 0;
	line-height: 0;
}
nav.main ul.service li.social a.instagram { background-position: -550px -70px; }
nav.main ul.service li.social a.youtube { background-position: -910px -70px; }
nav.main ul.service li.social a.facebook { background-position: -430px -70px; }
nav.main ul.service li.social a.wikipedia { background-position: -1030px -70px; }
nav.main ul.service li.social a.twitter { background-position: -670px -70px; }
nav.main ul.service li.social a.tiktok { background-position: -790px -70px; }


	@media only screen and (min-width: 760px)
	{
		nav.main
		{
			width: 440px;
		}
	}


	@media only screen and (min-width: 769px)
	{
		nav.main ul.menu li button
		{
			right: auto;
			left: 350px;
		}

		nav.main ul.menu li a
		{
			transition: color 200ms;
		}

		nav.main nav div a:hover
		{
			color: #EC6608;
		}
	}




/*
##############################################################################
MAIN
##############################################################################
*/


main
{
	margin-top: 60px;
	overflow-x: hidden;
	overflow-y: hidden;
}

main > .structure-element-background:first-child
{
	padding-top: 70px;
}



@media only screen and (min-width: 760px)
{
	main > .structure-element-background:first-child
	{
		padding-top: 40px;
	}
}

@media only screen and (min-width: 769px)
{
	main > .structure-element-background:first-child
	{
		padding-top: 80px;
	}
}




/*
##############################################################################
FOOTER
##############################################################################
*/


footer
{
	background-color: #212121;

	padding: 30px 0px;

	font-size: 0;
	line-height: 0;
}

footer div + div
{
	margin-top: 46px;
}

footer strong
{
	display: block;

	margin-bottom: 10px;

	color: #fff;

	font-family: 'rift bold';
	font-size: 1.125rem;
	line-height: 1.75rem;
	text-transform: uppercase;
}

footer .social ul
{
	display: flex;
	align-items: center;
	justify-content: space-between;

	list-style: none;
}

footer .social ul a
{
	display: block;

	width: 40px;
	height: 40px;

	background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/spritesheet.svg');
	background-size: var(--spritesheet-size);
}
footer .social ul a.instagram { background-position: -550px -190px; }
footer .social ul a.youtube { background-position: -910px -190px; }
footer .social ul a.facebook { background-position: -430px -190px; }
footer .social ul a.wikipedia { background-position: -1030px -190px; }
footer .social ul a.twitter { background-position: -670px -190px; }
footer .social ul a.tiktok { background-position: -790px -190px; }

footer .social ul li.flex-break
{
	display: none;
}

footer address,
footer address a
{
	font-size: 0.875rem;
	line-height: 1.125rem;
	color: #fff;
}
footer address a
{
	font-family: 'azosans medium italic';
	text-decoration: underline;
}

footer .service
{
	display: inline-block;

	width: 50%;
}

footer .service ul li
{
	display: block;
}
footer .service ul li + li
{
	margin-top: 5px;
}

footer .service ul a
{
	font-size: 0.875rem;
	line-height: 1.125rem;
	color: #fff;
}

footer .service + div
{
	display: inline-block;

	width: 50%;

	vertical-align: bottom;

	text-align: right;
}

footer div img
{
	display: inline-block;

	width: auto;
	height: 160px;
}


	@media only screen and (min-width: 760px)
	{
		footer .contact,
		footer .social
		{
			box-sizing: border-box;
			display: inline-block;

			width: 50%;

			margin-top: 0;
			vertical-align: top;
		}
		footer .social + .contact
		{
			margin-top: 0;
			padding-left: 50px;
		}
	}

	@media only screen and (min-width: 769px)
	{
		footer .wrapper
		{
			display: flex;
			justify-content: space-between;
		}

		footer div + div
		{
			margin-top: 0;
		}

		footer .contact
		{
			order: 1;

			width: auto;
		}
		footer .social
		{
			order: 2;

			width: auto;
			max-width: 170px;
		}
		footer .service
		{
			order: 3;

			width: auto;
		}
		footer .service + div
		{
			order: 4;

			width: auto;
			height: 100%;
		}

		footer strong
		{
			margin-bottom: 30px;
		}

		footer .social ul
		{
			flex-wrap: wrap;
		}

		footer .social ul li.flex-break
		{
			display: block;

			flex-basis: 100%;

			margin: 10px 0;
		}

		footer .service + div img
		{
			height: 190px;
		}
	}

	@media only screen and (min-width: 769px)
	{
		footer .social
		{
			max-width: unset;
		}

		footer address a,
		footer .social a,
		footer .service a
		{
			transition: opacity 200ms;
		}
		footer address a:hover,
		footer .social a:hover,
		footer .service a:hover
		{
			opacity: 0.7;
		}
	}




/*
##############################################################################
STRUCTURE-ELEMENTS
##############################################################################
*/


/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-BACKGROUND
------------------------------------------------------------------------------
*/

.structure-element-background
{
	padding: 24px 0;
}
.structure-element-background.fullscreen
{
	padding: 0;
}

.structure-element-background,
.structure-element-background.white { background-color: #fff; }
.structure-element-background.grey { background-color: #E3DED6; }
.structure-element-background.black { background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/background-stone-pattern.jpg'); }

.structure-element-background + .structure-element-background
{
	margin-top: 0px;
}

.structure-element-background.white[data-availability="closed"] { background-color: #ffffff50; }
.structure-element-background.grey[data-availability="closed"] { background-color: #E3DED650; }

.structure-element-background[data-availability="closed"] .wrapper
{
	pointer-events: none;
	user-select: none;
}
.structure-element-background[data-availability="closed"] .wrapper > *
{
	opacity: 0.5;
}

.structure-element-background[data-availability] .wrapper::before
{
	position: absolute;
	top: -0.5rem;
	right: 26px;
	z-index: 1;
	display: grid;
	place-items: center;

	width: 5.5rem;
	height: 5.5rem;

	transform: rotate(20deg);

	border-radius: 50%;
	opacity: 1;

	font-family: 'rift bold';
	font-size: 1rem;
	line-height: 1rem;
	text-align: center;
	text-transform: uppercase;
}
.structure-element-background[data-availability="low"] .wrapper::before
{
	content: 'Nur wenige Plätze';

	background-color: #FAA910;

	color: #1F1A17;
}
.structure-element-background[data-availability="closed"] .wrapper::before
{
	content: 'Ausgebucht!';

	background-color: #d9261c;

	color: #fff;
}

@media only screen and (min-width: 760px)
{
	.structure-element-background
	{
		padding: 40px 0;
	}

	.structure-element-background[data-availability] .wrapper::before
	{
		top: 0.5rem;

		margin-right: calc(100% / 3 / 2);
	}
}

@media only screen and (min-width: 769px)
{
	.structure-element-background
	{
		padding: 80px 0;
	}
}



/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-GRID
------------------------------------------------------------------------------
*/

.structure-element-grid
{
	width: 100%;
}

.structure-element-grid section
{
	width: 100%;
}

.structure-element-grid section + section
{
	margin-top: 20px;
}


	@media only screen and (min-width: 769px)
	{
		.structure-element-grid
		{
			display: flex;
			justify-content: space-between;
		}

		.structure-element-grid section + section
		{
			margin-top: 0px;
		}


		/*pattern-50*/

		.structure-element-grid.pattern-50 > section
		{
			width: calc(50% - 10px);
		}

		.structure-element-grid.pattern-50 + .structure-element-grid.pattern-50
		{
			margin-top: 20px;
		}


		/*pattern-33*/

		.structure-element-grid.pattern-33 > section
		{
			width: calc(33.3333% - 10px);
		}


		/*pattern-70-30*/

		.structure-element-grid.pattern-70-30 > section:first-child
		{
			width: calc(66.6666% - 10px);
		}

		.structure-element-grid.pattern-70-30 > section:last-child
		{
			width: calc(33.3333% - 10px);
		}


		/*pattern-30-70*/

		.structure-element-grid.pattern-30-70 > section:first-child
		{
			width: calc(33.3333% - 10px);
		}

		.structure-element-grid.pattern-30-70 > section:last-child
		{
			width: calc(66.6666% - 10px);
		}
	}



/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-GALLERY
------------------------------------------------------------------------------
*/

.structure-element-gallery
{
	position: relative;

	font-size: 0;
	line-height: 0;
}

.structure-element-gallery .content-element
{
	display: none;

	width: 50%;
	height: 0;

	padding-bottom: 50%;
}
.structure-element-gallery .content-element:nth-child(1),
.structure-element-gallery .content-element:nth-child(2),
.structure-element-gallery .content-element:nth-child(3),
.structure-element-gallery .content-element:nth-child(4),
.structure-element-gallery .content-element:nth-child(5),
.structure-element-gallery .content-element:nth-child(6)
{
	display: inline-block;
}
.structure-element-gallery .content-element:nth-child(3),
.structure-element-gallery.itemcount-4 .content-element:nth-child(4),
.structure-element-gallery .content-element:nth-child(6)
{
	width: 100%;
}
.structure-element-gallery .content-element + .content-element
{
	margin-top: 0;
}

.structure-element-gallery .content-element-quote div
{
	position: absolute;
}

.structure-element-gallery .content-element-image figure
{
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
}

.structure-element-gallery .content-element-image figcaption
{
	display: none;
}


	@media only screen and (min-width: 760px)
	{
		.structure-element-gallery.itemcount-4 .content-element
		{
			padding-bottom: 33.3333%;
		}

		.structure-element-gallery.itemcount-4 .content-element:nth-child(1),
		.structure-element-gallery.itemcount-4 .content-element:nth-child(4)
		{
			width: 66.6666%;
		}

		.structure-element-gallery.itemcount-4 .content-element:nth-child(2),
		.structure-element-gallery.itemcount-4 .content-element:nth-child(3)
		{
			width: 33.3333%;
		}

		.structure-element-gallery.itemcount-5
		{
			width: 66.6666%;
		}

		.structure-element-gallery.itemcount-5 .content-element:nth-child(4),
		.structure-element-gallery.itemcount-5 .content-element:nth-child(5)
		{
			position: absolute;
			top: 0;
			right: -50%;

			width: 50%;
		}
		.structure-element-gallery.itemcount-5 .content-element:nth-child(4),
		.structure-element-gallery.itemcount-5 .content-element:nth-child(5)
		{
			padding-bottom: 50%;
		}

		.structure-element-gallery.itemcount-5 .content-element:nth-child(5)
		{
			top: 50%;
		}

		.structure-element-gallery.itemcount-6 .content-element
		{
			padding-bottom: 25%;
		}

		.structure-element-gallery.itemcount-6 .content-element:nth-child(1),
		.structure-element-gallery.itemcount-6 .content-element:nth-child(4),
		.structure-element-gallery.itemcount-6 .content-element:nth-child(6)
		{
			width: 66.6666%
		}

		.structure-element-gallery.itemcount-6 .content-element:nth-child(2),
		.structure-element-gallery.itemcount-6 .content-element:nth-child(3),
		.structure-element-gallery.itemcount-6 .content-element:nth-child(5)
		{
			width: 33.3333%
		}

		.element-1244 > .content-element {
			max-height: 600px;
			height: 100vh;
			padding-bottom: 0;
		}
	}

	.element-1028 .content-element-image:nth-last-child(1),
	.element-1028 .content-element-image:nth-last-child(3) {
		display: none;
	}


/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-ACCORDION
------------------------------------------------------------------------------
*/

.content-element-accordion,
.structure-element-accordion
{
	width: 100%;

	margin: 0 auto;

	border-top: 1px solid #1F1A17;
	border-bottom: 1px solid #1F1A17;
}
.structure-element-background.black .content-element-accordion,
.structure-element-background.black .structure-element-accordion
{
	border-color: #fff;
}
.content-element-accordion + .content-element-accordion,
.structure-element-accordion + .structure-element-accordion
{
	margin-top: 0;

	border-top: none;
}


.content-element-accordion > .content,
.structure-element-accordion > .content
{
	display: none;
    box-sizing: border-box;

	overflow: hidden;

	transition: height 300ms ease;
}
.content-element-accordion > .content > .wrapper,
.structure-element-accordion > .content > .wrapper
{
	padding-bottom: 15px;
}


/*title*/

.content-element-accordion .title,
.structure-element-accordion .title
{
	position: relative;
}

.content-element-accordion .title button,
.structure-element-accordion .title button
{
	box-sizing: border-box;
	display: block;
	position: relative;

	width: 100%;
	flex: auto;

	padding: 15px 35px 15px 0px;

	font-family: 'rift bold';
	letter-spacing: 2px;
	text-align: left;
}
.structure-element-background.black .content-element-accordion .title button,
.structure-element-background.black .structure-element-accordion .title button
{
	color: #fff;
}

.content-element-accordion .title button::before,
.structure-element-accordion .title button::before
{
	content: '';

	display: block;
	position: absolute;
	right: 0;
	top: 50%;

	width: 40px;
	height: 40px;

	background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/spritesheet.svg');
	background-size: var(--spritesheet-size);
	background-position: -190px -70px;
	transform: translateY(-50%);
	transition: transform 300ms, background-color 300ms;
}
.content-element-accordion.open .title button::before,
.structure-element-accordion.open .title button::before
{
	transform: translateY(-50%) rotate(135deg);
}
.structure-element-background.black .content-element-accordion .title button::before,
.structure-element-background.black .structure-element-accordion .title button::before
{
	background-position: -190px -190px;
}


	@media only screen and (min-width: 760px)
	{
		.structure-element-background > .wrapper > .content-element-accordion,
		.structure-element-background > .wrapper > .structure-element-accordion
		{
			width: 66.6666%;
		}

		.content-element-accordion > .content > .wrapper,
		.structure-element-accordion > .content > .wrapper
		{
			padding-top: 10px;
			padding-bottom: 25px;
			padding-left: 50px;
			padding-right: 50px;
		}
	}

	@media only screen and (min-width: 769px)
	{
		.content-element-accordion .title button,
		.structure-element-accordion .title button
		{
			transition: color 200ms;
		}

		.content-element-accordion:not(.open) .title button:hover::before,
		.structure-element-accordion:not(.open) .title button:hover::before
		{
			transform: translateY(-50%) rotate(45deg);
		}
	}



/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-TEASERLIST-HERO
------------------------------------------------------------------------------
*/

.structure-element-teaserlist-hero
{
	position: relative;

	width: calc(100% + 10px);
	max-width: 1120px;

	margin-left: auto;
	margin-right: auto;

	transform: translateX(-5px);
}

.structure-element-teaserlist-hero .hide-overflow
{
	width: 100%;

	overflow: hidden;
}

.structure-element-teaserlist-hero .list
{
	display: flex;
	flex-flow: column;
	flex-wrap: wrap;
	position:relative;

	width:20000px;
	height: 530px;

	font-size: 0px;
	line-height: 0px;

	cursor: w-resize;
	cursor: -webkit-grab;
}
.structure-element-teaserlist-hero .list.centered
{
	width: auto;

	text-align: center;

	cursor: unset;
}
.structure-element-teaserlist-hero .list.count-2
{
	height: 265px;
}
.structure-element-teaserlist-hero .list:active
{
	cursor:-webkit-grabbing;
}
.structure-element-teaserlist-hero .list.centered:active
{
	cursor: unset;
}

.structure-element-teaserlist-hero .list > .content-element-teaser-hero
{
	display: inline-block;

	width: calc(50vw - 32px);

	margin: 5px;

	vertical-align: top;

	font-size: 0;
	line-height: 0;
}

.structure-element-teaserlist-hero .controller
{
	display: block;

	margin-top: 10px;
}

.structure-element-teaserlist-hero .controller .prev,
.structure-element-teaserlist-hero .controller .next
{
	top: calc(50% - 13px);
}



@media only screen and (min-width: 760px)
{
	.structure-element-teaserlist-hero
	{
		width: 100%;
		transform: none;
	}

	.structure-element-teaserlist-hero .list,
	.structure-element-teaserlist-hero .list.count-2
	{
		display: block;

		height: 350px;
	}

	.structure-element-teaserlist-hero .list > .content-element-teaser-hero
	{
		width: calc(25vw - 30px);
		height: calc(100% - 10px);
		max-width: calc(1120px / 4 - 10px);
	}
	.structure-element-teaserlist-hero .list.count-2 > .content-element-teaser-hero
	{
		width: calc(50vw - 30px);
		height: 100%;
		max-width: calc(1120px / 4 - 50px);
	}
}

@media only screen and (min-width: 769px)
{
	.structure-element-teaserlist-hero .list,
	.structure-element-teaserlist-hero .list.count-2
	{
		height: 430px;
	}
}



/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-TEASERLIST
------------------------------------------------------------------------------
*/

.structure-element-teaserlist
{
	position: relative;

	width: calc(100% + 20px);

	transform: translateX(-10px);
}
.structure-element-teaserlist.slider
{
	position: relative;

	width: 100%;

	transform: translateX(0px);

	overflow: hidden;
}

.structure-element-teaserlist .list
{
	position:relative;

	font-size: 0px;
	line-height: 0px;
	text-align: center;
}
.structure-element-teaserlist.slider .list
{
	width:20000em;
	min-width: 100%;

	cursor: w-resize;
	cursor: -webkit-grab;
}
.structure-element-teaserlist.slider .list:active
{
	cursor:-webkit-grabbing;
}

.structure-element-teaserlist .list > *
{
	display: inline-block;

	width: calc(33.3333% - 20px);

	margin: 5px;

	vertical-align: top;
}
.structure-element-teaserlist .list > * + *
{
	margin-top: 5px;
}
.structure-element-teaserlist.slider .list > *
{
	width: calc(100vw - 57px);
}

@media (hover: hover) and (pointer: fine) and (max-width: 759px)
{
	.structure-element-teaserlist.slider .list > *
	{
		width: calc(100vw - 74px);
	}
}

.structure-element-teaserlist .controller
{
	display: none;
}

.structure-element-teaserlist.slider .controller
{
	display: block;
}

.structure-element-teaserlist .controller .prev,
.structure-element-teaserlist .controller .next
{
	display: none;
}


	@media only screen and (min-width: 760px)
	{
		.structure-element-teaserlist,
		.structure-element-teaserlist.slider
		{
			left: -10px;

			width: calc(100% + 20px);

			margin-left: auto;
			margin-right: auto;
		}

		.structure-element-teaserlist + .content-element-button,
		.structure-element-teaserlist.slider + .content-element-button
		{
			margin-top: 20px;
		}

		.structure-element-teaserlist .list > *
		{
			margin: 10px;
		}

		.structure-element-teaserlist.slider .list > *
		{
			width: calc(100vw * 0.5 - 50px);
		}
	}

	@media only screen and (min-width: 769px)
	{
		.structure-element-teaserlist,
		.structure-element-teaserlist.slider
		{
			left: 10px;

			width: calc(80% + 20px);
		}

		.structure-element-teaserlist.slider .list > *
		{
			width: calc(80vw * 0.3333 - 40px);
			max-width: calc(1280px * 0.8 * 0.3333 - 40px);
		}
	}


/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-TEASERLIST-SCROLL
------------------------------------------------------------------------------
*/

.structure-element-teaserlist-scroll
{
    position: relative;
}

.structure-element-teaserlist-scroll .content
{
    display: flex;
	overflow-x: scroll;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;

	width: 100%;
}

.structure-element-teaserlist-scroll .content > *
{
    scroll-snap-align: start;

    min-width: 100%;

    margin-right: 10px;
}

.structure-element-teaserlist-scroll .content > * + *
{
    margin-top: 0px;
}

.structure-element-teaserlist-scroll .controller
{
    margin-top: 10px;
}

.structure-element-teaserlist-scroll .controller .prev,
.structure-element-teaserlist-scroll .controller .next
{
    display: none;
}

.structure-element-teaserlist-scroll .controller .prev:disabled,
.structure-element-teaserlist-scroll .controller .next:disabled
{
    display: none;
}



@media only screen and (min-width: 760px)
{
    .structure-element-teaserlist-scroll .content > *
    {
        margin-right: 20px;
    }

    .structure-element-teaserlist-scroll .content > *
    {
        min-width: calc(50% - 10px);
    }

    .structure-element-teaserlist-scroll .controller .prev,
    .structure-element-teaserlist-scroll .controller .next
    {
        display: block;
    }
}

@media only screen and (min-width: 769px)
{
    .structure-element-teaserlist-scroll
    {
        width: 80%;

        margin-left: auto;
        margin-right: auto;
    }

    .structure-element-teaserlist-scroll .content > *
    {
        min-width: calc(33% - 15px / 3 * 2);
    }
}

@media (hover: hover) and (pointer: fine)
{
    .structure-element-teaserlist-scroll .content::-webkit-scrollbar
	{
		width: 0px !important;
		height: 0px !important;

		background-color: transparent !important;
	}
	.structure-element-teaserlist-scroll .content
	{
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
	}
}




/*
##############################################################################
CONTENT-ELEMENTS
##############################################################################
*/


/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-IMAGE
------------------------------------------------------------------------------
*/

.content-element-image
{
	position: relative;
}

.content-element-image figure
{
	position: relative;

	width: 100%;
}

.structure-element-gallery section .structure-element-grid .content-element-image figure
{
	width: 100%;
	padding-bottom: 100%;
}
.structure-element-gallery > section > .content-element-image figure
{
	padding-bottom: 50%;
}

.content-element-image figure img
{
	width: 100%;
	height: 100%;
}

.content-element-image figcaption
{
	box-sizing: border-box;
	display: block;
	position: relative;

	margin-top: 5px;
	padding-left: 8px;
}
.structure-element-background.black .content-element-image figcaption
{
	color: #fff;
}
.content-element-image figcaption::before
{
	content: '';

	display: block;
	position: absolute;
	left: 0px;
	top: 0px;

	width: 1px;
	height: calc(100% - 4px);

	background-color: #1F1A17;
}
.structure-element-background.black .content-element-image figcaption::before
{
	background-color: #fff;
}

.structure-element-background.fullscreen .content-element-image figure
{
	overflow: hidden;
}

.structure-element-background.fullscreen .content-element-image img
{
	position: absolute;
	top: 50%;
	left: 50%;

	width: calc(100% + 2px);
	height: calc(100% + 2px);
	object-fit: cover;

	transform: translateX(-50%) translateY(-50%);
}

.content-element-image figure small
{
	position: absolute;
	left: 10px;
	bottom: 10px;

	font-size: 0.875rem;
	line-height: 1rem;
	color: #fff;
	text-shadow: 0px 0px 3px #000;
}


	@media only screen and (min-width: 769px)
	{
		.structure-element-background > .wrapper > .content-element-image
		{
			width: 80%;

			margin-left: auto;
			margin-right: auto;
		}

		.content-element-image.fixed-height figure
		{
			height: 200px;
		}

		.content-element-image.fixed-height figure img
		{
			position: absolute;
			top: 50%;
			left: 50%;

			object-fit: contain;

			transform: translateX(-50%) translateY(-50%);
		}
	}


/*
------------------------------------------------------------------------------
CONTENT-ELEMEMT-KEYVISUAL
------------------------------------------------------------------------------
*/

.content-element-keyvisual
{
	position: relative;

	width: 100%;
	height: calc(100vh - 60px);
}
.content-element-keyvisual + .structure-element-background,
.structure-element-background + .content-element-keyvisual
{
	margin-top: 0px;
}

.content-element-keyvisual .media
{
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
}

.content-element-keyvisual .media img,
.content-element-keyvisual .media video
{
	position: absolute;
	top: 50%;
	left: 50%;

	width: 100%;
	height: 100%;
	object-fit: cover;

	transform: translateY(-50%) translateX(-50%);
}

.content-element-keyvisual .media::after
{
	content: '';

	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	background-image: linear-gradient(to top, rgba(7, 7, 7, 0.8), rgba(7, 7, 7, 0));
}

.content-element-keyvisual .wrapper
{
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
	align-items: center;

	height: 100%;
}

.content-element-keyvisual em
{
	font-family: 'rift bold';
	font-size: 2.25rem;
	line-height: 2.5rem;
	letter-spacing: 2px;
	color: #fff;
	text-transform: uppercase;
	text-align: center;
}

.content-element-keyvisual .content-element-button
{
	margin-top: 30px;

	border-color: #fff;

	color: #fff;
}

.content-element-keyvisual button
{
	display: block;

	width: 60px;
	height: 20px;

	margin: 30px 0;

	background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/spritesheet.svg');
	background-size: var(--spritesheet-size);
	background-position: -1380px -202px;
}


	@media only screen and (min-width: 760px)
	{
		.content-element-keyvisual
		{
			height: 500px;
		}

		.content-element-keyvisual figure
		{
			width: 50%;
			height: 100%;
		}

		.content-element-keyvisual article
		{
			box-sizing: border-box;

			height: auto;

			padding-left: 50%;
			padding-right: 10%;

			transform: translateY(-50%);
		}

		.content-element-keyvisual em
		{
			font-size: 3.125rem;
			line-height: 3.5rem;
		}

		.content-element-keyvisual p
		{
			margin-top: 30px;
			padding-left: 40px;
		}

		.content-element-keyvisual .controller .scroll
		{
			bottom: 40px;
		}

		.content-element-keyvisual button
		{
			transition: background-position 200ms;
		}
		.content-element-keyvisual button:hover
		{
			background-position: -1380px -197px;
		}
	}

	@media only screen and (min-width: 769px)
	{
		.content-element-keyvisual
		{
			height: 800px;
			max-height: 80vh;
		}
	}



/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-BUTTON
------------------------------------------------------------------------------
*/

.content-element-button
{
	width: 100%;

	margin-left: auto;
	margin-right: auto;
}

.content-element-button a,
.content-element-button button
{
	display: table;

	margin: 0 auto;
	padding: 15px 30px;

	border: 2px solid #1F1A17;

	font-family: 'rift bold';
	font-size: 1.25rem;
	line-height: 1;
	text-transform: uppercase;
}
.content-element-button.align-left a,
.content-element-button.align-left button
{
	margin: 0;
}
.structure-element-background.black .content-element-button a,
.structure-element-background.black .content-element-button button
{
	border-color: #fff;

	color: #fff;
}


@media only screen and (min-width: 760px)
{
	.content-element-button
	{
		width: 66.6666%;
	}

	.structure-element + .content-element-button,
	.content-element + .content-element-button
	{
		margin-top: 20px;
	}
}

	@media only screen and (min-width: 769px)
	{
		.content-element-button a,
		.content-element-button button
		{
			transition: background-color 200ms, color 200ms;
		}

		.content-element-button a:hover,
		.content-element-button button:hover
		{
			background-color: #1F1A17;

			color: #fff;
		}
		.structure-element-background.black .content-element-button a:hover,
		.content-element-keyvisual .content-element-button a:hover,
		.structure-element-background.black .content-element-button button:hover,
		.content-element-keyvisual .content-element-button button:hover
		{
			background-color: #fff;

			color: #1F1A17;
		}
	}



/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-NEWSTEASER-LIST
------------------------------------------------------------------------------
*/

.content-element-newsteaser-list
{
	position: relative;

	width: calc(100% + 20px);

	transform: translateX(-10px);

	font-size: 0;
	line-height: 0;
	list-style: none;
}

.content-element-newsteaser-list li
{
	box-sizing: border-box;
	display: none;
	position: relative;

	width: calc(100% - 20px);

	margin: 10px;
	padding: 16px;
	vertical-align: top;

	background-color: #fff;
}
.content-element-newsteaser-list li.active
{
	display: inline-block;
}
.structure-element-background.white .content-element-newsteaser-list li
{
	background-color: #E3DED6;
}

.content-element-newsteaser-list li figure
{
	display: block;
	position: relative;
	overflow: hidden;

	height: 174px;
}

.content-element-newsteaser-list li figure img
{
	position: absolute;
	top: 50%;
	left: 50%;

	width: 100%;
	height: 100%;
	object-fit: cover;

	transform: translateX(-50%) translateY(-50%);
}

.content-element-newsteaser-list li time
{
	display: block;

	margin-top: 17px;

	font-family: 'azosans bold';
	color: #911909
}

.content-element-newsteaser-list li article
{
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;

	overflow: hidden;
}
.content-element-newsteaser-list li time + article
{
	margin-top: 10px;
}

.content-element-newsteaser-list li article em,
.content-element-newsteaser-list li article em a
{
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;

	font-family: 'azosans bold';
	font-size: 1.125rem;
	line-height: 1.25rem;
}

.content-element-newsteaser-list li article em a::after
{
	content: '';

	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
}
html.state-tabhandling-active .content-element-newsteaser-list li article em a:focus::after
{
	outline: 2px dashed #911909;
}

.content-element-newsteaser-list li article p
{
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.content-element-newsteaser-list li article em + p
{
	margin-top: 10px;
}

.content-element-newsteaser-list .show-more
{
	margin-top: 30px;
}


	@media only screen and (min-width: 760px)
	{
		.content-element-newsteaser-list li
		{
			width: calc(50% - 20px);
			height: 415px;
		}

		.content-element-newsteaser-list li article em,
		.content-element-newsteaser-list li article em a
		{
			-webkit-line-clamp: 2;
		}
	}

	@media only screen and (min-width: 769px)
	{
		.content-element-newsteaser-list li
		{
			width: calc(33.3333% - 20px);
		}

		.content-element-newsteaser-list li figure img
		{
			transition: transform 200ms;
		}

		.content-element-newsteaser-list li:hover figure img
		{
			transform: translateX(-50%) translateY(-50%) scale(1.1);
		}
	}



/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-NEWSLIST
------------------------------------------------------------------------------
*/

.content-element-newslist
{
	position: relative;

	list-style: none;
}

.content-element-newslist li
{
	box-sizing: border-box;
	position: relative;

	padding: 16px;

	background-color: #fff;
}
.content-element-newslist li + li
{
	margin-top: 2px;
}
.structure-element-background.white .content-element-newslist li
{
	background-color: #E3DED6;
}

.content-element-newslist li figure
{
	display: none;
	position: relative;
	overflow: hidden;

	height: 174px;
}
.content-element-newslist li:first-child figure
{
	display: block;
}

.content-element-newslist li figure img
{
	position: absolute;
	top: 50%;
	left: 50%;

	width: 100%;
	height: 100%;
	object-fit: cover;

	transform: translateX(-50%) translateY(-50%);
}

.content-element-newslist li time
{
	display: block;

	font-family: 'azosans bold';
	color: #911909
}
.content-element-newslist li:first-child figure + time
{
	margin-top: 14px;
}

.content-element-newslist li article
{
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;

	overflow: hidden;
}
.content-element-newslist li time + article
{
	margin-top: 10px;
}

.content-element-newslist li article em,
.content-element-newslist li article em a
{
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;

	outline-offset: -2px;

	font-family: 'azosans bold';
	font-size: 1.125rem;
	line-height: 1.25rem;
}
html.state-tabhandling-active .content-element-newslist li article em a:focus
{
	outline: none;
}

.content-element-newslist li article em a::after
{
	content: '';

	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
}
html.state-tabhandling-active .content-element-newslist li article em a:focus::after
{
	outline: 2px dashed #911909;
}

.content-element-newslist li article p
{
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.content-element-newslist li article em + p
{
	margin-top: 10px;
}


	@media only screen and (min-width: 760px)
	{
		/* .content-element-newslist
		{
			padding-left: calc(33.3333% + 20px);
		} */

		.content-element-newslist::after
		{
			content: '';

			float: none;
			clear:both;
			display: block;
			overflow: auto;
		}

		.content-element-newslist li
		{
			width: calc(66.6666% - 20px);

			float: right;
			font-size: 0;
			line-height: 0;
		}

		.content-element-newslist li:first-child
		{
			width: 33.3333%;
			height: 100%;

			float: left;
		}

		.content-element-newslist li:first-child + li
		{
			margin-top: 0px;
		}

		.content-element-newslist li:first-child time + article
		{
			margin-top: 10px;
		}

		.content-element-newslist li:first-child article em
		{
			-webkit-line-clamp: 4;

			margin-bottom: 10px;
		}

		.content-element-newslist li:first-child article p
		{
			-webkit-line-clamp: 5;
		}

		.content-element-newslist li:not(:first-child) time
		{
			display: inline-block;

			width: 25%;

			vertical-align: top;
		}

		.content-element-newslist li:not(:first-child) article
		{
			display: inline-block;

			width: 75%;

			margin-top: 0px;
		}
	}

	@media only screen and (min-width: 769px)
	{
		.content-element-newslist li:first-child figure img
		{
			transition: transform 200ms;
		}

		.content-element-newslist li:first-child:hover figure img
		{
			transform: translateX(-50%) translateY(-50%) scale(1.1);
		}

		.content-element-newslist li:not(:first-child) time
		{
			transition: transform 200ms;
		}

		.content-element-newslist li:not(:first-child):hover time
		{
			transform: translateX(8px);
		}
	}



/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-IMAGE-HERO
------------------------------------------------------------------------------
*/

.content-element-image-hero
{
	position: relative;
}
.content-element-image-hero.big
{
	height: 245px;
}
.content-element-image-hero.small
{
	height: 156px;
}
.content-element-image-hero + .structure-element-background
{
	margin-top: 0;
}

.content-element-image-hero img
{
	position: absolute;
	top: 50%;
	left: 50%;

	width: 100%;
	height: 100%;
	object-fit: cover;

	transform: translateY(-50%) translateX(-50%);
}
.content-element-image-hero.img-pos-bottom img
{
	object-position: bottom;
}

.content-element-image-hero .wrapper
{
	height: 100%;
}

.content-element-image-hero[data-availability] .wrapper::before
{
	position: absolute;
	bottom: 1rem;
	right: 26px;
	z-index: 1;
	display: grid;
	place-items: center;

	width: 5.5rem;
	height: 5.5rem;

	transform: rotate(20deg);

	border-radius: 50%;
	opacity: 1;

	font-family: 'rift bold';
	font-size: 1rem;
	line-height: 1rem;
	color: #fff;
	text-align: center;
	text-transform: uppercase;
}
.content-element-image-hero[data-availability="low"] .wrapper::before
{
	content: 'Nur wenige Plätze';

	background-color: #FAA910;

	color: #1F1A17;
}
.content-element-image-hero[data-availability="closed"] .wrapper::before
{
	content: 'Ausgebucht!';

	background-color: #d9261c;
}


@media only screen and (min-width: 760px)
{
	.content-element-image-hero.big
	{
		height: 350px;
	}
	.content-element-image-hero.small
	{
		height: 300px;
	}

	.content-element-image-hero[data-availability] .wrapper::before
	{
		bottoM: 3rem;

		margin-right: calc(100% / 3 / 2);
	}
}

@media only screen and (min-width: 769px)
{
	.content-element-image-hero.big
	{
		height: 560px;
	}
}


/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-TEXT
------------------------------------------------------------------------------
*/

.content-element-text
{
	width: 100%;
}

.content-element-text > *
{
	display: block;
}

.structure-element-background.black .content-element-text * { color: #fff; }

.content-element-text *:not(br) + *:not(br)
{
	margin-top: 20px;
}

.content-element-text br + a.single-link
{
	margin-top: -1.25rem;
}

.content-element-text em
{
	color: #911909;
}

.content-element-text i
{
	font-style: italic;
}

.content-element-text a
{
	color: #911909;
}

.content-element-text > a,
.content-element-text a.single-link
{
	box-sizing: border-box;
	display: table;
	position: relative;

	padding-left: 20px;

	color: #911909;
}

.content-element-text > a::before,
.content-element-text a.single-link::before
{
	content: '';

	display: inline-block;
	position: absolute;
	top: -1px;
	left: 0;

	width: 20px;
	height: 20px;

	background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/spritesheet.svg');
	background-size: var(--spritesheet-size);
	background-position: -1522px -320px;
}
.structure-element-background.black .content-element-text > a::before
{
	background-position: -1522px -202px;
}

.content-element-text ol
{
	counter-reset: list-decimals;
}

.content-element-text ol li
{
	position: relative;

	width: calc(100% - 17px);

	margin-left: 17px;
}

.content-element-text ul > li
{
	display: block;
	position: relative;

	width: calc(100% - 10px);

	margin-left: 10px;
}

.content-element-text ul li::before
{
	content: '';

	display: block;
	position: absolute;
	top: 7px;
	left: -10px;

	width: 5px;
	height: 5px;

	background-color: #911909;
	border-radius: 50%;
}
.structure-element-background.black .content-element-text ul li::before
{
	background-color: #fff;
}

.content-element-text ol li + li,
.content-element-text ul li + li
{
	margin-top: 10px;
}

.content-element-text p a:not(.single-link)
{
	position: relative;

	text-decoration: underline;
	word-break: break-word;
	color: #911909;
}


	@media only screen and (min-width: 760px)
	{
		.structure-element-background > .wrapper > .content-element-text
		{
			width: 66.6666%;

			margin-left: auto;
			margin-right: auto;
		}

		.content-element-text .text-center
		{
			text-align: center;
		}
	}

	@media only screen and (min-width: 769px)
	{
		.content-element-text p a:not(.single-link),
		.content-element-text li a:not(.single-link)
		{
			transition: opacity 200ms;
		}
		.content-element-text p a:not(.single-link):hover,
		.content-element-text li a:not(.single-link):hover
		{
			opacity: 0.7;
		}

		.content-element-text > a::before,
		.content-element-text a.single-link::before
		{
			transition: background-position 200ms;
		}
		.content-element-text > a:hover::before,
		.content-element-text a.single-link:hover::before
		{
			background-position: -1518px -320px;
		}
	}


/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-VIDEO
------------------------------------------------------------------------------
*/

.content-element-video
{
	position: relative;

	padding-bottom: 56.25%;

	overflow: hidden;
}

.content-element-video iframe
{
	position: absolute;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;

	width: 100%;
	height: 100%;
}


	@media only screen and (min-width: 769px)
	{

		.structure-element-background > .wrapper > .content-element-video
		{
			width: 80%;

			padding-bottom: calc(100% / 16 * 9 * 0.8);
			margin-left: auto;
			margin-right: auto;
		}
	}


/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-QUOTE
------------------------------------------------------------------------------
*/

.content-element-quote
{
	position: relative;
	display: flex;

	padding-bottom: 100%;

	background-color: #911909;
	overflow: hidden;
}
.structure-element-background.fullscreen section .content-element-quote
{
	height: 100%;
}

.content-element-quote > figure,
.structure-element-background.fullscreen section .content-element-quote > figure
{
	display: none;
}

.content-element-quote div
{
	box-sizing: border-box;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;

	width: 100%;

	padding: 26px;
	transform: translateY(-50%);
}
.structure-element-background.fullscreen section .content-element-quote div
{
	height: 100%;

	padding: 13px;
}
.content-element-quote.compact div
{
	padding: 15px;
}

.content-element-quote div figure
{
	display: block;
	position: relative;

	width: 116px;
	height: 116px;
	flex-shrink: 0;

	margin: 0 auto;

	border-radius: 50%;
	overflow: hidden;
}
.content-element-quote.compact div figure
{
	width: 56px;
	height: 56px;
}

.content-element-quote div figure img
{
	position: absolute;
	top: 50%;
	left: 50%;

	width: 100%;
	height: 100%;
	object-fit: cover;

	transform: translateX(-50%) translateY(-50%);
}

.content-element-quote div q
{
	font-family: 'rift bold';
	font-size: 1.375rem;
	line-height: 1.5rem;
	letter-spacing: 2px;
	text-align: center;
	color: #fff;
}
.content-element-quote.compact div q
{
	font-size: 1rem;
	line-height: 1.25rem;
}
.content-element-quote div q::before
{
	content: ''
}
.content-element-quote div q::after
{
	content: '';
}
.content-element-quote div figure + q
{
	margin-top: 30px;
}
.content-element-quote.compact div figure + q
{
	margin-top: 10px;
}
.structure-element-background.fullscreen .content-element-quote q
{
	font-size: 1rem;
	line-height: 1.125rem;
}
.structure-element-gallery .content-element-quote.compact q,
.structure-element-background.fullscreen .structure-element-gallery .content-element-quote.compact q
{
	font-size: 0.75rem;
	line-height: 0.825rem;
}

.content-element-quote div small
{
	font-family: 'azosans light italic';
	font-size: 0.75rem;
	line-height: 0.875rem;
	text-align: center;
	color: #fff;
}
.content-element-quote div q + small
{
	margin-top: 30px;
}
.content-element-quote.compact div q + small
{
	margin-top: 10px;
}
.structure-element-gallery .content-element-quote.compact small,
.structure-element-background.fullscreen .structure-element-gallery .content-element-quote.compact small
{
	font-size: 0.625rem;
	line-height: 0.75rem;
}

.structure-element-background.red .content-element-quote q,
.structure-element-background.red .content-element-quote small
{
	color: #fff;
}

.structure-element-background.fullscreen .structure-element-grid .content-element-quote small
{
	display: none;
}


	@media only screen and (min-width: 760px)
	{
		.structure-element-background.fullscreen > .content-element-quote
		{
			width: 100%;
			height: 0;

			padding-bottom: 33.3333%;
		}

		.structure-element-background.fullscreen > .content-element-quote > figure
		{
			display: block;
			position: absolute;
			top: 0;
			left: 0;

			width: 66.6666%;
			height: 100%;
		}

		.structure-element-background.fullscreen > .content-element-quote div
		{
			left: 66.6666%;

			width: 33.3333%;
		}

		.content-element-quote div
		{
			padding: 10px 30px;
		}
	}

	@media only screen and (min-width: 769px)
	{
		.content-element-quote.compact div figure
		{
			width: 106px;
			height: 106px;
		}

		.structure-element-background.fullscreen .content-element-quote q
		{
			font-size: 2.125rem;
			line-height: 2.5rem;
		}

		.structure-element-background.fullscreen .content-element-quote.compact q
		{
			font-size: 1.5rem;
			line-height: 1.75rem;
		}

		.structure-element-gallery .content-element-quote.compact q,
		.structure-element-background.fullscreen .structure-element-gallery .content-element-quote.compact q
		{
			font-size: 1.5rem;
			line-height: 1.75rem;
		}

		.structure-element-gallery .content-element-quote.compact small,
		.structure-element-background.fullscreen .structure-element-gallery .content-element-quote.compact small
		{
			font-size: 0.625rem;
			line-height: 0.75rem;
		}
	}


/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-TEASER-HERO
------------------------------------------------------------------------------
*/

.content-element-teaser-hero
{
	display: block;
	position: relative;

	width: 50%;
	height: 255px;
}

.content-element-teaser-hero figure
{
	position: absolute;
	top: 0px;
	left: 0px;
	overflow: hidden;

	width: 100%;
	height: 100%;
}

.content-element-teaser-hero img
{
	position: absolute;
	top: 50%;
	left: 50%;

	width: 100%;
	height: 100%;
	object-fit: cover;

	transform: translateX(-50%) translateY(-50%);
}

.content-element-teaser-hero div
{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;

	width: 100%;
	height: 100%;
}

.content-element-teaser-hero a,
.content-element-teaser-hero a p,
.content-element-teaser-hero p
{
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;

	width: 110px;
	height: 110px;

	padding: 5px;

	background-color: #fff;
	border-radius: 50%;

	font-family: 'rift bold';
	font-size: 1.25rem;
	line-height: 1.5rem;
	text-transform: uppercase;
	word-break: break-word;
	text-align: center;
}
html.state-tabhandling-active .content-element-teaser-hero a:focus
{
	outline: none;
}

.content-element-teaser-hero a::after
{
	content: '';

	display: block;
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
}
html.state-tabhandling-active .content-element-teaser-hero a:focus::after
{
	outline: 2px dashed #911909;
}
html.state-tabhandling-active .structure-element-background.black .content-element-teaser-hero a:focus::after
{
	outline-color: #fff;
}


@media only screen and (min-width: 760px)
{
	.content-element-teaser-hero
	{
		display: block;
		position: relative;

		width: 25%;
		height: 430px;
	}
}

@media only screen and (min-width: 769px)
{
	.content-element-teaser-hero a,
	.content-element-teaser-hero a p,
	.content-element-teaser-hero p
	{
		width: 150px;
		height: 150px;

		font-size: 1.5rem;
		line-height: 1.75rem;
	}

	.content-element-teaser-hero.link img
	{
		transition: transform 200ms;
	}
	.content-element-teaser-hero.link:hover img
	{
		transform: translateX(-50%) translateY(-50%) scale(1.1);
	}
}


/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-TEASER-SEMINAR
------------------------------------------------------------------------------
*/

.content-element-teaser-seminar
{
	display: block;
	position: relative;

	width: 100%;
	height: 455px;

	background-color: #fff;
	opacity: 1;
}
.structure-element-background.white .content-element-teaser-seminar
{
	background-color: #E3DED6
}

.content-element-teaser-seminar > div
{
	box-sizing: border-box;
	display: flex;
	flex-flow: column;
	align-items: center;

	width: 100%;
	height: 100%;

	padding: 12px;
}

.content-element-teaser-seminar figure
{
	position: relative;

	width: 100%;
	height: 174px;
	flex-shrink: 0;

	overflow: hidden;
}

.content-element-teaser-seminar figure img
{
	position: absolute;
	top: 50%;
	left: 50%;

	width: 100%;
	height: 100%;
	object-fit: cover;

	transform: translateY(-50%) translateX(-50%);
}

.content-element-teaser-seminar .meta
{
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column-reverse;
	position: relative;

	min-height: 57px;
	flex-shrink: 0;

	margin-top: -28px;
	padding: 10px 15px;

	background-color: #E3DED6;
}
.structure-element-background.white .content-element-teaser-seminar .meta
{
	background-color: #fff
}

.content-element-teaser-seminar .meta b
{
	display: block;

	font-family: 'rift bold';
	font-size: 1.25rem;
	line-height: 1.375rem;
	text-align: center;
}

.content-element-teaser-seminar .meta p
{
	font-family: 'azosans bold italic';
	font-size: 0.625rem;
	line-height: 0.75rem;
	color: #911909;
	text-align: center;
}

.content-element-teaser-seminar article
{
	max-width: 100%;
	height: 100%;
	flex: auto;
	margin-top: 18px;
	text-align: left;
}

.content-element-teaser-seminar article em,
.content-element-teaser-seminar article em a
{
	display: block;

	font-family: 'azosans bold';
	font-size: 1.125rem;
	line-height: 1.5rem;
}

.content-element-teaser-seminar article em
{
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	line-clamp: 2;
	box-orient: vertical;
	overflow: hidden;

	margin-bottom: 15px;
}

.content-element-teaser-seminar article em a::after
{
	content: '';

	display: block;
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
}
html.state-tabhandling-active .content-element-teaser-seminar article em a:focus::after
{
	outline: 2px dashed #911909;
	outline-offset: 2px;
}
html.state-tabhandling-active .structure-element-background.black .content-element-teaser-seminar article em a:focus::after
{
	outline-color: #fff;
}

.content-element-teaser-seminar article p
{
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;

	overflow: hidden;
}

.content-element-teaser-seminar .status
{
	display: flex;
	align-items: center;

	width: 100%;
}

.content-element-teaser-seminar .status p
{
	font-family: 'azosans bold italic';
}
.content-element-teaser-seminar[data-status="low"] .status p
{
	color: #FAA910;
}
.content-element-teaser-seminar[data-status="available"] .status p
{
	color: #97B565;
}
.content-element-teaser-seminar[data-status="no-spots"] .status p
{
	color: #D9291C;
}

.content-element-teaser-seminar .status .bar
{
	height: 12px;
	flex: auto;

	margin-left: 10px;

	background-color: #DEDEDE;
}
.structure-element-background.white .content-element-teaser-seminar .status .bar
{
	background-color: #fff
}

.content-element-teaser-seminar .status .bar div
{
	height: 100%;
}
.content-element-teaser-seminar[data-status="low"] .status .bar div
{
	width: 66%;
	background-color: #FAA910;
}
.content-element-teaser-seminar[data-status="available"] .status .bar div
{
	width: 33%;
	background-color: #97B565;
}
.content-element-teaser-seminar[data-status="no-spots"] .status .bar div
{
	width: 100%;

	background-color: #D9291C;
}



@media only screen and (min-width: 760px)
{
	.page-element-seminarlist .content-element-teaser-seminar + .content-element-teaser-seminar
	{
		margin-top: 20px;
	}

	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child
	{
		width: calc(100vw - 100px);
		height: 225px;
		max-width: calc(1200px / 3 * 2);

		margin: 0 10px;
	}
	.structure-element-teaserlist-scroll .content .content-element-teaser-seminar:only-child
	{
		width: calc(100% - 100px);
		height: 225px;

		margin: 0 auto;
	}

	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child > div,
	.structure-element-teaserlist-scroll .content .content-element-teaser-seminar:only-child > div
	{
		box-sizing: border-box;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;

		padding: 20px 20px 20px calc(33.3333% + 20px);
	}

	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child figure,
	.structure-element-teaserlist-scroll .content .content-element-teaser-seminar:only-child figure
	{
		position: absolute;
		top: 0;
		left: 0;

		width: 33.3333%;
		height: 100%;
	}

	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child .meta,
	.structure-element-teaserlist-scroll .content .content-element-teaser-seminar:only-child .meta
	{
		display: flex;
		flex-flow: row;
		justify-content: flex-start;

		width: 100%;
		height: auto;
		min-height: unset;

		margin-top: 0;
		padding: 0;

		background-color: transparent;
		border-radius: 0;
	}

	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child .meta p,
	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child .meta b,
	.structure-element-teaserlist-scroll .content .content-element-teaser-seminar:only-child .meta p,
	.structure-element-teaserlist-scroll .content .content-element-teaser-seminar:only-child .meta b
	{
		margin-bottom: 0;

		font-family: 'azosans bold';
		font-size: 1rem;
		line-height: 1.125rem;
		color: #911909;
		text-align: left;
	}

	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child .meta * + *::before,
	.structure-element-teaserlist-scroll .content .content-element-teaser-seminar:only-child .meta * + *::before
	{
		content: '/';

		display: inline-block;

		margin: 0px 3px;
	}

	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child article,
	.structure-element-teaserlist-scroll .content .content-element-teaser-seminar:only-child article
	{
		height: auto;
		flex: none;

		margin-top: 0;
	}

	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child article em,
	.structure-element-teaserlist-scroll .content .content-element-teaser-seminar:only-child article em
	{
		margin-bottom: 0;

		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child article p,
	.structure-element-teaserlist-scroll .content .content-element-teaser-seminar:only-child article p
	{
		display: -webkit-box;
		-webkit-line-clamp: 4;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child .status,
	.structure-element-teaserlist-scroll .content .content-element-teaser-seminar:only-child .status
	{
		width: 50%;
	}
}

@media only screen and (min-width: 769px)
{
	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child
	{
		width: calc((100vw - 100px) / 3 * 2);

		margin: 0 auto;
	}

	.structure-element-teaserlist.slider .list .content-element-teaser-seminar:only-child
	{
		transform: translateX(-10px);
	}

	.structure-element-teaserlist .list .content-element-teaser-seminar:only-child .status
	{
		width: 50%;
	}
}

@media (hover: hover) and (pointer: fine)
{
	.content-element-teaser-seminar figure img
	{
		transition: transform 200ms;
	}
	.content-element-teaser-seminar:hover figure img
	{
		transform: translateX(-50%) translateY(-50%) scale(1.1);
	}
}


/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-IMAGEGRID
------------------------------------------------------------------------------
*/

.content-element-imagegrid .content
{
	display: grid;
	grid-gap: 20px;
	grid-template-columns: repeat(2, 1fr);
}

.content-element-imagegrid + .content-element-imagegrid
{
	margin-top: 50px;
}

.content-element-imagegrid h3
{
	display: block;

	margin-bottom: 20px
}

.content-element-imagegrid .content-element
{
	width: auto;

	margin: 0;
}
.content-element-imagegrid .content-element + .content-element
{
	margin: 0;
}



@media only screen and (min-width: 760px)
{
	.content-element-imagegrid
	{
		width: 66.6666%;

		margin-left: auto;
		margin-right: auto;
	}

	.content-element-imagegrid .content
	{
		grid-template-columns: repeat(3, 1fr);
	}
}

@media only screen and (min-width: 769px)
{
	.content-element-imagegrid + .content-element-imagegrid
	{
		margin-top: 80px;
	}

	.structure-element-grid .content-element-imagegrid
	{
		width: 100%;
	}

	.content-element-imagegrid .content
	{
		grid-template-columns: repeat(4, 1fr);
	}

	.structure-element-grid.pattern-50 > section .content-element-imagegrid .content
	{
		grid-template-columns: repeat(2, 1fr);
	}
	.structure-element-grid.pattern-33 > section .content-element-imagegrid .content,
	.structure-element-grid.pattern-70-30 > section:last-child .content-element-imagegrid .content,
	.structure-element-grid.pattern-30-70 > section:first-child .content-element-imagegrid .content
	{
		grid-template-columns: repeat(2, 1fr);
	}
	.structure-element-grid.pattern-70-30 > section:first-child .content-element-imagegrid .content,
	.structure-element-grid.pattern-30-70 > section:last-child .content-element-imagegrid .content
	{
		grid-template-columns: repeat(3, 1fr);
	}
}


/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-LOGO
------------------------------------------------------------------------------
*/

.content-element-logo
{
	width: 100%;
}

.content-element-logo div
{
	position: relative;

	padding-bottom: calc(100% / 4 * 3);

	background-color: #fff;
}
.structure-element-background.white .content-element-logo div
{
	background-color: #E3DED6
}

.content-element-logo div img
{
	position: absolute;
	top: 50%;
	left: 50%;

	width: 90%;
	height: 90%;
	object-fit: contain;

	transform: translateX(-50%) translateY(-50%);
}

.content-element-logo figcaption
{
	box-sizing: border-box;
	display: block;
	position: relative;

	margin-top: 5px;
	padding-left: 8px;

	font-size: 0.75rem;
	line-height: 1rem;
}
.structure-element-background.black .content-element-logo figcaption
{
	color: #fff;
}
.content-element-logo figcaption::before
{
	content: '';

	display: block;
	position: absolute;
	left: 0px;
	top: 0px;

	width: 1px;
	height: calc(100% - 4px);

	background-color: #1F1A17;
}
.structure-element-background.black .content-element-logo figcaption::before
{
	background-color: #fff;
}


/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-SLIDESHOW
------------------------------------------------------------------------------
*/

.content-element-slideshow
{
	display: flex;
	flex-flow: column;
	position: relative;

	width: 100%;

	transform: translateX(0px);
}

.content-element-slideshow .container-list
{
	position: relative;

	width: 100%;
	height: 0;

	padding-bottom: 56.25%;

	overflow: hidden;
}

.content-element-slideshow .list
{
	position: absolute;
	top: 0;
	left: 0;

	width:20000em;
	height: 100%;

	cursor: w-resize;
	cursor: -webkit-grab;

	font-size: 0;
	line-height: 0;
}
.content-element-slideshow .list:active
{
	cursor:-webkit-grabbing;
}

.content-element-slideshow .list li
{
	box-sizing: border-box;
	display: inline-block;

	width: calc(100vw - 52px);
	height: inherit;
	max-width: calc(1200px / 3 * 2);

	margin: 0px 10px;

	vertical-align: top;
}
.content-element-slideshow .list li:only-child
{
	margin: 0;
	padding: 0;
}

.content-element-slideshow .list li .content-element-image,
.content-element-slideshow .list li .content-element-image figure
{
	height: 100%;
	user-select: none;
}

.content-element-slideshow .list li .content-element-image img
{
	position: absolute;
	top: 50%;
	left: 50%;

	width: 100%;
	height: 100%;
	object-fit: cover;

	transform: translateX(-50%) translateY(-50%);
}

.content-element-slideshow .controller
{
	padding-top: 10px;
}


	@media only screen and (min-width: 760px)
	{
		.content-element-slideshow
		{
			width: 66.6666%;

			margin-left: auto;
			margin-right: auto;
		}

		.content-element-slideshow .list li
		{
			width: calc((100vw - 100px) / 3 * 2);
		}

		.content-element-slideshow .controller
		{
			padding-top: 20px;
		}
	}


/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-SLIDESHOW-SCROLL
------------------------------------------------------------------------------
*/

.content-element-slideshow-scroll
{
	position: relative;
    -webkit-overflow-scrolling: touch;
}

.content-element-slideshow-scroll .content
{
	display: flex;
	overflow-x: scroll;
    overflow-y: hidden;
	scroll-snap-type: x mandatory;
	-webkit-scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;

	width: 100%;
}

.content-element-slideshow-scroll .content-element-image
{
	scroll-snap-align: center;
	display: inline-block;

	height: 0;
	width: 100%;
	flex-shrink: 0;

	margin-right: 15px;
	padding-bottom: calc(100% / 16 * 9);
}
.content-element-slideshow-scroll .content-element-image + .content-element-image
{
	margin-top: 0px;
}

.content-element-slideshow-scroll .content-element-image figure
{
    position: absolute;

    height: 100%;
}

.content-element-slideshow-scroll .content-element-image figure img
{
    object-fit: cover;
}

.content-element-slideshow-scroll .controller .prev,
.content-element-slideshow-scroll .controller .next
{
    display: none;
    top: calc(50% - 13px);
}

.content-element-slideshow-scroll .controller .prev:disabled,
.content-element-slideshow-scroll .controller .next:disabled
{
    display: none;
}


@media only screen and (min-width: 760px)
{
    .content-element-slideshow-scroll
    {
        width: 66.6666%;

        margin-left: auto;
        margin-right: auto;
    }

    .content-element-slideshow-scroll .controller
    {
        padding-top: 20px;
    }

    .content-element-slideshow-scroll .controller .prev,
    .content-element-slideshow-scroll .controller .next
    {
        display: inline-block;
    }
}

@media (hover: hover) and (pointer: fine)
{
    .content-element-slideshow-scroll .content::-webkit-scrollbar
	{
		width: 0px !important;
		height: 0px !important;

		background-color: transparent !important;
	}
	.content-element-slideshow-scroll .content
	{
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
	}
}



/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-SLIDESHOW
------------------------------------------------------------------------------
*/

.structure-element-slideshow
{
	display: flex;
	flex-flow: column;
	position: relative;

	width: 100%;
	height: 200px;

	transform: translateX(0px);
}

.structure-element-slideshow .container-list
{
	width: 100%;
	height: 100%;

	overflow: hidden;
}

.structure-element-slideshow .list
{
	position: relative;

	width:20000em;
	height: calc(100% - 40px);

	cursor: w-resize;
	cursor: -webkit-grab;

	font-size: 0;
	line-height: 0;
}
.structure-element-slideshow .list:active
{
	cursor:-webkit-grabbing;
}

.structure-element-slideshow .list .content-element
{
	box-sizing: border-box;
	display: inline-block;

	width: 100vw;
	height: 100%;
	max-width: 1252px;

	padding: 0 26px;

	margin: 10px;

	vertical-align: top;
}
.structure-element-slideshow .list .content-element:only-child
{
	margin: 0;
	padding: 0;
}

.structure-element-slideshow .list .content-element-text
{
	box-sizing: border-box;

	padding: 20px;

	background-color: #911909;
	overflow: hidden;
}

.structure-element-slideshow .list .content-element-text > *,
.structure-element-slideshow .list .content-element-text em,
.structure-element-slideshow .list .content-element-text strong,
.structure-element-slideshow .list .content-element-text i
{
	color: #fff;
}

.structure-element-slideshow .controller
{
	padding-top: 10px;
}


	@media only screen and (min-width: 769px)
	{
		.structure-element-slideshow
		{
			height: 490px;

			margin-left: auto;
			margin-right: auto;
		}

		.structure-element-slideshow .list .content-element
		{
			width: 33vw;
			max-width: calc(1280px * 0.3333 - 30px);
		}

		.structure-element-slideshow .controller
		{
			padding-top: 20px;
		}
	}




/*
------------------------------------------------------------------------------
CONTROLLER [GENERAL]
------------------------------------------------------------------------------
*/

.controller
{
}

.controller .prev,
.controller .next
{
	position: absolute;
	top: 50%;

	width: 40px;
	height: 40px;
	transform: translateY(-50%);

	background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/spritesheet.svg');
	background-size: var(--spritesheet-size);
	background-position: -1270px -70px;

	font-size: 0;
	line-height: 0;
}
.controller .prev { left: -28px; }
.controller .next
{
	right: -28px;

	transform: translateY(-50%) rotate(180deg);
}

.controller .pagination
{
	display: table;

	margin: 0 auto;
}

.controller .pagination li
{
	display: inline-block;
}
.controller .pagination li + li
{
	margin-left: 10px;
}

.controller .pagination li button
{
	position: relative;

	width: 7px;
	height: 7px;

	border-radius: 50%;
	background-color: #a5a5a5;

	transition: background-color 200ms;
}
.controller .pagination li.active button
{
	background-color: #464646;
}
.controller .pagination li button::after
{
	content: '';

	position: absolute;
	top: 50%;
	left: 50%;

	width: 17px;
	height: 17px;

	transform: translateX(-50%) translateY(-50%);
}


	@media only screen and (min-width: 760px)
	{
		.controller .prev { left: -38px; }
		.controller .next { right: -38px; }
	}


	@media only screen and (min-width: 769px)
	{
		.controller .prev,
		.controller .next
		{
			transition: background-position 200ms;
		}

		.controller .prev:hover,
		.controller .next:hover
		{
			background-position: -1275px -70px;
		}
	}


/*
------------------------------------------------------------------------------
PAGE-ELEMENT-GOOGLE-TOUR
------------------------------------------------------------------------------
*/

.page-element-google-tour
{
	position: relative;
}

.page-element-google-tour iframe
{
	display: block;

	width: 100%;
	height: 500px;
}

.page-element-google-tour div
{
	width: 100%;
}
.page-element-google-tour iframe + div,
.page-element-google-tour div button + button
{
	margin-top: 20px;
}

.page-element-google-tour div button
{
	width: 100%;
}

.page-element-google-tour div button figure,
.page-element-google-tour div button p
{
	display: inline-block;
	position: relative;

	width: 49%;

	vertical-align: middle;
}

.page-element-google-tour div button figure
{
	overflow: hidden;

	height: 100px;
}

.page-element-google-tour div button figure img
{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;

	width: 100%;
	height: 100%;
	object-fit: cover;

	transform: translateX(-50%) translateY(-50%);
}

.page-element-google-tour div button p
{
	box-sizing: border-box;

	padding: 0 10px;

	font-family: 'azosans bold';
	font-size: 1.125rem;
	line-height: 1.25rem;
	text-align: left;
}


	@media only screen and (min-width: 760px)
	{
		.page-element-google-tour div
		{
			display: flex;
			justify-content: space-between;
		}

		.page-element-google-tour div button
		{
			width: calc(25% - 10px);
		}
		.page-element-google-tour div button + button
		{
			margin-top: 0px;
		}

		.page-element-google-tour div button figure
		{
			width: 100%;
			height: 100px;
		}

		.page-element-google-tour div button p
		{
			margin-top: 10px;

			text-align: center;
		}
	}


	@media only screen and (min-width: 769px)
	{
		.page-element-google-tour div button figure img
		{
			transition: transform 200ms;
		}

		.page-element-google-tour div button:hover figure img
		{
			transform: translateY(-50%) translateX(-50%) scale(1.1);
		}
	}


/*
------------------------------------------------------------------------------
PAGE-ELEMENT-SEMINARLIST
------------------------------------------------------------------------------
*/

.page-element-seminarlist
{
	position: relative;

	/* min-height: 20000px; */
}

.page-element-seminarlist > form
{
	margin-bottom: 20px;
}

.page-element-seminarlist .list .content-element-teaser-seminar
{
	display: block;
}

.page-element-seminarlist .list .content-element-teaser-seminar.inactive
{
	display: none;
}

.page-element-seminarlist .content-element-button#show-more
{
	margin-top: 30px;
}

.page-element-seminarlist .list.filter-active ~ .content-element-text#no-results
{
	display: none;
}

.page-element-seminarlist fieldset
{
	margin-top: 0px;
}


	@media only screen and (min-width: 760px)
	{
		.page-element-seminarlist .list .content-element-teaser-seminar
		{
			height: 225px;
		}

		.page-element-seminarlist .list .content-element-teaser-seminar > div
		{
			box-sizing: border-box;
			display: flex;
			justify-content: space-between;
			align-items: flex-start;

			padding: 20px 20px 20px calc(33.3333% + 20px);
		}

		.page-element-seminarlist .list .content-element-teaser-seminar figure
		{
			position: absolute;
			top: 0;
			left: 0;

			width: 33.3333%;
			height: 100%;
		}

		.page-element-seminarlist .list .content-element-teaser-seminar .meta
		{
			display: flex;
			flex-flow: row;
			justify-content: flex-start;

			width: 100%;
			height: auto;
			min-height: unset;

			margin-top: 0;
			padding: 0;

			background-color: transparent;
			border-radius: 0;
		}

		.page-element-seminarlist .list .content-element-teaser-seminar .meta p,
		.page-element-seminarlist .list .content-element-teaser-seminar .meta b
		{
			margin-bottom: 0;

			font-family: 'azosans bold';
			font-size: 1rem;
			line-height: 1.125rem;
			color: #911909;
			text-align: left;
		}

		.page-element-seminarlist .list .content-element-teaser-seminar .meta * + *::before
		{
			content: '/';

			display: inline-block;

			margin: 0px 3px;
		}

		.page-element-seminarlist .list .content-element-teaser-seminar article
		{
			height: auto;
			flex: none;

			margin-top: 0;
		}

		.page-element-seminarlist .list .content-element-teaser-seminar article em
		{
			margin-bottom: 0;

			display: -webkit-box;
			-webkit-line-clamp: 2;
			-webkit-box-orient: vertical;
			overflow: hidden;
		}

		.page-element-seminarlist .list .content-element-teaser-seminar article p
		{
			display: -webkit-box;
			-webkit-line-clamp: 4;
			-webkit-box-orient: vertical;
			overflow: hidden;
		}

		.page-element-seminarlist .list .content-element-teaser-seminar .status
		{
			width: 50%;
		}
	}

	@media only screen and (min-width: 769px)
	{
		.page-element-seminarlist .list .content-element-teaser-seminar .status
		{
			width: 33.3333%;
		}
	}




/*
##############################################################################
FORM-ELEMENTS
##############################################################################
*/


form
{
	font-size: 0;
	line-height: 0;
}

.content-element-text + form
{
	margin-top: 20px;
}

form [data-controlled-by]
{
	display: none;

	margin-top: 0px;
}
form [data-controlled-by].active
{
	display: block;

	margin-top: 20px;
}

form fieldset,
form .formItem,
form .clearfix,
form .textBox
{
	display: inline-block;
	position: relative;

	width: 100%;

	margin-top: 20px;

	vertical-align: middle;
}
form > fieldset:first-of-type
{
	margin-top: 0px;
}

form fieldset.space-top
{
	margin-top: 45px;
}

form legend
{
	display: block;

	font-family: 'azosans bold';
}

form .form-structure-50 + fieldset legend,
form .form-structure-50 + legend,
form fieldset + fieldset legend,
form fieldset + legend
{
	padding-top: 20px;
}

form label
{
	display: block;

	margin-bottom: 4px;
}

form input[type="text"],
form input[type="email"],
form input[type="password"],
form input[type="tel"]
{
	box-sizing: border-box;
	display: inline-block;
	position: relative;

	width: 100%;

	padding: 7px;

	border: none;
	background-color: #fff;
}
form input[type="text"]:read-only
{
	background-color: #fff !important;
}
.structure-element-background.white input[type="text"],
.structure-element-background.white input[type="email"],
.structure-element-background.white input[type="password"],
.structure-element-background.white input[type="tel"]
{
	background-color:  #C1BAAE;
}
.structure-element-background.white input[type="text"]:read-only
{
	background-color:  #C1BAAE !important;
}
form input[type="text"].f3-form-error,
form input[type="email"].f3-form-error,
form input[type="password"].f3-form-error,
form input[type="tel"].f3-form-error
{
	border: 2px solid #d9261c;
}

form button[type="submit"],
form input[type="submit"],
form input.submit,
form input[type="reset"]
{
	display: block;
	position: relative;

	cursor: pointer;
	background-color: #81BFCE;

	-webkit-appearance: none;
	border-radius: none;
}
form input[type="submit"].hidden
{
	display: none;
}

form .form-element-radio div
{
	display: flex;
}
form .form-element-radio.vertical div
{
	flex-flow: column;
}

form input[type="checkbox"],
form input[type="radio"]
{
	position: absolute;

	width: 30px;
	height: 30px;

	opacity: 0;

	pointer-events: none;
}

form input[type="checkbox"] + label,
form input[type="radio"] + label
{
	box-sizing: border-box;
	position: relative;
	display: flex;

	width: 100%;

	cursor: pointer;
}
form input[type="radio"] + label
{
	width: auto;
}
form input[type="radio"] + label + input[type="radio"] + label
{
	margin-left: 15px;
}
form .vertical input[type="radio"] + label + input[type="radio"] + label
{
	margin-left: 0;
	margin-top: 15px;
}
form input[type="checkbox"] + label,
form input[type="checkbox"] + label::before,
form input[type="radio"] + label,
form input[type="radio"] + label::before { cursor: pointer; }

form input[type="checkbox"] + label::before,
form input[type="radio"] + label::before
{
	content: '';

	display: block;
	position: relative;

	width: 32px;
	height: 32px;
	flex-shrink: 0;

	margin-right: 5px;

	background-color: #fff;
}
form input[type="radio"] + label::before
{
	border-radius: 50%;
}
.structure-element-background.white input[type="checkbox"] + label::before,
.structure-element-background.white input[type="radio"] + label::before
{
	background-color: #C1BAAE;
}
form input[type="checkbox"].f3-form-error + label::before,
form input[type="radio"].f3-form-error + label::before
{
	border: 2px solid #d9261c;
}
html.state-tabhandling-active form input[type="checkbox"]:focus + label::before,
html.state-tabhandling-active form input[type="radio"]:focus + label::before
{
	outline: 2px dashed #911909;
}

form input[type="checkbox"] + label span,
form input[type="radio"] + label span
{
	margin-top: 6px;
}

form input[type="checkbox"] + label:after,
form input[type="radio"] + label:after
{
	content: '';

	display: none;
	position: absolute;
	top: 8px;
	left: 8px;

	width: 16px;
	height: 16px;

	background-color: #C1BAAE;
	border-radius: 50%;
}
form input[type="checkbox"] + label:after
{
	top: 4px;
	left: 4px;

	width: 24px;
	height: 24px;

	background-color: transparent;
	border-radius: unset;
	background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/icons/times.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
form input[type="checkbox"]:checked + label:after,
form input[type="radio"]:checked + label:after
{
	display: block;
}
.structure-element-background.white input[type="radio"] + label:after
{
	background-color: #fff;
}

form input[type="checkbox"] + label a
{
	position: relative;

	text-decoration: underline;
	word-break: break-word;
	color: #911909;
}

form textarea
{
	box-sizing: border-box;

	width: 100%;

	padding: 7px;

	background-color: #fff;
}
form textarea.t3-form-error
{
	border: 1px solid #f00;
}
.structure-element-background.white form textarea
{
	background-color: #C1BAAE;
}

form button[type="submit"],
form input[type="submit"],
form input.submit,
form .submit-confirm button.confirm
{
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;

	padding: 15px 10px;

	background-color: #911909;

	font-family: 'rift bold';
	font-size: 1.25rem;
	line-height: 1.375rem;
	color: #fff;
	text-transform: uppercase;
	text-align: center;
}
form button[type="submit"]:disabled,
form input[type="submit"]:disabled,
form input.submit:disabled
{
	background-color: #c5c5c5;

	cursor: auto;
}

form button[type="submit"] + svg.loader,
form input[type="submit"] + svg.loader,
form input.submit + svg.loader
{
	box-sizing: border-box;
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;

	width: 100%;
	height: 100%;

	padding: 10px;
	transform: translateX(-50%) translateY(-50%);

	background-color: #c5c5c5;
}

form button[type="submit"]:disabled + svg.loader,
form input[type="submit"]:disabled + svg.loader,
form input.submit:disabled + svg.loader
{
	display: block;
}

[data-availability="closed"] form button[type="submit"]:disabled + svg.loader,
[data-availability="closed"] form input[type="submit"]:disabled + svg.loader,
[data-availability="closed"] form input.submit:disabled + svg.loader
{
	display: none;
}

form .form-element-filter
{
	display: flex;
	flex-wrap: wrap;
	position: relative;
	left: -5px;

	width: calc(100% + 10px);

	margin-top: -5px;
}

form .form-element-filter div
{
	width: calc(50% - 10px);

	margin: 5px;
}
form .form-element-filter div:first-child
{
	width: 100%;
}

form .form-element-filter div input[type="radio"]
{
	position: absolute;

	width: 0px;
	height: 0px;
}

form .form-element-filter div input[type="radio"] + label
{
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;

	margin-bottom: 0px;
	padding: 0 5px;

	border: 2px solid #1F1A17;
	transition: all 100ms;

	font-family: 'rift bold';
	font-size: 0.875rem;
	line-height: 1.25rem;
	text-transform: uppercase;
	text-align: center;
}
html.state-tabhandling-active form .form-element-filter div input[type="radio"]:focus + label
{
	outline: 2px dashed #911909;
}
form .form-element-filter div  label + input[type="radio"] + label
{
	margin-left: auto;
}
form .form-element-filter div input[type="radio"] + label::after,
form .form-element-filter div input[type="radio"] + label::before
{
	display: none;
}

form .form-element-filter div input[type="radio"]:checked + label
{
	background-color: #1F1A17;

	color: #fff;
}

form .submit-confirm
{
	position: relative;
}

form .submit-confirm button.confirm
{
	position: relative;
	z-index: 1;

	transition: all 150ms;
}
form .submit-confirm.active button.confirm
{
	width: calc(100% - 106px);

	background-color: #c5c5c5;

	font-size: 0.75rem;
	color: #1F1A17;

	cursor: default;
}

form .submit-confirm div
{
	position: absolute;
	top: 0px;
	right: 0px;

	height: 100%;
}

form .submit-confirm div button
{
	display: inline-block;
	position: relative;

	width: 48px;
	height: 100%;
}
form .submit-confirm div button + button
{
	margin-left: 5px;
}
form .submit-confirm div button.cancel
{
	background-color: #c5c5c5;
}
form .submit-confirm div button.submit
{
	background-color: #911909;
}
form .submit-confirm div button.submit:disabled
{
	background-color: #c5c5c5;
}

form .submit-confirm div button i,
form .submit-confirm div button svg,
form .submit-confirm div button img
{
	position: absolute;
	top: 50%;
	left: 50%;

	transform: translateX(-50%) translateY(-50%);

	font-size: 2rem;
}
form .submit-confirm div button svg,
form .submit-confirm div button img
{
	display: none;

	height: 2rem;
}
form .submit-confirm div button.cancel i
{
	color: var(--font-color);
}
form .submit-confirm div button.submit i
{
	color: #fff;
}
form .submit-confirm div button.submit:disabled i
{
	display: none;
}
form .submit-confirm div button.submit:disabled svg,
form .submit-confirm div button.submit:disabled img
{
	display: block;
}
form .submit-confirm div button i
{
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
form .submit-confirm div button.cancel i
{
	width: 80%;
	height: 80%;

	background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/icons/times.svg');
}
form .submit-confirm div button.submit i
{
	width: 65%;
	height: 65%;

	background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/icons/check-white.svg');
}

form small
{
	font-size: 0.75rem;
	line-height: 1rem;
}

form input + small
{
	display: block;

	margin-top: 5px;
}


@media only screen and (min-width: 760px)
{

	.content-element-text + form
	{
		margin-top: 40px;
	}

	.structure-element-background > .wrapper > form
	{
		width: 66.6666%;

		margin-left: auto;
		margin-right: auto;
	}
	form div.form-structure-50,
	form div.form-structure-70-30,
	form div.form-structure-30-70,
	form div.form-structure-33
	{
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
	}

	form div.form-structure-50 fieldset,
	form div.form-structure-50 .form-element,
	form div.form-structure-50 div
	{
		width: calc(50% - 10px);
	}

	form div.form-structure-70-30 fieldset:nth-child(odd),
	form div.form-structure-70-30 .form-element:nth-child(odd),
	form div.form-structure-70-30 div:nth-child(odd)
	{
		width: calc(66.6666% - 10px);
	}
	form div.form-structure-70-30 fieldset:nth-child(even),
	form div.form-structure-70-30 .form-element:nth-child(even),
	form div.form-structure-70-30 div:nth-child(even)
	{
		width: calc(33.3333% - 10px);
	}

	form div.form-structure-30-70 fieldset:nth-child(odd),
	form div.form-structure-30-70 .form-element:nth-child(odd),
	form div.form-structure-30-70 duv:nth-child(odd)
	{
		width: calc(33.3333% - 10px);
	}
	form div.form-structure-30-70 fieldset:nth-child(even),
	form div.form-structure-30-70 .form-element:nth-child(even),
	form div.form-structure-30-70 div:nth-child(even)
	{
		width: calc(66.6666% - 10px);
	}

	form div.form-structure-33 fieldset,
	form div.form-structure-33 .form-element,
	form div.form-structure-33 div
	{
		width: calc(33.3333% - 10px);
	}

	form input[type="checkbox"] + label:before,
	form input[type="radio"] + label:before
	{
		margin-right: 15px;
	}

	form input[type="radio"] + label + input[type="radio"] + label
	{
		margin-left: 20px;
	}
	form .vertical input[type="radio"] + label + input[type="radio"] + label
	{
		margin-left: 0;
		margin-top: 10px;
	}

	form .submit-confirm.active button.confirm
	{
		font-size: 1.25rem;
	}

	form .form-element-filter
	{
		flex-wrap: nowrap;
	}

	form .form-element-filter div,
	form .form-element-filter div:first-child
	{
		width: calc(25% - 10px);
	}

	form .form-element-filter div input[type="radio"] + label
	{
		min-height: 54px;

		font-size: 1rem;
		line-height: 1.375rem;
	}
}

@media (hover: hover) and (pointer: fine)
{
	form .submit-confirm div button.cancel i,
	form .submit-confirm div button.submit i
	{
		transition: transform 100ms;
	}

	form .submit-confirm div button.cancel:hover i,
	form .submit-confirm div button.submit:hover i
	{
		transform: translateX(-50%) translateY(-50%) scale(1.15);
	}

	form input[type="checkbox"] + label a
	{
		transition: opacity 200ms;
	}
	form input[type="checkbox"] + label a:hover
	{
		opacity: 0.7;
	}

	form .form-element-filter div input[type="radio"] + label:hover
	{
		background-color: #1F1A17;

		color: #fff;
	}
}




/*
##############################################################################
HELPER
##############################################################################
*/

.floatkill
{
	float: none;
	clear:both;
	display: block;
	overflow: auto;
}

.unselectable
{
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* .styled-scrollbar::-webkit-scrollbar
{
	width: 7px;
}
.styled-scrollbar::-webkit-scrollbar-thumb
{
	background-color: #66666673;
	border-radius: 5px;
}
.styled-scrollbar::-webkit-scrollbar-track
{
	background-color: #e6e6e673;
	border-radius: 5px;
} */



@media (hover: hover) and (pointer: fine)
{
	.styled-scrollbar::-webkit-scrollbar
	{
		width: 7px;
	}
	.styled-scrollbar::-webkit-scrollbar-thumb
	{
		background-color: #66666673;
		border-radius: 5px;
	}
	.styled-scrollbar::-webkit-scrollbar-track
	{
		background-color: #e6e6e673;
		border-radius: 5px;
	}
}


.frame-type-mask_image_gallery.frame-layout-41 .mask-image-galler-wrapper {
	column-gap: 2em;
	display: flex;
	align-items: center;
	justify-content: center;
}

.frame-type-mask_image_gallery.frame-layout-41 .mask-image-galler-wrapper figure {
	flex: 1 1 0;
}

.frame-type-mask_image_gallery.frame-layout-41 .mask-image-galler-wrapper img {
	height: auto;
	max-width: 100%;
}


.frame-space-before-small {
	padding-top: 2rem;
}

.frame-space-before-medium {
	padding-top: 4rem;
}

.frame-space-before-large {
	padding-top: 8rem;
}


.frame-space-after-small {
	padding-top: 2rem;
}

.frame-space-after-medium {
	padding-top: 4rem;
}

.frame-space-after-large {
	padding-top: 8rem;
}



/*
##############################################################################
ACCESSIBILITY
##############################################################################
*/

#accessibility-show-main
{
	position: absolute;
	top: 100%;
	left: 0px;
	z-index: 2;

	width: 0;
	height: 0;

	background-color: #fff;
	color: #1F1A17;

	font-size: 0;
	line-height: 0;
}
#accessibility-show-main:focus
{
	width: auto;
	height: auto;

	padding: 10px;

	border: 2px solid #1F1A17;

	font-size: 1rem;
	line-height: 1rem;
}





/*
##############################################################################
PRIVACY AGREEMENT
##############################################################################
*/


#privacyagreement
{
	box-sizing: border-box;
	display: none;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 1000001;
	box-sizing: border-box;

	width: 100%;

	padding: 15px;

	border-radius: 0;
	background-color: rgba(0, 0, 0, .8);

	font-family: Arial;
	font-size: 1rem;
	line-height: 1.2rem;
}

	#privacyagreement .optin,
	#privacyagreement .optout
	{
        position: relative;
		display: none;
	}

	#privacyagreement.optin,
	#privacyagreement.optin .optin,
	#privacyagreement.optout,
	#privacyagreement.optout .optout
	{
		display: block;
	}

#privacyagreement .optin::after,
#privacyagreement .optout::after
{
	content: '';

	float: none;
	clear:both;
	display: block;
	overflow: auto;
}

#privacyagreement p
{
	color: #fff;
}

#privacyagreement .optin p
{
	display: block;

	width: 100%;

	float: left;
	user-select: none;
}

#privacyagreement p b
{
	display: block;

	font-weight: bold;
	color: #fff;
}

#privacyagreement small
{
	display: block;

	width: 100%;
	float: left;
	margin-top: 10px;

	color: #fff;
	font-size: 0.875rem;
	line-height: 1.125rem;
}

#privacyagreement .buttons
{
	width: 100%;
	margin-top: 10px;
	text-align: center;

	float: right;
}

#privacyagreement .buttons a,
#privacyagreement button
{
	box-sizing: border-box;
	display: inline-block;

	width: 140px;
	height: 35px;

	margin: 0 auto 5px;

	border: none;
	border-radius: 3px;
	cursor: pointer;

	text-align: center;
	letter-spacing: normal;
	text-transform: unset;
	font-size: 0.75rem;
	font-family: Arial;
}

#privacyagreement button.accept
{
	background-color: #fff;

	color: #000;
	font-weight: bold;
}

#privacyagreement button.decline
{
	margin-left: 10px;

	background-color: #c1c1c1;

	color: #000;
}

#privacyagreement button.close
{
    position: absolute;
    top: 0;
    right: 0;

    width: 10px;
    height: 10px;

    background-image: url('../../../_assets/055f93bea2bb1941693d3cda17546bf3/images/icons/times-white.svg');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

#privacyagreement button.close::after
{
    content: '';

    position: absolute;
    top: 50%;
    left: 50%;

    width: 30px;
    height: 30px;

    transform: translateX(-50%) translateY(-50%);
}

#privacyagreement .buttons a
{
	width: 100%;
	height: auto;

	padding-top: 7px;

	background-color: transparent;

	color: #fff;
}

#privacyagreement button + a,
#privacyagreement button + button
{
	margin-top: 5px
}

#privacyagreement a:hover,
#privacyagreement button:hover
{
	opacity: .8;
	transition: all .2s linear
}

@media only screen and (min-width:701px)
{
	#privacyagreement
	{
		bottom: 20px;
		left: auto;
		right: 20px;

		width: 620px;

		padding: 20px 20px 15px 20px;
		border-radius: 5px;
	}

	#privacyagreement .buttons
	{
		width: auto;
		margin-top: 0;
		text-align: center;
	}
	#privacyagreement button
	{
		display: block;
		width: 140px;
	}
	#privacyagreement .buttons a
	{
		display: block;
		width: auto;
		text-align: center
	}
	#privacyagreement button.decline
	{
		margin-left: 0;
	}

	#privacyagreement .optin p,
	#privacyagreement small
	{
		width: calc(100% - 160px);
	}

    #privacyagreement button.close
    {
        top: -10px;
        right: -10px;
    }
}



/*
##############################################################################
BROWSERCHECK
##############################################################################
*/

#browsercheck
{
	box-sizing: border-box;
	display: none;

	width: 100vw;
	height: 100vh;

	padding: 20px;

	background-color: #888;
}

	html.state-browser-not-supported #browsercheck
	{
		display: block;
	}

	html.state-browser-not-supported header,
	html.state-browser-not-supported main,
	html.state-browser-not-supported footer
	{
		display: none;
	}

#browsercheck > div
{
	box-sizing: border-box;
	display: block;

	width: 100%;
	max-width: 500px;

	margin: 0 auto;
	padding: 30px;

	background-color: #fff;
}

#browsercheck > div img
{
	display: block;

	width: 200px;
	height: auto;

	margin: 0 auto 20px;
}

#browsercheck > div *
{
	display: block;
	margin-bottom: 20px;
}



/*
##############################################################################
TX-INDEXEDSEARCH
##############################################################################
*/

.tx-indexedsearch-searchbox form fieldset
{
	display: block;

	max-width: calc(1280px * 0.66);

	margin: 0 auto;
}

.tx-indexedsearch-searchbox form fieldset
{
	text-align: center;
}

.tx-indexedsearch-searchbox form > fieldset
{
	width: 100%;

	margin: 0 auto;
}

.tx-indexedsearch-searchbox form fieldset legend
{
	display: block;

	margin-bottom: 30px;

	text-transform: uppercase;
}

.tx-indexedsearch-searchbox form fieldset .tx-indexedsearch-form label
{
	position: absolute;

	font-size: 0;
	line-height: 0;
}

.tx-indexedsearch-searchbox form fieldset .tx-indexedsearch-form,
.tx-indexedsearch-searchbox form fieldset .tx-indexedsearch-search-submit
{
	display: inline-block;
}

.tx-indexedsearch-searchbox form fieldset .tx-indexedsearch-form
{
	width: 100%;
}

.tx-indexedsearch-searchbox form fieldset .tx-indexedsearch-form input[type="text"]
{
	padding: 15px 15px;
}

.tx-indexedsearch-searchbox form fieldset .tx-indexedsearch-search-submit
{
	position: absolute;
	top: 0px;
	right: 0px;

	width: 50px;
	height: 100%;
}
.tx-indexedsearch-searchbox form fieldset .tx-indexedsearch-search-submit input
{
	width: 100%;
	height: 100%;

	padding: unset;

	background-image: var(--spritesheet);
	background-size: var(--spritesheet-size);
	background-position: -1145px -68px;
	background-color: transparent;
	cursor: pointer;

	font-size: 0;
	line-height: 0;
}

.tx-indexedsearch-info-noresult
{
	display: table;

	margin: 30px auto 0;
}

.tx-indexedsearch-browsebox
{
	text-align: center;
}
div.tx-indexedsearch-browsebox
{
	max-width: calc(1280px * 0.66);

	margin: 0 auto;
}
div.tx-indexedsearch-browsebox + .tx-indexedsearch-res
{
	margin-top: 30px;
}
.tx-indexedsearch-res + div.tx-indexedsearch-browsebox
{
	padding-top: 30px;
}

.tx-indexedsearch-browsebox li
{
	display: inline-block;
}
.tx-indexedsearch-browsebox li + li
{
	margin-left: 15px;
}
.tx-indexedsearch-browsebox li.tx-indexedsearch-browselist-currentPage strong a
{
	color: #911909;
}

.tx-indexedsearch-browsebox li a
{
	position: relative;
	z-index: 1;
}

.tx-indexedsearch-browsebox li a::after
{
	content: '';

	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;

	width: 25px;
	height: 25px;

	transform: translateX(-50%) translateY(-50%);

	border-radius: 50%;
	background-color: #eaeaea;
	opacity: 0;
}

.tx-indexedsearch-res
{
	box-sizing: border-box;

	max-width: calc(1280px * 0.66);

	margin: 0 auto;
	padding: 25px 0px;
}
.tx-indexedsearch-res + .tx-indexedsearch-browsebox,
.tx-indexedsearch-browsebox + .tx-indexedsearch-res,
.tx-indexedsearch-res + .tx-indexedsearch-res
{
	border-top: 2px solid #911909;
}
.tx-indexedsearch-res:last-child
{
	border-bottom: 2px solid #911909;
}

.tx-indexedsearch-res h2
{
	display: block;

	margin-bottom: 20px;
}

.tx-indexedsearch-res h2 a
{
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.tx-indexedsearch-res .tx-indexedsearch-redMarkup
{
	color:#911909;
}

.tx-indexedsearch-res .tx-indexedsearch-info dd.tx-indexedsearch-text-item-path p a
{
	color: #63409D;
}

.tx-indexedsearch-res .tx-indexedsearch-info dt,
.tx-indexedsearch-res .tx-indexedsearch-info dt
{
	display: inline-block;
}
.tx-indexedsearch-res .tx-indexedsearch-info dt + .tx-indexedsearch-res .tx-indexedsearch-info dd:before
{
	content: '\A';
}



@media only screen and (min-width: 760px)
{
	.tx-indexedsearch-searchbox
	{
		margin-top: 25px;
	}
}

@media only screen and (min-width: 769px)
{
	.tx-indexedsearch-res
	{
		padding: 50px 0px;
	}
}

@media (hover: hover) and (pointer: fine)
{
	.tx-indexedsearch-browsebox li a::after
	{
		transition: opacity 150ms;
	}

	.tx-indexedsearch-res h2 a
	{
		transition: color 150ms;
	}

	.tx-indexedsearch-browsebox li a:hover::after
	{
		opacity: 1;
	}

	.tx-indexedsearch-res h2 a:hover
	{
		color: #911909
	}
}


/*
##############################################################################
Team
##############################################################################
*/
.content-element-teamteaser-list ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
	margin-bottom: 80px;
}

.content-element-teamteaser-list ul li {
	list-style: none;

	display: flex;
	flex-direction: column;
}

.content-element-teamteaser-list ul figure {
	max-width: 300px;
}

.content-element-teamteaser-list ul article {
	padding-left: 15px;
	width: 100%;
	padding-top: 15px;
}

.content-element-teamteaser-list ul article em {
	display: block;
	margin-bottom: 15px;
}

.content-element-teamteaser-list ul article div p:not(:last-child) {
	margin-bottom: 5px;
}

.content-element-teamteaser-list ul article a {
	color: #911909;
	text-decoration: underline;
}

.content-element-teamteaser-list ul article a:hover,
.content-element-teamteaser-list ul article a:focus {
	text-decoration: none;
}

.content-element-teamteaser-list ul li img {
	max-width: 100%;
	height: auto;
}

#site-90 .content-element-slideshow-scroll {
	width: 100%;
	max-height: 560px;
	overflow: hidden;
}

#site-90 .content-element-slideshow-scroll .content-element-image figure {
	transform: translateY(-10%);
}

#site-90 .content-element-slideshow-scroll .controller .prev {
	left: 0;
}

#site-90 .content-element-slideshow-scroll .controller .next {
	right: 0;
}

@media all and (min-width: 1500px) {
	#site-90 .content-element-slideshow-scroll .content-element-image figure {
		transform: translateY(-20%);
	}
}

@media all and (max-width: 1024px) {
	#site-90 .content-element-slideshow-scroll .content-element-image figure {
		transform: translateY(0);
	}
}

@media all and (max-width: 580px ) {

	.content-element-teamteaser-list ul {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.content-element-teamteaser-list ul article {
		width: unset;
		padding-left: 0;
	}

}
/*   
##############################################################################
PRINT
##############################################################################
*/

@media print {
        
    *
    {
        color: #000 !important;
    }
    
    nav.main,
    .content-element-video,
    .controller,
    .navigation-button,
    #privacyagreement,
    .content-element-keyvisual
    {
        display: none !important;
    }
        
    header
    {
        position: absolute !important;
        top: 0 !important;
    }

    footer 
    {
        background-color: #d0d0d0;
    }

    .content-element-text ul li::before 
    {
        background-color: #000 !important;
    }

    .structure-element-background.black
    {
        background-image: none;
    }
    
    .structure-element-grid 
    {
        left: 0 !important;
        
        width: 100% !important;
    }
    
    .structure-element-grid section 
    {
        left: 0 !important;
        
        width: 100% !important;
        
        margin: 50px 0 0 !important;
    }

    .structure-element-gallery .structure-element-grid section 
    {
        margin-top: 0x !important;
    }
    
    .structure-element-teaserlist .list,
    .content-element-slideshow .list
    {
        left: 0 !important;
        
        width: 100% !important;
    }
    
    .structure-element-teaserlist .list > *,
    .content-element-slideshow .list > *
    {
        display: block !important;
        
        width: 66vw !important;
        
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    .content-element-video
    {
        display: none !important;
    }
    
    .structure-element-accordion .content
    {
        display: block !important;
    }

}