/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/
.fa-mountain-city { --flix-icon-offset-x: -6px !important; }
.teasertext p:last-child {margin-bottom: 0;}
.sub-hero { background-position: 50% 0% !important; }

/* Aufzählungen im Bereich .teasertext */
.teasertext ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.teasertext ul > li {
  position: relative;
  padding-left: 38px;              /* Platz für Kreis + Abstand */
  margin-bottom: 12px;

  /* Deine Typografie */
  font-family: "Outfit", Sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
}

/* Kreis mit Haken vor dem Eintrag */
.teasertext ul > li::before {
  content: "\f00c";                /* Font Awesome Check */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;                /* Solid */
  position: absolute;
  left: 0;
  top: 0.2em;                      /* optisch mittig zur Textzeile */
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;

  color: #fff;                     /* Haken */
  background: #915F27 ; /* Kreis */
  border-radius: 50%;
}


/* == Equal Height für ElementsKit Testimonial Slider (Style 6) == */
.elementskit-testimonial-slider.ekit_testimonial_style_6 .ekit-main-swiper .swiper-wrapper {
  display: flex !important;
  align-items: stretch !important;      /* zieht alle Slides auf gleiche Höhe */
}

.elementskit-testimonial-slider.ekit_testimonial_style_6 .ekit-main-swiper .swiper-slide {
  height: auto !important;
  display: flex !important;             /* Slide selbst als Flex-Container */
}

.elementskit-testimonial-slider.ekit_testimonial_style_6 
  .ekit-main-swiper .swiper-slide > .swiper-slide-inner {
  display: flex !important;
  flex: 1 1 auto !important;
  width: 100%;
}

.elementskit-testimonial-slider.ekit_testimonial_style_6 
  .swiper-slide-inner > .elementskit-single-testimonial-slider {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;              /* Karte füllt die gesamte Slide-Höhe */
  width: 100%;
}

/* Wrapper der Karte strecken */
.elementskit-testimonial-slider.ekit_testimonial_style_6 
  .elementskit-testimonial-slider-block-style,
.elementskit-testimonial-slider.ekit_testimonial_style_6 
  .elementskit-testimonial-slider-block-style-three {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Inhaltsbereich normal oben platzieren, nicht runterdrücken */
.elementskit-testimonial-slider.ekit_testimonial_style_6 .elementskit-commentor-content {
  flex: 0 0 auto !important;    /* keine Resthöhe füllen */
  display: block !important;    /* normales Block-Layout */
}

.elementskit-testimonial-slider.ekit_testimonial_style_6 
  .elementskit-commentor-content > p {
  margin-top: 0 !important;     /* Absatz ohne künstlichen Abstand nach oben */
}

/* optional: falls unterer Abstand harmonischer wirken soll */
.elementskit-testimonial-slider.ekit_testimonial_style_6 
  .elementskit-single-testimonial-slider {
  padding-bottom: 16px; /* Wert nach Geschmack anpassen */
}

.elementor-swiper-button {
box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.75) !important;
}

/* ANPASSUNG DER ICONS AUF UNTERSEITE */
.elementor-element.flix-icon {
  margin: 0;
  padding: 0;
  border-radius: 0;
  display: inline-block;
  text-align: left;
}

/* Innere Box: Diamant mit Verlauf + Shadow */
.elementor-element.flix-icon .elementor-icon,
.elementor-element.flix-icon .aeci-icon,
.elementor-element.flix-icon .aeci-custom-icon {
  font-size: 35px;
  padding: 17px;
  border: 2px solid #fff;
  border-radius: 0;

  background-image: linear-gradient(
    90deg,
    var(--e-global-color-1314dce) 42%,
    var(--e-global-color-c4e3b94) 90%
  );

  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;

  transform: rotate(45deg);
  box-shadow: 8px -8px 0 0 rgba(138,113,18,0.25);
}

/* Icon-Inhalt: gerade stellen + generelle Offsets */
.elementor-element.flix-icon .elementor-icon > svg,
.elementor-element.flix-icon .aeci-icon > svg,
.elementor-element.flix-icon .aeci-custom-icon > svg,
.elementor-element.flix-icon .elementor-icon > i,
.elementor-element.flix-icon .aeci-icon > i,
.elementor-element.flix-icon .aeci-custom-icon > i {
  --flix-icon-offset-y: -1px;  /* vertikal leicht nach oben */
  --flix-icon-offset-x: -2px;  /* horizontal leicht nach links */

  transform: rotate(-45deg)
             translateX(var(--flix-icon-offset-x))
             translateY(var(--flix-icon-offset-y));
  transform-origin: 50% 50%;
  transform-box: fill-box;

  width: 1em;
  height: 1em;
  fill: currentColor;

  display: block;
  margin: auto;
  line-height: 1;
}


/****** END ********/



