/* 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;
	
	margin: 0 auto;
	max-width: 101em;
}

@media (min-width: 1000px) {
	.desktop-columns-limit .columns {
		max-width: 68em;
	}
}

.shadow-edge .columns {
	box-shadow: 0px 0px 3.1em #0000001A;
    max-width: 100em;
}


.column {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	
	width: 100%;
	padding: 0 0.5em;
	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 */


section:not(.fullwidth) {
	padding-left: 3.5em;
	padding-right: 3.5em;
}

@media (max-width: 599px) {
	section:not(.fullwidth) {
		padding-left: 1.5em;
		padding-right: 1.5em;
	}
}

.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) {
	section:not(.custom-wrap-rule) > .columns {
		display: block;
	}
	section:not(.custom-wrap-rule) > .columns > .column {
		width: 100%;
	}
	section:not(.custom-wrap-rule):not(.mobile-flex-reverse) > .columns > .column:not(:first-child) {
		margin-top: 3em;
	}
	section:not(.custom-wrap-rule).mobile-flex-reverse > .columns > .column:not(:last-child) {
		margin-top: 3em;
	}

	.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% - 1em) / 2 );
}
.flex-cols-3 > div {
	width: calc( (100% - 2em) / 3 );
}
.flex-cols-4 > div {
	width: calc( (100% - 3em) / 4 );
}
.flex-cols-5 > * {
	width: calc( (100% - 4em) / 5 );
}
.flex-cols-6 > div {
	width: calc( (100% - 5em) / 6 );
}
.flex-cols-7 > div {
	width: calc( (100% - 6em) / 7 );
}
.flex-cols-8 > div {
	width: calc( (100% - 7em) / 8 );
}


@media (max-width: 999px) {
	
	.flex-cols-3 {
		margin: 0 auto !important;
		max-width: 36em;
	}
	
	.flex-cols-2 > div,
	.flex-cols-3 > div {
		width: 100%;
	}
	.flex-cols-5 > * {
		width: calc( (100% - 2em) / 3 );
	}
	.flex-cols-6 > div {
		width: calc( (100% - 3em) / 4 );
	}
	.flex-cols-7 > div {
		width: calc( (100% - 3em) / 4 );
	}
	.flex-cols-8 > div {
		width: calc( (100% - 4em) / 5 );
	}
}

@media (max-width: 719px) {

	.flex-cols-4 > div,
	.flex-cols-5 > * {
		width: calc( (100% - 1em) / 2 );
	}
	.flex-cols-6 > div {
		width: calc( (100% - 2em) / 3 );
	}
	.flex-cols-7 > div {
		width: calc( (100% - 2em) / 3 );
	}
	.flex-cols-8 > div {
		width: calc( (100% - 3em) / 4 );
	}
}


@media (max-width: 511px) {

	.flex-cols-4 > div,
	.flex-cols-5 > * {
		width: 100%;
	}
}


.flex-fill {
	height: 0px;
	padding: 0;
	margin: 0 !important;
}
/* FILTERLIST */

.content-filterlist {
	position: relative;
	transition: height 0.25s ease;
	margin: 0;
	overflow: hidden;
}
.column > .content-filterlist:last-child {
	margin-bottom: 0;
}


.content-filterlist > * {
	position: absolute;
	transition: top 0.25s ease, left 0.25s ease;
}
.rowmode > * {
	transition: none;
}



.filter-menu {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: block;	
}
.filter-menu li {
	position: relative;
	display: inline-block;
	margin-right: 1em;
	padding: 0.4em 0.5em 0.45em 0.5em;
	border: 1px white solid;
	border-radius: 0.83em;
	transition: border-color 0.3s ease, background-color 0.3s ease, padding-right 0.3s ease;
	cursor: pointer;
}
.filter-menu li:hover {
	border-color: var(--active);
}

