/* composer */

.columns {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;
	align-items: stretch;
}

.column {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	
	width: 100%;
	box-sizing: border-box;
}

.column[data-size="1/5"] { width: 20%; }
.column[data-size="1/4"] { width: 25%; }
.column[data-size="1/3"] { width: 33.333%; }
.column[data-size="2/5"] { width: 40%; }
.column[data-size="1/2"] { width: 50%; }
.column[data-size="3/5"] { width: 60%; }
.column[data-size="2/3"] { width: 66.666%; }
.column[data-size="3/4"] { width: 75%; }
.column[data-size="4/5"] { width: 80%; }


/* section fullwidth */

.fullwidth > .columns {
	max-width: 100%;
}

.fullwidth > .columns > .column:first-child {
	padding-left: 0;
}
.fullwidth > .columns > .column:last-child {
	padding-right: 0;
}


/* column padding */

.no-column-padding > .columns > .column,
.column.no-column-padding {
	padding: 0 !important;
}


/* column vertical align */

.align-flex-start {
	-webkit-align-self: flex-start;
	align-self: flex-start;
}
.align-flex-center {
	-webkit-align-self: center;
	align-self: center;
}
.align-flex-end {
	-webkit-align-self: flex-end;
	align-self: flex-end;
}


/* vertical align of contents in streched column */

.column-contents-center {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}


/* strech content to column */

.strech-to-column {
	position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
	-webkit-align-items: stretch;
	align-items: stretch;
}
.strech-to-column > * {
	width: 100%;
	min-height: 100%;
	box-sizing: border-box;
}


/* fit content to column */

.fit-content-to-column {
	position: relative;
}

