/* 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: 74.588em;
	padding: 3.6em 1em;
	box-sizing: border-box;
}

header,
footer,
section {
	padding-left: 1em;
	padding-right: 1em;
}

.column {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	
	width: 100%;
	padding: 0 1em;
	box-sizing: border-box;
}


@media (max-width: 999px) {	
	.columns,
	.column {
		padding-left: 0.5em;
		padding-right: 0.5em;
	}
	.columns {
		padding-top: 1.8em;
		padding-bottom: 1.8em;
	}
}


.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 {
	padding: 0;
}

.fullwidth > .columns > .column:first-child {
	padding-left: 0;
}
.fullwidth > .columns > .column:last-child {
	padding-right: 0;
}


.no-padding .columns,
.small-padding .columns,
.med-padding .columns {
	padding-bottom: 0;
}

.small-padding + section .columns {
	padding-top: 2em;
}
.no-padding + section .columns {
	padding-top: 0;
}

@media (max-width: 999px) {
	.small-padding + section .columns {
		padding-top: 1em;
	}
}


/* 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) > .columns > .column + .column {
		margin-top: 1em;
	}
	
	/* margin fix */
	.column:not(.halb-buntfarbe_1):not(.halb-buntfarbe_2)::after {
		content: "";
		display: block;
		height: 0.1px;
	}
	
	
	.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% - 4em) / 3 );
}
.flex-cols-4 > div {
	width: calc( (100% - 3em) / 4 );
}
.flex-cols-5 > div {
	width: calc( (100% - (1.75em * 4)) / 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 > div,
	.flex-cols-2 > div {
		width: 100%;
	}
	.flex-cols-4 > div {
		width: calc( (100% - 1em) / 2 );
	}
	.flex-cols-5 > div {
		width: calc( (100% - 0.875em) / 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 );
	}
}


.flex-fill {
	height: 0px;
	padding: 0;
	margin: 0 !important;
}


/* SUB-COMPOSER */

.sub-composer {
	margin: 1em -1em 1em -1em;
}

.sub-composer .columns {
	padding: 1em 0;
	box-shadow: none;
}
.sub-composer section {
	padding-left: 0;
	padding-right: 0;
}

@media (max-width: 999px) {
	.sub-composer {
		margin: 0.5em -0.5em 0.5em -0.5em;
	}
}
.content-beitraege {
	margin-top: -0.75em;
}
.content-beitraege:not(:first-child) {
	margin-top: 0.75em;
}
.content-beitraege:not(:last-child) {
	margin-bottom: 2.5em;
}

.content-beitraege {
	position: relative;
}

.newposts-up,
.newposts-down {
	position: absolute;
	top: 0;
	left: 0;
	width: 4em;
	height: 4.5em;
	cursor: pointer;
}
.newposts-down {
	top: auto;
	bottom: 0;
}

.newposts-down::after,
.newposts-up::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.75em);
	left: calc(50% - 0.85em);
	height: 1.5em;
	width: 1.7em;
	font-size: 1.176em;
	transform: rotate(-90deg);
}
.newposts-down::after {
	transform: rotate(90deg);
}

.newposts[data-active=first] .newposts-up,
.newposts[data-active=last] .newposts-down {
	display: none;
}


.post-teaser {
	display: block;
	position: relative;
	box-sizing: border-box;
	padding: 1em 1.4em;
	box-shadow: 0 0 1.47em RGBA(0,0,0,0.25);
	color: white;
	background-color: var(--buntfarbe_2);
	z-index: 5;
	margin-top: 0.75em;
}
.newposts .post-teaser + .post-teaser {
	margin-top: 0.25em;
}


.post-date {
	position: absolute;
	top: 0.5em;
	left: 0.25em;
	width: 3.75em;
	text-align: center;
}
.post-cats {
	position: absolute;
	top: 1.25em;
	left: 3.5em;
	width: 8em;
	text-align: center;
}
.post-cat {
	background-color: white;
	color: var(--buntfarbe_2);
	display: inline-block;
	padding: 0.25em 0.6em 0.3em 0.6em;
	border-radius: 1em;
	font-size: 0.82em;
	font-weight: bold;
	margin: 0.5em;
}

.post-image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 19em;
	border-radius: 30em 0 0 30em;
	background-size: cover;
	background-position: center center;
}

.post-teaser .content-text {
	margin-left: 11em;
	margin-right: 18em;
	padding-top: 0.375em;
	padding-bottom: 0.3em;
	position: relative;
	min-height: 12.5em;
	box-sizing: border-box;
	padding-right: 4em;
}

.post-teaser .content-text::after {
	content: "";
	position: absolute;
	bottom: 0.3em;
	right: 0;
	height: 1.5em;
	width: 1.7em;
	font-size: 1.176em;
}

 @supports (-webkit-mask: none) {
	
	.newposts-up::after,
	.newposts-down::after,
	.post-teaser .content-text::after {
		-webkit-mask: url(../assets/images/link-pfeil.svg) center center no-repeat;
		-webkit-mask-size: contain;
		background-color: currentColor;
	}

}