.headline-hover .elementor-widget-text-editor p { margin-block-end: 0 !important; }

.teaser-slider .elementor-swiper-button { font-size: 40px !important; }

.acc .ekit-wid-con ul {
  padding-top: 0;
  padding-bottom: 0;
  padding-right: 0;
  padding-left: 15px;
}

.formu .elementor-select-wrapper select { font-size: 18px !important; color: var( --e-global-color-abbccff ) !important; }

.butto:hover { transition-duration: 0s !important; transition-delay: 0s !important; --overlay-transition: 0s !important; }
.butto:hover .elementor-icon-box-title { color: white !important; }
.bgcontainer:hover .sign .elementor-icon svg { fill: white !important; }
.bgcontainer:hover .sign .elementor-icon { color: white !important; }
.butto .elementor-icon-box-title a::before { content: ""; position: absolute;  inset:0; } /* macht die ganze icon-box klickbar */

.telbutto .elementor-button:hover  .elementor-button-text { color: white !important; }

.teasi .elementor-icon {
  background-color: transparent;
  background-image: linear-gradient(90deg, var( --e-global-color-8cbf6ae ) 0%, var( --e-global-color-4bcc7da ) 100%);
  color: white !important;
  border-color: white !important;
}




/* 

.teasidark .elementor-icon {
  background-color: white !important;
  color: var ( --e-global-color-8cbf6ae ) !important;
  border-color: var ( --e-global-color-8cbf6ae ) !important;
}

.step .elementor-icon {
  background-color: transparent;
  background-image: linear-gradient(90deg, var( --e-global-color-8cbf6ae ) 0%, var( --e-global-color-4bcc7da ) 100%);
  color: white !important;
  border-color: white !important;
}

.step:hover .elementor-icon {
  background-color: white !important;
  background-image: none;
  color: var( --e-global-color-8cbf6ae ) !important;
  border-color: var( --e-global-color-8cbf6ae ) !important;
  box-shadow: 8px -8px 0px 0px rgba(17, 17, 17, 0.16) !important;
}

.step:hover .elementor-icon svg {
  fill: var( --e-global-color-8cbf6ae ) !important;
  border-color: var( --e-global-color-8cbf6ae ) !important;
}



.teaser-services .headline-hover {
  transform: translateY(calc(var(--headline-height) - 117px)); 
  transition: transform 0.3s ease;
}

.teaser-services:hover .headline-hover h4 {
color: white !important;
}

.teaser-services:hover .headline-hover h4 {
color: white !important;
}

.teaser-services:hover .headline-hover .elementor-widget-divider {
--divider-color: white !important;
}

.teaser-services:hover .headline-hover .elementor-widget-text-editor {
color: white !important;
}

.teaser-services:hover .headline-hover {
  background-color: transparent !important;
  background-image: linear-gradient(180deg, var( --e-global-color-8cbf6ae ) 0%, var( --e-global-color-4bcc7da ) 100%) !important;
}

	
.teaser-services:hover .headline-hover {
  transform: translateY(0); 
}
*/

/*  flix  */

.timi .eael-content-timeline-container { max-width: 100%; }

/* Beispiel 6 Kacheln */
.timi .eael-horizontal-timeline .eael-horizontal-timeline-item {
  flex: 0 0 16.66%;
  max-width: 16.66%;
}

.timi .eael-horizontal-timeline .eael-arrow { 
    top:48% !important;
    font-size: 60px !important;
}

/* Optional: responsive anpassen */
@media (max-width: 1024px) {
.timi .eael-horizontal-timeline .eael-horizontal-timeline-item { 
    flex-basis: 25%; max-width: 25%; /* 4 pro View */
  }
}
@media (max-width: 767px) {
.timi .eael-horizontal-timeline .eael-horizontal-timeline-item { 
    flex-basis: 50%; max-width: 50%; /* 2 pro View */
  }
}

.timi .eael-horizontal-timeline-list { margin-top: 11px; }


.flixi .elementor-icon {
  background-color: transparent;
  background-image: linear-gradient(90deg, var( --e-global-color-1314dce ) 42%, var( --e-global-color-c4e3b94 ) 90%);
  color: white !important;
  border-color: white !important;
}
.flixidark .elementor-icon {
  background-color: white !important;
  color: var ( --e-global-color-8cbf6ae ) !important;
  border-color: var ( --e-global-color-8cbf6ae ) !important;
}

.teaser-flix .headline-hover {
  transform: translateY(calc(var(--headline-height) - 88px)); /* ↓ nach unten */
  transition: transform 0.3s ease;
}

.teaser-flix:hover .headline-hover h4 {
color: white !important;
}

.teaser-flix:hover .headline-hover h4 {
color: white !important;
}

.teaser-flix:hover .headline-hover .elementor-widget-divider {
--divider-color: white !important;
}