.fit-content,
.fit-content .fit-object {
	position: absolute !important;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.fit-object {
	position: relative;
	overflow: hidden;
}

@media (max-width: 999px) {
	.mobile-column-ratio {
		position: relative;
		padding-top: 66.666%;
	}
}


/* mobile column collapse */

@media (max-width: 999px) {
	.columns:not(.no-wrap) {
		display: block;
	}
	.columns:not(.no-wrap) > .column {
		width: 100%;
	}
	.columns:not(.no-wrap) > .column + .column {
		margin-top: 2em;
	}
	.content-form .columns:not(.no-wrap) > .column + .column {
		margin-top: 0;
	}

	.mobile-flex-reverse > .columns,
	.mobile-flex-reorder > .columns {
		display: -webkit-flex !important;
		display: flex !important;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.mobile-flex-reverse > .columns {
		-webkit-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	.mobile-flex-reverse > .columns > .column,
	.mobile-flex-reorder > .columns > .column {
		-webkit-flex: 1 0 auto;
		flex: 1 0 auto;
	}

	.mobile-order-1 {
		-webkit-order: 1;
		order: 1;
	}
	.mobile-order-2 {
		-webkit-order: 2;
		order: 2;
	}
	.mobile-order-3 {
		-webkit-order: 3;
		order: 3;
	}
	.mobile-order-4 {
		-webkit-order: 4;
		order: 4;
	}
	.mobile-order-5 {
		-webkit-order: 5;
		order: 5;
	}
}

@media (max-width: 719px) {
	.wrap-below-720 > .columns {
		display: block;
	}
	.wrap-below-720 > .columns > .column {
		width: 100% !important;
	}
}

@media (max-width: 511px) {
	.wrap-below-512 > .columns {
		display: block;
	}
	.wrap-below-512 > .columns > .column {
		width: 100% !important;
	}
}


/* collapse 4 cols to 2x2 */

@media (max-width: 999px) {
	.wrap-4-to-2x2 .columns {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.wrap-4-to-2x2 .column {
		width: 50% !important;
	}
	/* or .wrap-4-to-2x2 .column:nth-child(1) {width: ... } */
	
	.wrap-4-to-2x2 .column:nth-child(3),
	.wrap-4-to-2x2 .column:nth-child(4) {
		margin-top: 2em;
	}
}



/* flex cols */

.flex-cols-2 > div {
	width: calc( (100% - 2em) / 2 );
}
.flex-cols-3 > div {
	width: calc( (100% - 4em) / 3 );
}
.flex-cols-4 > div {
	width: calc( (100% - 6em) / 4 );
}
.flex-cols-5 > div {
	width: calc( (100% - 8em) / 5 );
}
.flex-cols-6 > div {
	width: calc( (100% - 10em) / 6 );
}
.flex-cols-7 > div {
	width: calc( (100% - 12em) / 7 );
}
.flex-cols-8 > div {
	width: calc( (100% - 14em) / 8 );
}


@media (max-width: 999px) {
	.flex-cols-4 > div {
		width: calc( (100% - 4em) / 3 );
	}
	.flex-cols-5 > div {
		width: calc( (100% - 6em) / 4 );
	}
	.flex-cols-6 > div {
		width: calc( (100% - 6em) / 4 );
	}
	.flex-cols-7 > div {
		width: calc( (100% - 6em) / 4 );
	}
	.flex-cols-8 > div {
		width: calc( (100% - 8em) / 5 );
	}
}

@media (max-width: 511px) {
	.flex-cols-2 > div {
		width: 100%;
	}
	.flex-cols-3 > div {
		width: calc( (100% - 2em) / 2 );
	}
	.flex-cols-4 > div {
		width: calc( (100% - 2em) / 2 );
	}
	.flex-cols-5 > div {
		width: calc( (100% - 4em) / 3 );
	}
	.flex-cols-6 > div {
		width: calc( (100% - 4em) / 3 );
	}
	.flex-cols-7 > div {
		width: calc( (100% - 4em) / 3 );
	}
	.flex-cols-8 > div {
		width: calc( (100% - 6em) / 4 );
	}
}


.flex-fill {
	height: 0px;
	padding: 0;
	margin: 0 !important;
}.accordion-content > div:first-child:empty {
	display: none;
}
.accordion-content > .content {
	max-width: 100%;
}
.accordion-content > div:first-child:not(:empty) + .content,
.accordion-content > .content + .content {
	margin-top: 2em;
}
@media (max-width: 999px) {
	
	.accordion-content .content-bild_und_text .content-text {
		padding-left: 0;
		padding-right: 0;
	}
}.countdown {
	text-align: center;
	padding-bottom: 1.5em;
	transform: translateY(-2em);
}

.countdown span {
	display: inline-block;
	margin: 0 0.25em;
	width: 2em;
	text-align: center;
	padding-top: 0.1em;
	line-height: 1.9em;
	position: relative;
	color: white;
	background-color: #eb4137;
	font-family: 'DINNextStencil', sans-serif;
	font-weight: bold;
	font-size: 1.75em;
}
.countdown span::after {
	position: absolute;
	top: calc( 100% + 0.05em );
	font-size: 1rem;
	left: 50%;
	transform: translateX(-50%);
	font-family: DINNextLTPro, sans-serif;
	font-weight: normal;
	color: #282828;
}

.countdown span:nth-child(1)::after {
	content: "Tage";
}
.countdown span:nth-child(2)::after {
	content: "Std.";
}
.countdown span:nth-child(3)::after {
	content: "Min.";
}
.countdown span:nth-child(4)::after {
	content: "Sek.";
}
/* FORMS */

.send-progress {
cursor: wait;

}
.send-progress .form-composer {
pointer-events: none;
opacity: 0.6;
}

.content-form form {
padding: 0;
margin: 0 -0.5em;
transition: opacity 0.2s ease;
}
.content-form .column {
padding: 0 0.5em;
}

.form-input {
padding: 0.5em 0;
}

.minimal-input {
display: block;
background-color: white;
color: currentColor;
border: 1px #333 solid; /* fix color because .select-placeholder */
box-sizing: border-box;
outline: 0;
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
border-radius: 0px;
height: 2.5em;
line-height: 2.5em;
padding: 0px 0.5em;
	padding-top: 0.125em;
margin: 0;
width: 100%;
}

.minimal-input option {
color: #333; /* fix color because .select-placeholder */
}

textarea.minimal-input { 
max-width: 100%; /* no horizontal resize */
line-height: 1.5em;
padding-top: 0.55em;
}
select.minimal-input {
cursor: pointer;
	padding-top: 0;
}

.input-label {
min-height: 2em;
line-height: 150%;
box-sizing: border-box;
padding-top: 0.2em;
}

.input-select-wrapper {
position: relative;
}
.input-select-button {
position: absolute;
top: 0;
right: 0;
	background: transparent none center center no-repeat;
	background-image: url(../assets/images/down.svg);
background-size: 0.8em auto;
display: block;
width: 2em;
height: 2.5em;
line-height: 2em;
text-align: center;
pointer-events: none;
}

.input-button {
background: #eb4137;
color: white;
text-align: center;
border: 0;
cursor: pointer;
font-weight: bold;
text-transform: uppercase;
display: inline-block;
	width: auto;
	padding-left: 1.75em;
	padding-right: 1.75em;
}

/* pointer only */
@media (pointer: fine), not all and (-moz-touch-enabled) {
	.input-button:hover {
		background-color: #282828;
	}
}


.button-wrap {
	text-align: right;
}

.minimal-input:-moz-input-placeholder {
color: #282828; text-transform: uppercase; font-weight: bold;
}
.minimal-input::-moz-input-placeholder {
color: #282828; text-transform: uppercase; font-weight: bold;
}
.minimal-input:-ms-input-placeholder {
color: #282828; text-transform: uppercase; font-weight: bold;
}
.minimal-input::-ms-input-placeholder {
color: #282828; text-transform: uppercase; font-weight: bold;
}
.minimal-input::-webkit-input-placeholder {
color: #282828; text-transform: uppercase; font-weight: bold;
}
.minimal-input::placeholder {
color: #282828; text-transform: uppercase; font-weight: bold;
}


.minimal-input:focus::-webkit-input-placeholder {
color: white;
}
.minimal-input:focus::placeholder {
color: white;
}



.select-placeholder,
select.minimal-input option[value=""] {
color: #282828;
font-weight: bold;
}


.checkbox,
.radio {
min-height: 2em;
line-height: 150%;
display: inline-block;
position: relative;
color: inherit;
text-decoration: none;
padding-left: 2em;
padding-top: 0.2em;
box-sizing: border-box;
-webkit-user-select: none;
user-select: none;
cursor: pointer;
}

.checkbox > span,
.radio > span {
	position: absolute;
	top: 0.25em;
	left: 0px;
	border: 1px currentColor solid;
	box-sizing: border-box;
	width: 1.25em;
	height: 1.25em;
	background: transparent none center center no-repeat;
	background-size: 0.8em auto;
}
.checkbox.checked span {
background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjMzMzIiBkPSJNMjAuMjg1IDJsLTExLjI4NSAxMS41NjctNS4yODYtNS4wMTEtMy43MTQgMy43MTYgOSA4LjcyOCAxNS0xNS4yODV6Ii8+PC9zdmc+);
}

.radio > span {
border-radius: 50%;
}
.radio > span > span {
position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
background-color: currentColor;
border-radius: 50%;
display: none;
}
.radio.checked > span > span {
display: block;
}

@media (min-width: 1000px) {
	.option-align-h .checkbox + .checkbox,
	.option-align-h .radio + .radio {
	margin-left: 1em;
	}
}
@media (max-width: 999px) { /* same like v */
	.option-align-h .checkbox,
	.option-align-h .radio {
	display: block;
	}
	.option-align-h .checkbox + .checkbox,
	.option-align-h .radio + .radio {
	margin-top: 1em;
	}
}

.option-align-v .checkbox,
.option-align-v .radio {
display: block;
}
.option-align-v .checkbox + .checkbox,
.option-align-v .radio + .radio {
margin-top: 0.5em;
}

@media (max-width: 511px) {
	.content-form .columns {
		display: block;
	}
	.content-form .columns > .column {
		width: 100%;
	}
}

/* form errors */

.content-form .columns.form-error {
display: none;
}
.form-error-response {
border: 1px #eb4137 solid;
color: #eb4137;
padding: 0.5em;
line-height: 1.5em;
text-align: center;
margin-top: 0.5em;
}
.invalid input,
.invalid textarea,
.invalid select,
.invalid .checkbox > span, 
.invalid .radio > span {
border-color: red;
}

/* GALLERY */

.content-gallery {
	position: relative;
	margin: -0.5em 0;
	
    -webkit-display: flex;
    -webkit-flex-direction: row;
    -webkit-flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -webkit-align-content: flex-start;
    -webkit-align-items: flex-start;
	
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
    align-items: flex-start;
}


.content-gallery > div {
	margin: 1em 0;
}
.content-image {
	position: relative;
}

.fit-object img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.object-fit-fill img {
  object-fit: fill;
}

.object-fit-contain img {
  object-fit: contain;
}

.object-fit-cover img {
  object-fit: cover;
}

.object-fit-none img {
  object-fit: none;
}

.object-fit-scale-down img {
  object-fit: scale-down;
}

.fit-content .image-caption {
	position: absolute;
	bottom: 2em;
	left: 9em;
	right: 9em;
	text-align: center;
	color: white;
	z-index: 1;
	text-shadow: 0 0 3px RGBA(0,0,0,0.3);
}

@media (max-width: 719px) {
	.fit-content .image-caption {
		font-size: 0.9em;
		bottom: 1em;
		left: 1em;
	}
}


/* overlay */

.content-image:not(.gallery-image) .content {
	position: absolute;
	bottom: 0;
	right: 0;
	background: #eb4137;
	color: white;
	padding: 3.5em 5.33em;
	box-sizing: border-box;
	width: 34.66em;
	max-width: 100%;
	pointer-events: none;
}

@media (max-width: 999px) {
	.content-image:not(.gallery-image) .content {
		padding: 1em 2.66em;
		width: 100%;
	}
}


.teaser_box .content-image .content {
	padding: 1.75em 2.66em;
	width: 32em;
}
/* SLIDER */

.content-slider {
	position: relative;
}

.content-slider .ratio {
	position: relative;
}

.swiper-slide {
	background: white;
}

.swiper-slide:not(.auto-height-slide) > .content,
.content-slider .swiper-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



.content-slider .swiper-pagination-bullet {
	margin: 0 !important;
	position: relative;
	background: none;
	width: 20px;
	height: 20px;
}
.content-slider .swiper-pagination-bullet::before {
	content: "";
	position: absolute;
	left: 5px;
	top: 5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: white;
}
.content-slider .swiper-pagination-bullet-active::before {
	background-color: #eb5b54;
}

.swiper-container[data-count="0"] .swiper-button-white,
.swiper-container[data-count="1"] .swiper-button-white,
.swiper-container[data-count="0"] ~ .swiper-pagination,
.swiper-container[data-count="1"] ~ .swiper-pagination,
.swiper-container[data-count="0"] .swiper-pagination,
.swiper-container[data-count="1"] .swiper-pagination {
	display: none !important;
}


.content-slider .swiper-button-next,
.content-slider .swiper-button-prev {
	background: white url(../assets/images/next.svg) 25% 50% no-repeat !important;
	background-size: 0.5em auto !important;
	height: 5.33em !important;
	top: auto !important;
	bottom: -1px !important;
	margin-top: 0 !important;
	left: auto !important;
	right: 0 !important;
	width: 4em !important;
	opacity: 1 !important;
}
.content-slider .swiper-button-prev {
	right: calc(4em - 1px) !important;
	transform: scaleX(-1);
}


@media (max-width: 511px) {
	.content-slider .swiper-button-next,
	.content-slider .swiper-button-prev {
		background-size: 0.75em auto !important;
	}
}


.content-slider .swiper-button-disabled {
	filter: grayscale(1) brightness(1.4);
}

.swiper-pagination-progressbar {
	background-color: transparent !important;
}
.swiper-pagination-progressbar-fill {
	background-color: #eb4137 !important;
	transition: transform 0.3s ease;
}

/* pagnation outside of slider */
.content-slider > .swiper-pagination {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2em;
}



/* HERO */

.slider-type-hero-slider {
	width: 90.66em;
	max-width: calc( 100% - 5.33em );
	margin: 0 auto;
}

@media (max-width: 999px) {
	.slider-type-hero-slider .ratio {
		padding-top: 80% !important;
	}
}
@media (max-width: 719px) {
	.slider-type-hero-slider {
		max-width: 100%;
	}
	.slider-type-hero-slider .ratio {
		padding-top: 100% !important;
	}
}
@media (max-width: 511px) {
	.slider-type-hero-slider .ratio {
		padding-top: 140% !important;
	}
}

@media (min-width: 1000px) {	
	.slider-type-hero-slider .fit-object img {
		height: calc(100% - 2.66em);
	}
}
	
.slider-type-hero-slider .ratio {
	box-sizing: border-box;
	min-height: 34.66em;
}

/* TABS */

.content-tabs {
	position: relative;
	
    -webkit-display: flex;
    -webkit-flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    -webkit-align-items: flex-end;
	
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-end;
}

.tab {
	text-decoration: none;
	-webkit-flex: 1 1 auto;
    flex: 1 1 auto;
	
	background-color: #EEE;
	text-align: center;
	box-sizing: border-box;
	padding: 0.5em;
	
	width: 100%; /* equal sized tabs */
}

.active-tab {
	background-color: #000;
	color: white;
}


.tab + .tab {
	border-left: 1px #000 solid;
}


.tab-content {
	display: none;
}.content-teaser_boxen {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.teaser_box {
	width: calc( (100% - 2.66em) / 2 );
	margin: 1.33em 0;
}

@media (max-width: 999px) {
	.content-teaser_boxen {
		display: block;
	}
	.teaser_box {
		width: 100%;
		margin: 2.66em 0;
	}
	
	.teaser_box .content-image .content {
		padding: 0.75em 2em;
		max-width: 75%;
		box-sizing: border-box;
	}
	.teaser_box .content-text .learn-more-p {
		padding-top: 0.5rem !important;
		padding-bottom: 0.5rem !important;
	}
}
/* TEASERLIST */

.content-teaserlist {
	position: relative;
	margin: -0.5em 0;
	
    -webkit-display: flex;
    -webkit-flex-direction: row;
    -webkit-flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -webkit-align-content: flex-start;
    -webkit-align-items: flex-start;
	
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
    align-items: flex-start;
}


.content-teaserlist > div {
	margin: 0.5em 0;
}


/* text */

.content-text p,
.content-text ul,
.content-text ol {
	line-height: 150%;
	padding: 0.75rem 0;
	margin: 0;
}

.content-text p[style*="center"] {
	max-width: 40em;
	margin: 0 auto;
}

.content-text ol {
	padding-left: 1em;
}

.content-text ul {
	list-style-type: none;
}
.content-text ul li {
	position: relative;
	padding-left: 1em;
}
.content-text ul li::before {
	content: "\2013"; /* \2013 ndash \00B7 middot \2022 bull */
	position: absolute;
	left: 0;
	top: 0;
}


h1, h2, h3, h4 {
	font-weight: bold;
	padding: 0;
	margin: 0;
	line-height: 120%;
	text-transform: uppercase;
}
h1, h2 {
	font-family: 'DINNextStencil', sans-serif;
	font-size: 2.3em;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

h3, h4 {
	font-family: 'DINNextStencil', sans-serif;
	font-size: 1.5em;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	line-height: 125%;
}


@media (max-width: 719px) {
	h1, h2 {
		font-size: 2em;
	}
}
@media (max-width: 511px) {
	h1, h2 {
		font-size: 1.8em;
	}
	h3, h4 {
		font-size: 1.3em;
	}
}



@media (min-width: 1000px) {
	.two-column-text > * {
		-webkit-column-break-inside: avoid;
		break-inside: avoid;
	}
	.two-column-text {
		column-count: 2;
		column-gap: 20%;
	}
	.two-column-text p {
		max-width: 100% !important;
		padding-top: 0 !important;
		margin-bottom: 0.75rem !important;
	}
}


.text-table {
	font-family: inherit;
	font-size: 1em;
	margin: 0.75em 0;
}
.text-table td {
	line-height: 150%;
	vertical-align: top;
}
.text-table td:not(:last-child) {
	padding-right: 1em;
}

@media (max-width: 999px) {
	.mobile-collapse td {
		display: block;
		padding: 0 !important;
	}
	.mobile-collapse td:last-child {
		padding-bottom: 1em !important;
	}
}


.no-underline {
	text-decoration: none !important;
}

.button-link {
	color: #eb4137;
	border: 1px currentColor solid;
	padding: 0.375em 1.5em 0.325em 1.5em;
	box-sizing: border-box;
	text-align: center;
	display: inline-block;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: bold;
}

/* pointer only */
@media (pointer: fine), not all and (-moz-touch-enabled) {
	.button-link:not(.button-link-alt):hover {
		color: inherit;
	}
}

.button-link-alt {
	color: white;
}
.button-link + .button-link {
	margin-left: 0.95em;
}

.mac-text .button-link {
	padding-top: 0.45em;
	padding-bottom: 0.25em;
}


/* inline images */

img.alignnone {
	max-width: 100%;
	height: auto;
	margin: 0.3em 0;
}
img.alignright {
	float: right;
	max-width: 50%;
	height: auto;
	margin: 0.3em 0 1em 2em;
}
img.alignleft {
	float: left;
	max-width: 50%;
	height: auto;
	margin: 0.3em 2em 1em 0;
}
img.aligncenter {
	float: none;
	clear: both;
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0.3em auto 0.3em auto;
}

@media (max-width: 719px) {
	img.alignleft,
	img.alignright {
		float: none;
		margin: 1.5em auto;
		max-width: 100%;
	}
}.content-text_und_kontakte .content-bild_und_text {
	margin: 2.33em 0;
}

.content-text_und_kontakte .content-bild_und_text .content-text {
	padding-right: 0 !important;
}

.content-text_und_kontakte .content-bild_und_text .content-image {
	max-width: 7.33em;
	margin-left: auto;
}
.content-text_und_kontakte .content-bild_und_text .content-image img {
	border-radius: 50%;
}

.content-text_und_kontakte .content-bild_und_text .column:first-child {
	width: 25% !important;
}

@media (max-width: 999px) {
	.content-text_und_kontakte .content-bild_und_text .content-image {
		margin-left: 0;
	}
	.content-text_und_kontakte .content-bild_und_text .content-text {
		padding-left: 1em;
	}
	.content-text_und_kontakte .content-bild_und_text {
		margin: 0.75em 0;
		max-width: 25em;
	}
	.content-text_und_kontakte .content-bild_und_text:first-child {
		margin-top: -1em;
	}
}

.content-video {
	position: relative;
	
}
.content-video::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

video {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

.video-play {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	cursor: pointer;
}

.video-play::before {
	content: "";
	position: absolute;
	width: 3em;
	height: 3em;
	top: calc(50% - 1.5em);
	left: calc(50% - 1.5em);
	background: #eb4137 url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMyAyMnYtMjBsMTggMTAtMTggMTB6Ii8+PC9zdmc+) center center no-repeat;
	background-size: 1.2em auto;
	font-size: 1.5em;
}

.playing .video-play::before {
	content: none;
}.content-youtube_video {
	position: relative;
}
.content-youtube_video::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
.content-youtube_video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}




/* ZWEI KLICK LÖSUNG */

.confirm-external-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #eb4137;
	color: white;
	z-index: 20;
	
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	
	z-index: 50;
}

.confirm-external-overlay > div {
	text-align: center;
	padding: 0.75em 1em;
	box-sizing: border-box;
	max-width: 32rem;
}

@media (max-width: 719px) {
	.confirm-external-overlay > div {
			transform: scale(0.85);
	}
}

.confirm-external-overlay a:not(.button-link) {
	color: white !important;
	text-decoration: underline !important;
}
.confirm-external-overlay .content-text > :first-child {
	padding-top: 0 !important;
}
.confirm-external-overlay .content-text > * {
	padding-bottom: 0 !important;
	text-align: left;
}


.confirm-external-overlay .button-link {
	margin-top: 0.5rem !important;
}

.external-code {
	display: none;
}
/* ACCORDION */



.accordion-title:not(:first-child) {
	border-top: 1px currentColor solid;
}


.accordion-title {
cursor: pointer;
display: block;
	padding: 2.66rem 14rem 2.66rem 2.66rem;
	position: relative;
}

.accordion-ready::before {
content: " ";
position: absolute;
right: 2.66rem;
top: calc(50% - 0.3em);
width: 0.6em;
height: 0.6em;
background: transparent none center center no-repeat;
background-image: url(../assets/images/down.svg);
background-size: contain;
transition: transform 0.3s ease;
}

@media (max-width: 511px) {
	.accordion-ready::before {
		width: 0.85em;
	}
}

.accordion-open {
	color: inherit;
	text-decoration: none;
}
.accordion-open::before {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}


.accordion-content {
	display: none;
	padding: 0 2.66em 3.5em 2.66em;
}

.accordion-content > div {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.accordion-content .content-text {
	width: 100%;
	flex: 1 0.6 auto;
}
.accordion-content .content-text + .content-text {
	flex: 0.6 1 auto;
	margin-left: 6rem;
}
.accordion-content .content-text + .content-text + .content-text {
	margin-left: 2.66rem;
}


@media (max-width: 719px) {
	main > div + div:not(.content-space).content-akkordion {
		margin-top: 0.5em !important;
	}
	
	.accordion-content > div {
		display: block;
	}
	
	.accordion-content .content-text {
		width: 100%;
		margin-left: 0 !important;
	}	

}


.anmelden-link {
	position: absolute;
	right: 6em;
	top: calc(50% - 1em);
	text-transform: uppercase;
	line-height: 2em;
	font-weight: bold;
	font-family: DINNextLTPro, sans-serif;
	font-size: 1rem;
	padding: 0 1rem;
}
.anmelden-link::before {
	content: "ANMELDEN";
}


@media (max-width: 719px) {		
	.content-akkordion {
		max-width: 100% !important;
	}
	.accordion-title {
		padding-right: 6em;
	}
	.anmelden-link {
		right: 4.5em;
		width: 3em;
		height: 2em;
		background: url(../assets/images/mobile-anmelden.svg) center center no-repeat;
		background-size: 1.4em auto;
		padding: 0;
	}
	.anmelden-link::before {
		content: none;
	}
}
.fade-in,
.appear-children.fade-in > * {
	transition: opacity 0.6s ease, transform 0.6s ease-out !important;
	transition-delay: 0.1s;
}

.content-image > .fade-in:not(.image-ready),
.appear.fade-in,
.appear-children.fade-in > :not(.appeared-child) {
	opacity: 0;
	transform: translateY(2rem);
}

/* LIGHTBOX */

#lightbox {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1019;
background-color: white;
overflow: auto;
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}

#lightbox > div {
position: relative;
width: 100%;
min-height: 100%;

    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;

}

#lightbox > div > div {
	width: 100%;
}

#lightbox > div > div > .image {
background-size: contain;
}



#lightbox-close {
z-index: 1020;
position: absolute;
right: 1em;
top: 1em;
width: 44px;
height: 44px;
display: none;
}