.inactive-post {
	opacity: 0.5;
	background-color: white;
	color: var(--buntfarbe_2);
	z-index: -1;
	margin-left: 4em;
	z-index: 0;
}
.inactive-post .post-cat {
	color: white;
	background-color: var(--buntfarbe_2);
}
.inactive-post .post-date,
.inactive-post .post-image,
.inactive-post .content-text::after {
	opacity: 0;
}


.inactive-post .post-cats {
	left: 0.5em;
}
.inactive-post .post-cat + .post-cat {
	display: none;
}

.inactive-post .content-text {
	margin-left: 7em;
	margin-right: 6em;
	min-height: 0;
	padding-bottom: 0.4em;
}

.inactive-post .content-text h4 {
	padding-bottom: 0;
}
.inactive-post .content-text p {
	display: none;
}



.network-site .post-teaser {
	color: #383838;
	background-color: var(--hintergrundfarbe_1);
}

.network-site .inactive-post {
	background-color: #fff;
	color: var(--hintergrundfarbe_1);
}
.network-site .post-cat {
	color: var(--hintergrundfarbe_1);
	background-color: #383838;
}
.network-site .inactive-post .post-cat {
	color: white;
	background-color: var(--hintergrundfarbe_1);
}



@media (max-width: 999px) {		
	.content-beitraege {
		margin-left: -1rem;
		margin-right: -1rem;
	}

	.newposts-up,
	.newposts-down {
		display: none;
	}
	.post-teaser .content-text {
		margin-left: 0;
		margin-right: 0;
		padding-top: 10.5em;
		padding-right: 2em;
	}
	.post-cats {
		left: 1em;
		text-align: left;
	}
	.post-image {
		width: calc(100% - 8em);
		bottom: auto;
		height: 10em;
	}
	
	.post-date {
		top: 7.5em;
		left: 1.5rem;
		text-align: left;
	}
	.post-date strong br {
		display: none;
	}
	
	.post-wrap .post-date {
		top: 0.4em;
		left: 0;
	}
	.post-wrap .post-cats {
		left: 4.5em;
		top: 0.75em;
		white-space: nowrap;
	}
	
	.inactive-post .post-cats {
		left: 0.5em;
	}
	.inactive-post {
		margin-left: 1em;
	}
	.inactive-post .content-text {
		margin-left: 6.75em;
		padding-top: 0.3em;
	}
	.post-teaser .content-text::after {
		bottom: 0em;
		right: -0.2em;
	}
	
}
.content-events {
	margin-top: -0.75em;
}
.content-events:not(:first-child) {
	margin-top: 0.75em;
}
.content-events:not(:last-child) {
	margin-bottom: 2.5em;
}

.content-events {
	position: relative;
	--corner-radius: 30em;
}



.event-teaser {
	display: block;
	position: relative;
	box-shadow: 0 0 1.47em RGBA(0,0,0,0.25);
	background-color: white;
	z-index: 5;
	overflow: hidden;
	margin-top: 0.75em;
}
.event-teaser-nr1,
.event-teaser:nth-child(4n+1):not(.event-teaser-nr) {
	border-radius: 0 var(--corner-radius) 0 0;
}
.event-teaser-nr2,
.event-teaser:nth-child(4n+2):not(.event-teaser-nr) {
	border-radius: 0 0 var(--corner-radius) 0;
}
.event-teaser-nr3,
.event-teaser:nth-child(4n+3):not(.event-teaser-nr) {
	border-radius: var(--corner-radius) 0 0 0;
}
.event-teaser-nr4,
.event-teaser:nth-child(4n+4):not(.event-teaser-nr) {
	border-radius: 0 0 0 var(--corner-radius);
}


.event-teaser .event-text p {
	max-width: 90%;
}
.event-text {
	position: relative;
	width: 50%;
	box-sizing: border-box;
	padding: 1em 1.4em;
	min-height: 14em;
}
.event-text::after {
	content: "";
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	height: 1.5em;
	width: 1.7em;
	font-size: 1.176em;
}


.event-date {
	color: var(--buntfarbe_2);
	text-transform: uppercase;
	padding-bottom: 1.25rem !important;
	max-width: 66% !important;
}
.event-cats {
	position: absolute;
	top: 1.25em;
	right: 1em;
	text-align: right;
	max-width: 33% !important;
}
.event-cat {
	background-color: white;
	border: 2px currentColor solid;
	display: inline-block;
	padding: 0.25em 0.6em 0.3em 0.6em;
	border-radius: 1em;
	font-size: 0.82em;
	font-weight: bold;
	margin: 0 0.25em;
	white-space: nowrap;
}

.event-image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 50%;
	background-size: cover;	
	background-position: center center;
}

