/* composer */

section:not(.fullwidth) {
	padding: 0 4em;
}


.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: var(--content-width);
}

.column {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	
	width: 100%;
	padding: 0;
	box-sizing: border-box;
}

@media (min-width: 1000px) {
	.column + .column {
		margin-left: 2em;
	}
}

.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) {
	section:not(.custom-wrap-rule) > .columns {
		display: block;
	}
	section:not(.custom-wrap-rule) > .columns > .column {
		width: 100%;
	}

	.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 > div {
	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-4 > div {
		width: calc( (100% - 2em) / 3 );
	}
	.flex-cols-5 > div {
		width: calc( (100% - 3em) / 4 );
	}
	.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: 511px) {
	.flex-cols-2 > div {
		width: 100%;
	}
	.flex-cols-3 > div {
		width: calc( (100% - 1em) / 2 );
	}
	.flex-cols-4 > div {
		width: calc( (100% - 1em) / 2 );
	}
	.flex-cols-5 > div {
		width: calc( (100% - 2em) / 3 );
	}
	.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;
}
/* FILTERLIST */

.content-filterlist {
	position: relative;
	transition: height 0.25s ease;
	margin: 2em 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 {
	display: block;
	list-style-type: none;
	border-top: 1px currentColor solid;
	border-bottom: 1px currentColor solid;
	margin: 0;
	padding: 0;
	margin: 2em 0 2.25em 0;
}
.filter-menu li {
	display: inline-block;
	padding: 0.6em 0 0.4em 0;
	cursor: pointer;
}
.filter-menu li + li {
	margin-left: 4em;
}
@media (min-width: 1500px) {
	.filter-menu li + li {
		margin-left: 6.5em;
	}
}

@media (max-width: 999px) {
	.filter-menu::after {
		content: "";
		filter: brightness(0) saturate(100%) invert(48%) sepia(0%) saturate(0%) hue-rotate(102deg) brightness(89%) contrast(81%);
		background-size: 0.8rem auto !important;
		height: 2.5em !important;
		right: 0.16em !important;
		pointer-events: none;
	}
	
	.bg-yellow .filter-menu::after {
		filter: contrast(0.5) brightness(0);
	}
	.bg-dark .filter-menu::after {
		filter: contrast(0.5) brightness(10);
	}
	
	.filter-menu li {
		display: block;
		margin-left: 0 !important;
		padding: 0.55em 0 0.35em 0;
	}
	.filter-menu {
		padding: 0.25em 0;
		overflow: hidden;
		max-height: 2em;
		transition: max-height 0.25s ease;
		position: relative;
	}
	.filter-menu:not(.filter-menu-expanded) li {
		pointer-events: none;
	}
	
	.filter-menu-expanded {
		max-height: 10em;
	}
	
}

.filter-active {
	font-weight: bold;
}

@media (min-width: 1000px) {
	.filter-active {
		pointer-events: none;
	}
}


.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: 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: 2em;
line-height: 2em;
padding: 0px 0.2em;
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.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;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMCA3LjMzbDIuODI5LTIuODMgOS4xNzUgOS4zMzkgOS4xNjctOS4zMzkgMi44MjkgMi44My0xMS45OTYgMTIuMTd6Ii8+PC9zdmc+);
background-size: 0.8em 0.8em;
display: block;
width: 2em;
height: 2em;
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: #999;
}
.minimal-input::-moz-input-placeholder {
color: #999;
}
.minimal-input:-ms-input-placeholder {
color: #999;
}
.minimal-input::-ms-input-placeholder {
color: #999;
}
.minimal-input::-webkit-input-placeholder {
color: #999;
}
.minimal-input::placeholder {
color: #999;
}

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


.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: 1px currentColor 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%;
	}
}

/* form errors */

.content-form .columns.form-error {
display: none;
}
.form-error-response {
border: 1px red solid;
color: red;
padding: 0px 0.2em;
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: center;
	
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
    align-items: center;
}