#lightbox-close span {
height: 2px;
margin-top: -1px;
width: 30px;
left: 50%;
top: 50%;
position: absolute;
background-color: currentColor;
}

#lightbox-close :nth-child(1) {
transform: translate(-15px, 0px) rotate(45deg);
}
#lightbox-close :nth-child(2) {
transform: translate(-15px, 0px) rotate(-45deg);
}




#slider-lightbox,
.lightbox-content,
.lightbox-sub-content {
display: none;
}
#lightbox #slider-lightbox,
#lightbox .lightbox-content,
#lightbox .lightbox-sub-content {
display: block;
}


#slider-lightbox {
	max-width: 80em;
	margin: 0 auto;
	background: #262626;
}
#smart-button-container p {
	margin: 0.25em 0 0.5em 0;
}
.mailpoet_text,
.mailpoet_select,
#smart-button-container input[type=number],
#smart-button-container input[type=text] {
	display: block;
	background-color: white;
	color: currentColor;
	border: 1px #333 solid;
	box-sizing: border-box;
	outline: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
	border-radius: 0px;
	height: 2.5em;
	line-height: 2.5em;
	padding: 0px 0.5em;
	padding-top: 0.125em;
	margin: 0;
	width: 100%;	
}

#smart-button-container {
	max-width: 22em;
	margin: 0 auto;
	text-align: left;
	font-size: 1.2em;
}
#smart-button-container * {
	text-align: left !important;
}