.event-teaser-nr3 .event-text,
.event-teaser-nr4 .event-text,
.event-teaser:nth-child(4n+3):not(.event-teaser-nr) .event-text,
.event-teaser:nth-child(4n+4):not(.event-teaser-nr) .event-text {
	margin-left: auto;
}
.event-teaser-nr3 .event-image,
.event-teaser-nr4 .event-image,
.event-teaser:nth-child(4n+3):not(.event-teaser-nr) .event-image,
.event-teaser:nth-child(4n+4):not(.event-teaser-nr) .event-image {
	right: auto;
	left: 0;
}


 @supports (-webkit-mask: none) {
	
	.event-text::after {
		-webkit-mask: url(../assets/images/link-pfeil.svg) center center no-repeat;
		-webkit-mask-size: contain;
		background-color: var(--buntfarbe_2);
	}

}

@media (max-width: 999px) {
	.content-events {
		--corner-radius: 10em;
	}
	
	.event-teaser {
		margin-left: -1rem;
		margin-right: -1rem;
		margin-top: 1.5em;
	}
	
	.event-text {
		width: auto;
		padding-top: 11em;
	}
	.event-image {
		bottom: auto;
		height: 10em;
		width: 100%;
	}
	
		
	.event-teaser-nr2 .event-text,
	.event-teaser-nr4 .event-text,
	.event-teaser:nth-child(4n+2):not(.event-teaser-nr) .event-text,
	.event-teaser:nth-child(4n+4):not(.event-teaser-nr) .event-text {
		padding-top: 1em;
		padding-bottom: 11em;
	}
	.event-teaser-nr2 .event-image,
	.event-teaser-nr4 .event-image,
	.event-teaser:nth-child(4n+2):not(.event-teaser-nr) .event-image,
	.event-teaser:nth-child(4n+4):not(.event-teaser-nr) .event-image {
		top: auto;
		bottom: 0;
	}
	.event-teaser-nr2 .event-text::after,
	.event-teaser-nr4 .event-text::after,
	.event-teaser:nth-child(4n+2):not(.event-teaser-nr) .event-text::after,
	.event-teaser:nth-child(4n+4):not(.event-teaser-nr) .event-text::after {
		bottom: 11rem;
	}
	
}

/* FORMS */

.send-progress {
cursor: wait;

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

.content-form form {
padding: 0;
transition: opacity 0.2s ease;
}
.content-form .columns {
	padding: 0 !important;
	box-shadow: none !important;
	margin: 0 -1em !important;
}

@media (min-width: 1000px) {
		.content-form.filter .columns {
		margin: 1.75em -1em !important;
	}

}
.content-form .column {
padding: 0 1em;
}

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

.minimal-input {
display: block;
background-color: white;
color: var(--buntfarbe_2);
border: 2px currentColor 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;
padding: 0px 0.2em;
margin: 0;
width: 100%;
}

.filter .minimal-input {
	border-radius: 1.5em;
	padding-left: 1em;
	padding-right: 2em;
}
.filter select:not(.select-placeholder) {
	color: var(--buntfarbe_2);
}

.label {
	display: block;
	margin-bottom: 0.4em;
}
.filter .label {
	font-weight: bold;
	text-transform: uppercase;
	padding-left: 1em;
}


.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.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;
display: block;
width: 2em;
height: 2.5em;
text-align: center;
pointer-events: none;
}

 @supports (-webkit-mask: none) {
	
	.input-select-button {
		-webkit-mask: url(../assets/images/dropdown.svg) 20% 50% no-repeat;
		-webkit-mask-size: 1.2em auto;
		background-color: currentColor;
	}
	.filter .input-select-button {
		background-color: #A3A3A3;
	}

}


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

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

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


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

.checkbox > span,
.radio > span {
position: absolute;
top: 0px;
left: 0px;
border: 2px var(--buntfarbe_2) solid;
box-sizing: border-box;
width: 2em;
height: 2em;
background: transparent none center center no-repeat;
background-size: 1em 1em;
}
.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: 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%;
	}
}

.content-form a:not(.input-select-button) {
	color: var(--akzentfarbe_light);
}

/* form errors */

.content-form .columns.form-error {
display: none;
}
.form-error-response {
border: 2px red solid;
color: red;
padding: 0.4em 1em;
line-height: 1.4em;
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: 1em 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: stretch;
	
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
    align-items: stretch;
}


.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: 1em;
	right: 1em;
	text-align: center;
	color: white;
	z-index: 1;
}


/* overlay */

.content-image:not(.teaser-box) > .image-overlay {
	position: absolute;
	bottom: 2.8rem;
	left: 2rem;
	width: calc(100% - 4rem);
	max-width: 34rem;
	font-size: 1.4em;
	color: white;
	font-weight: bold;
	text-shadow: 0 3px 0.8em RGBA(0,0,0,0.62);
}

@media (max-width: 999px) {
	.content-image:not(.teaser-box) > .image-overlay {
		bottom: 1rem;
		left: 1rem;
		width: calc(100% - 2rem);
		font-size: 1.2em;
	}
}


.teaser-box {
	box-shadow: 0 0 2em RGBA(0,0,0,0.15);
	margin-bottom: 2em;
}
.teaser-box .content-text {
	padding: 1em;
}