.filter-menu .filter-active {
	border-color: var(--active);
	background-color: var(--active);
	padding-right: 1.5em;
}
.filter-menu li::after {
	content: "";
	position: absolute;
	right: 0.2em;
	top: 0;
	bottom: 0;
	width: 1em;
	background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOSAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE0LjU0NDQgMTMuMTg1NkwxMi42ODEyIDE0Ljk0NTZMOS4zMDA2NyAxMS4zNjY2TDUuNjY2MzcgMTQuNzk5NEwzLjk3NjEyIDEzLjAwOTlMNy42MTA0MyA5LjU3NzEzTDQuMjEyNTEgNS45Nzk3Mkw2LjA3NTc4IDQuMjE5NzdMOS40NzM3IDcuODE3MThMMTMuMDg5NiA0LjQwMTg0TDE0Ljc3OTggNi4xOTEzMkwxMS4xNjM5IDkuNjA2NjZMMTQuNTQ0NCAxMy4xODU2WiIgZmlsbD0iI2ZmZiIvPgo8L3N2Zz4) center center no-repeat;
	background-size: contain;
	transition: opacity 0.3s ease;
	opacity: 0;
}
.filter-menu li.filter-active::after {
	opacity: 1;
}

.filter-menu .cat-label {
	padding-left: 0;
	border: 0;
	color:#BDBDBD;
	cursor: default;
}
.filter-menu .cat-label:not(:first-child) {
	padding-left: 2em;
}





.inject-to-scroll-container {
	padding: 0 !important;
	background-color: transparent !important;
}

.over-limit {
	display: none !important;
}
/* 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: var(--orange);
color: white;
border: 1px white solid; /* fix color because .select-placeholder */
box-sizing: border-box;
outline: 0;
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
height: 3em;
line-height: 3em;
padding: 0px 0.75em;
margin: 0;
width: 100%;
border-radius: 5px;
}

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

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

.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: currentColor none 50% 54% no-repeat;
background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjZjY5NDA2IiBkPSJtNS4yMTQgMTQuNTIyczQuNTA1IDQuNTAyIDYuMjU5IDYuMjU1Yy4xNDYuMTQ3LjMzOC4yMi41My4yMnMuMzg0LS4wNzMuNTMtLjIyYzEuNzU0LTEuNzUyIDYuMjQ5LTYuMjQ0IDYuMjQ5LTYuMjQ0LjE0NC0uMTQ0LjIxNi0uMzM0LjIxNy0uNTIzIDAtLjE5My0uMDc0LS4zODYtLjIyMS0uNTM0LS4yOTMtLjI5My0uNzY2LS4yOTQtMS4wNTctLjAwNGwtNC45NjggNC45Njh2LTE0LjY5MmMwLS40MTQtLjMzNi0uNzUtLjc1LS43NXMtLjc1LjMzNi0uNzUuNzV2MTQuNjkybC00Ljk3OS00Ljk3OGMtLjI4OS0uMjg5LS43NjEtLjI4Ny0xLjA1NC4wMDYtLjE0OC4xNDgtLjIyMi4zNDEtLjIyMS41MzQgMCAuMTg5LjA3MS4zNzcuMjE1LjUyeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+);
background-size: 2em auto;
display: block;
aspect-ratio: 1;
    border-radius: 5px;
height: 100%;
line-height: 2em;
text-align: center;
pointer-events: none;
}

.input-button {
background: #333;
color: white;
text-align: center;
border: 0;
cursor: pointer;
}

.minimal-input:-moz-input-placeholder {
color: #fffc;
}
.minimal-input::-moz-input-placeholder {
color: #fffc;
}
.minimal-input:-ms-input-placeholder {
color: #fffc;
}
.minimal-input::-ms-input-placeholder {
color: #fffc;
}
.minimal-input::-webkit-input-placeholder {
color: #fffc;
}
.minimal-input::placeholder {
color: #fffc;
}

.select-placeholder,
select.minimal-input option[value=""] {
color: #fffc;
}


.checkbox,
.radio {
min-height: 2em;
line-height: 150%;
display: inline-block;
position: relative;
color: inherit;
text-decoration: none;
padding-left: 3em;
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: 2em;
height: 2em;
background: white none center center no-repeat;
background-size: 1em 1em;
}
.checkbox.checked span {
background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjZGMyNjIwIiBkPSJNMjAuMjg1IDJsLTExLjI4NSAxMS41NjctNS4yODYtNS4wMTEtMy43MTQgMy43MTYgOSA4LjcyOCAxNS0xNS4yODV6Ii8+PC9zdmc+);
}

.radio > span {
border-radius: 50%;
}
.radio > span > span {
position: absolute;
top: 22%;
left: 22%;
width: 56%;
height: 56%;
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: 1em;
}

@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 {
font-weight: bold;
color: var(--red);
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: var(--red);
}
.content-image {
	position: relative;
	display: block;
}

.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: 1em;
	right: 1em;
	text-align: center;
	color: white;
	z-index: 1;
}


/* overlay */

