/*
Theme Name:   helloelementorchild
Description:  Test
Author:       GRUPPE DREI
Author URL:   https://www.gruppedrei.com
Template:     hello-elementor
Version:      1.1
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. Header
4. Footer
5. Weitere Elemente
*/

@import "css/reset.css";
@import "css/animations.css";
@import "css/form.css";


/*** GLOBALS ***/
.e-container, .e-con{
	--full-width-padding: max(1%, calc((100vw - var(--scrollbar-width) - var(--container-max-width)) / 2));
	
	--spacer-240: clamp(120px, 12.5vw, 240px);
	--spacer-180: clamp(90px, 9.375vw, 180px);
	--spacer-160: clamp(80px, 8.33vw, 160px);
	--spacer-140: clamp(70px, 7.29vw, 140px);
	--spacer-120: clamp(60px, 6.25vw, 120px);
	--spacer-100: clamp(50px, 5.2vw, 100px);
	--spacer-90: clamp(45px, 4.6875vw, 90px);
	--spacer-80: clamp(40px, 4.16vw, 80px);
	--spacer-60: clamp(30px, 3.125vw, 60px);
	--spacer-50: clamp(25px, 2.60vw, 50px);
	--spacer-40: clamp(20px, 2.08vw, 40px);
	--spacer-30: clamp(15px, 1.5626vw, 30px);
	--spacer-20: clamp(10px, 1.04vw, 20px);
	--spacer-10: clamp(5px, 0.5vw, 10px);
	
	--spacer-side: 0%;
	--spacer-grid: calc(var(--container-max-width) / 12);
	
}

@media (max-width: 1024px){
    .e-container, .e-con{
        --full-width-padding: 4vw;
		
		--spacer-side: var(--full-width-padding);
	}
}

@media (max-width: 768px){
    .e-container, .e-con{
        --full-width-padding: 3vw;
		
		--spacer-side: var(--full-width-padding);
	}
}

/* Content Breite eine Seite - Full width andere Seite */
.full-width-padding-left{
    padding-left: var(--full-width-padding);
}
.full-width-padding-right{
    padding-right: var(--full-width-padding);
}

/* Content Breite Ende */

/*P, Links + Hover Effekt*/

p a, .list-hover-line a span{
    color: inherit;
    position: relative;
    --lineColor: var(--e-global-color-f7af70b);

    background: 
      linear-gradient(var(--lineColor, currentColor) 0 0) 
      0 100% /var(--d, 30%) 2px 
    no-repeat;
    transition:0.3s;
}
p a:hover, p a:focus, .list-hover-line a:hover span, .list-hover-line a:focus span{
    --d: 100%;
}

/* Ende */

/* Elementor Buttons */
.elementor-widget-button a.elementor-button{
	transition: width 0.2s;
	width: 100%;
}
.elementor-widget-button a.elementor-button .elementor-button-content-wrapper{
	justify-content: space-between;
}
.elementor-widget-button a:hover, .elementor-widget-button a:focus{
  	width: calc(100% + 20px);
}


.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;
}

.btn-red svg{
	fill: var(--e-global-color-6b2babe);
}
.btn-green svg{
	fill: var(--e-global-color-0f57a36);
}
.btn-darkgreen svg{
	fill: var(--e-global-color-900e92a);
}
.btn-black svg{
	fill: var(--e-global-color-a9b55bc);
}
/* Ende */


.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: 1024px){
    .position-tablet{
        position: relative !important;
    }
}
@media (max-width: 768px){
    .position-mobile{
        position: relative !important;
    }
}
/*** GLOBALS ENDE ***/


/*** NAVIGATION/HEADER/POPUP ***/
/* Fixed Navi auf Startseite, Projekt-Übersichten und Projekt-Unterseiten*/
body:is(.page-id-2, .page-id-323, .page-id-330, .single-projekt) #header-container{
	position: fixed;
	top: 0;
	left: 0;
}

.main-menu .e-n-menu-content{
    top: calc(var(--spacer-30) * -1) !important;
    z-index: -1 !important;
}
.main-menu:has(.e-n-menu-content.e-active) .e-n-menu-title-text{
    color: var(--e-global-color-ec6766d) !important;
}
.main-menu:has(.e-n-menu-content.e-active) .e-n-menu-dropdown-icon svg{
    fill: var(--e-global-color-ec6766d) !important;
}
.main-menu .e-n-menu-dropdown-icon-opened svg{
    height: 20px !important;
}
.main-menu .e-n-menu-item .e-n-menu-title-text{
	cursor: pointer !important;
}