#smart-button-container input[name="amountInput"] {
	display: inline-block;
	width: 8em;
	margin-right: 0.75em;
}

#smart-button-container label[for="amount"],
#smart-button-container label[for="description"] {
	display: block;
	padding: 0 0 0.5em 0;
}

#paypal-button-container {
	margin-top: -0.25em;
}
/* PRELOAD */

.preload,
.preload-all {
opacity: 0;
transition: opacity 0.3s ease;
}
.preload-ready,
.preload-all-ready {
opacity: 1;
}


/* EFFECT: PROGRESS */

.progress {
border: 1px #333 solid;
width: 2em;
height: 2em;
border-radius: 50%;
position: absolute;
top: 49%;
left: 50%;
z-index: 1000;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
box-sizing: border-box;
animation-name: progresspulse;
animation-duration: 1s;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
pointer-events: none;
transition: opacity 0.15s ease;
opacity: 0;
}

@keyframes progresspulse {
	0%   { border-width: 1px; }
	38%  { border-width: 10px; }
	100% { border-width: 1px; }
}

/* fadein when doc is ready */
.doc-ready .progress {
opacity: 1;
}

/* fadeout when loaded */
.preload-all-ready + .progress,
.preload-ready + .progress {
opacity: 0 !important;
animation-play-state: paused;
}

