/*
Theme Name:   helloelementorchild
Description:  Test
Author:       GRUPPE DREI
Author URL:   http://127.0.0.1/dev01
Template:     hello-elementor
Version:      1.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  helloelementorchild
*/

/* Schreibe hier dein eigenes persönliches Stylesheet */
/*
1. Custom Animations 
2. Globals
3. Formulare
4. Header
5. Footer
6. Weitere Elemente
*/

body{
	overflow-x:hidden!important;
}

/*** CUSTOM ANIMATIONS ***/
/* Elementor Animationen Anpassungen */
@media screen and (prefers-reduced-motion: no-preference) {
	@keyframes myFadeInUp {
		from {
			transform: translate3d(0,50px,0);
			opacity: 0;
		}
		to {
			transform: none;
			opacity: 1;
		}
	}
	.fadeInUp {
		animation-name: myFadeInUp !important;
	}

	@keyframes myFadeInLeft {
		from {
			transform: translate3d(-50px,0,0);
			opacity: 0;
		}
		to {
			transform: none;
			opacity: 1;
		}
	}
	.fadeInLeft {
		animation-name: myFadeInLeft !important;
	}

	@keyframes mySlideInUp {
		from {
			transform: translate3d(0,50px,0);
		}
		to {
			transform: none;
		}
	}
	.slideInUp {
		animation-name: mySlideInUp !important;
	}

	@keyframes mySlideInLeft {
		from {
			transform: translate3d(-20px,0,0);
		}
		to {
			transform: none;
		}
	}
	.slideInLeft {
		animation-name: mySlideInLeft !important;
	}

	/* Eigene Animationen*/
	.background-zoom{
		animation: myBackgroundZoom;
		animation-duration: 1s;
	}
	@keyframes myBackgroundZoom{
		from{
			background-size: 110%;
		}
		to{
			background-size: 100%;
		}
	}
}
/*** ANIMATIONS ENDE ***/