.teaser-box img {
	left: auto;
	right: 0;
	width: 10em;
}
.teaser-box > .image-overlay {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: calc(100% - 10em);
	background-color: white;
}

@media (max-width: 999px) {
	.teaser-box {
		margin-bottom: 1em;
	}
	.teaser-box img {
		width: 100%;
		height: 50vw;
	}
	.teaser-box > .image-overlay {
		position: static;
		width: 100%;
		height: auto;
	}
}

.content-localvideo {
	position: relative;
	overflow: hidden;
	
}
.content-localvideo video {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	pointer-events: none;
}
.content-partner {
	position: relative;
	margin: 0.75em 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: stretch;
	
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
    align-items: stretch;
}


.content-partner > .content-image {
	margin: 0.875em 0;
	background-color: white;
	box-shadow: 0 0 1.17em RGBA(0,0,0,0.15);
	overflow: hidden;
}

@media (max-width: 999px) {
	.content-partner {
		margin: 0.5em 0;
	}
	.content-partner > .content-image {
		margin: 0.4375em 0;
	}
}

.content-partner a {
	position: relative;
	display: block;
}

.content-partner img {
	border: 1em transparent solid;
	box-sizing: border-box;
}

.content-partner .partner-overlay {
	position: absolute;
	top: -1px;
	left: -1px;
	right: -1px;
	bottom: -1px;
	box-sizing: border-box;
	color: white;
	background-color: var(--akzentfarbe_dark);
	padding: 0.5em 1em;
	opacity: 0;
	transition: opacity 0.25s ease;
}

.content-partner a:hover .partner-overlay,
.content-partner .touch-hover .partner-overlay {
	opacity: 1;
}



.partner-overlay::after {
	content: "";
	position: absolute;
	bottom: 0.75rem;
	right: 1rem;
	height: 1.5em;
	width: 1.7em;
	font-size: 1.176em;
}

 @supports (-webkit-mask: none) {
	
	.partner-overlay::after {
		-webkit-mask: url(../assets/images/link-pfeil.svg) center center no-repeat;
		-webkit-mask-size: contain;
		background-color: currentColor;
	}

}

@media (max-width: 999px) {
	.partner-overlay {
		font-size: 0.85em;
	}
}
.content-schaugartenteaser {
	position: relative;
	box-shadow: 0 0 2.9em RGBA(0,0,0,0.25);
	overflow: hidden;
}

@media (min-width: 1000px) {
	.column:first-child > .content-schaugartenteaser {
		margin-left: -2em;
	}
	.column:last-child > .content-schaugartenteaser {
		margin-right: -2em;
	}

}


.content-schaugartenteaser > a {
	display: block;
}

.sgt-overlay {
	background: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJ3YXZlXzFfIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgd2lkdGg9IjEyNjhweCIgaGVpZ2h0PSIxMjU0LjQ3cHgiIHZpZXdCb3g9IjAgMCAxMjY4IDEyNTQuNDciIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEyNjggMTI1NC40NzsiDQoJIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0ZGRkZGRjt9DQo8L3N0eWxlPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik02MjcuNDgsMjc2LjkxTDYyNy40OCwyNzYuOTFMNjI3LjQ4LDI3Ni45MXYtMC4wMUM2MDguOTgxLDEyNi4zLDQ5MC43OTQsMiwzMTkuODA1LDINCgkJQzE0My4yNjcsMi4wMSwwLjA0MiwxMzAuNDUtMSwyODkuMjZ2OTY3LjIxaDEyNzBWMjc5LjQ1Yy0wLjk0MSwxNTguODgtMTQ0LjIwNywyODcuNDItMzIwLjc5NSwyODcuNDINCgkJYy0xNzIuNTIyLDAtMjk4LjAxOS0xMTkuMi0zMTkuMzEzLTI3Ni4yMiIvPg0KPC9zdmc+) top center no-repeat;
	background-size: 100% auto;
	position: absolute;
	bottom: -1px;
	left: -1px;
	right: -1px;
	top: 15.5%;
	box-sizing: border-box;
	transition: opacity 0.75s ease;
	width: auto !important;
}
@media (max-width: 999px) {
	.sgt-overlay {
		top: 13%;
	}
}

.teaser-style-rueckblick .sgt-overlay {
	top: 5em;
}
.teaser-style-vorschau .sgt-overlay {
	background: white none;
	position: relative;
	top: 0;
	bottom: auto;
}


.sgt-overlay .content-image {
	position: absolute;
	left: 10%;
	width: 30%;
	top: 3.5em;
}

@media (max-width: 999px) {
	.sgt-overlay .content-image {
		top: 2.5em;
	}
}

.teaser-style-rueckblick .sgt-overlay .content-image {
	top: 3em;
}

.teaser-style-vorschau .sgt-overlay .content-image {
	position: static;
	margin: 1.4em auto;
	width: 65%;
}
.teaser-style-vorschau .sgt-overlay .content-image .ratio {
	padding-top: 55% !important;
}