.pageview .page + .page {
	display: none;
}

#kalender-section {
	padding-bottom: 3.5em;
}
@media (max-width: 719px) {
	#kalender-section {
		padding-bottom: 2em;
	}
}

#calendar-col {
	background-color: #fafafa;
}
#dates-col {
	background-color: #eb4137;
	margin-top: 0 !important;
}


@media (min-width: 1000px) {
	#dates-col,
	#calendar-col {
		flex: 0 1 auto;
		width: calc(50% - 2.66em);
	}
}


.calendar-in {
	position: relative;
	min-height: 23.25em;
}

#dates,
.calendar {
	box-sizing: border-box;
	padding: 4em 1em;
	max-width: 24em;
	margin: 0 auto;
}

.calendar h4 {
	color: #eb4137;
	text-align: center;
	text-transform: uppercase;
}

.calendar table {
	margin-left: -0.33em;
	width: calc(100% + 0.66em);
	margin-top: 0.2em;
}

.calendar td,
.calendar th {
	font-weight: normal;
	padding: 0.33em;
	text-align: center;
}

.calendar table div {
	text-align: center;
	padding: 0.5em 0;
	border: 1px currentColor solid;
}

.calendar th div {
	border-color: transparent !important;
}


.day {
	color: #d0d0d0;
	cursor: default;
}
.has-events {
	color: inherit;
	cursor: pointer;
}
.no-more-events {
	color: #eb4137;
	cursor: default;
	pointer-events: none;
}