/*** GLOBALS ***/
@media screen and (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

/* Listen */
ul{
    padding-left: 1em;
}

.list-indent ul > li{
    text-indent: -1em;
    padding-left: 1em;
}

.custom-list-marker ul{
	padding-left: 0.6em;
}
.custom-list-marker ul li{
    padding-left: 0.5em;
}
.custom-list-marker ul li::marker{
    content:'+';
}
/* Listen Ende */

/*P, Links + Hover Effekt*/
p:last-child{
    margin-bottom: 0;
}
p a, p a:hover, .footer-navi li a, .footer-navi li a:hover{
    color: inherit;
    position: relative;
    --lineColor: var(--e-global-color-f7af70b)
}
p a, .list-hover-line a span, .footer-navi li a{
    background: 
      linear-gradient(var(--lineColor, #ffffff33) 0 0) 
      0 100% /var(--d, 0) 2px 
    no-repeat;
    transition:0.3s;
}
p a:hover, .list-hover-line a:hover span, .footer-navi li a:hover{
    --d: 100%;
}

.footer-navi li a{
	display:inline;
}

.lineColorXY{
    --lineColor: var(--e-global-color-f7af70b);
}
/* Ende */

/* Elementor Buttons */
.elementor-widget-button .elementor-button-wrapper a{
    transition: 0.3s;
}
/*.elementor-widget-button .elementor-button-wrapper a:hover{
    padding-right: 40px;
}*/

.btn-white a{
	color: var(--e-global-color-6b0f725) !important;
	border-color: var(--e-global-color-6b0f725) !important;
}
.btn-white a svg path{
	fill: var(--e-global-color-6b0f725) !important;
}
/* Ende */


/* Remove little space under image*/
.img-block .elementor-widget-container{
    line-height: 0;
}
.img-block img{
    display: block;
}
/* */

.mt-auto{
	margin-top: auto;
}

.lineheight-reset{
	line-height: 0;
}

/* Show overflow on both sides/right side of carousel*/
.carousel-overflow :is(.swiper-container, .owl-carousel .owl-stage-outer){
	overflow: visible;
}
.carousel-overflow-right :is(.swiper-container, .owl-carousel .owl-stage-outer){
	overflow: visible;
    clip-path: inset(-100vw -100vw -100vw 0);
}

/* Remove absolute positioning on mobile*/
@media (max-width: 768px){
    .position-mobile{
        position: relative !important;
    }
}
/*** GLOBALS ENDE ***/


/*** FORMULARE ***/
/* Custom Variables für einfacheres Bearbeiten */
.wpcf7{
    --form-label-text-color: var(--e-global-color-3e523e1);
    --form-label-font-family: var(--e-global-typography-f6867e5-font-family);
    --form-label-font-size: var(--e-global-typography-f6867e5-font-size);
    --form-label-font-weight: var(--e-global-typography-f6867e5-font-weight);
	--form-input-text-color: var(--e-global-color-3e523e1);
    --form-input-background-color: #0000001A;
    --form-input-border: 0px solid var(--e-global-color-3e523e1);
    --form-input-border-radius: 5px;
	--form-input-font-family: var(--e-global-typography-f6867e5-font-family);
    --form-input-font-size: var(--e-global-typography-f6867e5-font-size);
    --form-input-font-weight: var(--e-global-typography-f6867e5-font-weight);
    --form-submit-background-color: var(--e-global-color-3e523e1);
    --form-submit-text-color: var(--e-global-color-f692171);
    --form-submit-border: 1px solid var(--e-global-color-3e523e1);
    --form-submit-border-radius: 50px;
	--form-checkbox-size: 15px;
	--form-success-color: #46b450;
	--form-error-color: #ffb900;
}
.form-white .wpcf7{
    --form-label-text-color: var(--e-global-color-6b0f725);
    --form-input-border: 1px solid #ffffff33;
    --form-submit-text-color: var(--e-global-color-6b0f725);
}

/* Formulare */
.wpcf7 .row{
    display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
	container: form-row / inline-size;
	gap:20px;
	margin-bottom:20px;
}
.wpcf7 .row .column{
    flex-basis: calc(50% - 10px);
}
.wpcf7 div, .wpcf7 label, .wpcf7 .notice, .wpcf7 .info, .wpcf7 h3{
    font-family: var(--form-label-font-family);
	font-weight: var(--form-label-font-weight);
    color: var(--form-label-text-color );
}
.wpcf7 label{
    font-size: var(--form-label-font-size);
     width: 100%;
}
.wpcf7 label:not(.wpcf7-acceptance *, .uploads *, .wpcf7-radio *){
     position: absolute;
     left: -9999px;
     height: 0;
     width: 0;
}
.wpcf7 :is(input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea){
    border-radius: var(--form-input-border-radius);
    background: var(--form-input-background-color);
    border: var(--form-input-border);
    padding: 10px 20px;
    font-family: var(--form-input-font-family);
    font-size: var(--form-input-font-size);
    font-weight: var(--form-input-font-weight);
    color: var(--form-input-text-color);
}
.wpcf7 ::placeholder{
     color: var(--form-label-text-color);
}
.wpcf7 input[type="checkbox"]{
    width: var(--form-checkbox-size);
    height: var(--form-checkbox-size);
    margin: 0 2% 0 0;
    padding: 0;
    appearance: none;
}
.wpcf7 input[type="checkbox"]::before{
    content: "";
    width: 19px;
    height: 19px;
    margin-right: 2%;
    display:block;
    background: var(--form-input-background-color);
	border: 0px solid var(--e-global-color-3e523e1);
	border-radius:5px;
}
.wpcf7 input[type="checkbox"]:checked::before{
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAAoklEQVRoge3XQQrCMBBA0X8Ji97/IC7cta7swuPoIgRKFTFRmAn8t2/5E0LSgiRJkvRHE3AFLtEhPSZgBR7AEtzS7ADcKPF34Bib08b4KMZHMT6K8VHC48/ATLnqW20/D9bOd/xs7gxIEQ+vW+DU8Uz4nm8ZIl189c0QaeOrT0Okj6/eDTFMfLU/YVKcNq22qz7Myu9NlP/XhYFWXpIkSQk8ASIVUgG0/j0XAAAAAElFTkSuQmCC);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.wpcf7 input[type="checkbox"]:checked::before{
    filter: brightness(0) invert(1);
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item{
    width: 100%;
    margin-left: 0;
}
.wpcf7 .wpcf7-acceptance label{
    display: flex;
    align-items: center;
    width: 100%;
}
.wpcf7 .wpcf7-acceptance label a{
    color: inherit;
}
.wpcf7 .wpcf7-acceptance label a:hover{
    text-decoration: underline;
}

.wpcf7 .notice{
    font-size: 80%;
    display: inline-block;
    padding: 0 0 1em 0;
}

.wpcf7 .uploads {
    margin-top: 3%;
    display: flex;
}
.wpcf7 .uploads input[type="file"]{
    visibility: hidden;
    height: 0;
    width: 0;
    margin: 0;
    padding: 0;
}
.wpcf7 .uploads label{
    cursor: pointer;
    font-size: var(--form-input-font-size);
	font-weight: var(--form-input-font-weight);
    display: flex;
    align-items: center;
    flex-basis: 55%;
}
.wpcf7 .uploads label.fileuploaded{
    
}
.wpcf7 .uploads label::before{
    content: url(/wp-content/uploads/2021/09/icon-upload.svg);
    margin-right: 1em;
}

.wpcf7 .wpcf7-submit{
    margin-top: 0.5em;
    border: var(--form-submit-border)!important;
    border-radius: var(--form-submit-border-radius)!important;
    background: var(--form-submit-background-color)!important;
    color: var(--form-submit-text-color)!important;
	width:100%;
}

.wpcf7 .wpcf7-submit:hover{
    color: var(--form-submit-background-color)!important;
    background-color: var(--form-submit-text-color)!important;
}

.wpcf7 form.sent .wpcf7-response-output {
    color: var(--form-success-color);
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    color: var(--form-error-color);
}

.wpcf7 .wpcf7-form-control-wrap .wpcf7-acceptance{
	display:block;
	margin:30px 0;
}

.wpcf7 .notice{
	display:block;
	margin-bottom:10px;
}


@media (max-width: 767px){  
	.wpcf7 .row .column{
        flex-basis: 100%;
    }
    .wpcf7 input[type="checkbox"]{
        min-width: 25px;
        width: 25px;
        height: 25px;
        margin-right: 5%;
    }
    .wpcf7 :is(input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea){
		padding: 10px 10px;
	}
    .wpcf7 .uploads {
        margin-top: 10%;
        flex-direction: column;
    }
    
    .wpcf7 .notice{
        padding: 5% 0;    
    }
	.wpcf7 .row{
		gap:12px;
		margin-bottom:12px;
	}
}
/*** FORMULARE ENDE ***/


/*** NAVIGATION/HEADER/POPUP ***/
.sticky-header.nav-up{
	top: -180px !important;
	opacity: 0;
}

.fixed-header.elementor-sticky--effects{
	box-shadow: 0 4px 10px #00000022;
}

.fixed-header .wrapper > .e-con-inner, .fixed-header .logo a img{
	transition:.3s;
}

.fixed-header.elementor-sticky--effects .wrapper > .e-con-inner{
	padding:10px 0;
}

.fixed-header.elementor-sticky--effects .logo a img{
	width:150px;
}

.fixed-header.elementor-sticky--effects .main-navi .e-n-menu-content{
	padding-block-start: 10px!important;
}

.main-navi .e-n-menu-title-container, .main-navi .e-n-menu-title-container span{
	cursor:pointer!important;
}

.sidebar a{
    transition: .3s;
    width:70px;
}

.sidebar a:hover{
    width:180px;
}

.sidebar .side-info{
    width:0px;
    transition: .3s;
}

.sidebar a:hover .side-info{
    width:100%;
}

.sidebar .weather:hover{
    border-bottom-left-radius: clamp(20px, 1.6vw, 30px);
}

.sidebar .webcam:hover{
    border-top-left-radius: clamp(20px, 1.6vw, 30px);
}

.navi-item-container .item-title span{
    transition:.3s;
}

.navi-item-container:hover .item-title span, .navi-item-container:focus-visible .item-title span{
    color:#000!important;
}

.navi-item-container .item-title .elementor-widget-container{
    display:flex;
    gap:15px;
    align-items: center;
    justify-content: space-between;
    padding-right:10px;
}

.navi-item-container .item-title .elementor-widget-container:after{
    content:"";
    width:10px;
    height:15px;
    background-image: url("/wp-content/uploads/2024/07/angle-right-blue.svg");
    background-size: contain;
    background-position: center;
    opacity: 0;
    transition: .3s;
	flex-shrink:0;
}

.navi-item-container:hover .item-title .elementor-widget-container:after, .navi-item-container:focus-visible .item-title .elementor-widget-container:after{
    opacity: 1;
}

/*** NAVIGATION/HEADER/POPUP ENDE ***/


/*** FOOTER ***/
footer{
	width: 100vw;
    max-width: 100vw!important;
    margin-left: clamp(-10px, -0.52vw, -5px);
    margin-bottom: clamp(-10px, -0.52vw, -5px);
	background-color: var(--e-global-color-f692171);
	border-radius: 0 0 clamp(20px, 1.6vw, 30px) clamp(20px, 1.6vw, 30px);
}

footer .bottom{
	border-radius: 0 0 clamp(20px, 1.6vw, 30px) clamp(20px, 1.6vw, 30px);
}

@media(min-width:1025px){
	.footer-navi ul{
		column-count: 2;
	}
}

/*** FOOTER ENDE ***/

/* Abstände neu */
.margin-top-180{
    margin-top:clamp(70px, 9.38vw, 180px)!important
}

.margin-top-120{
    margin-top:clamp(50px, 6.25vw, 120px)!important
}

.margin-top-100{
    margin-top:clamp(40px, 5.21vw, 100px)!important
}

.margin-top-80{
    margin-top:clamp(30px, 4.17vw, 80px)!important
}

.margin-top-60{
    margin-top:clamp(25px, 3.13vw, 60px)!important
}

.margin-top-40{
    margin-top:clamp(20px, 2.08vw, 40px)!important
}

.margin-top-30{
    margin-top:clamp(20px, 1.56vw, 30px)!important
}

.margin-top-20{
    margin-top:clamp(10px, 1.04vw, 20px)!important
}

.margin-top-10{
    margin-top:clamp(5px, 0.52vw, 10px)!important
}

.margin-bottom-180{
    margin-bottom:clamp(70px, 9.38vw, 180px)!important
}

.margin-bottom-120{
    margin-bottom:clamp(50px, 6.25vw, 120px)!important
}

.margin-bottom-100{
    margin-bottom:clamp(40px, 5.21vw, 100px)!important
}

.margin-bottom-80{
    margin-bottom:clamp(30px, 4.17vw, 80px)!important
}

.margin-bottom-60{
    margin-bottom:clamp(25px, 3.13vw, 60px)!important
}

.margin-bottom-40{
    margin-bottom:clamp(20px, 2.08vw, 40px)!important
}

.margin-bottom-30{
    margin-bottom:clamp(20px, 1.56vw, 30px)!important
}

.margin-bottom-20{
    margin-bottom:clamp(10px, 1.04vw, 20px)!important
}

.margin-bottom-10{
    margin-bottom:clamp(5px, 0.52vw, 10px)!important
}



.padding-top-180{
    padding-top:clamp(70px, 9.38vw, 180px)!important
}

.padding-top-120{
    padding-top:clamp(50px, 6.25vw, 120px)!important
}

.padding-top-100{
    padding-top:clamp(40px, 5.21vw, 100px)!important
}

.padding-top-80{
    padding-top:clamp(30px, 4.17vw, 80px)!important
}

.padding-top-60{
    padding-top:clamp(25px, 3.13vw, 60px)!important
}

.padding-top-40{
    padding-top:clamp(20px, 2.08vw, 40px)!important
}

.padding-top-30{
    padding-top:clamp(20px, 1.56vw, 30px)!important
}

.padding-top-20{
    padding-top:clamp(10px, 1.04vw, 20px)!important
}

.padding-top-10{
    padding-top:clamp(5px, 0.52vw, 10px)!important
}

.padding-bottom-180{
    padding-bottom:clamp(70px, 9.38vw, 180px)!important
}

.padding-bottom-120{
    padding-bottom:clamp(50px, 6.25vw, 120px)!important
}

.padding-bottom-100{
    padding-bottom:clamp(40px, 5.21vw, 100px)!important
}

.padding-bottom-80{
    padding-bottom:clamp(30px, 4.17vw, 80px)!important
}

.padding-bottom-60{
    padding-bottom:clamp(25px, 3.13vw, 60px)!important
}

.padding-bottom-40{
    padding-bottom:clamp(20px, 2.08vw, 40px)!important
}

.padding-bottom-30{
    padding-bottom:clamp(20px, 1.56vw, 30px)!important
}

.padding-bottom-20{
    padding-bottom:clamp(10px, 1.04vw, 20px)!important
}

.padding-bottom-10{
    padding-bottom:clamp(5px, 0.52vw, 10px)!important
}

#breadcrumbs img{
    width:6px;
    margin: 0 6px 1px;
}

.inverted #breadcrumbs img{
    filter:brightness(0) invert(1);
}

#breadcrumbs img:not(:last-of-type){
    opacity: .4;
}

body{
	border: clamp(5px, 0.52vw, 10px) solid var(--e-global-color-f692171);
    border-radius: 30px;
}

body.page-template-single-cuxland{
	--e-global-color-f692171:var(--e-global-color-c9a48ae);
}

body.page-template-single-bremerhaven{
	--e-global-color-f692171:var(--e-global-color-03cdec1);
}

.menu-grid a:focus-visible .e-con-inner{
	outline: -webkit-focus-ring-color auto 1px;	
}

.menu-grid img{
    height: 7.3vw;
    object-fit: cover;
}

@media(max-width:1399px){
	.menu-grid.mobile img{
		height: 11.3vw;
	}
}

@media(max-width:1024px){
	.menu-grid.mobile img{
		height: 17vw;
	}
}

@media(max-width:767px){
	.menu-grid.mobile img{
		height: 22.7vw;
	}
}

.mobile-navi-container{
	/*position: absolute;*/
    /*width: calc(100% - clamp(10px, 1.04vw, 20px));*/
}

.mobile-navi-container.inactive, .mobile-navi-container .inactive{
	display:none;
}

.mobile-navi > div > div > div{
	/*top: 75px;
    position: fixed;
	width: calc(100% - 20px);*/
	height: calc(100vh - 75px);
    background: #fff;
	display:flex;
	flex-direction:column;
}

.mobile-navi .navi-center{
	flex-grow:1;
	overflow:auto;
}

#mobile-navi-main .menu-item-type-custom a:after{
    content: "";
    background-image: url(/wp-content/uploads/2025/01/angle-right-red.svg);
    position: relative;
    margin-left: 20px;
    opacity: 1 !important;
    width: 9px;
    background-size: contain;
    height: 20px;
    background-position: center;
    background-repeat: no-repeat;
}