.content-schaugartenteaser .content-text {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
	padding: 0.75em 2em 2em 2em;
	box-sizing: border-box;
	transition: color 0.75s ease, background-color 0.75s ease;
}

@media (max-width: 999px) {
		
	.content-schaugartenteaser .content-text {
	padding: 0.4em 1em 1em 1em;
		
	}
	
}


.teaser-style-rueckblick .content-schaugartenteaser .content-text,
.teaser-style-vorschau .content-schaugartenteaser .content-text {
	position: relative;
	padding: 0 1em 1em 1em;
}
.teaser-style-vorschau .content-schaugartenteaser .content-text {
	padding-top: 0.75em;
}
.teaser-style-rueckblick .content-schaugartenteaser .content-text {
	background-color: white;
	z-index: 5;
}

.column > .content-schaugartenteaser .content-text > :first-child {
	position: absolute;
	top: -3.5rem;
	left: 2rem;
}

@media (max-width: 999px) {
	.column > .content-schaugartenteaser .content-text > :first-child {
		top: -1.75rem;
		left: 1rem;
	}
}

.teaser-style-rueckblick .content-schaugartenteaser .content-text > :first-child {
	color: var(--hintergrundfarbe_1);
	padding-bottom: 0.5em;
}
.teaser-style-vorschau .content-schaugartenteaser .content-text > :first-child {
	color: white;
	padding-bottom: 0.5em;
}
.teaser-style-rueckblick .content-schaugartenteaser .content-text > h3:not(:first-child),
.teaser-style-vorschau .content-schaugartenteaser .content-text > h3:not(:first-child) {
	font-size: 1.17em;
}

.content-schaugartenteaser .button-link {
	margin-bottom: 0;
}
@media (min-width: 1000px) {
	.content-schaugartenteaser .button-link {
		font-size: 1.25em;
	}
}
/* pointer only */
@media (pointer: fine), not all and (-moz-touch-enabled) {
		
	.column > .content-schaugartenteaser > a:hover .sgt-overlay {
		opacity: 0;
	}
	.column > .content-schaugartenteaser > a:hover .content-text {
		color: white;
		background-color: var(--buntfarbe_1);
	}


}

.teaser-style-rueckblick .content-schaugartenteaser > a,
.teaser-style-vorschau .content-schaugartenteaser > a {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: stretch;
	justify-content: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
	min-height: 100%;
}

.teaser-style-rueckblick .content-schaugartenteaser > a > *,
.teaser-style-vorschau .content-schaugartenteaser > a > * {
	width: 100%;
}

.teaser-style-rueckblick .content-schaugartenteaser .content-text,
.teaser-style-vorschau .content-schaugartenteaser .content-text {
	flex: 1 0 auto;
	padding-bottom: 5.25em;
}
.teaser-style-rueckblick .content-schaugartenteaser .button-link,
.teaser-style-vorschau .content-schaugartenteaser .button-link {
	position: absolute;
	right: 1em;
	bottom: 1em;
	margin-top: 0;
}
/* pointer only */
@media (pointer: fine), not all and (-moz-touch-enabled) {
		
	.teaser-style-rueckblick .content-schaugartenteaser > a:hover .button-link,
	.teaser-style-vorschau .content-schaugartenteaser > a:hover .button-link {
		opacity: 0.75;
	}

}
.teaser-style-rueckblick .content-schaugartenteaser > a > .content-image .ratio,
.teaser-style-vorschau .content-schaugartenteaser > a > .content-image .ratio {
	padding-top: 70% !important;
}


/* SLIDER */

.content-slider {
	position: relative;
	margin: 0.25em 0 3.5em 0;
}

.slider-type-default-slider {
	margin-bottom: 2.5em;
}

.columns:not(.non-white-bg) .content-slider {
	color: var(--buntfarbe_1);
}


.content-slider .ratio {
	position: relative;
}

.swiper-slide > .content,
.content-slider .swiper-container:not(.swiper-container-autoheight) {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	bottom: 0;
}

.swiper-container-autoheight {
	position: relative;
}


.impressionen-slider img {
	transition: transform 0.25s ease;
}
.impressionen-slider .swiper-slide > .content {
	top: 2.7em;
	bottom: 1.5em;
	transition: top 0.2s ease, left 0.2s ease, width 0.2s ease, box-shadow 0.2s ease;
}

@media (max-width: 999px) {
	.impressionen-slider .swiper-slide > .content {
		top: 0;
	}
	.slider-type-default-slider,
	.slider-type-impressionen-slider {
		margin-left: -1em;
		margin-right: -1em;
		min-height: 18em;
		box-sizing: border-box;
	}
	.slider-type-default-slider .swiper-button-white,
	.slider-type-impressionen-slider .swiper-button-white {
		display: none;
	}
	
	.slider-type-default-slider {
		margin-bottom: 3.5em;
	}
	
}

