/*--------------------------------------------------------------
# SETTINGS
--------------------------------------------------------------*/

body:not(.h-tr) #content {
	padding-top: var(--header-height);
	flex: 1;
}


/*--------------------------------------------------------------
# BUILDER
--------------------------------------------------------------*/

.min-height-img img {
	max-height: 80vh;
	overflow: hidden;
	min-height: 350px;
	object-fit: cover;
}

.section {
	padding: var(--spacing) 0;
	position: relative;
	display: flex;
  	flex-direction: column;
	gap: var(--spacing);
}

.bg-img {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.bg-img img {
	height: 100%;
	object-fit: cover;
}

.section > .row {
	display: flex;
	flex-wrap: nowrap;
	margin: 0px auto;
	gap: var(--spacing);
	--gap-factor: 1;
	width: var(--width);
	max-width: var(--maxwidth);
	position: relative;
	align-items: flex-start;
}

.section > .row.g-2 {
	gap: calc(var(--spacing) * 2);
    --gap-factor: 2;
}

.section > .row.g-05 {
	gap: calc(var(--spacing) / 2);
    --gap-factor: .5;
}

.section > .row.g-025 {
	gap: calc(var(--spacing) / 4);
    --gap-factor: .25;
}

.section > .row.g-0 {
	gap: 0;
    --gap-factor: 0;
}

.col {
	flex: 1 1 0%;
    min-width: 0;
	display: flex;
  	flex-wrap: wrap;
	position: relative;
	align-items: flex-start;
	gap: 0 var(--el-spacing);
}

@media all and (min-width: 980px) {
	.row > .col-2 { flex: 0 0 calc(100% / 12 * 2 - var(--spacing) * 10 / 12 * var(--gap-factor)); }
	.row > .col-3 { flex: 0 0 calc(100% / 12 * 3 - var(--spacing) * 9 / 12 * var(--gap-factor)); }
	.row > .col-4 { flex: 0 0 calc(100% / 12 * 4 - var(--spacing) * 8 / 12 * var(--gap-factor)); }
	.row > .col-5{ flex: 0 0 calc(100% / 12 * 5 - var(--spacing) * 7 / 12 * var(--gap-factor)); }
	.row > .col-6 { flex: 0 0 calc(100% / 12 * 6 - var(--spacing) * 6 / 12 * var(--gap-factor)); }
	.row > .col-7 { flex: 0 0 calc(100% / 12 * 7 - var(--spacing) * 5 / 12 * var(--gap-factor)); }
	.row > .col-8 { flex: 0 0 calc(100% / 12 * 8 - var(--spacing) * 4 / 12 * var(--gap-factor)); }
	.row > .col-9 { flex: 0 0 calc(100% / 12 * 9 - var(--spacing) * 3 / 12 * var(--gap-factor)); }

	.row > .col-2.mw { max-width: clamp(0px, calc(var(--width) / 12 * 2 - var(--spacing) / 2 * var(--gap-factor)), calc(var(--maxwidth) / 12 * 2 - var(--spacing) / 2 * var(--gap-factor))); }
	.row > .col-3.mw { max-width: clamp(0px, calc(var(--width) / 12 * 3 - var(--spacing) / 2 * var(--gap-factor)), calc(var(--maxwidth) / 12 * 3 - var(--spacing) / 2 * var(--gap-factor))); }
	.row > .col-4.mw { max-width: clamp(0px, calc(var(--width) / 12 * 4 - var(--spacing) / 2 * var(--gap-factor)), calc(var(--maxwidth) / 12 * 4 - var(--spacing) / 2 * var(--gap-factor))); }
	.row > .col-5.mw { max-width: clamp(0px, calc(var(--width) / 12 * 5 - var(--spacing) / 2 * var(--gap-factor)), calc(var(--maxwidth) / 12 * 5 - var(--spacing) / 2 * var(--gap-factor))); }
	.row > .col-6.mw { max-width: clamp(0px, calc(var(--width) / 12 * 6 - var(--spacing) / 2 * var(--gap-factor)), calc(var(--maxwidth) / 12 * 6 - var(--spacing) / 2 * var(--gap-factor))); }
	.row > .col-7.mw { max-width: clamp(0px, calc(var(--width) / 12 * 7 - var(--spacing) / 2 * var(--gap-factor)), calc(var(--maxwidth) / 12 * 7 - var(--spacing) / 2 * var(--gap-factor))); }
	.row > .col-8.mw { max-width: clamp(0px, calc(var(--width) / 12 * 8 - var(--spacing) / 2 * var(--gap-factor)), calc(var(--maxwidth) / 12 * 8 - var(--spacing) / 2 * var(--gap-factor))); }
	.row > .col-9.mw { max-width: clamp(0px, calc(var(--width) / 12 * 9 - var(--spacing) / 2 * var(--gap-factor)), calc(var(--maxwidth) / 12 * 9 - var(--spacing) / 2 * var(--gap-factor))); }
}

.row > .col > div {
	width: 100%;
	--gap-factor: 1;
}

@media all and (min-width: 980px) {
	.row > .col > div.col-2 { width: calc(100% / 12 * 2 - var(--el-spacing) * 10 / 12 * var(--gap-factor)); }
	.row > .col > div.col-3 { width: calc(100% / 12 * 3 - var(--el-spacing) * 9 / 12 * var(--gap-factor)); }
	.row > .col > div.col-4 { width: calc(100% / 12 * 4 - var(--el-spacing) * 8 / 12 * var(--gap-factor)); }
	.row > .col > div.col-6 { width: calc(100% / 12 * 6 - var(--el-spacing) * 6 / 12 * var(--gap-factor)); }
	.row > .col > div.col-8 { width: calc(100% / 12 * 8 - var(--el-spacing) * 4 / 12 * var(--gap-factor)); }
	.row > .col > div.col-9 { width: calc(100% / 12 * 9 - var(--el-spacing) * 3 / 12 * var(--gap-factor)); }
}

.row > .col > div {
	margin-bottom: var(--el-spacing);
}

.row > .col > div:last-child {
	margin-bottom: 0px;
}

.t-c {
	text-align: center;
}

.t-r {
	text-align: right;
}

.full {
	width: 100% !important;
	max-width: unset !important;
}

.short {
	max-width: calc(var(--maxwidth) - 400px) !important;
}


/* Margin and Padding Adjustments */
.m-t-0 { margin-top: 0 !important; }
.m-t-05 { margin-top: calc(0.5 * var(--spacing)) !important; }
.m-t-1 { margin-top: var(--spacing) !important; }
.m-t-15 { margin-top: calc(1.5 * var(--spacing)) !important; }
.m-t-2 { margin-top: calc(2 * var(--spacing)) !important; }
.m-t--05 { margin-top: calc(-0.5 * var(--spacing)) !important; }
.m-t--1 { margin-top: calc(-1 * var(--spacing)) !important; }
.m-t--15 { margin-top: calc(-1.5 * var(--spacing)) !important; }
.m-t--2 { margin-top: calc(-2 * var(--spacing)) !important; }
.m-t-a { margin-top: auto !important;}

.m-r-0 { margin-right: 0 !important; }
.m-r-05 { margin-right: calc(0.5 * var(--spacing)) !important; }
.m-r-1 { margin-right: var(--spacing) !important; }
.m-r-15 { margin-right: calc(1.5 * var(--spacing)) !important; }
.m-r-2 { margin-right: calc(2 * var(--spacing)) !important; }
.m-r--05 { margin-right: calc(-0.5 * var(--spacing)) !important; }
.m-r--1 { margin-right: calc(-1 * var(--spacing)) !important; }
.m-r--15 { margin-right: calc(-1.5 * var(--spacing)) !important; }
.m-r--2 { margin-right: calc(-2 * var(--spacing)) !important; }
.m-r-a { margin-right: auto !important;}

.m-b-0 { margin-bottom: 0 !important; }
.m-b-05 { margin-bottom: calc(0.5 * var(--spacing)) !important; }
.m-b-1 { margin-bottom: var(--spacing) !important; }
.m-b-15 { margin-bottom: calc(1.5 * var(--spacing)) !important; }
.m-b-2 { margin-bottom: calc(2 * var(--spacing)) !important; }
.m-b--05 { margin-bottom: calc(-0.5 * var(--spacing)) !important; }
.m-b--1 { margin-bottom: calc(-1 * var(--spacing)) !important; }
.m-b--15 { margin-bottom: calc(-1.5 * var(--spacing)) !important; }
.m-b--2 { margin-bottom: calc(-2 * var(--spacing)) !important; }
.m-b-a { margin-bottom: auto !important;}

.m-l-0 { margin-left: 0 !important; }
.m-l-05 { margin-left: calc(0.5 * var(--spacing)) !important; }
.m-l-1 { margin-left: var(--spacing) !important; }
.m-l-15 { margin-left: calc(1.5 * var(--spacing)) !important; }
.m-l-2 { margin-left: calc(2 * var(--spacing)) !important; }
.m-l--05 { margin-left: calc(-0.5 * var(--spacing)) !important; }
.m-l--1 { margin-left: calc(-1 * var(--spacing)) !important; }
.m-l--15 { margin-left: calc(-1.5 * var(--spacing)) !important; }
.m-l--2 { margin-left: calc(-2 * var(--spacing)) !important; }
.m-l-a { margin-left: auto !important;}

.p-0 { padding: 0 !important; }
.p-05 { padding: calc(0.5 * var(--spacing)) !important; }
.p-1 { padding: var(--spacing) !important; }
.p-15 { padding: calc(1.5 * var(--spacing)) !important; }
.p-2 { padding: calc(2 * var(--spacing)) !important; }

.p-t-0 { padding-top: 0 !important; }
.p-t-05 { padding-top: calc(0.5 * var(--spacing)) !important; }
.p-t-1 { padding-top: var(--spacing) !important; }
.p-t-15 { padding-top: calc(1.5 * var(--spacing)) !important; }
.p-t-2 { padding-top: calc(2 * var(--spacing)) !important; }

.p-r-0 { padding-right: 0 !important; }
.p-r-05 { padding-right: calc(0.5 * var(--spacing)) !important; }
.p-r-1 { padding-right: var(--spacing) !important; }
.p-r-15 { padding-right: calc(1.5 * var(--spacing)) !important; }
.p-r-2 { padding-right: calc(2 * var(--spacing)) !important; }

.p-b-0 { padding-bottom: 0 !important; }
.p-b-05 { padding-bottom: calc(0.5 * var(--spacing)) !important; }
.p-b-1 { padding-bottom: var(--spacing) !important; }
.p-b-15 { padding-bottom: calc(1.5 * var(--spacing)) !important; }
.p-b-2 { padding-bottom: calc(2 * var(--spacing)) !important; }

.p-l-0 { padding-left: 0 !important; }
.p-l-05 { padding-left: calc(0.5 * var(--spacing)) !important; }
.p-l-1 { padding-left: var(--spacing) !important; }
.p-l-15 { padding-left: calc(1.5 * var(--spacing)) !important; }
.p-l-2 { padding-left: calc(2 * var(--spacing)) !important; }

/* Alignment Adjustments */
.a-c { justify-content: center !important; }
.a-r { justify-content: flex-end !important; }

.v-c { align-items: center !important; }
.v-b { align-items: flex-end !important; }
.v-u { align-items: unset !important; }
.v-s { align-items: stretch !important; }

/* Gap Handling */
.g-0 { gap: 0 !important; }
.g-025 { gap: calc(var(--spacing) / 4) !important; }
.g-05 { gap: calc(var(--spacing) / 2) !important; }
.g-1 { gap: var(--spacing) !important; }
.g-2 { gap: calc(2 * var(--spacing)) !important; }
.g-3 { gap: calc(3 * var(--spacing)) !important; }

.bg-main-color {background-color: var(--main-color) !important;}
.bg-sub-color {background-color: var(--sub-color) !important;}
.bg-bg-color {background-color: var(--bg-color) !important;}
.bg-text-color {background-color: var(--text-color) !important;}
.bg-color-1 {background-color: var(--color-1) !important;}
.bg-color-2 {background-color: var(--color-2) !important;}
.bg-color-3 {background-color: var(--color-3) !important;}
.bg-color-4 {background-color: var(--color-4) !important;}
.bg-color-5 {background-color: var(--color-5) !important;}
.bg-color-w {background-color: #fff !important;}
.bg-color-b {background-color: #000 !important;}

.b-main-color {border-color: var(--main-color) !important;}
.b-sub-color {border-color: var(--sub-color) !important;}
.b-bg-color {border-color: var(--bg-color) !important;}
.b-text-color {border-color: var(--text-color) !important;}
.b-color-1 {border-color: var(--color-1) !important;}
.b-color-2 {border-color: var(--color-2) !important;}
.b-color-3 {border-color: var(--color-3) !important;}
.b-color-4 {border-color: var(--color-4) !important;}
.b-color-5 {border-color: var(--color-5) !important;}
.b-color-w {border-color: #fff !important;}
.b-color-b {border-color: #000 !important;}

.main-color > * {color: var(--main-color) !important;}
.sub-color > * {color: var(--sub-color) !important;}
.bg-color > * {color: var(--bg-color) !important;}
.text-color > * {color: var(--text-color) !important;}
.color-1 > * {color: var(--color-1) !important;}
.color-2 > * {color: var(--color-2) !important;}
.color-3 > * {color: var(--color-3) !important;}
.color-4 > * {color: var(--color-4) !important;}
.color-5 > * {color: var(--color-5) !important;}
.color-w > * {color: #fff !important;}
.color-b > * {color: #000 !important;}


/* Image */

.i-h-f {
	height: 100%;
}

.i-h-f img {
	height: 100%;
	object-fit: cover;
}


/* Infobox */

.infobox.clickable {
	cursor: pointer;
}


/* Text */
@media all and (min-width: 980px) {
	.t-col-2 {
		column-count:2;
		column-gap: var(--el-spacing);
	}

	.t-col-3 {
		column-count:2;
		column-gap: var(--el-spacing);
	}

	.t-col-3 {
		column-count:2;
		column-gap: var(--el-spacing);
	}
}

/* Akkordeon */

.wc-akkordeon {
	border-top: 1px solid;
	border-bottom: 1px solid;
}

.accordion-element {
    overflow: hidden; 
	transition: all .3s ease;
	border-bottom: 1px solid;
}

.accordion-element:last-child {
  	border-bottom: 0px !important;
}

.accordion-title {
    position: relative;
	padding: 20px 50px 20px 30px;
    cursor: pointer;  
	font-size: var(--font-size);
	text-transform: uppercase;
	display: flex;
	align-items: center;
}

.accordion-title::after {
    content: '';
	position: absolute;
	right: 30px;
	transform: translateY(-25%) rotate(45deg);
	border: 1.5px solid #fff;
	border-width: 0 1.5px 1.5px 0;
	display: block;
	transform-origin: center center;
	transition: transform 0.3s;
	height: 10px;
	width: 10px;
}

.accordion-content {
	padding: 0px 30px;
	margin-bottom: 0px;
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}

.accordion-element.open .accordion-content {
	margin-bottom: 30px;
}

.accordion-element.open .accordion-title::after {
    transform: translateY(25%) rotate(-135deg);
}



/* Slider */

.swiper {
	position: relative;
	overflow: hidden;
	-webkit-text-size-adjust: none;
}

.swiper-wrapper {
	display: flex;
}

.swiper-slide {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	position: relative;
	
}

.swiper-pagination {
	margin-top: var(--el-spacing);
	position: relative;
	align-items: center;
	display: flex;
	z-index: 99;
	justify-content: center;
}

.swiper-pagination-bullet {
	height: 18px;
	width: 18px;
	cursor: pointer;
}

.swiper-pagination-bullet:after {
	content:"";
	height: 12px;
	width: 12px;
	margin: 3px;
	border: 1px solid var(--main-color);
	display: block;
	border-radius: 100%;
}

.swiper-pagination-bullet-active:after {
	background: var(--main-color);
}


.slider.w .swiper-pagination-bullet:after {
	border: 1px solid #fff;
}

.slider.w .swiper-pagination-bullet-active:after {
	background: #fff;
}


.swiper-button-next, .swiper-button-prev {
	height: 50px;
	width: 50px;
	position: absolute;
	z-index: 1;
	top: 50%;
	cursor: pointer;
	transition: all .3s ease;
	padding: 10px;
	border: 1px solid var(--main-color);
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.swiper-button-next::before, .swiper-button-prev:before {
	content: "";
	display: block;
	position: absolute;
	height: 15px;
	width: 15px;
	border-right: 1px solid var(--main-color);
	border-top: 1px solid var(--main-color);
	z-index: 2;
	margin-right: 3px;
	margin-top: 3px;
}

.slider.w .swiper-button-next, .slider.w .swiper-button-prev {
	border: 1px solid #fff;
}

.slider.w .swiper-button-next::before, .slider.w .swiper-button-prev:before {
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
}

.swiper-button-next {
	right: 40px;
	transform: translateY(-50%) rotate(45deg);
}

.swiper-button-prev {
	left: 40px;
	transform: translateY(-50%) rotate(-135deg);
}

.slider.nav-out .swiper-button-next {
	right: -70px;
}

.slider.nav-out .swiper-button-prev {
	left: -70px;
}

.swiper-button-disabled {
	opacity: 0;
	visibility: hidden;
}

.swiper-slide-active {
	z-index: 2;
}

.slider.cont-out .swiper-slide:first-child {
	margin-left: clamp(calc((100% - var(--width)) / 2), calc((100vw - var(--maxwidth)) / 2), calc((100vw - var(--maxwidth)) / 2)) !important;
}

.slider.cont-out .swiper-slide:last-child {
	margin-right: clamp(calc((100% - var(--width)) / 2), calc((100vw - var(--maxwidth)) / 2), calc((100vw - var(--maxwidth)) / 2)) !important;
}


/* Video */

.embed-container, .video-container { 
	position: relative; 
	padding-bottom: 56.25%;
	overflow: hidden;
	max-width: 100%;
	height: auto;
} 

.embed-container iframe,
.embed-container object,
.embed-container embed,
.embed-container ._placeholder,
.video-container ._placeholder,
.video-container video { 
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
  	justify-content: center;
	background: #000;
}

.placeholder-video img { 
	height: 100%;
	object-fit: cover;
	opacity: 0.8;
	transition: opacity .3s ease;
}

.placeholder-video:hover img { 
	opacity: 0.6;
}

.video {
	width: 100%;
}

._play {
	height: 65px;
	width: 65px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100%;
	border: 2.5px solid #fff;
	position: absolute;
	margin: auto;
	padding-left: 5px;
	z-index: 1;
	cursor: pointer;
}

._play::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 0 12px 20px;
	border-color: transparent transparent transparent #ffffff;
}

/* Icons */

.icons {
	display: flex;
	gap: 60px;
	justify-content: center;
}

.icons .icon {
	display: flex;
	flex-direction: column;
	gap: 30px;
	max-width: 140px;
	text-align: center;
}

.icons .icon ._image {
	display: flex;
	justify-content: center;
}

.icons .icon ._image img {
	max-width: 40px;
}


/*--------------------------------------------------------------
# RESPONSIVE
--------------------------------------------------------------*/

@media all and (max-width: 980px) {


	.section {
		padding: var(--spacing) 0;
	}

	.section > .row {
		flex-wrap: wrap;
		gap: var(--el-spacing);
	}

	.row > .col { 
		flex: 0 0 100%; 
	}

	.row > .col > div.col-2, .row > .col > div.col-3, .row > .col > div.col-4, .row > .col > div.col-6, .row > .col > div.col-8, .row > .col > div.col-9 { 
		width: 100%; 
	}

	.p-1 {
		padding: var(--spacing) calc((100% - var(--width)) / 2) !important;
	}


}