body.prevent-page-scroll{
    overflow: hidden;
}

.burger svg{
	transition:.3s;
	cursor:pointer;
}

.burger svg #Rechteck_2554{
	fill:var(--e-global-color-f692171)!important;
}

.burger .elementor-icon-wrapper{
	display:flex;
}

.burger .elementor-icon.active svg{
	transform: rotate(0deg)!important;
}

.inverted-tl-br::after{
	content: "";
    position: absolute;
    background-color: transparent;
    left: clamp(-60px, -3.2vw, -40px);
	right:auto;
    height: clamp(20px, 1.6vw, 30px);
    width: clamp(40px, 3.2vw, 60px);
	border-radius:0;
    border-top-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: clamp(20px, 1.6vw, 30px) 0 0 0 #fff;
	top:0;
}

.poster-text-left .fake-bg-image, .poster-text-right .fake-bg-image{
    height:100%;
    width:100%;
	position:absolute!important;
}

.poster-text-left .fake-bg-image img, .poster-text-right .fake-bg-image img{
    min-height:100%;
    min-width:100%;
}

.poster-text-left .fake-bg-image img, .poster-text-right .fake-bg-image img{
    border-radius:clamp(20px, 1.6vw, 30px);
}   

@media(max-width:767px){
	.poster-text-left .fake-bg-image, .poster-text-right .fake-bg-image{
        position:relative!important;
        margin-top:-110px;
        z-index:3;
    } 
	.poster-text-right .inverted-tl-br::after, .poster-text-left .inverted-tr-bl::after{
		display:none;
	}
}