.image-overlay {
	position: absolute;
    top: 4em;
    left: 3em;
    right: 3em;
	bottom: 2em;
}


.image-overlay .button-link {
	position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.teaser .image-overlay,
.content-produktliste .image-overlay,
.sortiment-slider .image-overlay {
	position: static;
	padding: 2em 0 0.5em 0;
}



.image-overlay > .content-text {
	
}
/* TEASERLIST */

.content-produktliste {
	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-produktliste > * {
	margin: 0.5em 0;
}



/* TEASERLIST */

.content-rezeptliste {
	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-rezeptliste > * {
	margin: 0.5em 0;
}


.content-rezeptliste .image-overlay {
    position: static;
    padding-top: 1em;
    padding-bottom: 1em;
}
/* SLIDER */

.content-slider {
	position: relative;
}

.content-slider .ratio {
	position: relative;
}

.swiper-pagination-bullets-dynamic {
	font-size: 1em !important;
}

.swiper-container:not(.swiper-autoheight) .swiper-slide > .content,
.content-slider .swiper-container:not(.swiper-autoheight) {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.hero-slider .swiper-slide:not(.swiper-slide-active) {
	opacity: 0 !important;
}


.content-slider .swiper-pagination-bullet {
	margin: 0 !important;
	position: relative;
	background: none;
	width: 1em;
	height: 1em;
	opacity: 1 !important;
	font-size: 3em;
}
.content-slider .swiper-pagination-bullet::before {
	content: "";
	position: absolute;
	left: 0.25em;
	top: 0.25em;
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	border: 3px white solid;
	box-sizing: border-box;
}
.content-slider .swiper-pagination-bullet-active::before {
	background-color: 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-size: 21px;
}

.hero-slider .swiper-pagination {
	top: 50% !important;
    bottom: auto !important;
    left: auto !important;
    right: -3em !important;
    width: 3em !important;
    transform: translateY(-50%) !important;
}

@media (max-width: 599px) {
	.hero-slider .swiper-pagination {
		right: -1.5em !important;
	}
	.swiper-pagination {
		font-size: 0.8em;
	}
}

/* pagnation outside of slider */

.content-slider > .swiper-pagination {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0em !important;
}


.slider-type-sortiment-slider .swiper-container {
	overflow: hidden;
}
.slider-type-sortiment-slider {
	filter: drop-shadow(0px 0px 5rem #0000004A);
	padding-bottom: 4em;
}

@media (max-width: 999px) {
	.slider-type-sortiment-slider .swiper-pagination {
		font-size: 0.66em;
	}
}

@media (max-width: 511px) {
	.slider-type-sortiment-slider {
		padding-bottom: 2.75em;
	}
	.slider-type-sortiment-slider .swiper-pagination {
		font-size: 0.5em;
	}
}



.slider-type-sortiment-slider  .swiper-button-prev,
.slider-type-sortiment-slider  .swiper-button-next {
	background: url(../assets/images/next.svg) center center no-repeat;
	background-size: contain;
    top: calc(50% - 5.5em) !important;
    width: 4.75em !important;
}
.slider-type-sortiment-slider  .swiper-button-prev {
    left: -6.3em !important;
	transform: scaleX(-1);
}
.slider-type-sortiment-slider  .swiper-button-next {
    right: -6.3em !important;
}

.slider-type-sortiment-slider  .swiper-button-prev::after,
.slider-type-sortiment-slider  .swiper-button-next::after {
	content: none;
}

@media (max-width: 1849px) {
	.slider-type-sortiment-slider  .swiper-button-prev,
	.slider-type-sortiment-slider  .swiper-button-next {
		display: none;
	}
}
/* 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 */

.red-text {
	color: var(--red);
}

.orange-text {
	color: var(--orange);
}


.content-text p,
.content-text ul,
.content-text ol {
	line-height: 166%;
	padding: 0.75em 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-family: 'brtter', serif;
	font-weight: bold;
	padding: 0;
	margin: 0;
	line-height: 130%;
}

h1, h2 {
	font-size: 3.75em;
}

h3 {
	font-size: 1.8em;
	padding-top: 1.5rem;
	padding-bottom: 0.5rem;
}

@media (max-width: 1739px) {
	h1, h2 {
	    font-size: 3.48vw;
	}
	h3 {
		font-size: 1.65vw;
	}
}
@media (max-width: 999px) {
	h1, h2 {
	    font-size: 6.3vw;
	}
	h3 {
		font-size: 2.6vw;
	}
}
@media (max-width: 599px) {
	h1.nogrow, h2.nogrow {
	    font-size: 6.75vw;
	}
	
	h1:not(.nogrow), h2:not(.nogrow) {
	    font-size: 8vw;
	}
	
	h3 {
		font-size: 3.6vw;
	}
}
@media (max-width: 511px) {
	h3 {
		font-size: 1.8em;
	}
}




h1 em, h2 em, h3 em, h4 em {
	font-style: normal;
	position: relative;
	display: inline-block;
}



@media (min-width: 1000px) {
	.two-column-text {
		column-count: 2;
		column-gap: 2.5em;
	}
	.two-column-text p {
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0.75em 0 !important;
	}
	.two-column-text > :first-child {
		margin-top: 0 !important;
	}
	.two-column-text > :last-child {
		margin-bottom: 0 !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;
	}
}


.content-text:first-child > :first-child {
	padding-top: 0;
	margin-top: -0.1em; /* font white-space */
}


.button-link {
	color: white;
    background-color: var(--red);
    padding: 1.25em 1.5em;
    box-sizing: border-box;
    text-align: center;
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1.125em;
    letter-spacing: 0.1em;
    font-weight: bold;
	border-radius: 0.625rem;
}
.button-link + .button-link {
	margin-left: 0.95em;
}

.red-section .button-link {
	background-color: var(--orange);	
}

@media (max-width: 599px) {
	.button-link {
		padding: 1em 1.25em;
		font-size: 1em;
	}
}



/* inline images */

img.alignnone {
	max-width: 100%;
	height: auto;
	margin: 0.4em 0;
}
img.alignright {
	float: right;
	max-width: 50%;
	height: auto;
	margin: 0.4em 0 1em 2em;
}
img.alignleft {
	float: left;
	max-width: 50%;
	height: auto;
	margin: 0.4em 2em 1em 0;
}
img.aligncenter {
	float: none;
	clear: both;
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0.4em auto 0.4em auto;
}

@media (max-width: 719px) {
	img.alignleft,
	img.alignright {
		float: none;
		margin: 1.5em auto;
		max-width: 100%;
	}
}

.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 {
	position: relative;
	overflow: hidden;
	margin: 2em 0;
	
}
.content-youtube::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

.content-youtube > iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: 0;
	outline: 0;
}



/* 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 {
display: block;

padding-top: 0.5em; /* overwrite headline padding */
}


/* hide element till init 
h4:not(.accordion-title),
h4:not(.accordion-title) ~ :not(.no-accordion) {
	display: none;
}
*/

/* hide till grouped */
.accordion-title:not(.accordion-ready),
.accordion-title:not(.accordion-ready) ~ :not(.no-accordion) {
display: none;
}


.accordion-title {
cursor: pointer;
display: block;
}

.accordion-ready::before {
content: " ";
position: relative;
width: 0.75em;
height: 0.75em;
margin-right: 0.25em;
display: inline-block;
background: transparent none center center no-repeat;
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjMzMzMzMzIiBkPSJNNSAzbDMuMDU3LTMgMTEuOTQzIDEyLTExLjk0MyAxMi0zLjA1Ny0zIDktOXoiLz48L3N2Zz4=);
background-size: contain;
transition: transform 0.3s ease;
}

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


.accordion-content {
display: none;
padding-left: 1em;
}

.accordions {
padding-bottom: 0.5em;
}

.accordion-content:not(:last-child) {
padding-bottom: 0.5em;
}

.accordion-content > :first-child {
padding-top: 0;
margin-top: 0;
}
.fade-in,
.appear-children.fade-in > * {
	transition: opacity 0.6s ease, transform 0.6s ease-out !important;
	transition-delay: 0.2s;
}

.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: RGBA(0,0,0,0.8);
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: 44px;
left: 50%;
top: 50%;
position: absolute;
background-color: white;
}

#lightbox-close :nth-child(1) {
-webkit-transform: translate(-22px, 0px) rotate(45deg);
transform: translate(-22px, 0px) rotate(45deg);
}
#lightbox-close :nth-child(2) {
-webkit-transform: translate(-22px, 0px) rotate(-45deg);
transform: translate(-22px, 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;
}
.teaser-list {
	position: relative;
	transition: height 0.25s ease;
}
.teaser-list > * {
	position: absolute;
}
#cookie-nag {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 22em;
	box-sizing: border-box;
	padding: 1.8em 2em 2em 2em;
	background-color: RGBA(51,51,51,0.95);
	color: white;
	z-index: 5000;
	font-size: 0.75em;
}
#cookie-nag .button-link {
	margin-top: 0.75em;
	cursor: pointer;
	font-size: 1rem;
}