@media (min-width: 1000px) {
	.impressionen-slider:not([style*="grabbing"]) .swiper-slide-active > .content {
		top: 1.5em;
		bottom: calc( 1.5em - 1px );
		left: calc( (var(--inner_content_width) / 3 - var(--other_slides_width) ) * -1 );
		width: calc( var(--inner_content_width) - var(--other_slides_width) - var(--other_slides_width) );
		box-shadow: 0 0 1.25em RGBA(0,0,0,0.35);
	}
}

.impressionen-slider .swiper-slide-active {
	z-index: 10000;
}

.impressionen-slider:not([style*="grabbing"]) .swiper-slide:not(.swiper-slide-active):hover img {
	transform: scale(1.05);
}


.default-slider .swiper-slide > .content {
	bottom: 1.5em;	
}


.swiper-pagination-current {
	font-weight: bold;
	
}


.content-slider .swiper-button-prev {
	left: 1.2em;
	transform: scaleX(-1);
}
.content-slider .swiper-button-next {
	right: 1.2em;
}
.content-slider .swiper-button-next,
.content-slider .swiper-button-prev {
	outline: 0;
	border: 0;
	top: auto;
	bottom: -0.95em;
	width: 2em;
	height: 2em;
	margin-top: 0;
	color: inherit;
}
.content-slider .swiper-button-next::after,
.content-slider .swiper-button-prev::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.75em);
	right: 0;
	height: 1.5em;
	width: 1.7em;
	font-size: 1.176em;
}

 @supports (-webkit-mask: none) {
	
	.content-slider .swiper-button-next::after,
	.content-slider .swiper-button-prev::after {
		-webkit-mask: url(../assets/images/link-pfeil.svg) center center no-repeat;
		-webkit-mask-size: contain;
		background-color: currentColor;
	}

}



/* pagnation outside of slider */
.content-slider > .swiper-pagination {
position: absolute;
	left: var(--other_slides_width);
	bottom: -0.5rem;
	opacity: 0.5;
	font-size: 0.82em;
	text-align: left;
	right: auto;
	width: auto;
}


.slide-title {
	position: absolute;
	left: calc( var(--other_slides_width) + 4.5em );
	bottom: -0.5rem;
	width: calc( 100% - ( var(--other_slides_width) * 5 ) );
	font-weight: bold;
	font-size: 0.82em;
}

.slide-badge {
	position: absolute;
	right: var(--other_slides_width);
	top: calc(100% - 1em);
	font-size: 0.82em;
	font-weight: bold;
	text-align: right;
	width: 14em;
}

.slide-badge > * {
	display: inline-block;
	border: 2px currentColor solid;
	padding: 0.2em 0.75em 0.25em 0.75em;
	border-radius: 1em;
	margin-bottom: 0.5em;
}
.slide-badge > * + * {
	margin-left: 0.5em;
}

.slide-badge > :only-child::before {
	content: "Garten ";
}

.content-slider:not(.slider-type-impressionen-slider) .slide-badge,
.single-garten .slide-badge,
.slide-badge:empty {
	display: none;
}


@media (max-width: 999px) {
	.content-slider > .swiper-pagination {
		left: 1rem;
		bottom: 0;
	}
	.slide-title {
		left: 1rem;
		bottom: -0.4em;
		width: 62%;
		height: 0;
	}
	.slider-type-default-slider .slide-title {
		width: calc(100% - 2rem);
	}
	
	.slide-badge {
		right: 1rem;
		width: 8em;
	}
}



/* HERO */

.slider-type-hero-slider .ratio {
	box-sizing: border-box;
	min-height: 520px;
}

@media (min-width: 1500px) {
	.slider-type-hero-slider .ratio {
		padding-top: 46% !important;
	}
}



.slider-type-kachel .swiper-slide a {
	color: #383838 !important;
}
	
.slider-type-kachel {
	filter: drop-shadow( 0 0 1.5rem RGBA(0,0,0,0.25) );
}
.slider-type-kachel .swiper-slide {
	align-self: stretch;
	box-shadow: none;
}

.slider-type-kachel .swiper-pagination-bullet {
    width: 14px;
    height: 14px;
    margin: 0 0.5em;
	opacity: 1 !important;
	background-color: #383838;
}
.slider-type-kachel .swiper-pagination-bullet-active {
	box-shadow: 0 0 3px #000;
	background-color: var(--buntfarbe_1);
}
.slider-type-kachel > .swiper-pagination {
    position: absolute;
    left: 2em;
	bottom: -2.1em;
    opacity: 1;
    font-size: 1em;
    text-align: center;
    right: 2em;
    width: auto;
}

.slider-type-kachel .swiper-button-next, .slider-type-kachel .swiper-button-prev {
	bottom: -2.75em;
	filter: contrast(0.5) brightness(0);
} .content-links > a {
	display: inline-block;
	width: 1.53em;
	height: 1.53em;
	 
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;

	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
}
 .content-links > a + a {
	 margin-left: 0.7em;
 }