.content-gallery > div {
	margin: 0.5em 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 */

.image-overlay {
	position: absolute;
	top: -1px;
	bottom: -1px;
	left: -1px;
	right: -1px;
	background-color: #3C3C3CDD;
	padding: 1.2em 1.5em;
	opacity: 0;
	transition: opacity 0.25s ease;
}

/* pointer only */
@media (pointer: fine), not all and (-moz-touch-enabled) {
	a:hover .image-overlay {
		opacity: 1;
	}
}

.image-overlay [data-style="small"] {
	font-weight: 500 !important;
	font-size: 1.15rem !important;
}

.image-overlay ul[data-style="small"] {
	margin-top: -0.5rem;
}
.scroll-container {
    cursor: grab;
    overflow: auto;
	
	user-select: none;
	
	/* ff */
    scrollbar-width: thin;
	scrollbar-color: currentColor transparent;
	
	color: transparent;
	
	transition: color 0.25s ease;

	margin-bottom: -1.6rem;
}

.no-overflow {
	cursor: default !important;
}


.scroll-container > div,
.scroll-container.scrolling,
.scroll-container:hover {
	color: #707070;
}

section.bg-dark .scroll-container > div,
section.bg-dark .scroll-container.scrolling,
section.bg-dark .scroll-container:hover {
	color: #fff;
}


.scroll-container::-webkit-scrollbar {
    height: .4rem;
	transition: background-color 0.25s ease;
}
.scroll-container::-webkit-scrollbar-track {
    background-color: transparent;
}
.scroll-container::-webkit-scrollbar-thumb {
    background-color: currentColor;
    border-radius: 1rem;
}
.scroll-container a {
	-webkit-user-drag: none;
}

/* text */

hr {
	margin: 0.75rem 0;
	padding: 0;
	border: 0;
	border-top: 1px currentColor solid;
	height: 1px;
}
.bg-dark hr {
	border-top-color: #707070;
}



h1, h2, h3, h4 {
	padding: 0;
	margin: 0;
	font-size: 1rem;
}


[data-style=small] {
	font-size: 1.5em;
	line-height: 120% !important;
	font-family: 'Arquitecta', sans-serif;
	font-weight: bold; 
}
h3[data-style=small],
[data-style=small] strong {
	font-weight: 900;
}

section:not(.bg-dark) h1[data-style="large"],
section:not(.bg-dark) [data-style=small] strong {
	color: #3C3C3C;
}


[data-style=medium] {
	font-size: 2em;
	line-height: 110% !important;
	font-family: 'Arquitecta', sans-serif;
	font-weight: 900;
}

[data-style=large] {
	font-size: 3.125em;
	line-height: 110% !important;
	font-family: 'Arquitecta', sans-serif;
	font-weight: 900;
}


[data-style=text] {
	font-size: 0.85em;
	font-weight: normal;
	line-height: 150% !important;
}

[data-style=text] + 
[data-style=medium] {
	margin-top: 0.75rem;
}

em {font-style:normal;color:#BAEFFE;}
[data-color=blue] {
	color:#BAEFFE;
}

[data-line] {
	display: block;
	position: relative;
	padding-bottom: 1.4rem !important;
}

[data-line]::after{
	content:'';
	position:absolute;
	left:0;
	bottom: 0;
	border-top: 10px currentColor solid;
	width: 11.25rem;
}

@media (max-width: 719px) {
	[data-line] {
		padding-bottom: 1.1rem !important;
	}
	[data-line]::after {
		border-top-width: 0.5rem;
		width: 9rem;
	}	
}

[data-line=inline] {
	display:inline-block;
	padding-bottom: 0.8rem !important;
}
[data-line=inline]::after,
[data-line=block]::after {
	width:100%;
}

[data-nospace] {
	margin-top: 0 !important;
	padding-top: 0 !important;
}


@media (max-width: 719px) {
	[data-style=text] {
		font-size: 0.95em;
	}
	[data-style=small] {
		font-size: 1.4em;
	}
	[data-style=medium] {
		font-size: 1.5em;
	}
	[data-style=large] {
		font-size: 2.25em;
	}
	
}


.content-text p,
.content-text ul,
.content-text ol {
	line-height: 150%;
	margin: 0.5rem 0;
	max-width: 55rem;
	padding-left: 0;
}

.content-text p:not([data-style]),
.content-text ul:not([data-style]),
.content-text ol:not([data-style]) {
	font-size: 1.0625em;
}


.content-text p[style*="center"] {
	max-width: 55rem;
	margin-left: auto;
	margin-right: auto;
}

.content-text ol {
	padding-left: 1em;
}

.content-text ul {
	list-style-type: none;
}
.content-text ul li {
	position: relative;
	padding-left: 0.8em;
}
.content-text ul li::before {
	content: "\003e"; /* \2013 ndash \00B7 middot \2022 bull */
	position: absolute;
	left: 0;
	top: -0.1em;
	font-family: 'Arquitecta', sans-serif;
	font-weight: 500;
}

.content-text ul:not([data-style="small"]) li::before {
	font-size: 1.2em;
}

@media (min-width: 1000px) {
	.two-column-text {
		column-count: 2;
		column-gap: 2rem;
	}
	.two-column-text:not(:first-child) {
		margin-top: 0.5rem;
	}
	.two-column-text:not(:last-child) {
		margin-bottom: 0.5rem;
	}
	
	.two-column-text p {
		max-width: 100% !important;
	}
	.two-column-text > :first-child {
		margin-top: 0 !important;
	}
	.two-column-text > :last-child {
		margin-bottom: 0 !important;
	}
}

@media (min-width: 1500px) {
	.desktop-two-column-text {
		column-count: 2;
		column-gap: 2rem;
	}
	.desktop-two-column-text:not(:first-child) {
		margin-top: 0.5rem;
	}
	.desktop-two-column-text:not(:last-child) {
		margin-bottom: 0.5rem;
	}
	
	.desktop-two-column-text p {
		max-width: 100% !important;
	}
	.desktop-two-column-text > :first-child {
		margin-top: 0 !important;
	}
	.desktop-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:not(.two-column-text):first-child > :first-child {
	margin-top: -0.2em; /* font white-space */
}
.content-text:not(.two-column-text):last-child > :last-child {
	margin-bottom: -0.2em; /* font white-space */
}


.button-link {
	position: relative;
	display: inline-block;
	z-index: 1;
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: 5px;
	text-decoration-skip-ink: none;
	text-decoration-color: #FFFF65;
}
.button-link::after {
	content: none !important;
	white-space: nowrap;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 10px;
	z-index: -1;
	background-color: #FFFF65;
}

.bg-light .button-link,
.bg-dark .button-link,
footer .button-link {
	text-decoration-color: #A0A0A0;	
}
.bg-yellow .button-link {
	text-decoration-color: #fff;	
}
.teaser .button-link {
	text-decoration-color: #FFFF65;
}
/*
.bg-light .button-link::after,
.bg-dark .button-link::after,
footer .button-link::after {
	background-color: #A0A0A0;	
}
.bg-yellow .button-link::after {
	background-color: #fff;	
}
.teaser .button-link::after {
	background-color: #FFFF65;
}
*/
@media (max-width: 511px) {
	.button-link {
		text-decoration-thickness: 4px;
	}
}


/* 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;
}

.has-controls {
	border: 1px #707070 solid;
	overflow: hidden;
}


.video-dim {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #3C3C3C;
		z-index: 1;
}

.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;
}

.has-controls video {
	left: -1px;
	top: -1px;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
}


.video-play {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	cursor: pointer;
}

.video-play::before {
	content: "";
	position: absolute;
	width: 3em;
	height: 3em;
	top: calc(50% - 1.5em);
	left: calc(50% - 1.5em);
	background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5NSIgaGVpZ2h0PSI5NSIgdmlld0JveD0iMCAwIDk1IDk1Ij4NCiAgPGcgaWQ9IkdydXBwZV8xNDcwIiBkYXRhLW5hbWU9IkdydXBwZSAxNDcwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDY1IC05NDQpIj4NCiAgICA8ZyBpZD0iRWxsaXBzZV8yOSIgZGF0YS1uYW1lPSJFbGxpcHNlIDI5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NjUgOTQ0KSIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjNzA3MDcwIiBzdHJva2Utd2lkdGg9IjEiPg0KICAgICAgPGNpcmNsZSBjeD0iNDcuNSIgY3k9IjQ3LjUiIHI9IjQ3LjUiIHN0cm9rZT0ibm9uZSIvPg0KICAgICAgPGNpcmNsZSBjeD0iNDcuNSIgY3k9IjQ3LjUiIHI9IjQ3IiBmaWxsPSJub25lIi8+DQogICAgPC9nPg0KICAgIDxnIGlkPSJQb2x5Z29uXzMiIGRhdGEtbmFtZT0iUG9seWdvbiAzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MzYgOTcxKSByb3RhdGUoOTApIiBmaWxsPSIjNzA3MDcwIj4NCiAgICAgIDxwYXRoIGQ9Ik0gNDEuMTI5NDc4NDU0NTg5ODQgMzUuNSBMIDAuODcwNTIzNTcxOTY4MDc4NiAzNS41IEwgMjEuMDAwMDAxOTA3MzQ4NjMgMC45OTIzMjI4NjIxNDgyODQ5IEwgNDEuMTI5NDc4NDU0NTg5ODQgMzUuNSBaIiBzdHJva2U9Im5vbmUiLz4NCiAgICAgIDxwYXRoIGQ9Ik0gMjEuMDAwMDAxOTA3MzQ4NjMgMS45ODQ2MzQzOTk0MTQwNjIgTCAxLjc0MTAzOTI3NjEyMzA0NyAzNSBMIDQwLjI1ODk2NDUzODU3NDIyIDM1IEwgMjEuMDAwMDAxOTA3MzQ4NjMgMS45ODQ2MzQzOTk0MTQwNjIgTSAyMS4wMDAwMDE5MDczNDg2MyAwIEwgNDIgMzYgTCAzLjgxNDY5NzI2NTYyNWUtMDYgMzYgTCAyMS4wMDAwMDE5MDczNDg2MyAwIFoiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzcwNzA3MCIvPg0KICAgIDwvZz4NCiAgPC9nPg0KPC9zdmc+) center center no-repeat;
	background-size:  contain;
	font-size: 2.5em;
}

@media (max-width: 719px) {
	.video-play::before {
		font-size: 2em;
	}
}
@media (max-width: 511px) {
	.video-play::before {
		font-size: 1.5em;
	}
}

.playing .video-play::before {
	content: none;
}
/* ACCORDION */


/* 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;
	border-top: 1px #707070 solid;
	max-width: var(--content-width);
	margin: 0 auto;
	padding: 0.5em 0;
	margin: 0 auto !important;
	position: relative;
}



.accordion-close,
.accordion-ready::after {
content: " ";
position: absolute;
top: 0;
bottom: 0;
right: 0;
min-width: 2rem;
background: transparent none center center no-repeat;
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE4IDE2Ij48cGF0aCBmaWxsPSIjRkZGRjY1IiBkPSJNOSwwbDksMTZIMFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4IDE2KSByb3RhdGUoMTgwKSIvPjwvc3ZnPg);
background-size: 0.75rem auto;
transition: transform 0.25s ease;
}

.accordion-open::after {
	transform: scaleY(-1);
}


.accordion-content {
	display: none;
	padding-bottom: 2em;
}



.accordion-content .section-padding {
	height: 1em !important;
}


.after-last-accordion {
	border-top: 1px #707070 solid;	
	height: 0px;
	margin: 0 auto;
	margin-top: -1px;
	max-width: var(--content-width);
}

.bg-yellow .accordion-title,
.bg-yellow .after-last-accordion {
	border-color: #FFFF65;
}



.accordion-end {
	position: relative;
	height: 1rem;
	max-width: var(--content-width);
	margin: 0 auto;
	color: #FFFF65;
}

.accordion-close {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJFYmVuZV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB3aWR0aD0iMThweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTggMTYiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE4IDE2OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGQ9Ik0xOCwxNkgwTDksMEwxOCwxNnoiIGZpbGw9IiNGRkZGNjUiLz4KPC9zdmc+);
	cursor: pointer;
	line-height: 2rem;
	font-weight: bold;
	text-decoration: underline;
	padding-right: 2rem;
	opacity: 0;
}
.accordion-close::before {
	content: "Weniger";
}

.accordion-open + .accordion-content .accordion-close {
	opacity: 1;
}

section:not(.bg-dark) .accordion-ready::after {
	filter: brightness(0) saturate(100%) invert(47%) sepia(1%) saturate(0%) hue-rotate(331deg) brightness(92%) contrast(92%);
}

section.bg-dark .accordion-title {
	color: #BAEFFE;
}
.fade-in,
.appear-children.fade-in > * {
	transition: opacity 1.2s ease, transform 1.1s ease !important;
	transition-delay: 0.55s !important;
}

.content-image > .fade-in:not(.image-ready),
.appear.fade-in,
.appear-children.fade-in > :not(.appeared-child) {
	opacity: 0;
	transform: translateY(2.5rem);
}

/* 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: #222;
	color: white;
	overflow: auto;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}


#burger-button {
	z-index: 1010;
	position: relative;
	width: 44px;
	height: 56px;
	margin-right: -10px;
	display: none;
	transition: height 0.25s ease;
}

#burger-button strong {
	position: absolute;
	top: 48%;
	font-weight: 900;
	right: 100%;
	transform: translateY(-50%);
	transition: opacity 0.25s ease;
	font-family: 'Arquitecta', sans-serif;
}
#burger-button strong::before {
	content: "Menü";
}

.burger-menu-open #burger-button {
	display: block;
}

@media (max-width: 999px) {
	#burger-button {
		display: block;
	}
	header #primary-menu {
		display: none;
	}
}


#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: 26px;
	left: 50%;
	top: 50%;
	background-color: currentColor;
}


#burger-button::before {
transform: translate(-50%, -8px);
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%, 8px);
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: 30px;
}
.burger-menu-open #burger-button span {
opacity: 0;
}
.burger-menu-open #burger-button::after {
transform: translate(-50%, 0px) rotate(-45deg);
width: 30px;
}

.burger-menu-open #burger-button {
	color: white;
}
.burger-menu-open header {
	border-bottom: 2px #FFFF65 solid;
	
}

.burger-menu-open #burger-button strong {
	opacity: 0;
}


@media (min-width: 1000px) {
		
	#search-wrapper {
		position: absolute;
		right: 0.4em;
		top: 50%;
		overflow: hidden;
		width: 0;
		transform: translateY(-50%);
		transition: width 0.25s ease, opacity 0.25s ease;
		opacity: 0;
	}

	.search-open #search-wrapper {
		width: 20em;
		opacity: 1;
	}

}

@media (max-width: 999px) {
	#search-wrapper {
		display: none;
	}
	#burger-menu #search-wrapper {
		display: block;
		position: absolute;
		top: 4.2em;
		left: 0;
		right: 0;
		font-size: 1.15em;
	}
	#burger-menu #search-submit {
		transform: scale(1.25);
	}
}


#search-wrapper input {
	width: 100%;
	color: #707070;
	border: 0;
}
#primary-menu > nav {
	transition: opacity 0.25s ease;
}

@media (min-width: 1000px) {
	.search-open #primary-menu > nav {
		opacity: 0;
		pointer-events: none;
	}
}

#search-submit {
	background-color: #707070 !important;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 2em;
	z-index: 1;
	cursor: pointer;
}




#primary-menu {
	position: relative;
	box-sizing: border-box;
	font-family: 'Arquitecta', sans-serif;
	font-size: 1.25em;
	margin-right: -0.9em;
}

#primary-menu ul,
#primary-menu li {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: inline;
}

#primary-menu nav > ul > li {
	position: relative;
	display: inline-block;
}

#primary-menu a {
	text-decoration: none;
	display: inline-block;
	padding: 0.95em 1em;
	font-weight: 500;
}
#primary-menu nav > ul > li > a {
	transition: padding 0.25s ease, color 0.25s ease;
}
#burger-menu #primary-menu nav > ul > li > a {
	font-weight: bold;
}

#primary-menu nav > ul > li > ul {
	position: absolute;
		top: 100%;
		padding-bottom: 0 !important;
	left: 1em;
	background-color: #3C3C3C;
	opacity: 0;
	pointer-events: none;
	overflow: hidden;
	transition: opacity 0.25s ease, max-height 0.25s ease;
}



@media (min-width: 1000px) {
	#primary-menu nav > ul > li.menu-item-has-children:hover > ul {
		opacity: 1;
		pointer-events: all;
	}
}


#primary-menu ul ul li {
	position: relative;
	display: block;
	border-top: 1px #FFFF65 solid;
}
#primary-menu ul ul li:first-child {
	border-top: 2px #FFFF65 solid;
}
header #primary-menu ul ul li:first-child {
	border-top: 3px #FFFF65 solid;
}

#primary-menu ul ul li.menu-item-has-children > a {
	padding-right: 2em;
}
#primary-menu ul ul a {
	display: block;
	padding-top: 0.35em;
	padding-bottom: 0.35em;
}
header #primary-menu ul ul a {
	white-space: nowrap;
}

#primary-menu ul ul ul {
	position: static;
	display: block;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: opacity 0.25s ease, max-height 0.25s ease, padding-top 0.25s ease, padding-bottom 0.25s ease;
}

#primary-menu .submenu-expanded > ul {
	opacity: 1;
	padding-bottom: 0.5em;
}


#primary-menu ul ul ul li {
	border-top: 0 !important;
}

#primary-menu ul ul ul a {
	padding-top: 0.05em;
	padding-bottom: 0.05em;
	padding-left: 1.75em !important;
	position: relative;
}
#primary-menu ul ul ul a::before {
	content: "> ";
	position: absolute;
	left: 0;
	top: 0.2em;
}
header #primary-menu ul ul ul a::before {
	left: 1em;
	top: 0.075em;
}

#primary-menu .current-lang > a,
#primary-menu .submenu-expanded > a,
#primary-menu .current_page_ancestor > a,
#primary-menu .current_page_item > a {
	color: #FFFF65;
}
/* pointer only */
@media (pointer: fine), not all and (-moz-touch-enabled) {
		
	#primary-menu a:hover {
		color: #FFFF65;
	}

}


.filter-menu::after,
.expand-submenu {
	position: absolute;
	top: 0;
	right: 0;
	width: 2.2em;
	height: 1.8em;
	cursor: pointer;
	z-index: 1;
	background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMC40MzciIGhlaWdodD0iNi42MzMiIHZpZXdCb3g9IjAgMCAxMC40MzcgNi42MzMiPjxwYXRoIGQ9Ik0xMDM0LjQ5MS0yLjAxNiwxMDM5LDIuNWw0LjUxMS00LjUxMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwMzMuNzg0IDIuNzIzKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmZjc1IiBzdHJva2Utd2lkdGg9IjIiLz48L3N2Zz4) center center no-repeat;
	background-size: 0.625rem auto;
	transition: transform 0.25s ease;
}
.filter-menu-expanded.filter-menu::after,
.submenu-expanded > .expand-submenu {
	transform: rotate(180deg);
}


#burger-menu #primary-menu nav {
	margin: 0 auto;
	max-width: 45em;
	padding-top: 4em;
}
#burger-menu #primary-menu {
	padding-top: 4em;
	padding-bottom: 4em;
	margin: 0 2rem;
}