.inverted-tl-br::before{
    content: "";
    position: absolute;
    background-color: transparent;
    bottom: clamp(-60px, -3.2vw, -40px);
    top: auto;
	left:auto;
	right:0;
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
	border-radius:0;
    border-top-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(-30px, -1.6vw, -20px) 0 0 #fff;
}

.inverted-tl-br-bottom::after{
    content: "";
    position: absolute;
    background-color: transparent;
    left: 0;
    right: auto;
    height: clamp(20px, 1.6vw, 30px);
    width: clamp(40px, 3.2vw, 60px);
    border-radius: 0;
    border-bottom-left-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: clamp(-30px, -1.6vw, -20px) 0 0 0 #fff;
    top: clamp(-30px, -1.6vw, -20px);
}

.inverted-tl-br-bottom::before{
    content: "";
    position: absolute;
    background-color: transparent;
    bottom: 0;
    top: auto;
    left: auto;
    right: clamp(-30px, -1.6vw, -20px);
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
    border-radius: 0;
    border-bottom-left-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(20px, 1.6vw, 30px) 0 0 #fff;
}

.inverted-tr-bl::after{
	content: "";
    position: absolute;
    background-color: transparent;
    right: clamp(-60px, -3.2vw, -40px);
    left: auto;
    height: clamp(20px, 1.6vw, 30px);
    width: clamp(40px, 3.2vw, 60px);
	border-radius:0;
    border-top-left-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: clamp(-30px, -1.6vw, -20px) 0 0 0 #fff;
	top:0;
}