.teaser-flix:hover .headline-hover .elementor-widget-text-editor {
color: white !important;
}

.teaser-flix:hover .headline-hover {
  background-color: transparent !important;
  background-image: linear-gradient(180deg, var( --e-global-color-08c17ae ) 0%, var( --e-global-color-c4e3b94 ) 100%) !important;
}

	
.teaser-flix:hover .headline-hover {
  transform: translateY(0); /* ↑ zurück an ursprüngliche Position */
}


.respo { padding: 100px 40px 100px 40px !important; }
.respo-small { padding: 30px 40px 30px 40px !important; }
.respo-side { padding: 0px 40px 0px 40px !important; }
.respo-members { padding: 100px 0px 100px 0px !important; }
.respo-up { padding: 100px 40px 0px 40px !important; }
.respo-down { padding: 0px 40px 100px 40px !important; } 
.respo-head { padding: 20px 20px 0 20px !important; }
.respo-headmobi { padding: 20px 40px !important; }
.respo-footer { padding: 100px 40px 100px 40px !important; }
.respo-footerzeile { padding: 10px 40px 10px 40px !important; }

.spacer-xxxl .elementor-spacer-inner { height: 200px !important; }
.spacer-xxl .elementor-spacer-inner { height: 150px !important; }
.spacer-xl .elementor-spacer-inner { height: 100px !important; }
.spacer-l .elementor-spacer-inner { height: 70px !important; }
.spacer-m .elementor-spacer-inner { height: 50px !important; }
.spacer-s .elementor-spacer-inner { height: 40px !important; }
.spacer-small .elementor-spacer-inner { height: 30px !important; }
.spacer-xs .elementor-spacer-inner { height: 20px !important; }
.spacer-xxs .elementor-spacer-inner { height: 10px !important; }

@media (max-width: 1441px) {
  .respo { padding: 80px 35px 80px 35px !important; }
  .respo-template { padding: 80px 25px 80px 25px !important; }
  .respo-small { padding: 25px 35px 25px 35px !important; }
  .respo-side { padding: 0px 35px 0px 35px !important; }
  .respo-experts { padding-left: 25px !important; padding-right: 25px !important; }
  .respo-services { padding-left: 20px !important; padding-right: 20px !important; }
  .respo-members { padding: 80px 0px 80px 0px !important; }
  .respo-up { padding: 80px 35px 0px 35px !important; }
  .respo-down { padding: 0px 35px 80px 35px !important; }
  .respo-head { padding: 20px 20px 0 20px !important; }
  .respo-headmobi { padding: 20px 35px !important; }
  .respo-footer { padding: 100px 35px 100px 35px !important; }
  .respo-footerzeile { padding: 10px 35px 10px 35px !important; }

  .spacer-xxxl .elementor-spacer-inner { height: 180px !important; }
  .spacer-xxl .elementor-spacer-inner { height: 140px !important; }
  .spacer-xl .elementor-spacer-inner { height: 90px !important; }
  .spacer-l .elementor-spacer-inner { height: 65px !important; }
  .spacer-m .elementor-spacer-inner { height: 45px !important; }
  .spacer-s .elementor-spacer-inner { height: 36px !important; }
  .spacer-small .elementor-spacer-inner { height: 28px !important; }
  .spacer-xs .elementor-spacer-inner { height: 18px !important; }
  .spacer-xxs .elementor-spacer-inner { height: 9px !important; }
	
  .teaser-flix .headline-hover { transform: translateY(calc(var(--headline-height) - 86px)); } /* ↓ nach unten */ 
	
   .teasertext ul > li { font-size: 17px; }
	
}

@media (max-width: 1281px) {
  .respo { padding: 65px 30px 65px 30px !important; }
  .respo-template { padding: 65px 20px 65px 20px !important; }
  .respo-small { padding: 22px 30px 22px 30px !important; }
  .respo-side { padding: 0px 30px 0px 30px !important; }
  .respo-experts { padding-left: 20px !important; padding-right: 20px !important; }
  .respo-services { padding-left: 15px !important; padding-right: 15px !important; }
  .respo-members { padding: 65px 0px 65px 0px !important; }
  .respo-up { padding: 65px 30px 0px 30px !important; }
  .respo-down { padding: 0px 30px 65px 30px !important; }
  .respo-head { padding: 20px 20px 0 20px !important; }
  .respo-headmobi { padding: 20px 30px !important; }
  .respo-footer { padding: 95px 30px 95px 30px !important; }
  .respo-footerzeile { padding: 10px 30px 10px 30px !important; }

  .spacer-xxxl .elementor-spacer-inner { height: 160px !important; }
  .spacer-xxl .elementor-spacer-inner { height: 125px !important; }
  .spacer-xl .elementor-spacer-inner { height: 80px !important; }
  .spacer-l .elementor-spacer-inner { height: 60px !important; }
  .spacer-m .elementor-spacer-inner { height: 42px !important; }
  .spacer-s .elementor-spacer-inner { height: 32px !important; }
  .spacer-small .elementor-spacer-inner { height: 25px !important; }
  .spacer-xs .elementor-spacer-inner { height: 17px !important; }
  .spacer-xxs .elementor-spacer-inner { height: 8px !important; }
	
  .teaser-flix .headline-hover { transform: translateY(calc(var(--headline-height) - 84px)); } /* ↓ nach unten */ 
	
}