.selected-day {
	color: #fafafa;
	background-color: #282828;
}


.cal-legend {
	padding-top: 2em;
}

.legend-dot {
	width: 0.75em;
	height: 0.75em;
	display: inline-block;
	border-radius: 50%;
	margin-right: 0.5em;
	transform: scale(1.4);
}

#cal-filter-select {
	padding-top: 1.25em;
}
#cal-filter-select .minimal-input {
	background-color: #fafafa;
}


#cal-prev,
#cal-next {
	position: absolute;
	top: 0;
	right: 0;
	background: url(../assets/images/next.svg) 50% 50% no-repeat;
	background-size: 0.5em auto;
	width: 2.5em;
	height: 2.5em;
}
#cal-prev {
	right: auto;
	left: 0;
	transform: scaleX(-1);
}


#coming-next-wrap {
	display: none;
}

#headline-available-dates {
	padding-bottom: 1rem;
}



.cal-entry {
	display: block;
	padding: 0.85em 0;
	line-height: 150%;
}
.cal-entry-not-availble {
	display: none;
}



#kalender_form_container {
	position: relative;
	padding: 4em 0;
	width: 60em;
	max-width: calc(100% - 5.33em);
	margin: 0 auto;
}
#kalender-section > #kalender_form_container {
	display: none !important;
}