.icon-facebook {
	background-image: url(../assets/images/facebook.svg);
	-webkit-mask: url(../assets/images/facebook.svg);	
}
.icon-instagram {
	background-image: url(../assets/images/instagram.svg);
	-webkit-mask: url(../assets/images/instagram.svg);	
}
.icon-twitter {
	background-image: url(../assets/images/twitter.svg);
	-webkit-mask: url(../assets/images/twitter.svg);	
}
.icon-pinterest {
	background-image: url(../assets/images/pinterest.svg);
	-webkit-mask: url(../assets/images/pinterest.svg);	
}
.icon-linkedin {
	background-image: url(../assets/images/linkedin.svg);
	-webkit-mask: url(../assets/images/linkedin.svg);	
}
.icon-whatsapp {
	background-image: url(../assets/images/whatsapp.svg);
	-webkit-mask: url(../assets/images/whatsapp.svg);	
}
.icon-youtube {
	background-image: url(../assets/images/youtube.svg);
	-webkit-mask: url(../assets/images/youtube.svg);	
}


 @supports (-webkit-mask: none) {
	 
	 .content-links > a {
		background-image: none !important;
		background-color: currentColor;
	 }
	
}



main .content-links {
	color: var(--akzentfarbe_dark);
	margin-top: 0.75em !important;
}
main .non-white-bg .content-links {
	color: white;
}

/* 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 */

[data-color=buntfarbe_1] { color: var(--buntfarbe_1); }
[data-color=buntfarbe_2] { color: var(--buntfarbe_2); }
[data-color=akzentfarbe_dark] { color: var(--akzentfarbe_dark); }

[data-text=uppercase] { text-transform: uppercase; }


.content-text p,
.content-text ul,
.content-text ol {
	line-height: 140%;
	padding: 0.33em 0;
	margin: 0;
	max-width: 46em;
}

.content-text p[style*="right"] {
	max-width: 100%;
}


.content-text ol {
	padding: 0.33em 0 0.33em 1em;
}

.content-text ul {
	list-style-type: none;
}
.content-text ul li {
	position: relative;
	padding: 0.33em 0 0.33em 1em;
}
.content-text ul li::before {
	content: "\2022"; /* \2013 ndash \00B7 middot \2022 bull */
	position: absolute;
	left: 0;
	top: 0.33em;
}


h1, h2, h3, h4, h5 {
	padding: 0;
	margin: 0;
	max-width: 60rem;
}

h1, h2, h3 {
	font-weight: 300;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	font-size: 3.2em;
	line-height: 130%;
	padding-bottom: 1rem;
	padding-top: 0.6rem;
}

h2 {
	font-size: 2.6em;
}

h3 {
	font-size: 2em;
}

h1.post-headline,
h4 {
	font-size: 1.4em;
	font-weight: bold;
	letter-spacing: 0;
	text-transform: none;
	line-height: 140%;
	padding-bottom: 1rem;
	padding-top: 0;
}

h1.post-headline {
	font-size: 2em;
	max-width: 50rem;
}

h5 {
	font-size: 1.17em;
	font-weight: bold;
	text-transform: uppercase;
	line-height: 135%;
	padding-bottom: 0.33rem;
}

@media (max-width: 999px) {
	h1 { font-size: 2em; }
	h2 { font-size: 1.5em; }
	h1.post-headline,
	h3 { font-size: 1.2em; }
	h4 {
		font-size: 1.15em;
	}
	h5 {
		font-size: 1.1em;
	}
}


@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.33em;
}
.content-text:last-child > :last-child {
	padding-bottom: 0;
	margin-bottom: -0.25em;
}
*/

.button-link {
	position: relative;
	color: var(--akzentfarbe_light);
	border: 0.25em currentColor solid;
	font-size: 1.176em;
	padding: 0.33em 4.5em 0.36em 1em;
	box-sizing: border-box;
	text-align: center;
	display: inline-block;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: bold;
	transition: opacity 0.25s ease, padding 0.25s ease;
	line-height: 1.75em;
	margin-top: 0.6em;
	margin-bottom: 0.6em;
}
.button-link-alt {
	color: #333;
	background-color: white;
}
.button-link + .button-link {
	margin-left: 0.95em;
}

a:hover .button-link,
.button-link:hover {
	padding-left: 1.5em;
	padding-right: 4em;
}

.network-site .button-link {
	color: inherit;
}

.button-link::after {
	content: "";
	position: absolute;
	top: 0.25em;
	bottom: 0.25em;
	right: 0.9em;
	width: 1.7em;
}

 @supports (-webkit-mask: none) {
	
	.button-link::after {
		-webkit-mask: url(../assets/images/link-pfeil.svg) center center no-repeat;
		-webkit-mask-size: contain;
		background-color: currentColor;
	}

}


/* 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 {
	padding: 2em 0;
}
.video-wrap {
	position: relative;
	overflow: hidden;
	color: black;
}
.video-wrap::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

.video-wrap > iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: 0;
	outline: 0;
}


@media (max-width: 999px) {
	.content-video {
		padding: 1em 0;
	}
}
/* 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.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: 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;
}

/* 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;
}


/* BURGER MENU */

