/* 
Theme Name: Feuerstein
Theme URI: https://www.derfeuerstein.de/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: setzepfandt & partner
Author URI: https://www.agentur-sp.de/
Template: hello-elementor
Version: 2.0.0
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
*/


/* barlow-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/barlow-v13-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('fonts/barlow-v13-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/barlow-v13-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/barlow-v13-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('fonts/barlow-v13-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('fonts/barlow-v13-latin-regular.svg#Barlow') format('svg'); /* Legacy iOS */
}

/* barlow-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/barlow-v13-latin-700.eot'); /* IE9 Compat Modes */
  src: url('fonts/barlow-v13-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/barlow-v13-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/barlow-v13-latin-700.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('fonts/barlow-v13-latin-700.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('fonts/barlow-v13-latin-700.svg#Barlow') format('svg'); /* Legacy iOS */
}

/* barlow-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/barlow-v13-latin-900.eot'); /* IE9 Compat Modes */
  src: url('fonts/barlow-v13-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/barlow-v13-latin-900.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/barlow-v13-latin-900.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('fonts/barlow-v13-latin-900.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('fonts/barlow-v13-latin-900.svg#Barlow') format('svg'); /* Legacy iOS */
}


/*Allgemeines*/

html, body {
    overflow-x: clip !important;
}

/* Falls dein Browser ganz alt ist (Fallback) */
@supports not (overflow-x: clip) {
    html, body {
        overflow-x: hidden !important;
    }
}

*,
*::before,
*::after {
    transition: all 0.3s ease-in-out;}


.h1 {
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}

.dachzeile {
    text-transform: uppercase;
    font-size: 20x;
    color: #FDEB1B;
    font-weight: 700;
    letter-spacing: 1px;
}



.h1,
.h1 h2 {
    font-size: 35px;
    line-height: 35px;
    font-weight: 900;
    text-transform: uppercase;    
    margin-bottom: 20px;
    display: inline-block;
}


.download a {
    width: 100% !important;
}

.download a span{
    justify-content: space-between;
}

/*Menü-Header*/

/* 1. Haupt-Header (immer sticky) */
header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    width: 100%;
    max-width: none !important;
    position: relative; /* Wichtig für das Pseudo-Element */
    background: transparent !important;
}

/* 2. Der rote Farbverlauf als eigene Schicht hinter dem Header */
header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, rgba(152, 1, 17, 1) 50%, rgba(194, 1, 22, 1) 100%);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    opacity: 1; /* Standard: Voll sichtbar (Rotes Backup für alle normalen Seiten) */
    transition: opacity 0.4s ease-in-out !important; /* Erzwingt den weichen Übergang */
    z-index: -1; /* Liegt hinter Logo und Menü */
    pointer-events: none;
}

/* 3. WENN eine Hero-Sektion da ist UND NICHT gescrollt wird -> Verlauf ausblenden */
body:has(.hero-section) header:not(.scrolled)::before {
    opacity: 0;
}


/* 1. Deckkraft der roten Schicht (::before) auf 1 setzen, wenn das Dropdown aktiv ist */

header:has(.elementor-active)::before,
header:has(.elementor-menu-toggle[aria-expanded="true"])::before {
    opacity: 1 !important;
}







body:has(.hero-section) main {
    margin-top: -110px !important; /* Passt die Zahl genau an deine Header-Höhe an */
}


/*Navigation*/

header ul li a:hover{
color: #FDEB1B !important;
}



header ul.sub-menu li:hover {
background-color: #e9d811;
}

header ul.sub-menu li a{
color: #414141 !important;
  padding: 5px 13px !important;
  white-space: nowrap;
}





#menu-main li a::after,
.site-navigation-dropdown ul li a::after{
content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-left: 5px;
    /* Der Pfeil rechts als direktes Gelb-SVG (#FDEB1B = %23FDEB1B) */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23FDEB1B' d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l-22.6 22.6c-4.7 4.7-4.7 12.3 0 17l65.6 65.6-65.6 65.6c-4.7 4.7-4.7 12.3 0 17l22.6 22.6c4.7 4.7 12.3 4.7 17 0l96.4-96.4c4.7-4.7 4.7-12.3 0-17l-96.4-96.4c-4.7-4.7-12.3-4.7-17 0z'/%3E%3C/svg%3E");
    transform: translateY(1px);
}


.sub-menu li a::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23414141' d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l-22.6 22.6c-4.7 4.7-4.7 12.3 0 17l65.6 65.6-65.6 65.6c-4.7 4.7-4.7 12.3 0 17l22.6 22.6c4.7 4.7 12.3 4.7 17 0l96.4-96.4c4.7-4.7 4.7-12.3 0-17l-96.4-96.4c-4.7-4.7-12.3-4.7-17 0z'/%3E%3C/svg%3E") !important;
}