@keyframes spinprogress {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.progress {
	background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNMTMuNzUgMjJjMCAuOTY2LS43ODMgMS43NS0xLjc1IDEuNzVzLTEuNzUtLjc4NC0xLjc1LTEuNzUuNzgzLTEuNzUgMS43NS0xLjc1IDEuNzUuNzg0IDEuNzUgMS43NXptLTEuNzUtMjJjLTEuMTA0IDAtMiAuODk2LTIgMnMuODk2IDIgMiAyIDItLjg5NiAyLTItLjg5Ni0yLTItMnptMTAgMTAuNzVjLjY4OSAwIDEuMjQ5LjU2MSAxLjI0OSAxLjI1IDAgLjY5LS41NiAxLjI1LTEuMjQ5IDEuMjUtLjY5IDAtMS4yNDktLjU1OS0xLjI0OS0xLjI1IDAtLjY4OS41NTktMS4yNSAxLjI0OS0xLjI1em0tMjIgMS4yNWMwIDEuMTA1Ljg5NiAyIDIgMnMyLS44OTUgMi0yYzAtMS4xMDQtLjg5Ni0yLTItMnMtMiAuODk2LTIgMnptMTktOGMuNTUxIDAgMSAuNDQ5IDEgMSAwIC41NTMtLjQ0OSAxLjAwMi0xIDEtLjU1MSAwLTEtLjQ0Ny0xLS45OTggMC0uNTUzLjQ0OS0xLjAwMiAxLTEuMDAyem0wIDEzLjVjLjgyOCAwIDEuNS42NzIgMS41IDEuNXMtLjY3MiAxLjUwMS0xLjUwMiAxLjVjLS44MjYgMC0xLjQ5OC0uNjcxLTEuNDk4LTEuNDk5IDAtLjgyOS42NzItMS41MDEgMS41LTEuNTAxem0tMTQtMTQuNWMxLjEwNCAwIDIgLjg5NiAyIDJzLS44OTYgMi0yLjAwMSAyYy0xLjEwMyAwLTEuOTk5LS44OTUtMS45OTktMnMuODk2LTIgMi0yem0wIDE0YzEuMTA0IDAgMiAuODk2IDIgMnMtLjg5NiAyLTIuMDAxIDJjLTEuMTAzIDAtMS45OTktLjg5NS0xLjk5OS0ycy44OTYtMiAyLTJ6Ii8+PC9zdmc+) center center no-repeat;
	background-size: 40px 40px;
	width: 48px;
	height: 48px;
	margin: -24px 0 0 -24px;
	animation: spinprogress 2s infinite linear;
	position: absolute;
	left: 50%;
	top: 50%;
	opacity: 1;
	border: 0 !important;
}


.field_block_disabled {
	opacity: 0.5;
	pointer-events: none;
}


.element-disabled {
	pointer-events: none;
	opacity: 0.4;
	filter: grayscale(1);
	user-select: none;
}