@media (min-width: 1025px) {

.wpforms-container .wpforms-one-fourth.vierspaltenzweiter { width: calc(25% - 30px) !important; }
.wpforms-container .wpforms-one-fourth.vierspaltenletzter { width: calc(25% - 15px) !important; }
.wpforms-container .wpforms-one-sixth.zehner {  width: calc(100% / 6 - 10px) !important; }
.wpforms-container .wpforms-one-sixth.dreispalten {  width: calc(100% / 6 - 30px) !important; }
.wpforms-container .wpforms-two-sixths.dreispalten { width: calc(100% / 3 - 30px) !important; }
}


@media (max-width: 1024px) {
	
   div.wpforms-container .wpforms-form .wpforms-mobile-full { width:100%; margin-left:0 }
	
  .respo { padding: 50px 30px 50px 30px !important; }
  .respo-template { padding: 50px 20px 50px 20px !important; }
  .respo-small { padding: 20px 30px 20px 30px !important; }
  .respo-side { padding: 0px 30px 0px 30px !important; }
  .respo-experts { padding-left: 20px  !important; padding-right: 20px  !important; }
  .respo-services { padding-left: 10px  !important; padding-right: 10px  !important; }
  .respo-members { padding: 50px 0px 50px 0px !important; }
  .respo-up { padding: 50px 30px 0px 30px !important; }
  .respo-down { padding: 0px 30px 50px 30px !important; } 
  .respo-head { padding: 20px 20px 0 20px !important; }
  .respo-headmobi { padding: 20px 30px !important; }
  .respo-footer { padding: 90px 30px 90px 30px !important; }
  .respo-footerzeile { padding: 10px 30px 10px 30px !important; }
	
  .spacer-xxxl .elementor-spacer-inner { height: 170px !important; }
  .spacer-xxl .elementor-spacer-inner { height: 130px !important; }
  .spacer-xl .elementor-spacer-inner { height: 75px !important; }
  .spacer-l .elementor-spacer-inner { height: 60px !important; }
  .spacer-m .elementor-spacer-inner { height: 40px !important; }
  .spacer-s .elementor-spacer-inner { height: 34px !important; }
  .spacer-small .elementor-spacer-inner { height: 24px !important; }	
  .spacer-xs .elementor-spacer-inner { height: 17px !important; }
  .spacer-xxs .elementor-spacer-inner { height: 9px !important; }
	
  .teasertext ul > li { font-size: 16px; }	
}
	
@media (max-width: 767px) {
  .respo { padding: 40px 25px 40px 25px !important; }
  .respo-template { padding: 40px 15px 40px 15px !important; }
  .respo-small { padding: 15px 25px 15px 25px !important; }
  .respo-side { padding: 0px 25px 0px 25px !important; }
  .respo-experts { padding-left: 15px  !important; padding-right: 15px  !important; }
  .respo-services { padding-left: 5px  !important; padding-right: 5px  !important; }
  .respo-members { padding: 40px 0px 40px 0px !important; }
  .respo-up { padding: 40px 25px 0px 25px !important; }
  .respo-down { padding: 0px 25px 40px 25px !important; } 
  .respo-head { padding: 20px 20px 0 20px !important; }
  .respo-headmobi { padding: 20px 25px !important; }
  .respo-footer { padding: 90px 25px 90px 25px !important; }
  .respo-footerzeile { padding: 10px 25px 10px 25px !important; }

  .spacer-xxxl .elementor-spacer-inner { height: 140px !important; }
  .spacer-xxl .elementor-spacer-inner { height: 100px !important; }
  .spacer-xl .elementor-spacer-inner { height: 65px !important; }
  .spacer-l .elementor-spacer-inner { height: 50px !important; }
  .spacer-m .elementor-spacer-inner { height: 35px !important; }
  .spacer-s .elementor-spacer-inner { height: 25px !important; }
  .spacer-small .elementor-spacer-inner { height: 21px !important; }		
  .spacer-xs .elementor-spacer-inner { height: 14px !important; }
  .spacer-xxs .elementor-spacer-inner { height: 7px !important; }	

  .teaser-flix .headline-hover { transform: translateY(calc(var(--headline-height) - 62px)); } /* ↓ nach unten */ 
	
    .teasertext ul > li { font-size: 15px; }		
}