.main-menu .e-n-menu-content{
	transition: translate 0.5s;
}
.main-menu .e-n-menu-content:not(.e-active){
	translate: 0 -100%;
}
.main-menu .e-n-menu-content > .e-con{
	display: var(--display) !important;
}

.project-list .elementor-post__title a{
    display: flex;
    gap: var(--spacer-30);
}
.project-list .elementor-post__title a::before{
    content: url(/wp-content/uploads/2023/10/arrow-right-icon.svg);
    filter: brightness(0) invert(1)
}

.main-menu-sub .menu-item a{
    display: flex;
    gap: var(--spacer-30);
}
.main-menu-sub li.menu-item a.elementor-item:hover{
	gap: var(--spacer-40);
}
.main-menu-sub .menu-item a::before{
    content: url(/wp-content/uploads/2023/10/arrow-right-icon.svg);
    opacity: 1 !important;
    position: static;
    filter: brightness(0) invert(1);
}

.backdrop-blur{
    backdrop-filter: blur(19px);
}

@media(max-width: 1024px){
	#header-container{
		position: static;
	}
}
/*** NAVIGATION/HEADER/POPUP ENDE ***/


/*** FOOTER ***/

/*** FOOTER ENDE ***/


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

/*** COOKIEBOT YOUTUBE ***/
.custom-video iframe, .custom-video .cookieconsent-optout-marketing div{
	aspect-ratio: 16 / 9;
}
.custom-video .cookieconsent-optout-marketing div {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background-color: rgba(0, 0, 0, 0.5);
}
.custom-video .cookieconsent-optout-marketing div a{
	color: var(--e-global-color-4f4dadd);
}
/*** COOKIEBOT YOUTUBE UND GOOLGLE MAPS ENDE ***/


.headline-arrow .elementor-heading-title::before{
    content: "";
	background: url(/wp-content/uploads/2023/10/arrow-right-icon.svg) no-repeat center/contain;
    display: inline-block;
    width: 25px;
	height: 20px;
    margin-right: var(--spacer-20);
    filter: brightness(0) invert(1);
}

.elementor-blockquote--skin-quotation blockquote.elementor-blockquote::before{
    content: "";
	background: url(/wp-content/uploads/2025/10/quote.svg) no-repeat center/contain;
	width: clamp(100px, 8.85vw, 170px);
	height: auto;
    aspect-ratio: 17 / 10;
}
.elementor-blockquote--skin-quotation blockquote.elementor-blockquote .e-q-footer{
	justify-content: flex-end;
}
.elementor-blockquote--skin-quotation blockquote.elementor-blockquote .e-q-footer cite::before{
	content: "– ";
}
/*** WEITERE ELEMENTE ENDE ***/

/* Horizontal Scroll */