@media (min-width: 1000px) {
	.form.columns > .column {
		flex: 0 1 auto;
		width: calc(50% - 2.66em);
	}
	
	#kalender_form_container .radio[data-key="Herr"]{
		margin-left: 0;
		margin-top: 0.5em;
	}
	#kalender_form_container .radio[data-key="Divers"]{
		margin-left: 2em;
	}
	
}
/* BURGER MENU */

#burger-menu {
	display: none;
	position: fixed;
	top: 8em;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1009;
	overflow: auto;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

#burger-menu > nav {
	position: relative;
	display: none;
	background-color: white;
	transition: box-shadow 0.3s ease;
}
.burger-menu-open #burger-menu > nav {
	box-shadow: 0 8px 32px RGBA(0,0,0,0.15);
}

#burger-button {
	z-index: 1010;
	position: absolute;
	right: 2em;
	top: 2.2em;
	width: 44px;
	height: 44px;
	display: none;
}

.burger-menu-open #burger-button {
	display: block;
}

@media (max-width: 999px) {
	#burger-button {
		display: block;
	}
	#primary-menu {
		display: none;
	}
}


#burger-menu ul,
#burger-menu li {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: block;
}

#burger-menu nav > ul {
	font-size: 1.2em;
}
#burger-menu nav > ul > li {
	position: relative;
	border-top: 1px #e5e5e5 solid;
}

#burger-menu nav > ul > li > a {
	text-decoration: none;
	display: block;
	padding: 0 2.33em;
	font-weight: bold;
	text-transform: uppercase;
	height: 3.75em;
	line-height: 3.75em;
	padding-top: 0.25em;
}

#burger-menu ul ul {
	display: none;
	padding-bottom: 1.4em;
}

#burger-menu ul ul a {
	font-size: 1em;
	display: block;
	padding: 0 2.33em;
	height: 2em;
	line-height: 2em;
}

#burger-button::before,
#burger-button::after {
	content: "";
}

#burger-button::before,
#burger-button::after,
#burger-button span {
	position: absolute;
	display: block;
	height: 2px;
	margin-top: -1px;
	width: 28px;
	left: 50%;
	top: 50%;
	background-color: #eb4137;
}


#burger-button::before {
transform: translate(-14px, -8px);
transition: transform ease 0.3s, width ease 0.3s, background-color 0.3s ease;
}
#burger-button span {
transform: translate(-14px, 0px);
transition: opacity ease 0.15s, background-color 0.3s ease;
}
#burger-button::after {
transform: translate(-14px, 8px);
transition: transform ease 0.3s, width ease 0.3s, background-color 0.3s ease;
}


.burger-menu-open #burger-button::before {
transform: translate(-15px, 0px) rotate(45deg);
width: 30px;
}
.burger-menu-open #burger-button span {
opacity: 0;
}
.burger-menu-open #burger-button::after {
transform: translate(-15px, 0px) rotate(-45deg);
width: 30px;
}


.menu-opener {
	position: absolute;
	top: 0;
	height: 4em;
	right: 0;
	width: 6.2em;
	background: transparent url(../assets/images/down.svg) center center no-repeat;
	background-size: 0.85em auto;
	transition: transform 0.2s ease;
}
.submenu-open .menu-opener {
	transform: rotate(180deg);
}





#primary-menu {
	box-sizing: border-box;
	text-align: center;
	
	max-height: 8em;
	transition: max-height 0.4s ease;
	overflow: hidden;
}

@media (min-width: 1400px) {	
	#primary-menu {
		padding-right: 4%;
	}
}


body:not(.search-open) #primary-menu:hover {
	max-height: 32em;
}


#primary-menu ul,
#primary-menu li {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: inline;
}

#primary-menu nav > ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: stretch;
    align-items: stretch;
	
	text-align: left;
}

#primary-menu nav > ul > li + li {
	border-left: 1px #e5e5e5 solid;
}
#primary-menu nav > ul > li > a {
	text-decoration: none;
	display: inline-block;
	padding: 0 2em;
	font-weight: bold;
	text-transform: uppercase;
	height: 8em;
	line-height: 8em;
	white-space: nowrap;
}

#primary-menu ul ul {
	display: block;
	white-space: wrap;
	padding: 0 2em 3.75em 2em;
	margin-top: -0.5em;
}

@media (max-width: 1399px) {
	#primary-menu ul ul {
		padding-right: 1em;
	}
}

#primary-menu ul ul li {
	display: block;
	padding: 0.4em 0;
}

#primary-menu a:hover,
#primary-menu .current_page_ancestor > a,
#primary-menu .current_page_item > a {
	color: #eb4137;
}


/* full width menu

#primary-menu ul,
#primary-menu li {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: block;
}

#primary-menu > nav > ul {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
	
	margin: 0 auto;
	max-width: 64em;
}

#primary-menu > nav > ul > li {
	-webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}

#primary-menu a {
	text-decoration: none;
	display: block;
	text-transform: uppercase;

	font-size: 1.25em;
	padding: 0.85em 2em 0.8em 2em;
	box-sizing: border-box;
}

*/