@media (max-width: 511px) {
	#cookie-nag {
		width: auto;
		left: 0;
	}
}

/* BURGER MENU */

#burger-menu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1009;
	background-color: var(--red);
	color: white;
	overflow: auto;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

#burger-menu > nav {
	position: relative;
	min-height: 100%;
	
	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;
}

#burger-button {
	display: block;
	position: relative;
	width: 32px;
	height: 32px;
	display: none;
	margin-left: 1.25em;
	margin-right: -2px;
}

.burger-menu-open #burger-button {
	display: inline-block;
}

@media (max-width: 999px) {
	#burger-button {
		display: inline-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 {
	padding: 6em 0;
}

#burger-menu ul ul {
	padding-bottom: 0.5em;
}

#burger-menu a {
	display: block;
	text-decoration: none;
	padding: 0.5em;
	font-size: 1.75em;
	text-align: center;
	font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.16em;	
}

#burger-menu ul ul a {
	font-size: 1.4em;
}

#burger-button::before,
#burger-button::after {
	content: "";
}

#burger-button::before,
#burger-button::after,
#burger-button span {
	position: absolute;
	display: block;
    height: 3px;
    margin-top: -1px;
	width: 28px;
	left: 50%;
	top: 50%;
	background-color: currentColor;
}


#burger-button::before {
transform: translate(-50%, -12px);
transition: transform ease 0.3s, width ease 0.3s, background-color 0.3s ease;
}
#burger-button span {
transform: translate(-50%, 0px);
transition: opacity ease 0.15s, background-color 0.3s ease;
}
#burger-button::after {
transform: translate(-50%, 12px);
transition: transform ease 0.3s, width ease 0.3s, background-color 0.3s ease;
}