.inverted-tr-bl::before{
    content: "";
    position: absolute;
    background-color: transparent;
    bottom: clamp(-60px, -3.2vw, -40px);
    top: auto;
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
	border-radius:0;
    border-top-left-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(-30px, -1.6vw, -20px) 0 0 #fff;
}

.inverted-tr-bl-bottom::after{
    content: "";
    position: absolute;
    background-color: transparent;
    left: clamp(-50px, -2.64vw, -30px);
    right: auto;
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
    border-radius: 0;
    border-bottom-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(20px, 1.6vw, 30px) 0 0 #fff;
    bottom: 0;
    border: 0;
}

.inverted-tr-bl-bottom::before{
    border: 0;
    content: "";
    position: absolute;
    background-color: transparent;
    bottom: 0;
    top: clamp(-80px, -4.24vw, -50px);
    left: auto;
    right: 0;
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
    border-radius: 0;
    border-bottom-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(20px, 1.6vw, 30px) 0 0 #fff;
}

.inverted-tr-bl.grey::after{
    box-shadow: clamp(-30px, -1.6vw, -20px) 0 0 0 var( --e-global-color-f71537c );
}

.inverted-tr-bl.grey::before{
    box-shadow: 0 clamp(-30px, -1.6vw, -20px) 0 0 var( --e-global-color-f71537c );
}

@media(max-width:767px){
	.hero-area-start .inverted-tr-bl::after{
		display:none;
	}
}

/*.inverted-tr-tl::after{
    content: "";
    position: absolute;
    background-color: transparent;
    top: clamp(-60px, -3.2vw, -40px);
    bottom: auto;
	left:clamp(5px, 0.52vw, 10px);
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
	border-radius:0;
    border-bottom-left-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(20px, 1.6vw, 30px) 0 0 var( --e-global-color-f692171 );
}

.inverted-tr-tl::before{
    content: "";
    position: absolute;
    background-color: transparent;
    top: clamp(-60px, -3.2vw, -40px);
    bottom: auto;
	right:clamp(5px, 0.52vw, 10px);
	left:auto;
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
	border-radius:0;
    border-bottom-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(20px, 1.6vw, 30px) 0 0 var( --e-global-color-f692171 );
}*/

main#content{
	background-color: var(--e-global-color-f692171);
	margin-top:clamp(30px, 3.13vw, 60px);
}
main#content .page-content{
	background-color: #fff;
	border-radius: 0 0 clamp(20px, 1.6vw, 30px) clamp(20px, 1.6vw, 30px);
}

.region-list .elementor-icon-list-item:nth-of-type(2) .elementor-icon-list-text{
    color: var(--e-global-color-c9a48ae)!important;
}

/* SLIDER */
.image-slider-big .owl-stage{
    display:flex;
}

.image-slider-big .owl-stage .owl-item > div, .image-slider-big .owl-stage .owl-item > div > div, .image-slider-big .owl-stage .owl-item > div > div > div{
    height:100%;
}

.image-slider-big .uc_classic_carousel_content{
    background-color:#fff;
    border-radius: clamp(20px, 1.6vw, 30px);
    width:33vw;
    padding:clamp(30px, 3.13vw, 60px);
}

.image-slider-big .uc_classic_carousel_placeholder{
    display:flex;
    justify-content: end;
    padding:clamp(40px, 4.17vw, 80px);
    border-radius: clamp(20px, 1.6vw, 30px);
    background-size: cover;
    background-position: center center;
	min-height: 32vw;
}

@media(max-width:1024px){
    .image-slider-big .uc_classic_carousel_content{
        width:60%;
    }
}

@media(max-width:767px){
    .image-slider-big .uc_classic_carousel_content{
        width:100%;
        margin-top:50vw;
    }
    .image-slider-big .uc_classic_carousel_placeholder{
        padding:0!important;
        background-size:auto 60vw;
        background-repeat: no-repeat;
        background-position:top center;
    }
}

/* List */
.special-list ul{
    padding-left:0;
    list-style-type: none;
    display:flex;
    flex-direction: column;
    gap:10px;
}

.special-list ul li{
    display: flex;
    gap:10px;
    border-bottom:1px solid #0000001a;
    padding-bottom: 10px;
}

.special-list ul li:before{
    content:"";
    width:6px;
    height:6px;
    background-color: var(--e-global-color-f692171);
    border-radius: 50px;
    margin-top:10px;
}

.gallery .gallery-item .uc_classic_carousel_placeholder{
    min-height: 19vw;
    border-radius: clamp(20px, 1.6vw, 30px);
	background-size:cover;
	background-position:center;
	padding:0!important;
	overflow:hidden;
}

.gallery .gallery-item .owl-stage{
    display:flex;
}

.gallery .gallery-item .owl-stage .card_carousel_text{
	margin:0!important;
	opacity:0;
	transition:.4s;
}

.gallery .gallery-item .owl-stage .owl-item:hover .card_carousel_text{
	opacity:1;
}