#burger-menu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1009;
	background-color: #002D74;
	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 {
	z-index: 1010;
	position: absolute;
	right: 0;
	top: 0;
	width: 4em;
	height: 3.7em;
	display: none;
	color: var(--buntfarbe_2);
}

.burger-menu-open #burger-button {
	display: block;
}

@media (max-width: 999px) {
	#burger-button {
		display: block;
	}
	#primary-menu {
		display: none;
	}
}


#burger-button::before,
#burger-button::after,
#burger-button span {
	content: "";
	position: absolute;
	display: block;
	height: 4px;
	margin-top: -2px;
	width: 2em;
	left: 50%;
	top: 50%;
	background-color: currentColor;
}


#burger-button::before {
transform: translate(-50%, -0.7em);
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%, 0.7em);
transition: transform ease 0.3s, width ease 0.3s, background-color 0.3s ease;
}


.burger-menu-open #burger-button::before {
transform: translate(-50%, 0) rotate(45deg);
width: 2.2em;
}
.burger-menu-open #burger-button span {
opacity: 0;
}
.burger-menu-open #burger-button::after {
transform: translate(-50%, 0) rotate(-45deg);
width: 2.2em;
}





#primary-menu {
	color: var(--buntfarbe_2);
	box-sizing: border-box;
	padding-right: 2rem;
}

#primary-menu ul,
#primary-menu li {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: inline-block;
	position: relative;
}

#primary-menu a {
	text-decoration: none;
	display: inline-block;
	padding: 0.3em 0;
	text-transform: uppercase;
	font-weight: bold;
	letter-spacing: 0.015em;
	border-bottom: 4px white solid;
}

#primary-menu nav > ul > li + li {
	margin-left: 1.4em;
}


@media (min-width: 1000px) {
	#primary-menu .sub-menu {
		display: none;
		position: absolute;
		top: 3.75em;
		left: 0;
		width: 40em;
	}
}
#primary-menu .sub-menu > li {
	display: block;
}
#primary-menu .sub-menu a {
	font-weight: normal;
	color: var(--akzentfarbe_dark);
	border-bottom: 0;
	
}
#primary-menu .menu-schaugaerten ul a {
	padding-left: 2.35em;
	color: var(--buntfarbe_1);
}
.menu-nr {
	position: absolute;
	top: 0.3em;
	left: 0;
	transform-origin: left center;
	transition: transform 0.25s ease;
}
.active-sub-menu .menu-nr {
	transform: scale(1.15);
}
/* pointer only */
@media (pointer: fine), not all and (-moz-touch-enabled) {
	a:hover > .menu-nr {
		transform: scale(1.15);
	}
}

#primary-menu .active-main-menu > a,
#primary-menu .active-sub-menu > a,
body:not(.show-sub-menu) #primary-menu > nav > ul > .current_page_ancestor > a,
body:not(.show-sub-menu) #primary-menu > nav > ul > .current_page_item > a,
#primary-menu .sub-menu .current_page_ancestor > a,
#primary-menu .sub-menu .current_page_item > a {
	color: var(--akzentfarbe_light) !important;
	border-bottom-color: var(--akzentfarbe_light);
}

/* pointer only */
@media (pointer: fine), not all and (-moz-touch-enabled) {
	#primary-menu a:hover {
		color: var(--akzentfarbe_light) !important;
		border-bottom-color: var(--akzentfarbe_light);
	}
}


#primary-menu img {
	width: 1px;
	height: 1px;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	visibility: hidden;
}

@media (max-width: 999px) {		
	#primary-menu img {
		display: none;
	}
	#subhead {
		display: block !important;
		height: auto !important;
	}
	#primary-menu {
		background: white;
		padding: 0 1em 2em 1em !important;
		transition: box-shadow 0.25s ease;
	}
	.burger-menu-open #primary-menu {
		box-shadow: 0 2.05em 2em RGBA(0,0,0,0.15);
		margin-bottom: 4.1em;
	}
	#primary-menu li a,
	#primary-menu nav > ul,
	#primary-menu li {
		display: block;
		margin-left: 0 !important;
	}
	#primary-menu nav > ul > li {
		padding-top: 0.4em;
	}
	#primary-menu nav > ul > li > a {
		border-bottom-color: currentColor;
	}
	
	#menu-gaerten-logos,
	#menu-close {
		display: none !important;
	}
	
	#primary-menu .sub-menu {
		padding: 0.5em 0 0.75em 0;
		display: none;
	}
	
	#primary-menu nav > ul > .menu-item-has-children > a {
		position: relative;
	}
	#primary-menu nav > ul > .menu-item-has-children > a::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		width: 2em;
		-webkit-mask: url(../assets/images/dropdown.svg) right center no-repeat;
		-webkit-mask-size: 1.2em auto;
		background-color: currentColor;
	}
	.mobile-active-submenu {
		color: var(--akzentfarbe_light) !important;
	}
	
	#primary-menu a:active {
		color: var(--akzentfarbe_light) !important;
		border-bottom-color: var(--akzentfarbe_light) !important;
	}

	
}
