

:root { --radius: 1rem; }


.post, .page { margin-bottom: 0;}
.elementor > .elementor-element { width: calc(100vw - 4%); padding: 4% 0 0 0 !important; }
.elementor > .elementor-element.bottom-padding { padding-bottom:  4% !important;}
.elementor > .elementor-element.cta-block { background: #ffed00; color: #000; border-radius: 1rem !important; padding: 4% !important; flex-direction: column !important; gap: 1rem !important; align-items: center; text-align: center;}
header.elementor > .elementor-element { width: calc(100vw - 10rem); padding: 0% 0 !important;  }
.large-padding { padding: 4rem !important; }

.elementor > .elementor-element.no-padding { padding-top: 0 !important;}
.e--pointer-underline .elementor-item::after { height: 1px !important; left: 15px !important; z-index: 2;  width: calc(100% - 30px) !important;  bottom: 10px !important; } 

p { line-height: 1.8; font-weight: 400;} 
p strong { font-weight: 700 !important }
.large-text 	{ font-size: clamp(2rem, 6rem, 7.5vw); line-height: 1 !important; }
/*.medium-text 	{ font-size: clamp(1.6rem, 3rem, 4.5vw); line-height: 1 !important; margin-bottom: 1rem !important; font-weight: 600 ;}*/
.medium-text 	{ font-size: clamp(1.6rem, 5rem, 2.7vw); line-height: 1.4 !important; margin-bottom: 1rem !important; font-weight: 600 ;} 
h2{ font-weight: 600 !important;}
.heading-h3 	{ font-size: clamp(1.2rem, 1.2rem, 1.2vw); line-height: 1.4 !important; font-weight: 600 ; }
.highlight-heading { font-size: 1.4rem; font-weight: 600; margin-bottom: 1rem;}
.intro-text 	{ font-size: 1.4rem; line-height: 1.5;}
.small-text 	{ font-size: 1.4rem !important; weight: 600; margin-bottom: -1rem !important;}
.cta-block .medium-text { text-align: center !important;}

.steps-block p { color: #000;}
.h2-lined .elementor-heading-title { line-height: 2.5rem !important;}


.light-button, .yellow-button, .black-button, .special-button { padding: 0.8rem 2rem !important; border-radius: 5rem !important; border: #FFed00 solid 1px !important; color: #FFF !important; background-color: transparent !important; transition: 1s !important; width: fit-content; height: fit-content; }
.black-button:hover { background: #ffed00 !important; color: #000 !important; border: #000 solid 1px !important;}
.light-button, .yellow-button { border: #000000 solid 1px !important; color: #000000 !important; }
.special-button { border: #000000 solid 1px !important; background: #000000 !important; color: #FFFFFF !important;}
.yellow-button:hover { background: #000000 !important; color: #FFFFFF !important; border: #000 solid 1px !important;}
.light-button:hover { background: #ffed00 !important; color: #000 !important; border: #ffed00 solid 1px !important;}
.special-button:hover { background: #ffed00 !important; color: #000000 !important;}

.rounded { border-radius: var(--radius, 1rem) !important;}

.banner-cta > .elementor-element { padding: 0;}
.banner-cta > .elementor-element:first-child { gap: 1rem; flex: 0 0 440px; padding: 0;}

.blocks-list { flex-wrap: wrap; gap: 1rem; justify-content: space-between; }
.blocks-list > .elementor-element { width: calc( 31.8vw - 1rem) !important; border-radius: 1rem; padding: 2rem; background: #000; color: #FFF; padding: 4rem !important; text-align: left; transition:  0.5s; }
.blocks-list h2 { padding-bottom: 1rem; border-bottom: #ffffff44 solid 1px; margin-bottom: 1rem !important;}
.blocks-list > .elementor-element:hover { background: #ffed00; color: #000000; }
.blocks-list > .elementor-element:hover i {  color: #000000; }
.blocks-list:hover h2 { border-bottom: #00000022 solid 1px; }

.about { flex-wrap: wrap; gap: 1rem;}
.about > .elementor-element { width: calc( 33.3% - 1rem); border: #FFFFFF33 solid 1px !important; border-radius: 1rem; padding: 4rem !important; color: #FFF;}
.about > .elementor-element:hover { background: #FFED00;}
.about > .elementor-element:hover .highlight-heading, .about > .elementor-element:hover p, .about > .elementor-element:hover i { color: #000000 !important;}
/*.blocks-list { width: 80%; max-width: 980px; margin: auto !important;}
.blocks-list .elementor-element { display: flex; flex: 1 1 calc(50% - 1.5rem); gap: 2rem; transition: 0.5s; }
.blocks-list > .elementor-element:first-child { padding-top: 8rem;}
.blocks-list > .elementor-element:last-child { padding-bottom: 8rem;}
.blocks-list .elementor-element button { background: #000; color: #FFF; display: flex; flex-direction: column; padding: 4rem; border-radius: var(--radius, 1rem); text-align: center; gap: 2rem; align-items: start; opacity: 0; transform: translateY(30px); transition: opacity 1s ease-out, transform 1s ease-out; will-change: opacity, transform;}
.blocks-list .elementor-element button.in-view { opacity: 1; transform: translateY(0); }
.blocks-list .elementor-element h2 { text-align: left; border-bottom: #ffffff44 solid 1px; padding-bottom: 2rem; display: block;}
.blocks-list .elementor-element p { text-align: left;}
.blocks-list .elementor-element button:hover { transform: scale(0.94); background: #ffed00 !important; color: #000 !important;}
.blocks-list .elementor-element button:hover h2 { border-bottom: #00000022 solid 1px; }*/


.column2, .column3, .column5 { flex-wrap: wrap; gap: 1rem;}
.column2 > .elementor-element, .column3 .elementor-element, .column5 .elementor-element { width: calc(33% - 1rem); border: #EEE solid 1px; border-radius: 1rem; padding: 2.5rem !important; transition: 0.5s;}
.column2 > .elementor-element { width: calc( 50% - 1rem);}
.column5 .elementor-element { width: calc(20% - 1rem);}
/*.column5.icon-box { justify-content: space-between;}*/
.column5.icon-box { justify-content: space-around;}

.pp-posts .pp-grid-item { gap: 2rem !important;}
.pp-posts .pp-post-content { display: flex !important; flex-direction: column; gap: 1rem;}
.pp-posts .pp-post-title { line-height: 1.4em; font-size: clamp(1.4rem, 2.2rem, 4vw) !important;}
.pp-posts .pp-grid-item .pp-post-thumbnail { max-height: 50vh;}

.blog-list-home .pp-posts .pp-grid-item .pp-post-thumbnail {  height: auto; max-height: 100vh; /* or whatever the original value should be */ }

.elementor .e-flexbox-base.loop-referenzen { flex-direction: column; gap: 1rem; position: relative; padding-top: 0 !important;}
.loop-referenzen img.e-image-base { aspect-ratio: 1/1; object-fit: cover; border-radius: 1rem;}
/*.ref-details { position: absolute !important; flex-direction: column !important; bottom: 0rem; color: #FFF; padding: 2rem !important; }
.ref-details { background: linear-gradient(0deg,rgba(0, 0, 0, 0.5) 0, rgba(0, 212, 255, 0) 90%); height: 20vh !important; border-radius: 0 0 1rem 1rem !important;}*/
.loop-referenzen .ref-ort { position: absolute; top: 1rem; left: 1rem; background: #ffed00; padding: 0.2rem 1rem; color: #555; border-radius: 3rem; }
.loop-referenzen .e-atomic-element {  position: absolute; bottom: 0; padding: 2rem !important; background: linear-gradient(0deg,rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 0) 100%);; border-radius: 0 0 1rem 1rem; }
/*.ref-title { font-size: clamp( 1.2rem, 1.4rem, 1.4vw); line-height: 1.2; opacity: 1.01 ; transition: opacity 0.5s, transform 0.5s; transform: translateY(5rem); }*/

.loop-referenzen h3 { color: #FFF;}

/*.loop-referenzen:hover .ref-title { opacity: 1; transform: translateY(0);}*/
.ref-content > div > p:first-child { padding-bottom: 1rem;}
.type-referenzen > .e-flexbox-base > .elementor-element  {  max-width: 1280px; margin: auto; }
.type-referenzen > .e-flexbox-base .elementor-element:first-child { flex-direction: column;  }
.type-referenzen .elementor-widget-pp-breadcrumbs { margin: 0 !important;}

.swiper-wrapper > .elementor {  max-width: 33%;}

.facts-block { position: sticky !important; top: 0;}
.facts-block > div > p:first-child { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1rem;}
.facts-block > div > p:last-child { font-weight: 600;}
.sticky-block { position: sticky !important; top: 0 !important;}

.no-left-padding { padding-left: 0 !important;}
.vorteile > .elementor-element { background: #FFF;}
.vorteile > .elementor-element:hover { background: #ffed00;}

.blue-text, .pp-card-slider-meta-text { font-size: 1rem; color: #6ec1e4; line-height: 1.5; text-align: left; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;}
.blue-text { margin: 1rem 0 !important;}
.margin-top { margin-top: 1rem; }

.elementor > .elementor-element.hero-banner { padding: 4% 8% 0 8% !important;}
.hero-banner h1 { font-size: clamp(1.8rem, 5rem, 5vw) !important; line-height: 1;}
.hero-banner p.e-paragraph-base { max-width: 75%;}
.hero-banner { background: #000; border-radius: 1.3rem 1.3rem 0 0 !important; width: 97% !important; color: #FFF; margin-top: 7.8rem !important; }
.hero-banner { transform: scale(1.2);   animation: heroZoomOut 1s ease forwards; will-change: transform;}
@keyframes heroZoomOut {
    from {
        transform: scale(1.2);
    }
    to {
        transform: scale(1);
    }
}

/*.elementor-headline--style-highlight .elementor-headline-dynamic-wrapper { display: block;}*/

h1 .elementor-headline-dynamic-wrapper { display: inline-block; }
h1 .elementor-headline-plain-text { display: block; }

.elementor-widget-animated-headline h1 { margin-bottom: 0;}

.pain-block { flex-wrap: wrap; padding-left: 0 !important; padding-right: 0 !important; justify-content: space-between;}
.pain-block .elementor-icon-box-wrapper { gap: 0 !important; } 
.pain-block .e-atomic-element {  border-radius: 1rem; padding: 5rem 2rem 2rem 2rem !important; width: calc(33.3% - 1rem); }
.pain-block .elementor-widget-icon-box.elementor-position-block-start .elementor-icon-box-wrapper { text-align: left; }
.pain-block .elementor-icon-box-icon i, .problem-block .elementor-icon-box-icon i { color: #e4532a;}
.pain-block .elementor-icon-box-title, .problem-block .elementor-icon-box-title { font-size: 1.4rem !important; font-weight: 500 !important; line-height: 1.4; margin: 0.5rem 0; color: #e4532a !important; text-align: left;}
.pain-block .elementor-widget-icon-box .elementor-icon-box-description { text-align: left; color: #FFF ;}
.pain-block .elementor-position-block-start { width: 50%; min-width: 12rem !important;} 

.vorher .elementor-icon i, .vorher .e-paragraph-base { color: #e4532a !important; line-height: 1.4 ; ;}
.nachher .elementor-icon i, .nachher .e-paragraph-base { color: var(--e-global-color-b630220) !important; line-height: 1.4 ; ;}

.problem-block { padding: 0 !important;}
.problem-block .elementor-icon-box-wrapper { gap: 0;}
.problem-block .elementor-icon-box-wrapper .elementor-icon-box-title { margin-top: 0rem; margin-bottom: 1rem; font-weight: 500;}
.problem-block > .e-atomic-element { min-height: 50vh; padding: 1.5rem !important; background-image: linear-gradient(180deg, #FFF0 0%,rgb(0,0,0) 80%)); }
.problem-block .elementor-icon-box-description { min-height: 7rem;}

.pp-image-comparison { border-radius: 1rem;}

.empty-btn { border: #F00 solid 1px !important; background: none !important; color: #FFF !important; display: inline; width: auto; text-align: left !important; padding: 0 !important;}


.steps-block > .elementor-element:first-child{ border-radius: 1rem 0 0 1rem;}
.steps-block > .elementor-element:last-child{ border-radius: 0 1rem 1rem 0;}
.steps-block > .elementor-element { border: #EEE solid 1px;  border-right: none; transition: 0.5s; padding: 2.5rem !important; gap: 1rem;}
.steps-block > .elementor-element:last-child { border-right: #EEE solid 1px;} 
.steps-block > .elementor-element:hover .step-number { color: #000;}
.steps-block > .elementor-element:hover { color: #000 !important; background: #ffed00 !important;}
.steps-block .step-number { font-weight: 700; font-size: 8vw; line-height: 1; color: #EEE; transition: 0.5s; }
.steps-block .highlight-heading { color: #000 !important;}

.b2b-blocks, .b2c-blocks { background: #ffed00 !important; padding: 4rem !important; border-radius: 1rem !important; transition: 0.5s !important; }
.b2b-blocks { background: #000 !important;}
.b2b-blocks h3, .b2b-blocks p { color: #FFF;}
.b2b-blocks h3, .b2c-blocks h3 { font-size: clamp(1.3rem, 3rem, 3vw); line-height: 1.2; }

.purpose-block > .elementor-element { border: #FFF solid 1px; background: #f6f6f6; padding: 2.5rem !important;}
.purpose-block .elementor-icon-wrapper { text-align: left !important;}
.purpose-block .elementor-icon-wrapper i { font-size: 6vw; color: #000;}
.purpose-block .highlight-heading { color: #000 !important;}

.possible-block { flex-wrap: wrap; gap: 1rem; justify-content: space-between;}
.possible-block > .elementor-element { width: calc( 25% - 1rem); padding: 12rem 2rem 2rem 2rem !important; }
.possible-block .elementor-icon-box-wrapper { align-items: center !important;}
.possible-block .elementor-icon-box-title { margin: 0;}

.map-block { gap: 2rem !important;}
.map-block .elementor-element { padding-left: 0 !important; padding-right: 0 !important;}
.map-block img.e-image-base  { aspect-ratio: 4 / 5; object-fit: contain; height: auto; width: 100%;}
.map-block .elementor-icon-box-wrapper { border-bottom: #EEE solid 1px; padding-top: 1rem; padding-bottom: 1rem;}
/*.map-block .elementor-icon-box-wrapper:last-child { border-bottom: none;}*/
.map-block .elementor-icon-box-title { font-weight: 600 !important; text-transform: uppercase; margin: 1rem 0; color: #000 !important;}
.map-block .elementor-icon { background: var(--yellow-button); padding: 0.5rem; border-radius: 50%;}
.map-block .elementor-icon i { color: #000; font-size: 2rem; font-weight: 500 !important;}


.elementor-widget-pp-faq { margin-top: 2rem; margin-bottom: 2rem; }
.pp-advanced-accordion { max-width: 1200px !important; width: 90%; display: grid;  grid-template-columns: repeat(2, 1fr); gap: 1rem;}

.pp-faq-item { border: #d4d4d4 solid 1px;  border-radius: 1rem; padding: 0.8rem 1.2rem; transition: 0.5s; }
.pp-accordion-item-active, .pp-faq-item:hover { background: #f6f6f6;}
.pp-accordion-item-active .pp-faq-question { font-weight: 600 !important;}

.sticky { position: sticky; top: 0px;}
 
 
#custom-filter { margin-bottom: 2rem;}
#loop-grid-container { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: 1rem;}
#loop-grid-container .referenzen-loop-item { width: calc( 25% - 1rem); background: #00000066; border-radius: 1rem;}
#loop-grid-container {  transition: opacity 0.2s ease;}

/* Each result card animates in */
.referenzen-loop-item {
    animation: referenzenFadeUp 0.4s ease forwards;
    opacity: 0;
}


@keyframes referenzenFadeUp {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.referenzen-loop-item:nth-child(1) { animation-delay: 0.00s; }
.referenzen-loop-item:nth-child(2) { animation-delay: 0.05s; }
.referenzen-loop-item:nth-child(3) { animation-delay: 0.10s; }
.referenzen-loop-item:nth-child(4) { animation-delay: 0.15s; }
.referenzen-loop-item:nth-child(5) { animation-delay: 0.20s; }
.referenzen-loop-item:nth-child(6) { animation-delay: 0.25s; }

.loop-referenzen .ref-ort { z-index: 3;}

.referenzen-loop-item img { position: relative;}
.referenzen-loop-item img::before { content: ""; width: 100%; height: 100%; background: #00000088; z-index: 2; border: #F00 solid 9px;}


 
/* extend as far as your posts_per_page (12) goes */


.losung-block { flex-wrap: wrap; gap: 1rem; justify-content: space-between;}
.losung-block > .elementor-element { width: calc( 33.33% - 1rem) ; padding: 14rem 2rem 2rem 2rem !important;}
.losung-block .elementor-icon-box-title { margin: 1rem 0; position: relative;}
.losung-block .elementor-icon-box-description { min-height: 6rem; }
.losung-block .elementor-icon-box-icon { display: none !important;}
.losung-block .elementor-icon-box-title::after { content: "\e910"; position: absolute; font-size: 2rem; font-weight: 600; margin-left: 1rem; font-family: 'icomoon' !important; color: #83a92e;} 


.elementor-icon-box-title { font-weight: 600 !important;}
 
.animate-words .word-wrap {
  display: inline-block;
  overflow: hidden;          /* clips the word as it slides in  */
  vertical-align: bottom;
  line-height: 1.2em;
  margin-bottom: -.05em;    /* prevent clipping descenders      */
}
 
.animate-words .word {
  display: inline-block;
  transform: translateY(110%);   /* start below the clip           */
  opacity: 0;
  transition:
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    opacity   0.55s ease;
}
 
/* State added by JS when element enters viewport */
.animate-words.words-visible .word {  transform: translateY(0); opacity: 1; }
 
/* Each word gets its delay via inline style (set by JS) */
 
/* Optional: add class "animate-words--fast" for tighter stagger */
.animate-words--fast .word {  transition-duration: 0.45s, 0.35s; }


.figure { font-size: clamp(2rem, 4rem, 10vw); font-weight: 700;}

.icon-box { display: flex; gap: 1rem; justify-content: space-between;}
.icon-box > .elementor-element { background: var(--e-global-color-accent); border: none; line-height: 1; transition: background 0 !important; width: calc( 16.6% - 1rem); padding: 2rem; border-radius: 1rem; }
.icon-box .elementor-icon-box-description { line-height: 1.5 !important;}
.icon-box .elementor-icon i { font-size: 5vw; background: transparent;}
.icon-box > .elementor-element:hover, .icon-box > .elementor-element:hover p, .icon-box > .elementor-element:hover i { background: #000; color: #FFF !important;} 

.icon-text-block  > .elementor-element { border-right: #EEE solid 1px; }
.icon-text-block > .elementor-element { }

table { border: #eee solid 5px;}
.elementor-element ul { margin: 0; padding: 0 0 0 1rem;}

.pp-card-slider-title { font-weight: 700 !important; margin-bottom: 15px;}
.pp-card-slider-content-wrap { display: flex; flex-direction: column;}

.elementor-popup-modal .dialog-widget-content { background: transparent !important;}
.pop-text { flex-direction: column !important; gap: 2rem !important;}

.wirkung p { background-size: 50%; padding-left: 3rem !important; background-position: -1rem !important;}
.wirkung p:first-child { padding: 0 !important;}

footer { margin-top: 4%;}
footer.elementor > .elementor-element { width: 100vw !important; max-width: 100vw !important; }
footer.elementor > .elementor-element > .elementor-element {  padding-left: 5% !important; padding-right: 5% !important; }


.e-search-input::placeholder { color: #CCC !important;}



/** BUBBLE **/


.bubble-animation{
  isolation:isolate;
  position: relative;
  overflow: hidden !important;
}

.bubble-wrapper{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  overflow:hidden;
}

.bubble{
  position:absolute;
  border-radius:50%;
  background:#ffe600;
  filter:blur(100px);
  opacity:0.6;
  will-change:transform, top, left;
  transform:translate3d(-50%, -50%, 0);
  box-shadow:
    0 0 80px #ffe600,
    0 0 160px #ffe600;
}


.bubble.small{
  width:180px;
  height:180px;
}

.bubble.medium{
  width:320px;
  height:320px;
}

.bubble.large{
  width:500px;
  height:500px;
}

/*** END OF BUUBLE **/



/*** STRIKE LINE CSS ***/

.accent {
  /* Anpassbare Variablen */
  --accent-color: %23FFE600;           /* %23 = URL-encoded #  → bleibt so im SVG */
  --accent-height: 0.3em;              /* Höhe des Linien-Bereichs (skaliert mit Schrift) */
  --accent-offset: -0.1em;             /* vertikale Position (negativ = höher) */
  --accent-duration: 1.2s;
  --accent-easing: cubic-bezier(0.65, 0, 0.35, 1);

  position: relative;
  display: inline-block;
  white-space: nowrap;
}

.accent::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: var(--accent-offset);
  bottom: -1.1rem;
  height: var(--accent-height);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 30' preserveAspectRatio='none'><path d='M0,25 Q29,10 127,8 T300,15' stroke='%23FFED00' stroke-width='6' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;

  /* Initial: komplett geclippt (rechts 100% = unsichtbar) */
  clip-path: inset(0 100% 0 0);
  transition: clip-path var(--accent-duration) var(--accent-easing);
}

h2.accent::after { bottom: 0;}

/* Sichtbar-Zustand: clip-path geht auf 0 → Linie wird aufgedeckt */
.accent.is-visible::after {
  clip-path: inset(0 0 0 0);
}

/* Staffelung: zweite Linie kommt 0.4 s später */
.accent.is-visible:nth-of-type(2)::after {
  transition-delay: 0.4s;
}

/* Reduced-Motion: keine Animation */
@media (prefers-reduced-motion: reduce) {
  .accent::after {
    transition: none;
    clip-path: inset(0 0 0 0);
  }
}

/* Optional: Hover lässt die Linie zurück- und neu laufen */
.accent.is-visible:hover::after {
  animation: accent-redraw 0.8s var(--accent-easing) forwards;
}

@keyframes accent-redraw {
  0%   { clip-path: inset(0 0 0 0); }
  50%  { clip-path: inset(0 0 0 100%); }   /* zieht sich nach rechts weg */
  51%  { clip-path: inset(0 100% 0 0); }   /* springt nach links */
  100% { clip-path: inset(0 0 0 0); }      /* deckt sich wieder auf */
}


span.gfield_required.gfield_required_text { background-color: #FFED00; padding: 2px 5px; border-radius: 20px;}

.center-text { width: 80%; max-width: 900px !important; margin: auto;  }



/** team images **/








/* MAIN GRID CONTAINER */

/** end of team image ***/

/* Beat Elementor's e-flexbox-base by raising specificity + !important */
.team-photos.team-photos {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-flow: row;
    gap: 20px;
    /* Neutralize inherited flex props just in case */
    flex-direction: initial;
    flex-wrap: initial;
    align-items: initial;
    justify-content: initial;
}

.team-photos > img {
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    margin: 0;
    /* Reset Elementor's e-image-base sizing */
    flex: initial;
    align-self: initial;
}

/* First image: full row, 16:9 */
.team-photos > img:first-child {
    grid-column: 1 / -1;
    aspect-ratio: 16 / 9;
}

/* Second + third: half width each, square */
.team-photos > img:nth-child(2),
.team-photos > img:nth-child(3) {
    grid-column: span 3;
}


/* Fourth onward: 3 per row, square */
.team-photos > img:nth-child(n+4) {
    grid-column: span 2;
}





/*** again ****/



/*** END OF STRIKE LINE CSS ***/

@media screen and (max-width: 1440px) { 

	.elementor > .elementor-element { width: calc(100vw - 4%); padding: 4% 0 0 0 !important; }
	header.elementor > .elementor-element { width: calc(100vw - 10rem); padding: 0% 0 !important;  }
	.steps-block > .elementor-element, .purpose-block > .elementor-element { padding: 2% !important;}
	
	.facts { flex-wrap: wrap !important; justify-content: center;}
	.facts > .elementor-element { width: auto;}
	.elementor-counter-title { font-size: 0.9rem !important;}
	.elementor-counter-number-wrapper { font-size: 1.8rem !important;}
	
	#primary-header { padding: 0 1% !important; width: 100vw;}
	
	p { hyphens: auto; }
	/*.elementor-widget-theme-site-logo img { width: 20vw !important; border: #F00 solid 2px;}*/
	
	

}


@media screen and (max-width: 1280px) { 
	
/*	.map-block { border: #F00 solid 2px;}*/
	.map-block > .elementor-element:nth-child(1) { flex: 1 1 30%; }
	.map-block > .elementor-element:nth-child(2) { flex: 1 1 40%; }
	.map-block > .elementor-element:nth-child(3) { flex: 1 1 30%; }
	
	.problem-block { flex-wrap: wrap;}
	.problem-block > .elementor-element { width: calc( 33.3% - 1rem);}
	
	.possible-block { justify-content: start;}
	.possible-block > .elementor-element { width: calc(33.3% - 1rem); }
	
	#loop-grid-container .referenzen-loop-item {  width: calc( 33.3% - 1rem) !important;}

}
		
		

@media screen and (max-width: 1024px) { 
	
	.elementor-widget-theme-site-logo img { width: 100vw !important;}
	
	.elementor > .elementor-element.hero-banner { padding: 4% 4% 0 4% !important;}
	.banner-cta > .elementor-element:first-child { gap: 1rem; flex: 0 0 auto; flex-direction: row;}
	
	.steps-block { flex-wrap: wrap;}
	.steps-block > .elementor-element:first-child { border-radius: 1rem 1rem 0 0;}
	.steps-block > .elementor-element:last-child{ border-radius: 0 0 1rem 1rem;}
	.steps-block > .elementor-element { border: #EEE solid 1px;  border-bottom: none; transition: 0.5s; padding: 2.5rem !important; }
	.steps-block > .elementor-element:last-child { border-bottom: #EEE solid 1px;} 	
	.steps-block > .elementor-element, .purpose-block > .elementor-element { padding: 2rem !important;}
	
	
	.purpose-block .elementor-element,  .steps-block > .e-con {
	    display: grid !important;
	    grid-template-columns: 4rem 1fr;
	    column-gap: 1.5rem;
	    row-gap: 0.5rem;
	    align-items: start;
	}

	
	.purpose-block .elementor-element > .elementor-widget-icon, .steps-block .step-number {   grid-row: 1 / span 2;  width: 4rem; }
	.purpose-block .elementor-element > p {  margin: 0; }
	.steps-block .highlight-heading, .steps-block .e-paragraph-base:not(.step-number) { margin: 0.5rem 0 0 2rem; }
	
	.column3 > .elementor-element { width: calc( 50% - 1rem);}
	
	.column5.icon-box > .elementor-element { padding: 1rem !important;}
	
/*	h1.elementor-headline.e-animated { font-size: 100vw;}*/


	.wirkung { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 2rem; }

	/* First block spans full width */
	.wirkung > .highlight-heading { grid-column: 1 / -1; margin: 0; }

	/* Bottom 3 columns */
	.wirkung > p:not(.highlight-heading) { margin: 0; }
	
	.icon-box { flex-wrap: wrap;}
	.icon-box > .elementor-element { width: calc( 33.3% - 1rem); padding: 2rem; border-radius: 1rem; }
	
	
	.pain-block .e-atomic-element { width: calc( 50% - 1rem);}
	.blocks-list > .elementor-element { width: calc( 50% - 1rem ) !important;}
	.losung-block > .elementor-element { width: calc( 50% - 1rem);}
	
	.map-block { flex-wrap: wrap;}
	.map-block > .elementor-element:nth-child(1) { flex: 1 1 40%; order: 1;}
	.map-block > .elementor-element:nth-child(3) { flex: 1 1 40%; order: 2; }
	.map-block > .elementor-element:nth-child(2) { flex: 1 1 40%; order: 3;}
	.map-block > .elementor-element:nth-child(2) img { max-height: 100vh;}
	
	.possible-block > .elementor-element { width: calc(50% - 1rem); }
	
	.elementor-nav-menu--dropdown .sub-menu,
	  .elementor-nav-menu--dropdown .elementor-nav-menu .sub-menu {
	    display: block !important;
	    height: auto !important;
	    max-height: none !important;
	    visibility: visible !important;
	    opacity: 1 !important;
	  }

	  /* Hide the dropdown arrow since sub-menus are always open */
	  .elementor-nav-menu--dropdown .sub-arrow {
	    display: none !important;
	  }
	  
	  .sub-menu .menu-item::before { height: 1px;}
	  
	
}


@media screen and (max-width: 820px) { 

	.elementor > .elementor-element { width: calc(100vw - 2rem); padding: 4% 0 0 0 !important; }
	.elementor > .elementor-element.large-padding { padding: 2rem !important; }
	
	.blocks-list .elementor-element button { padding: 2rem;}
	.hero-banner p.e-paragraph-base { max-width: 90%;}
	.problem-block > .e-atomic-element { width: calc( 50% - 1rem); min-height: 35vh;}
	
	.elementor-counter-title { line-height: 1.5;}
	
	#loop-grid-container .referenzen-loop-item {  width: calc( 50% - 1rem) !important;}
/*	.problem-block > .e-atomic-element { min-height: 50vh; padding: 1.5rem !important; background-image: linear-gradient(180deg, #FFF0 0%,rgb(0,0,0) 80%)); }*/


}



@media screen and (max-width: 768px) { 
	
	.icon-box { padding: 0 !important;}
	.icon-box .elementor-element { width: 100%;}
	
	.map-block > .elementor-element:nth-child(1), .map-block > .elementor-element:nth-child(2), .map-block > .elementor-element:nth-child(3) { flex: 1 1 100%; }
	
	
}

@media screen and (max-width: 540px) { 
	
	.elementor-widget-off-canvas .e-off-canvas__content { width: 80% !important;}
	
	.hero-banner p.e-paragraph-base { max-width: 100%;} 
	.banner-cta > .elementor-element:first-child { flex-direction: column;}
	.blocks-list { width: 100%; padding: 0 !important;}	
	.steps-block > .elementor-element, .b2b-blocks, .b2c-blocks { padding: 2rem !important;}
	.purpose-block > .elementor-element { padding: 2rem 1rem !important;}
	
	.steps-block .step-number { font-size: 16vw;}
	.steps-block .highlight-heading, .steps-block .e-paragraph-base:not(.step-number) { margin-left: 0.5rem;}
	.purpose-block .elementor-icon-wrapper i { font-size: 16vw;}
	
	.medium-text {  line-height: 1.4 !important; margin-bottom: 0 !important;}
	p.highlight-heading { font-weight: 700; font-size: 1.4rem; line-height: 1.5; margin-bottom: 1rem;}
	p.intro-text { font-size: 1.2rem; line-height: 1.5;}
	.elementor > .elementor-element.cta-block { padding: 1.5rem !important;}
	.cta-block, .cta-block .medium-text { text-align: left !important;}

	
	.large-padding { padding: 1rem !important; }
	.wirkung { grid-template-columns: repeat(1, 1fr); gap: 4rem;}
	.facts { flex-direction: column; gap: 1rem;}
	.elementor-icon-list-items { display: block !important;}
	.elementor-icon-list-items li  { padding: 0.5rem 0;}
	.elementor-icon-list-item { justify-content: start !important;}
	.elementor-widget .elementor-icon-list-icon svg { width: 20px !important;}
	.elementor-icon-list-text { font-size: 0.9rem !important; text-align: left;}
	.pp-faq-item { padding: 0.4rem; }
	
	.column3 > .elementor-element, .column2 > .elementor-element { width: 100%; padding: 1.5rem !important;}
	.steps-block, .column2, .column3 { padding: 0 !important;}
	
	.pp-card-slider { width: 100% !important; max-width: 100% !important; padding: 1.5rem !important;}
	.pp-card-slider-title { line-height: 2rem !important;}
	
	.pp-advanced-accordion {  grid-template-columns: repeat(1, 1fr);  gap: 0; }
	
	.wirkung p { background-size: 25% !important;}
	.blue-text { margin-bottom: 0 !important;}
	
	.h2-lined .elementor-heading-title { line-height: 2rem !important; text-align: left !important;}
	.h2-lined .elementor-heading-title .accent::after { bottom: 0 !important;}
	.pp-breadcrumbs.pp-breadcrumbs-powerpack { padding: 0;}
	
	.icon-box .elementor-icon i { font-size: 16vw;}
	
	.blocks-list > .elementor-element:first-child, .blocks-list > .elementor-element:last-child { padding: 0rem;} 
	
	.type-referenzen > .e-flexbox-base > .elementor-element  { flex-direction: column;  }
	.type-referenzen > .e-flexbox-base > .elementor-element > .elementor-element  {  padding-left: 0; padding-right: 0;; }
	.swiper-wrapper > .elementor {  max-width: 100%;}
	
	.pain-block .e-atomic-element { width: 100%;}
	.blocks-list > .elementor-element { width: 100% !important; padding: 2rem !important;}
	.losung-block > .elementor-element { width: 100%;}
	
	.problem-block > .elementor-element { width: 100%;}
	.possible-block > .elementor-element { width: 100%; }
	
	#loop-grid-container .referenzen-loop-item {  width: 100% !important;}

	
	
}