.gallery .gallery-item .owl-stage .uc_classic_carousel_content{
	padding:20px!important;
	height:100%;
	width:100%;
	display:flex;
	justify-content: center;
    align-items: center;
	transition:.4s;
}

.gallery .gallery-item .owl-stage .owl-item:hover .uc_classic_carousel_content{
    backdrop-filter: brightness(0.6) blur(5px);
}

.gallery .gallery-item .owl-stage .ue-item, .gallery .gallery-item .owl-stage .ue-item .ue-carousel-item, .gallery .gallery-item .owl-stage .ue-item .ue-carousel-item .uc_classic_carousel_placeholder{
    height:100%;
}

@media(max-width:1399px){
    .gallery .gallery-item .uc_classic_carousel_placeholder{
        min-height: 25vw;
    }
}

@media(max-width:1024px){
    .gallery .gallery-item .uc_classic_carousel_placeholder{
        min-height: 38vw;
    }
}

@media(max-width:767px){
    .gallery .gallery-item .uc_classic_carousel_placeholder{
        min-height: 76vw;
    }
}

/* Video Slider Testimonials */
.testimonials .video-carousel .owl-stage{
    display:flex;
	margin-left: -3px;
}

.testimonials .video-carousel .owl-stage .owl-item{
    translate:3px;
}

.testimonials .video-carousel .owl-stage :is(.ue-item, .ue-carousel-item, .uc_classic_carousel_placeholder, .uc_classic_carousel_content){
    height:100%;
}

.testimonials .video-carousel .card_carousel_text{
    flex-grow:1;
}

.testimonials .video-carousel .uc_classic_carousel_placeholder{
    display: flex;
    flex-direction: column;
    align-items: end;
}

.testimonials .video-carousel .uc_classic_carousel_content.without-bg{
    border:1px solid #0000001a;
    border-radius: clamp(20px, 1.6vw, 30px);
	padding:clamp(20px, 3.13vw, 60px);
}

.testimonials .video-carousel .uc_classic_carousel_content.with-bg{
    border-radius: clamp(20px, 1.6vw, 30px);
	overflow:hidden;
	background-position:center; 
	background-size:cover;
}

.testimonials .video-carousel .uc_classic_carousel_content #custom-overlay{
    padding:clamp(20px, 3.13vw, 60px);
	display: flex;
    flex-flow: column nowrap;
	height:100%;
	background: #ffffff80;
	backdrop-filter:blur(5px);
}

.testimonials .video-carousel .video-carousel-img-con{
    height:0;
    width:31%;
}

.testimonials .video-carousel :is(.job-ort, .card_carousel_title){
	width:60%;
}

@media(min-width:1025px and max-width:1399px){
	.testimonials .video-carousel .video-carousel-img-con{
		width:50%;
	}

	.testimonials .video-carousel :is(.job-ort, .card_carousel_title){
		width:41%;
	}
}

@media(max-width:1024px){
	.testimonials .video-carousel .card_carousel_text{
		margin-top:20px!important;
	}
}

@media(max-width:767px){
	.testimonials .video-carousel .video-carousel-img-con{
		width:180px;
	}
	
	.testimonials .video-carousel :is(.job-ort, .card_carousel_title){
		width:100%;
	}
	
	.testimonials .video-carousel .job-ort{
		margin-bottom:70px;
	}
}

.testimonials .video-carousel .video-carousel-img-con .video-carousel-img{
    transform: translate(0, calc(1px - 100%));
    display: flex;
	justify-content:end;
    border: solid #e8e8e8;
    border-width: 1px 0 0 1px;
    border-top-left-radius: clamp(20px, 1.6vw, 30px);
	padding: 15px 0 0 20px;
    background: #fff;
}

.testimonials .video-carousel .video-carousel-img-con .video-carousel-img img{
    z-index: 1;
}

.testimonials .video-carousel .video-carousel-img-con .video-carousel-img.true img{
	width: 46.65%;
	border-radius:50%;
}

.testimonials .video-carousel .video-carousel-img-con .video-carousel-img::after{
    content: "";
    position: absolute;
    background-color: transparent;
    left: clamp(-30px, -1.6vw, -20px);
    right: auto;
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
    border-radius: 0;
    border-bottom-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(20px, 1.6vw, 30px) 0 0 #fff;
    bottom: 0;
    border: solid #e8e8e8;
    border-width: 0 1px 1px 0;
}

.testimonials .video-carousel .video-carousel-img-con .video-carousel-img::before{
    border: 0;
    content: "";
    position: absolute;
    background-color: transparent;
    bottom: 0;
    top: clamp(-60px, -3.2vw, -40px);
    left: auto;
    right: 0;
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
    border-radius: 0;
    border-bottom-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(20px, 1.6vw, 30px) 0 0 #fff;
    border: solid #e8e8e8;
    border-width: 0 1px 1px 0;
}

.testimonials .video-carousel .button-con{
    height:0;
	z-index:9;
}

.testimonials .video-carousel .button-con .video-carousel-btn{
    transform: translate(1px, -1px);
    display: flex;
    border: solid #e8e8e8;
    border-width: 0 0 1px 1px;
    border-bottom-left-radius: clamp(20px, 1.6vw, 30px);
    background: #fff;
}

.testimonials .video-carousel .button-con .video-carousel-btn .ue_button{
    padding: 3px 3px 20px 20px;
    z-index: 1;
}

.testimonials .video-carousel .button-con .video-carousel-btn .ue_button a{
    transition:.3s;
	display:flex;
	gap:20px;
	align-items:center;
}