#burger-menu #primary-menu nav > ul > li {
	display: block;
	border-bottom: 1px #FFFF65 solid;
}
#burger-menu #primary-menu nav > ul > li > a {
	padding: 0.5em 0;
	display: block;
	font-size: 1.5em;
}

#burger-menu #primary-menu nav > ul > li > ul {
	position: relative;
	top: 0;
	left: 0;
	max-height: 0;
	display: block;
	font-size: 1.15em;
	padding-left: 1.5rem;
}


#burger-menu #primary-menu nav > ul > li.submenu-expanded > ul {
	opacity: 1;
	pointer-events: all;
}

#burger-menu #primary-menu nav > ul > li > .expand-submenu {
	background-size: 1.1rem auto;
	right: -0.65em;
	height: 3.3em;
}
#burger-menu #primary-menu ul ul .expand-submenu {
	background-size: 0.8rem auto;
	right: -0.68em;
	height: 2em;
}

#burger-menu #primary-menu ul ul li:first-child {
	border-top: 0 !important;
}

#burger-menu #primary-menu .submenu-expanded > ul {
	padding-bottom: 1.2em !important;
}

#burger-menu #primary-menu .submenu-expanded:last-child > ul {
	padding-bottom: 0.2em !important;
}
#burger-menu #primary-menu ul ul li.submenu-expanded ul {
	padding-top: 0.2em;	
}

#burger-menu #primary-menu ul ul a {
	padding-left: 0 !important;
	padding-top: 0.45em;
	padding-bottom: 0.45em;
}

#burger-menu #primary-menu ul ul ul a {
	padding-left: 0.75em !important;
	padding-top: 0.2em;
	padding-bottom: 0.2em;
}


/* no collapse/expand on desktop menu fix */

@media (min-width: 1000px) {
	.expand-submenu {
		display: none;
	}
	nav > ul ul .sub-menu {
		max-height: unset !important;
		opacity: 1 !important;
		padding-bottom: 0.5em !important;
	}
}


@media (max-width: 1179px) {
	#primary-menu nav > ul > li:not(#search-button) > a {
		padding-left: 0.8em;
		padding-right: 0.8em;
	}
}
@media (max-width: 1079px) {
	#primary-menu nav > ul > li:not(#search-button) > a {
		padding-left: 0.65em;
		padding-right: 0.65em;
	}
}