.site-navigation ul.menu li.menu-item-has-children::after {
 display: none;   
}

.site-navigation ul.menu li.menu-item-has-children{
    padding: 0;
}

/*mobile Dropdown Navi*/

.site-navigation-dropdown a {
text-transform: uppercase;
letter-spacing: 1px;
font-weight: 700;
}


.site-navigation-dropdown > ul > li > a{
background-color: #C20116 !important;
color: #ffffff !important;
}

.site-navigation-dropdown ul li.current-menu-item a {
    background-color: #980111 !important;
    color: #FDEB1B !important;
}

.site-navigation-dropdown .sub-menu li a,
.site-navigation-dropdown .sub-menu {
    background-color: #FDEB1B !important;
    line-height: 40px;
}


.header-inner,
.site-navigation-toggle-holder {
    padding: 0 !important;
}






/* Footer*/

.cmplz-manage-consent {
    background-color: transparent !important;
    padding: 0 !important;
    text-transform: none !important;
    font-weight: bold !important;
    border: 0 !important;
}

.cmplz-manage-consent:hover {
    color: #C20116 !important;
}



/* 1. Richtet Icon und Text auf einer Höhe aus */
.social-links .elementor-icon-list-item {
    display: flex !important;
    align-items: center;
}

/* 2. Macht den Icon-Behälter zum Kreis */
.social-links .elementor-icon-list-item .elementor-icon-list-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px;               /* Durchmesser des Kreises */
    height: 36px;              /* Durchmesser des Kreises */
    border-radius: 50%;        /* Macht das Element perfekt rund */
    background-color: #FDEB1B; /* Hintergrundfarbe des Kreises */
    margin-right: 10px;        /* Abstand zum Text */
    flex-shrink: 0;            /* Verhindert Verzerren */
    transition: all 0.3s ease; /* Für sanfte Hover-Effekte */
}

/* 3. Richtet die SVG-Grafik im Kreis aus */
.social-links .elementor-icon-list-item .elementor-icon-list-icon svg {
    width: 16px;               /* Größe des Icons im Kreis */
    height: 16px;
}

/* Hover-Zustand für den Kreis */
.social-links .elementor-icon-list-item:hover .elementor-icon-list-icon {
    background-color: #e9d811; /* Z. B. Gelb beim Hovern */
}


.to-top a {
width: 100%;
}


/*Hero-Section*/

.hero-section img {
 mix-blend-mode: multiply;
 clip-path: polygon(0 0, 100% 0%, 100% 85%, 0% 100%);     

}



/* Entzieht Slick-Containern das globale Transition-Verhalten */
.hero-section.carousel .slick-track,
.hero-section.carousel .slick-slide {
    transition: none;
}



.hero-section.carousel .slick-dots {
bottom: 20px;
  left: 0;
  z-index: 999;
  text-align: left;
  width: auto;
  padding-left: max(30px, (100% - 1720px) / 2);
  }

.hero-section.carousel .slick-dots li {
    width: fit-content;
}

.hero-section.carousel .slick-dots li button{
width: 40px;
  padding: 0;
  height: 6px;
}

.hero-section.carousel .slick-dots li button::before{
width: 40px;
  content: "";
  background: white;
  opacity: 1;
  border-radius: 5px;
  height: 6px;
}

.hero-section.carousel .slick-dots li.slick-active button::before{
width: 40px;
  content: "";
  background: #FDEB1B;
  opacity: 1;
  border-radius: 5px;
  height: 6px;
}


.hero-section.carousel .slick-arrow {
right: auto;
  top: auto;
  z-index: 999;
  background-color: transparent;
  width: 45px;
  height: 45px;
  }

.hero-section.carousel .slick-arrow::before {
font-size: 45px;
color: #FDEB1B;
opacity: 1;
  }



.hero-section.carousel .slick-prev{ 
right: 100px;
  left: auto;
  bottom: 15px;
  }

.hero-section.carousel .slick-next{ 
bottom: 15px;
  right: 50px;
  left: auto;
}



.slick-track .slick-slide {
    display: flex !important;
}


.logo-carousel .slick-slide {
    margin-left: 10px !important;
    margin-right: 10px !important;
}

.logo-carousel .slick-list {
    margin-left: -10px !important;
    margin-right: -10px !important;
}

.logo-carousel .slick-dots {
    left: 0;
    right: 0;
}