.testimonials .video-carousel .button-con .video-carousel-btn .ue_button a svg circle{
    fill: var(--e-global-color-ba0fef2)!important;
    opacity: 1!important;
}

@media(max-width:767px){
	.testimonials .video-carousel .button-con .video-carousel-btn .ue_button a svg{
		display:none;
	}
	
	.testimonials .video-carousel .button-con .video-carousel-btn .ue_button a{
		padding:10px 20px!important;
	}
}

.testimonials .video-carousel .button-con .video-carousel-btn::after{
    content: "";
    position: absolute;
    background-color: transparent;
    left: clamp(-60px, -3.2vw, -40px);
	right:auto;
    height: clamp(20px, 1.6vw, 30px);
    width: clamp(40px, 3.2vw, 60px);
    border-radius: 0;
    border-top-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: clamp(20px, 1.6vw, 30px) 0 0 0 #fff;
    top: 0;
    border: solid #e8e8e8;
    border-width: 1px 1px 0 0;
}

.testimonials .video-carousel .button-con .video-carousel-btn::before{
    border: 0;
    content: "";
    position: absolute;
    background-color: transparent;
    bottom: clamp(-60px, -3.2vw, -40px);
    top: auto;
	left:auto;
	right:0;
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
    border-radius: 0;
    border-top-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(-30px, -1.6vw, -20px) 0 0 #fff;
    border: solid #e8e8e8;
    border-width: 1px 1px 0 0;
}

/* Akkordeon FAQ */
.faq .e-n-accordion-item{
    border-radius: clamp(20px, 1.6vw, 30px) 0 clamp(20px, 1.6vw, 30px) clamp(20px, 1.6vw, 30px);
    overflow: hidden;
    /*border:1px solid #e8e8e8;*/
}

.faq .e-n-accordion-item-title-icon{
    position:absolute!important;
    right:0;
    top:0;
    padding: 0 0 clamp(10px, 1.04vw, 20px) clamp(10px, 1.04vw, 20px);
    background-color: var(--e-global-color-text);
    border-bottom-left-radius: clamp(20px, 1.6vw, 30px);
    /*border:solid #e8e8e8;
    border-width:0 0 1px 1px;*/
}

.faq .e-n-accordion-item-title-icon > span{
    z-index: 1;
}

.faq .e-n-accordion-item-title-icon::after{
    content: "";
    position: absolute;
    background-color: transparent;
    left: clamp(-60px, -3.2vw, -40px);
	right:auto;
    height: clamp(20px, 1.6vw, 30px);
    width: clamp(40px, 3.2vw, 60px);
    border-radius: 0;
    border-top-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: clamp(20px, 1.6vw, 30px) 0 0 0 var(--e-global-color-text);
    top: 0;
    /*border: solid #e8e8e8;
    border-width: 1px 1px 0 0;*/
}

.faq .e-n-accordion-item-title-icon::before{
    border: 0;
    content: "";
    position: absolute;
    background-color: transparent;
    bottom: clamp(-60px, -3.2vw, -40px);
    top: auto;
	left:auto;
	right:0;
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
    border-radius: 0;
    border-top-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(-30px, -1.6vw, -20px) 0 0 var(--e-global-color-text);
    /*border: solid #e8e8e8;
    border-width: 1px 1px 0 0;*/
}

/* Further topics */
.further-topics .page-grid .ue-grid-item > div, .further-topics .page-grid .ue-grid-item > div > div{
	height:100%;
}

.further-topics .page-grid .ue-grid-item .elementor-widget-button{
	margin-top:auto;
}

@media(min-width:1025px){
    .further-topics .page-grid .page-grid-img img{
        height: 28vw;
        object-fit: cover;
    }
}

@media(min-width:1400px){
    .further-topics .page-grid .page-grid-img img{
        height: 21vw;
    }
}

/* Overview Teaser */
.overview-teaser .overview-tile .icon-con::after{
    content: "";
    position: absolute;
    background-color: transparent;
    left: clamp(-30px, -1.6vw, -20px);
    right: auto;
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
    border-radius: 0;
    border-bottom-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(20px, 1.6vw, 30px) 0 0 #fff;
    bottom: 0;
    border: solid #e8e8e8;
    border-width: 0 1px 1px 0;
}

.overview-teaser .overview-tile .icon-con::before{
    border: 0;
    content: "";
    position: absolute;
    background-color: transparent;
    bottom: 0;
    top: clamp(-60px, -3.2vw, -40px);
    left: auto;
    right: 0;
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
    border-radius: 0;
    border-bottom-right-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(20px, 1.6vw, 30px) 0 0 #fff;
    border: solid #e8e8e8;
    border-width: 0 1px 1px 0;
}

.overview-teaser.news .overview-tile .icon-con::before, .overview-teaser.news .overview-tile .icon-con::after{
    box-shadow: 0 clamp(20px, 1.6vw, 30px) 0 0 #f7f7f7;
}

.overview-teaser .overview-tile .icon-con .elementor-icon-wrapper{
    display:flex;
}

.overview-teaser .page-grid .overview-grid-img img{
    height: 40.6vw;
    object-fit: cover;
}

.overview-teaser .overview-tile .full-height-con{
	height:100%;
}

.overview-teaser .overview-tile .full-height-con .four-lines .elementor-heading-title{
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height:inherit;
}

.overview-teaser .overview-tile .full-height-con .two-lines .elementor-heading-title a{
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height:inherit;
}