.burger-menu-open #burger-button::before {
transform: translate(-50%, 0px) rotate(45deg);
width: 32px;
}
.burger-menu-open #burger-button span {
opacity: 0;
}
.burger-menu-open #burger-button::after {
transform: translate(-50%, 0px) rotate(-45deg);
width: 32px;
}

.burger-menu-open #burger-button {
	color: white;
}









#primary-menu {
	padding: 1em;
	box-sizing: border-box;
	text-align: center;
}

#primary-menu ul,
#primary-menu li {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: inline;
}
#primary-menu li {
    padding: 0.25em 2em;
}
@media (max-width: 1599px) {
	#primary-menu li {
		padding: 0.25em 1.5em;
	}
}
@media (max-width: 1499px) {
	#primary-menu li {
		padding: 0.25em 1em;
	}
}

#primary-menu a {
	text-decoration: none;
	display: inline-block;
    font-weight: 900;
	padding: 0.25em 0;
    text-transform: uppercase;
    letter-spacing: 0.16em;
	border-bottom: 0.18em transparent solid;
}

#primary-menu .menu-item-has-children {
	position: relative;
}
#primary-menu ul ul::before {
	content: "";
	position: absolute;
	top: -1.1em;
	height: 1.2em;
	left: 0;
	right: 0;
	display: block;
}
#primary-menu ul ul {
	position: absolute;
	left: 0;
	top: calc(99% + 1em);
	padding-top: 0.75em;
	padding-bottom: 0.75em;
	background-color: var(--red);
	display: block;
	width: max-content;
	opacity: 0;
	pointer-events: none;
	box-shadow: 0px 0px 2rem #0000004A;
	transition: opacity 0.25s ease;
}

#primary-menu ul ul:hover,
#primary-menu ul ul:focus-within,
#primary-menu .menu-item-has-children > a:focus + ul,
#primary-menu .menu-item-has-children:hover > ul {
	opacity: 1;
	pointer-events: all;
}
#primary-menu ul ul li {
	text-align: left;
	display: block;
}


.single-post #primary-menu #menu-item-164 > a,
.single-produkte #primary-menu #menu-item-158 > a,
#primary-menu .current_page_ancestor:not(.menu-ueber-uns) > a,
#primary-menu .current_page_item:not(.menu-ueber-uns) > a {
	border-bottom: 0.18em white solid;
}


/* 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;
}

*/