.logo-carousel .slick-dots button:hover,
.logo-carousel .slick-dots button:focus{
background-color: transparent !important;
}




/* Content */



.clip-path-rechts,
.clip-path-links{
    overflow: hidden;}


.clip-path-links{
width: calc(100% + 30px);
  max-width: calc(100% + 30px) !important;
}

.clip-path-rechts{
    left: -30px;
    width: calc(100% + 30px);
}

.clip-path-rechts.einspaltig {
    left: calc(0px - ((100vw - 100%) / 2)) !important;
  padding-left: calc(((100vw - 100%) / 2)) !important;
  width: calc(100% + ((100vw - 100%) / 2)) !important;
  max-width: calc(100% + ((100vw - 100%) / 2)) !important;
}



.clip-path-rechts,
.clip-path-links{
    overflow: hidden;
}
.clip-path-links::before{
content: "";
  transform: skew(-5deg);
  background-color: #ffffff;
  width: 500px;
  position: absolute;
  left: -500px;
  height: 100%;
  transform-origin: bottom left;
}

.clip-path-rechts::before {
  content: "";
  transform: skew(-2deg);
  background-color: #ffffff;
  width: 500px;
  position: absolute;
  right: -500px;
  height: 100%;
  transform-origin: top right;
  left: auto;
}






.ekit-wid-con .elementskit-single-testimonial-slider {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;

}

.swiper-navigation-button svg path {
    fill: #C20116
}

.swiper-navigation-button:hover svg path {
    fill: #980111
}

.elementskit-single-testimonial-slider{
  transform: skew(-7deg);
}

.elementskit-single-testimonial-slider div{
  transform: skew(7deg);
}


.elementor-widget-elementskit-testimonial .ekit-wid-con .elementskit-testimonial-slider .swiper-button-next, 
.elementor-widget-elementskit-testimonial .ekit-wid-con .elementskit-testimonial-slider .swiper-button-prev {
    display: inherit !important;
  }


.elementskit-testimonial-slider .elementskit-stars{
    margin: 0 !important;
  bottom: -20px;
  left: 10px;
}


.elementskit-testimonial-slider .swiper-wrapper {
align-items: center;
}

.e-n-accordion-item-title {
      justify-content: space-between !important;
}


@media (min-width: 767px) {
.h1,
.h1 h2{
    font-size: 50px;
    line-height: 51px;  
}

}




@media (min-width: 1025px) {


.hero-section img {
      mix-blend-mode: multiply;
}

.hero-section img{
        clip-path: polygon(7% 0, 100% 0%, 100% 100%, 0% 100%);
}



.h1,
.h1 h2{
    font-size: 60px;
    line-height: 55px;  
}

/* 1. Grundzustand des Submenüs (unsichtbar, etwas nach unten versetzt) */
header ul li ul {
    display: block !important; /* Verhindert das harte display:none */
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(15px); /* Startet leicht tiefer */
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease !important;
    pointer-events: none; /* Verhindert versehentliches Klicken im unsichtbaren Zustand */
}

/* 2. Hover-Zustand (gleitet sanft hoch & wird sichtbar) */
header ul li:hover > ul {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0); /* Gleitet an die originale Position */
    pointer-events: auto;
}

header ul.sub-menu {
background-color: transparent !important;
padding: 13px !important;
}

header ul.sub-menu li {
background-color: #FDEB1B;
margin-bottom: 3px;
border-radius: 5px;
border-block-end: 0 !important;
}



 .site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation-toggle-holder {
    display: none !important;
}


  .site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation {
    display: flex !important;


}





.hero-section.carousel .slick-dots {
  width: 33%;
  }




.hero-section.carousel .slick-prev{ 
bottom: 15px;
  left: 32%;

  }

.hero-section.carousel .slick-next{ 
bottom: 65px;
  left: 32.25%;
}




.clip-path-links{
    right: calc(0px - ((100vw - 1720px)/2));
    left: 0 !important;  
        max-width: calc(100% + ((100vw - (100%*2))/2) - 20px) !important;
    width: calc(100% + ((100vw - (100%*2))/2) - 20px) !important;
}

.clip-path-rechts{
    left: calc(0px - ((100vw - (100%*2))/2));
    padding-left: calc(((100vw - (100%*2))/2));
        max-width: calc(100% + ((100vw - (100%*2))/2)) !important;
    width: calc(100% + ((100vw - (100%*2))/2)) !important;
}


.clip-path-rechts::before {
  transform: skew(-5deg);
}




}







@media (max-width: 1025px) {

 .site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation-toggle-holder {
    display: flex !important;

}

 .site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation {
    display: none !important;


}




}