@media(min-width:768px){
    .overview-teaser .page-grid .overview-grid-img img{
        height: 20.3vw;
    }
} 

@media(min-width:1025px){
    .overview-teaser .page-grid .overview-grid-img img{
        height: 13.5vw;
    }
}

.overview-teaser.news .page-grid .overview-grid-img img{
    aspect-ratio:4/3;
}

/* Company Teaser */
.company-teaser .company-carousel .uc_classic_carousel_placeholder {
    display: flex;
    flex-direction: column;
    align-items: start;
}

.company-teaser .company-carousel .video-carousel-img{
    display: flex;
    padding: clamp(20px, 1.56vw, 30px);
    border: 1px solid #e8e8e8;
    border-radius: 10px;
}

.company-teaser .company-carousel .uc_classic_carousel_content{
    padding: clamp(20px, 2.08vw, 40px);
    border:1px solid #e8e8e8;
    border-radius: clamp(20px, 1.6vw, 30px);
    background:#fff;
}

.company-teaser .company-carousel .button-con{
    height:0;
}

.company-teaser .company-carousel .button-con .video-carousel-btn{
    transform: translate(-1px, calc(1px - 100%));
    display: flex;
    border: solid #e8e8e8;
    border-width: 1px 1px 0 0;
    border-top-right-radius: clamp(20px, 1.6vw, 30px);
    background: var(--e-global-color-f71537c);
}

.company-teaser .company-carousel .button-con .video-carousel-btn .ue_button{
    padding: 20px 20px 3px 3px;
    z-index: 1;
}

.company-teaser .company-carousel .button-con .video-carousel-btn .ue_button a{
    transition:.3s;
	display:flex;
	gap:20px;
	align-items:center;
}

.company-teaser .company-carousel .button-con .video-carousel-btn .ue_button a svg circle{
    fill: #175297!important;
    opacity: 1!important;
}

@media(max-width:767px){
	.company-teaser .company-carousel .button-con .video-carousel-btn .ue_button a svg{
		display:none;
	}
	
	.company-teaser .company-carousel .button-con .video-carousel-btn .ue_button a{
		padding:10px 20px!important;
	}
}

.company-teaser .company-carousel .button-con .video-carousel-btn::after{
    content: "";
    position: absolute;
    background-color: transparent;
    left: 0;
    right: auto;
    height: clamp(40px, 3.2vw, 60px);
    width: clamp(20px, 1.6vw, 30px);
    border-radius: 0;
    border-bottom-left-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: 0 clamp(20px, 1.6vw, 30px) 0 0 var(--e-global-color-f71537c);
    top: clamp(-60px, -3.2vw, -40px);
    border: solid #e8e8e8;
    border-width: 0 0 1px 1px;
}

.company-teaser .company-carousel .button-con .video-carousel-btn::before{
    content: "";
    position: absolute;
    background-color: transparent;
    bottom: 0;
    top: auto;
    left: auto;
    right: clamp(-60px, -3.2vw, -40px);
    width: clamp(40px, 3.2vw, 60px);
    height: clamp(20px, 1.6vw, 30px);
    border-radius: 0;
    border-bottom-left-radius: clamp(20px, 1.6vw, 30px);
    box-shadow: clamp(-30px, -1.6vw, -20px) 0 0 0 var(--e-global-color-f71537c);
    border: solid #e8e8e8;
    border-width: 0 0 1px 1px;
}

.leaflet-container .leaflet-tile-container {
    filter: grayscale(1)
}

.leaflet-popup-content a{
	color:var(--e-global-color-f692171);
	font-size: var(--e-global-typography-ecbb3e5-font-size);
    font-weight: var(--e-global-typography-ecbb3e5-font-weight);
    line-height: var(--e-global-typography-ecbb3e5-line-height);
}

@media(min-width:768px){
    .map .map-overlay{
        position:absolute;
    }
}

@media(max-width:767px){
    .map .map-overlay::before, .map .map-overlay::after{
        display:none;
    }
}

/* FAQs */
.faq-filter .ue_taxonomy_item{
	padding: 5px 25px;
    border: 5px solid #00000000;
    border-radius: 50px;
	cursor:pointer;
}

.faq-filter label{
    transition:.3s;
}

.faq-filter .ue_taxonomy_item.uc-selected, .faq-filter label:hover{
	border-color:var(--e-global-color-f692171);
}


/*** WEITERE ELEMENTE ***/
/*#breadcrumbs > span > span:not(.breadcrumb_last){
	display: inline-flex;
	align-items: center;
}
#breadcrumbs > span > span:not(.breadcrumb_last)::after{
	content: "";
	background: url('') no-repeat center/contain;
	display: inline-block;
	width: 6px;
	height: 8px;
	margin: 0 20px;
}*/

/*** WEITERE ELEMENTE ENDE ***/


.custom-random-image, .custom-random-image :is(.ue-random-image, .ue-random-image .ue-image-box, .ue-random-image .ue-image-link, .ue-random-image .ue-image-link img, .ue-random-image .ue-image){
    height:100%;
    width:100%;
}

.hero-area-start .ue-random-image .ue-image-link img{
    object-fit: cover;
}

@media(max-width:767px){
	.custom-random-image{
		position:relative!important;
	}
	.custom-random-image img{
		border-radius:clamp(20px, 1.6vw, 30px);
	}
}

.news-content .elementor-widget-text-editor .elementor-widget-container > div:not(:last-of-type){
    margin-bottom:.9rem;
}