.horizontal-scroll-container{
    --progress-bar: true;
    --progress-bar-height: 5px;
	--progress-bar-color: var(--e-global-color-6b2babe); /* Rot */
}
body{
    --disable-movement-desktop: false;
    --disable-movement-tablet: false;
    --disable-movement-mobile: true;
    --hide-default-scrollbar: true;
    --disable-horizontal-scroll-mobile: true;
}
html.hide-scrollbar::-webkit-scrollbar{
    display: none;
}
html.hide-scrollbar{
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.horizontal-scroll-container{
    overflow: hidden;
    --initial-height: var(--min-height,100vh);
}
.horizontal-scroll-container:after{
    content: "";
    left: 0;
    top: calc(100vh - var(--progress-bar-height,2px));
    width: 100vw;
    height: var(--progress-bar-height,2px);
    background: var(--progress-bar-color,FFFF00);
    transform: scaleX(calc(var(--progress,0)*100%));
    position: fixed;
    transform-origin: left;
    will-change: transform;
    transition: transform 0.1s linear;
    opacity: 0;
}
.horizontal-scroll-container.fixed:after{
    opacity: 1;
}
.horizontal-scroll-container.progress-bar-disabled:after{
    display: none;
}
.horizontal-scroll-container > .e-con,
.horizontal-scroll-container > .e-container{
    transition: none;
    height: var(--initial-height,100vh);
}
body.tiny-scroll .horizontal-scroll-container > .e-con,
body.tiny-scroll .horizontal-scroll-container > .e-container{
    will-change: transform;
    transition: transform 1s cubic-bezier(0,.33,.07,1.03);
}
.horizontal-scroll-container.fixed > .e-con,
.horizontal-scroll-container.fixed > .e-container{
    position: fixed;
    top: 0;
    left: 0;
}
.horizontal-scroll-container.bottom{
    justify-content: flex-end;
}
.horizontal-scroll-container > .e-con > *,
.horizontal-scroll-container > .e-container > *{
    height: var(--min-height, 100vh);
}
.horizontal-scroll-container.hs-disabled{
    height: auto !important;
}
.horizontal-scroll-container.hs-disabled:after{
    display: none;
}
.horizontal-scroll-container.hs-disabled > .e-con,
.horizontal-scroll-container.hs-disabled > .e-container{
    flex-direction: column;
    height: auto;
}
.horizontal-scroll-container.hs-disabled.fixed > .e-con,
.horizontal-scroll-container.hs-disabled.fixed > .e-container{
    position: relative;
}
.horizontal-scroll-container.hs-disabled > .e-con > *,
.horizontal-scroll-container.hs-disabled > .e-container > *{
    height: auto;
}
.horizontal-scroll-container.hs-disabled > .e-con > .e-con,
.horizontal-scroll-container.hs-disabled > .e-container > .e-container{
    width: 100%;
}

/* For Mobile Devices */
@media (max-width: 767px){
	.horizontal-scroll-container > .e-con,
	.horizontal-scroll-container > .e-container{
		transition: transform 0.1s linear;
	}
}


.yellow{
	--custom-color: var(--e-global-color-840cc1c)
}
.red{
	--custom-color: var(--e-global-color-6b2babe)
}
.green{
	--custom-color: var(--e-global-color-0f57a36)
}
.darkgreen{
	--custom-color: var(--e-global-color-900e92a)
}
.brown{
	--custom-color: var(--e-global-color-2be71ed)
}

.edge{
	--edge: calc(var(--full-width-padding) + 1%);
}


.img-backdrop-quote::after{
    content: "";
    background: var(--custom-color);
    width: calc(100% + var(--full-width-padding) + var(--spacer-grid) + 20px);
    height: 90%;
    position: absolute; 
    bottom: -40px;
    left: 0;
    z-index: -1;
}

.img-backdrop-green-top-right::after{
    content:"";
    background: var(--e-global-color-0f57a36);
    position: absolute;
    width: 85%;
    height: 95%;
    right: calc(var(--full-width-padding)  * -1);
    top: 0;
    translate: 0 -15%;
    z-index: -1;
}


[class*="img-backdrop-"]::before{
	content: "";
	position: absolute;
	height: 95%;
	width: 85%;
	background: var(--custom-color);
	z-index: -1;
}
[class*="img-backdrop-top-left"]::before{
	top: 0;
	left: 0;
	translate: calc(var(--edge, 20%) * -1) -20%;
}
[class*="img-backdrop-top-right"]::before{
	top: 0;
	right: 0;
	translate: var(--edge, 20%) -20%;
}
[class*="img-backdrop-bottom-left"]::before{
	bottom: 0;
	left: 0;
	translate: calc(var(--edge, 20%) * -1) 20%;
}
[class*="img-backdrop-bottom-right"]::before{
	bottom: 0;
	right: 0;
	translate: var(--edge, 20%) 20%;
}
[class*="img-backdrop-left"]::before{
	top: 0;
	left: 0;
	height: 100%;
	width: 300px;
	translate: -100% 0;
}

[class*="img-backdrop-"].tall::before{
	height: 140%;
	top: 0;
	bottom: unset;
}

[class*="img-backdrop-"].small::before{
	width: 700px;
	height: 300px;
}
[class*="img-backdrop-bottom-left"].small::before{
	bottom: 0;
	left: 0;
	translate: calc(var(--edge, var(--spacer-120)) * -1) var(--spacer-140);
}


@media(max-width: 1024px){
	[class*="img-backdrop-top-left"]::before{
		top: 0;
		left: 0;
		translate: calc(var(--edge, 20%) * -1) -10%;
	}
	[class*="img-backdrop-top-right"]::before{
		top: 0;
		right: 0;
		translate: var(--edge, 20%) -10%;
	}
 
	.img-backdrop-left::before{
        left: -130px;
    }
	
	[class*="img-backdrop-"].tall::before{
		height: 90%;
		top: 0;
		bottom: unset;
	}
}
@media(max-width: 767px){
	.img-backdrop-left::before{
        left: -60px;
    }
}

.img-deco::after{
    content: "";
    background: url(/wp-content/uploads/2025/10/deco.svg) no-repeat center/contain;
    display: block;
    position: absolute;
    width: 13vw;
    aspect-ratio: 7 / 11;
    bottom: 0;
	translate: 0 35%;
    left: -40px;
}
.img-deco-yellow::after{
    content: "";
    background: url(/wp-content/uploads/2025/10/deco-yellow.svg) no-repeat center/contain;
    width: 13.5vw;
    aspect-ratio: 13 / 9;
    position: absolute;
    top: 0;
    right: 0;
    translate: 60% -60%;
}

.img-deco-green::after{
    content: "";
    background: url(/wp-content/uploads/2025/11/deco-green.svg) no-repeat center/contain;
    display: block;
    position: absolute;
    width: min(10vw, 220px);
    aspect-ratio: 1 / 2;
    bottom: 0;
	left: 0;
	translate: -70% 25%;
}
.img-deco-red::after{
    content: "";
    background: url(/wp-content/uploads/2025/11/deco-red.svg) no-repeat center/contain;
    display: block;
    position: absolute;
    width: min(10vw, 220px);
    aspect-ratio: 1 / 2;
    bottom: 0;
	left: 0;
	translate: -70% 25%;
}

@media(max-width: 1024px){
	.img-deco::after{
		width: 20vw;
	}
	.img-deco-yellow::after{
		width: 20vw;
		translate: 50% -50%;
	}
}

.e-n-tab-title{
    cursor: pointer;
}
.e-n-tab-title:is(:hover, [aria-selected="true"]) span{
    font-weight: 700;
}

.projekt-grid .elementor-post__title a{
    border-style: solid;
    border-color: var(--e-global-color-0f57a36);
    border-width: 1px 0;
    padding: 5px 0;
    display: inline-flex;
    gap: var(--spacer-20);
}
.projekt-grid .elementor-post__title a::after{
    content: "";
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='15' viewBox='0 0 20 15'%3E%3Cpath fill='%2369BEA2' fill-rule='evenodd' clip-rule='evenodd' d='M18.8889 8.62612C16.18 8.62612 13.7111 11.1273 13.7111 13.8739V15H11.4889V13.8739C11.4889 11.8761 12.3533 10.0023 13.71 8.62612H0L0 6.37387H13.71C12.3533 4.99774 11.4889 3.12387 11.4889 1.12612L11.4889 0H13.7111L13.7111 1.12612C13.7111 3.87274 16.18 6.37387 18.8889 6.37387H20V8.62612H18.8889Z'/%3E%3C/svg%3E") no-repeat center/contain;
    width: 12px;
}

.timeline-item::before{
    content:"";
    background-color: var(--e-global-color-0f57a36);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: absolute;
    left: 0;
}
.timeline-item:not(:last-of-type)::after{
    content: "";
    background-color: var(--e-global-color-0f57a36);
    width: 2px;
    position: absolute;
    left: 10px;
    height: 100%;
}

.gallery-carousel :is(.owl-prev, .owl-next){
	top: 50% !important;
	translate: 0 -50%;
}
.gallery-carousel :is(.owl-prev, .owl-next) i::before{
    content: "";
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='15' viewBox='0 0 20 15'%3E%3Cpath fill='%2369BEA2' fill-rule='evenodd' clip-rule='evenodd' d='M18.8889 8.62612C16.18 8.62612 13.7111 11.1273 13.7111 13.8739V15H11.4889V13.8739C11.4889 11.8761 12.3533 10.0023 13.71 8.62612H0L0 6.37387H13.71C12.3533 4.99774 11.4889 3.12387 11.4889 1.12612L11.4889 0H13.7111L13.7111 1.12612C13.7111 3.87274 16.18 6.37387 18.8889 6.37387H20V8.62612H18.8889Z'%3E%3C/path%3E%3C/svg%3E") no-repeat center/contain;
    display: block;
    width: 40px;
    height: 30px;
}
.gallery-carousel .owl-prev i::before{
    rotate: 180deg;
}


/* FORM */
.elementor-form input{
    padding: var(--spacer-10) var(--spacer-20);
}
.elementor-form input::placeholder{
    opacity: 0.3 !important;
}
.elementor-form .elementor-field-type-submit .elementor-button-text{
    text-transform: none;
}
/* FORM END */

.benefit-box .elementor-icon-box-content{
    padding-top: var(--spacer-40);
}