/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/

/*-----------------------------------------------------------------------------------*/
/* fonts	 */

/*-----------------------------------------------------------------------------------*/

h1, h2, h3, h4, h5, h6 {
	font-family: "helvetica-neue-lt-pro", sans-serif !important;
	/* font-weight: 500;
	font-style: normal; */
}

/*-----------------------------------------------------------------------------------*/
/* news blog home	 */
/*-----------------------------------------------------------------------------------*/

/* =========================
   MOBILE ONLY
========================= */
@media only screen and (max-width: 768px) {

  /* Container Abstand nach oben erzwingen */
  body .nectar-flickity .flickity-page-dots {
    /* top: 40px !important;  */
    bottom:-40px !important;
  }

  /* Aktiver Dot */
  .nectar-flickity[data-control-style=material_pagination] .flickity-page-dots .dot.is-selected:before {
    box-shadow: inset 0 0 0 1px #fff !important;
    /* background-color: #ffffff !important;
    border: none !important;
    opacity: 0.5 !important; */
  }

  /* Standard Dot */
  .nectar-flickity[data-control-style=material_pagination] .flickity-page-dots .dot:before {
    /* background-color: #ffffff !important;
    opacity: 1 !important; */
    box-shadow: inset 0 0 0 5px #fff !important;
  }
  
}


/* =========================
   DESKTOP AUSBLENDEN
========================= */
@media only screen and (min-width: 769px) {
  body .flickity-page-dots {
    display: none !important;
  }
}

/*-----------------------------------------------------------------------------------*/
/* nav	 */
/*-----------------------------------------------------------------------------------*/

.box-blur,
#header-outer {
  background-color: rgba(255, 255, 255, 0.10) !important;
  /* background-color: rgba(4, 52, 54, 0.1) !important; */
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.35) !important;
  /* margin-left:1px !important;
  margin-right:1px !important; */

  /* Background Blur */
  backdrop-filter: blur(35px) !important;
  -webkit-backdrop-filter: blur(35px) !important;
}

.box-blur {
  padding:5%;
  border-radius:5px;
  text-align: left !important;
}

/*-----------------------------------------------------------------------------------*/
/* cleverreach	 */
/*-----------------------------------------------------------------------------------*/

.haet-cleverreach-field-wrap.type-submit {
  text-align: left !important;
  margin:15px 0 0 0 !important;
}

.cleverreach-checkbox label {
  font-size:inherit !important;
}



/*-----------------------------------------------------------------------------------*/
/* svg fix	 */
/*-----------------------------------------------------------------------------------*/

.img-with-aniamtion-wrap .hover-wrap .hover-wrap-inner img.img-with-animation,
.img-with-aniamtion-wrap, body .wpb_wrapper>.img-with-aniamtion-wrap {
	min-width: 100% !important;
}

/*-----------------------------------------------------------------------------------*/
/* Revolution Slider in Content	 */
/*-----------------------------------------------------------------------------------*/

.kigueba-overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.kigueba-overlay .wpb_column {
  pointer-events: auto;
}

/*-----------------------------------------------------------------------------------*/
/* Blättern/Kacheln	 */
/*-----------------------------------------------------------------------------------*/

/* .blaettern .nectar-sticky-media-section__content-section__wrap {
  -webkit-box-shadow: 0 0 25px 0 rgba(4, 52, 54, 0.5);
  box-shadow: 0 0 25px 0 rgba(4, 52, 54, 0.5);
} */

.blaettern .blaettern-inner-block,
.blaettern .nectar-sticky-media-sections 
.nectar-sticky-media-section__content-section__wrap 
.nectar-sticky-media-section__content-section-inner 
.wpb_row {
  /* backdrop-filter: blur(15px) !important;
   -webkit-backdrop-filter: blur(15px) !important; */
}

/* blur background */
.blaettern .nectar-sticky-media-section__content-section {
  backdrop-filter: blur(15px) !important;
   -webkit-backdrop-filter: blur(15px) !important;
}

/* 1. bis 4. Element */
.blaettern .nectar-sticky-media-section__content-section
  .nectar-sticky-media-content__media-wrap {
  background: transparent !important;  
}

.blaettern .nectar-sticky-media-section__content-section 
  .nectar-sticky-media-section__media {
}

/* 1. Element */
.blaettern .nectar-sticky-media-section__content-section:nth-of-type(1)
  .nectar-sticky-media-section__media {
    background: rgba(2, 95, 99, 0.65) !important;
  }

/* 2. Element */  
.blaettern .nectar-sticky-media-section__content-section:nth-of-type(2)
  .nectar-sticky-media-section__media {
    background: rgba(1, 223, 180, 0.65) !important;
  }
  
/* 3. Element */
.blaettern .nectar-sticky-media-section__content-section:nth-of-type(3)
  .nectar-sticky-media-section__media {
    background: rgba(228, 244, 236, 0.65) !important;
  }

/* 4. Element */
.blaettern .nectar-sticky-media-section__content-section:nth-of-type(4)
  .nectar-sticky-media-section__media {
    background: rgba(255, 255, 255, 0.65) !important;
  }
  
  /* 4. Element */
  .blaettern .nectar-sticky-media-section__content-section:nth-of-type(5)
    .nectar-sticky-media-section__media {
      background: rgba(2, 95, 99, 0.65) !important;
    }
  
/* innere Spalte */
 .blaettern .blaettern-inner-block {

 }
 
  .blaettern .blaettern-inner-block .leftside {
    /* padding:20px 3vw !important; */
    /* padding:20px 3vw !important; */
    padding:40px 3vw !important;
  }
  
    .blaettern .blaettern-inner-block .leftside h3 {
      margin-bottom:5vh;
    }
  
  .blaettern .blaettern-inner-block .rightside {
    padding:0 !important;
  }
  
  .blaettern .blaettern-inner-block .rightside .vc_column-inner {
    padding:15%;
  } 
  
/* badge */
.blaettern .nectar-badge {
  position: relative;
  overflow: hidden;
  border-radius: 40px;
  background: rgba(0,0,0,0.65); /* Grundfarbton */
}

  .blaettern .nectar-badge.text-color-F4F2EF .nectar-badge__inner {
    color:#01dfb4 !important;
  }

/* =========================================================
     BLÄTTERN – MOBILE: CONTENT-BLÖCKE EINFÄRBEN + ABSTAND
     (überschreibt Desktop-Media-Farben)
     ========================================================= */
  @media (max-width: 999px) {
  
    /* 0) Mobile: die farbigen "Media"-Layer deaktivieren (sonst mischt es sich) */
    .blaettern .nectar-sticky-media-section__content-section .nectar-sticky-media-section__media{
      background: transparent !important;
    }
  
    /* 1) pro Slide Farbvariable setzen */
    .blaettern .nectar-sticky-media-sections.type--horizontal-scrolling
      .nectar-sticky-media-section__content__wrap
      > .nectar-sticky-media-section__content-section:nth-child(1) { --kigueba-block-bg: rgba(2, 95, 99, 0.65); }
  
    .blaettern .nectar-sticky-media-sections.type--horizontal-scrolling
      .nectar-sticky-media-section__content__wrap
      > .nectar-sticky-media-section__content-section:nth-child(2) { --kigueba-block-bg: rgba(1, 223, 180, 0.65); }
  
    .blaettern .nectar-sticky-media-sections.type--horizontal-scrolling
      .nectar-sticky-media-section__content__wrap
      > .nectar-sticky-media-section__content-section:nth-child(3) { --kigueba-block-bg: rgba(228, 244, 236, 0.65); }
  
    .blaettern .nectar-sticky-media-sections.type--horizontal-scrolling
      .nectar-sticky-media-section__content__wrap
      > .nectar-sticky-media-section__content-section:nth-child(4) { --kigueba-block-bg: rgba(255, 255, 255, 0.65); }
  
    .blaettern .nectar-sticky-media-sections.type--horizontal-scrolling
      .nectar-sticky-media-section__content__wrap
      > .nectar-sticky-media-section__content-section:nth-child(5) { --kigueba-block-bg: rgba(2, 95, 99, 0.65); }
  
    /* 2) den echten Content-Block färben */
    .blaettern .nectar-sticky-media-sections.type--horizontal-scrolling
      .nectar-sticky-media-section__content-section
      .blaettern-inner-block{
      background: var(--kigueba-block-bg) !important;
      border-radius: 5px;
      overflow: hidden;
    }
  
    /* 3) Abstand zwischen den Karten */
    .blaettern .nectar-sticky-media-sections.type--horizontal-scrolling
      .nectar-sticky-media-section__content__wrap
      > .nectar-sticky-media-section__content-section{
      margin-bottom: 24px !important;
    }
    .blaettern .nectar-sticky-media-sections.type--horizontal-scrolling
      .nectar-sticky-media-section__content__wrap
      > .nectar-sticky-media-section__content-section:last-child{
      margin-bottom: 0 !important;
    }
  
    /* 4) Bild-Spalte transparent lassen */
    .blaettern .nectar-sticky-media-sections.type--horizontal-scrolling
      .nectar-sticky-media-section__content-section
      .blaettern-inner-block .rightside{
      background: transparent !important;
    }
  }

/*-----------------------------------------------------------------------------------*/
/* Misc	 */
/*-----------------------------------------------------------------------------------*/

#ajax-content-wrap .nectar-responsive-text ul, 
body .nectar-responsive-text ul {
  margin-bottom:20px;
  margin-top:-15px !important;
}

.text-dunkel * {
  color:#043436 !important;
}

.text-hell * {
  color:#e4f4ec !important;
}

.nectar-responsive-text p {
  padding-bottom:1.5rem !important;
}

  .nectar-responsive-text p:first-of-type {
    /* padding-top:0.5rem !important; 
    padding-bottom:2.0rem !important; */
  }
  
/*-----------------------------------------------------------------------------------*/
/* fix width content	 */
/*-----------------------------------------------------------------------------------*/
.vc_row-fluid>.span_12 .wpb_column, body[data-col-gap=default] .vc_row-fluid[data-column-margin=default]:not(.full-width-content) .full-page-inner>.container>.span_12 .wpb_column:not(.child_column) {
    padding-left: 0.99%;
    padding-right: 0.99%;
    }

/*-----------------------------------------------------------------------------------*/
/* Home / Maincontent	 */
/*-----------------------------------------------------------------------------------*/

.home-maincontent {
  
}

  /* headlines */
  .home-maincontent .headerblock {
    padding-top:5vh;
  }

  /* left side */
  .home-maincontent .left-side {
    
  }
  
  /* right side */
  .home-maincontent .right-side {
    
  }


/*-----------------------------------------------------------------------------------*/
/* navigation	 */
/*-----------------------------------------------------------------------------------*/

#header-outer:not([data-format=left-header]) #top>.container>.row nav>ul>li {
  padding:0px !important;
}

.topkontakt a{
  padding-right:20px !important;
}

/*-----------------------------------------------------------------------------------*/
/* footer buttons	 */
/*-----------------------------------------------------------------------------------*/

.nectar-cta[data-style=arrow-animation] svg,
.nectar-cta[data-style=arrow-animation] .line {
  top:13px;
}

/*-----------------------------------------------------------------------------------*/
/* Fixed Position	 */
/*-----------------------------------------------------------------------------------*/

.fixed-pos {
  position: fixed !important;
  z-index: 0 !important;
}

/*-----------------------------------------------------------------------------------*/
/* News / Home	 */
/*-----------------------------------------------------------------------------------*/

.home-news h2,
.home-news h3 {
  /* font-size:1.7rem !important;
  text-transform: none !important; */
}

  /* hide */
  .home-news .meta-category,
  .home-news .meta-author,
  .home-news .nectar-post-grid .nectar-post-grid-item__meta-wrap>span:not(:nth-child(1)):before {
    display: none !important;
  }
  
  /* meta-date */
  .home-news .meta-date {
  border-radius: 20px;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding: .5em 1em;
  font-size:0.75rem;
  background-color: rgba(255,255,255,0.1);
  }

  /* Overlay */
  /* .home-news .nectar-post-grid-item::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
  
    background: linear-gradient(
      to bottom,
      rgba(4, 52, 54, 0.3) 0%,
      rgba(4, 52, 54, 0.3) 50%,
      rgba(4, 52, 54, 1.0) 100%
    );
  } */


.home-news .nectar-post-grid-item .bg-overlay[data-opacity="0"] {
  background: #025f63 !important;
  opacity: 0.35;
  /* mix-blend-mode: multiply; */
  mix-blend-mode: hard-light;
  
}

.home-news .nectar-post-grid-item::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
  
    /* FARBE – wie bei dir */
    background: linear-gradient(
      to bottom,
      rgba(4, 52, 54, 0.3) 0%,
      rgba(4, 52, 54, 0.3) 50%,
      rgba(4, 52, 54, 1.0) 100%
    );
  
    /* BLUR – konstant */
    /* backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  
    mask-image: linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 55%,
      rgba(0,0,0,1) 75%,
      rgba(0,0,0,1) 100%
    );
    -webkit-mask-image: linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 55%,
      rgba(0,0,0,1) 75%,
      rgba(0,0,0,1) 100%
    ); */
  }
  

  .nectar-post-grid[data-border-radius="10px"][data-text-layout="all_bottom_left_shadow"] .nectar-post-grid-item:before, .nectar-post-grid-wrap:not([data-style="content_under_image"]):not([data-style="content_next_to_image"]) .nectar-post-grid[data-border-radius="10px"] .nectar-post-grid-item .inner, .nectar-post-grid[data-border-radius="10px"] .bg-overlay, .nectar-post-grid[data-border-radius="10px"][data-shadow-hover="yes"] .nectar-post-grid-item:after, .nectar-post-grid[data-border-radius="10px"] .nectar-post-grid-item-bg, .nectar-post-grid[data-border-radius="10px"] .nectar-post-grid-item-bg-wrap, [data-style="mouse_follow_image"] .nectar-post-grid[data-border-radius="10px"] .nectar-post-grid-item-bg-wrap-inner, .nectar-post-grid[data-border-radius="10px"][data-text-layout="all_bottom_left_shadow"] .nectar-post-grid-item div.inner:before { border-radius:5px !important;}
  
/* blog detail */
  
body.post-template-default .featured-media-under-header__content {
}

  /* kategorie */
  body.post-template-default .featured-media-under-header__content .featured-media-under-header__cat-wrap {
      display: none !important;
  }
  
  /* titel */
  body.post-template-default .featured-media-under-header__content .entry-title {
      font-size: 3.5rem;
      /* max-width: 1000px; */
      /* margin:0 auto; */
  }
  
  /* datum */
  body.post-template-default .featured-media-under-header__content .featured-media-under-header__meta-wrap {
  }
  
    body.post-template-default .featured-media-under-header__content .featured-media-under-header__meta-wrap .meta-date {
      padding:0.5rem 1rem;
      
      background-color: rgba(255, 255, 255, 0.10) !important;
      box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.35) !important;
      backdrop-filter: blur(35px) !important;
      -webkit-backdrop-filter: blur(35px) !important;
      
      border-radius: 5px;
    }
    
    .main-content .featured-media-under-header {
      padding-bottom:2.5rem !important;
    }
    
  
/* bildunterschrift */

/* Bezugspunkt fürs Absolute Positioning */
body.post-template-default .inner{
  position: relative;
}

/* Caption als Overlay unten links */
body.post-template-default .inner img {
  border-radius:5px;
}

/* body.post-template-default .inner .hover-wrap + p.img-caption{
  position: absolute !important;
  left: 1rem !important;
  bottom: 2rem !important;
  top: auto !important;
  right: auto !important;

  z-index: 20;

  display: inline-block !important;
  width: auto !important;
  max-width: 60% !important;

  margin: 0 !important;

  line-height: 1.4 !important;
  font-size: 13px !important;

  pointer-events: none;
  
  height: auto;
  
  padding:0.5rem 1rem;
  
  background-color: rgba(0, 0, 0, 0.70) !important;
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(35px) !important;
  -webkit-backdrop-filter: blur(35px) !important;
  
  border-radius: 5px;
}

@media (max-width: 767px){
  
  body.post-template-default .featured-media-under-header__content .entry-title {
    font-size:1.75rem;
  }
  
  body.post-template-default .inner .hover-wrap + p.img-caption{
    left: 1rem !important;
    right: 1rem !important;
    bottom: 0rem !important;
    top:-2.5rem !important;

    font-size:12px !important;
    
    padding:0.75rem 1.25rem;
    
    margin:0.75rem 0 -1rem 0 !important;
    width:90% !important;
    max-width: none !important;
    
    position: relative !important;
  }
} */

body.post-template-default .inner .hover-wrap + p.img-caption {
  font-style: italic;
  margin-bottom:1.5rem;
  opacity: 0.5;
}
/* Bezugspunkt */
body.post-template-default .inner{
  position: relative;
  overflow: hidden;
}

.teamblock .team-member-image {
  border-radius:5px;
}

.teamblock .team-meta h5 {
  font-size: 1.25rem !important;
}

.teamblock .team-meta h3 {
  font-size: 3rem;
}

.nectar_team_member_overlay .team_member_picture,
.nectar_team_member_overlay * {
  background-color: #043436 !important;
  color:#fff !important;
}

/*-----------------------------------------------------------------------------------*/
/* formular	 */
/*-----------------------------------------------------------------------------------*/

.wpforms-container.wpforms-container-full.wpforms-render-modern {
  margin-top:0 !important;
}

.wpforms-field-container  *{
  padding-top:0 !important;
}

.wpforms-container .wpforms-field {
  padding-top:5px !important;
}

.wpforms-field-medium.wpforms-field-required {
  padding-top:0.75rem !important;
}

.wpforms-field-label-inline{
  font-size:0.8rem !important;
  hyphens: none; 
  word-break: normal;
  overflow-wrap: normal; /* statt anywhere */
  white-space: wrap;   /* verhindert Umbruch komplett */
}
div.wpforms-container-full input[type=date], div.wpforms-container-full input[type=datetime], div.wpforms-container-full input[type=datetime-local], div.wpforms-container-full input[type=email], div.wpforms-container-full input[type=month], div.wpforms-container-full input[type=number], div.wpforms-container-full input[type=password], div.wpforms-container-full input[type=range], div.wpforms-container-full input[type=search], div.wpforms-container-full input[type=tel], div.wpforms-container-full input[type=text], div.wpforms-container-full input[type=time], div.wpforms-container-full input[type=url], div.wpforms-container-full input[type=week], div.wpforms-container-full select, div.wpforms-container-full textarea, .wp-core-ui div.wpforms-container-full input[type=date], .wp-core-ui div.wpforms-container-full input[type=datetime], .wp-core-ui div.wpforms-container-full input[type=datetime-local], .wp-core-ui div.wpforms-container-full input[type=email], .wp-core-ui div.wpforms-container-full input[type=month], .wp-core-ui div.wpforms-container-full input[type=number], .wp-core-ui div.wpforms-container-full input[type=password], .wp-core-ui div.wpforms-container-full input[type=range], .wp-core-ui div.wpforms-container-full input[type=search], .wp-core-ui div.wpforms-container-full input[type=tel], .wp-core-ui div.wpforms-container-full input[type=text], .wp-core-ui div.wpforms-container-full input[type=time], .wp-core-ui div.wpforms-container-full input[type=url], .wp-core-ui div.wpforms-container-full input[type=week], .wp-core-ui div.wpforms-container-full select, .wp-core-ui div.wpforms-container-full textarea {
  font-size:0.85rem !important;
}

/*-----------------------------------------------------------------------------------*/
/* team	 */
/*-----------------------------------------------------------------------------------*/

#vorteile h4,
#team h4 {
  font-size:1.6rem !important;
}

#team .team-member img {
  border-radius:5px;
}

#team .description {
  border:0 !important;
  color:rgba(255,255,255,0.7) !important;
  margin:0;
}

/*-----------------------------------------------------------------------------------*/
/* button	 */
/*-----------------------------------------------------------------------------------*/

/* überall außer in der Global Section Footer */

.haet-cleverreach-field-wrap.label-inside.type-submit button.button {
  background-color: #01dfb4 !important;
  color:#043436 !important;
  border: 2px solid #01dfb4 !important;
}

.haet-cleverreach-field-wrap.label-inside.type-submit button.button:hover {
  background-color: #043436 !important;
  color: #ffffff !important;
  border: 2px solid #01dfb4 !important;
}

.button_kigueba {
  font-size: 15px;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  background: rgba(0, 0, 0, 0.45);
  color: #01dfb4 !important;
  padding: .5em 1em;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: inline-block;
  line-height: 1;
}

/*-----------------------------------------------------------------------------------*/
/* floating button	 */
/*-----------------------------------------------------------------------------------*/

  .hfcm-talk-btn{
  position: fixed;
  right: 24px;
  bottom: 28px;
  z-index: 99999;

  display: inline-flex;
  align-items: center;

  /* responsive sizing */
  height: clamp(52px, 6vw, 66px);

  /* mehr Platz vor dem Text + rechts Platz fürs Icon */
  padding-left: clamp(22px, 3.6vw, 40px);
  padding-right: clamp(64px, 7vw, 86px);

  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.5); /* default opacity 0.5 */
  background: transparent;
  color: #fff;

  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .10em;
  /* font: 400 clamp(12px, 1.6vw, 15px)/1 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; */

  transition: border-color .18s ease, transform .18s ease;
  -webkit-tap-highlight-color: transparent;

  /* wichtig, damit der Icon-Kreis "schön" reinpasst */
  position: fixed;
  overflow: visible;
  
  /* background-color: rgba(255, 255, 255, 0.10) !important; */
  /* background-color: rgba(4, 52, 54, 0.1) !important; */
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.35) !important;
  /* margin-left:1px !important;
  margin-right:1px !important; */
  
  /* Background Blur */
  backdrop-filter: blur(35px) !important;
  -webkit-backdrop-filter: blur(35px) !important;
}

.hfcm-talk-btn:hover{
  border-color: rgba(255,255,255,1); /* hover opacity = 1 */
  transform: translateY(-1px);
}

.hfcm-talk-btn:focus-visible{
  outline: 3px solid rgba(255,255,255,.35);
  outline-offset: 4px;
}

.hfcm-talk-btn__text{
  white-space: nowrap;
}

/* Icon-Kreis sitzt rechts "eingepasst" */
.hfcm-talk-btn__icon{
  position: absolute;
  right: clamp(6px, 1vw, 5px);
  top: 50%;
  transform: translateY(-50%);

  width: clamp(40px, 5.2vw, 52px);
  height: clamp(40px, 5.2vw, 52px);
  border-radius: 50%;

  display: grid;
  place-items: center;

  background: #fff; /* weißer Kreis */
  color: #111;      /* Icon-Farbe */
}

.hfcm-talk-btn__icon i{
  font-size: clamp(15px, 2vw, 19px);
  line-height: 1;
}

/* mobile: Abstand zum Rand etwas kleiner */
@media (max-width: 480px){
  .hfcm-talk-btn{
    right: 16px;
    bottom: 16px;
  }
}

/*-----------------------------------------------------------------------------------*/
/* button contour	 */
/*-----------------------------------------------------------------------------------*/

.kigueba-button-contour{
  /* normales Button-Verhalten */
  position: relative;
  z-index: auto;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  /* gleiche Höhe wie Floating-Button */
  height: clamp(52px, 6vw, 66px);

  /* symmetrisches Padding (kein Icon!) */
  padding: 0 clamp(22px, 3.6vw, 40px);

  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.5);
  background: transparent;
  color: #fff;

  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .10em;

  white-space: nowrap;
  cursor: pointer;

  transition: border-color .18s ease, transform .18s ease;
  -webkit-tap-highlight-color: transparent;

  /* gleiche Glas-Optik */
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(35px);
  -webkit-backdrop-filter: blur(35px);
}

.kigueba-button-contour:hover{
  border-color: rgba(255,255,255,1);
  transform: translateY(-1px);
}

.kigueba-button-contour:focus-visible{
  outline: 3px solid rgba(255,255,255,.35);
  outline-offset: 4px;
}

/*-----------------------------------------------------------------------------------*/
/* footer logos */
/*-----------------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------------*/
/* footer logos */
/*-----------------------------------------------------------------------------------*/

/* Standard */
.kigueba-funding-logos{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;                 /* stabiler als 1vw */
  flex-wrap: wrap !important;           /* verhindert "zerreißen" */
  justify-content: flex-start !important;
}

/* Falls Logos verlinkt sind */
.kigueba-funding-logos > a{
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  line-height: 0 !important;
  text-decoration: none !important;
}

/* WICHTIG: alle Bilder im Container, egal ob direkt oder in <a> */
.kigueba-funding-logos img{
  display: block !important;
  height: 67px !important;              /* Mobile */
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  border-radius: 5px;
}

/* Tablet & größer: wie vorher "vw", aber mit Grenzen (damit nix explodiert) */
@media only screen and (min-width: 600px){
  .kigueba-funding-logos img{
    height: clamp(67px, 5.5vw, 120px) !important;
  }
}

/*-----------------------------------------------------------------------------------*/
/* eRecht24 Content	 */
/*-----------------------------------------------------------------------------------*/

.recht24content h1,
.recht24content h2,
.recht24content h3,
.recht24content h4,
.recht24content h5,
.recht24content h6 {
  line-height: 1.3;
  padding-bottom:5px;
}

.recht24content h1 {
  margin-bottom:30px !important;
}

.recht24content h2 {
  font-size:1.3rem !important;
  font-weight: bold !important;
  padding-bottom:15px;
  }

.recht24content h3 {
  font-size:1.2rem !important;
}

.recht24content h4 {
  font-size:1.1rem !important;
}

.recht24content h5 {
  font-size:1.0rem !important;
}

.recht24content h6 {
  font-size:1.0rem !important;
}

/*-----------------------------------------------------------------------------------*/
/* Complianz	 */
/*-----------------------------------------------------------------------------------*/

.cmplz-soft-cookiewall {
  z-index: 999999 !important;
}

/*-----------------------------------------------------------------------------------*/
/* Fixes	 */
/*-----------------------------------------------------------------------------------*/

.nectar-sticky-media-section__content-section-inner h3 {
  padding-bottom:20px;
}

/*-----------------------------------------------------------------------------------*/
  /* Anim Container */
  /*-----------------------------------------------------------------------------------*/
  
  .text-anim-container {
    position: relative;
    overflow: visible;
    z-index: 1;
  }
  
  .text-anim-container h3 {
    font-size:12vh !important;
    line-height: 1.1 !important;
  }
  
  .anim-text-normal {}
  
  .anim-text-animiert {}
  
  /* Animiertes Bild soll den Container wie "background-size: cover" füllen */
  .anim-bg-image {
    position: absolute !important;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    
    object-fit: cover;        /* WICHTIG: Füllt immer komplett */
    object-position: center;  /* Ausrichtung */
    
    z-index: 0;
    pointer-events: none;
    opacity: 0.5;
  
    /* GSAP Translation darf NUR horizontal passieren */
    transform: translate3d(0, 0, 0);
  }
    
  /* Text bleibt immer oben */
  .anim-text-normal,
  .anim-text-animiert,
  #ablauf,
  .text-anim-container h3 {
    position: relative;
    z-index: 5;
  }
  
  /* Hintergrundfarbe */
  .text-anim-container .row-bg-overlay {
    background-color: rgba(2,95,99,1) !important; /* #025f63 */
  }
    /* ausnahme: erster Block */
    .home-maincontent-off.text-anim-container.startrow .row-bg-overlay {
      background-color: transparent !important;
      background: linear-gradient(to bottom,  rgba(4,52,54,0.16) 0%,rgba(4,52,54,0.16) 56%,rgba(4,52,54,1) 100%) !important;
    }
    
    /* fix mit row über ersten row */
    .startrow-toprow-visibleoff * {
      height: 0 !important;
      overlay: hidden !important;
      margin:0 !important;
      padding:0 !important;
    }
  
  /* Hintergrundbild IMMER 0.5 */
  .row-bg.viewport-desktop {
      opacity: 0.3 !important;
  }

/* Extra small devices (phones, 600px and down) */
  @media only screen and (max-width: 600px) {
    .text-anim-container h3 {
      font-size:5vh !important;
    }
    
    .anim-bg-image {
      height: 40vh !important;
      top:-10vh;
    }
    
    .home-maincontent .headerblock {
        padding-bottom: 5vh;
    }
    
    .text-anim-container .inner-wrap {
      overflow: hidden !important;
    }
    
    .blaettern .blaettern-inner-block .leftside {
      padding:20px 20px !important;
    }
    
    .blaettern .blaettern-inner-block .rightside {
      min-height: 50vh
    }
    
    .blaettern h3 {
      margin-bottom:2rem;
    }

    .blaettern .blaettern-inner-block .leftside {
      margin-bottom:0 !important;
      margin-bottom:-20px !important; 
    }
    
    .blaettern .wpb_row{
      margin-bottom:0 !important;
    }
    
    /* mobil background image anim */
    .full-width-section .row-bg, .wpb_row .row-bg {
      /* background-size:100vh;
      background-position-y: 10vh !important; */
    }
    
  } 
  
  /* Small devices (portrait tablets and large phones, 600px and up) */
  @media only screen and (min-width: 600px) {
    
  } 
  
  /* Medium devices (landscape tablets, 768px and up) */
  @media only screen and (min-width: 768px) {
    
  } 
  
  /* Large devices (laptops/desktops, 992px and up) */
  @media only screen and (min-width: 992px) {
    
  } 
  
  /* Extra large devices (large laptops and desktops, 1440px and up) MS */
  @media only screen and (min-width: 1440px) {
  
  }
  
  /* Extra large devices (large laptops and desktops, 1600px and up) SA */
  @media only screen and (min-width: 1600px) {
  
  }
  
  
  @media (max-width: 767px){
  
    /* Startrow muss wirklich edge-to-edge sein (sonst pinned left-offset) */
    .text-anim-container.startrow{
      width: 100vw !important;
      max-width: 100vw !important;
  
      /* zieht die Row aus dem Theme-Container raus */
      margin-left: calc(50% - 50vw) !important;
      margin-right: calc(50% - 50vw) !important;
  
      left: auto !important;
      right: auto !important;
    }
  
    /* keine Innen-Paddings, die “Einzug” verursachen */
    .text-anim-container.startrow,
    .text-anim-container.startrow > .col.span_12,
    .text-anim-container.startrow .wpb_column,
    .text-anim-container.startrow .vc_column-inner{
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
  }
  
  /* =========================================================
     STARTROW (nur Mobile): kein Clip + kein "Container-Einzug"
     ========================================================= */
  @media (max-width: 767px){
  
    /* Wichtig: deine globale Regel setzt inner-wrap auf overflow:hidden
       -> für STARTROW wieder auf visible, sonst clippt iOS beim Transform */
    .text-anim-container.startrow .inner-wrap{
      overflow: visible !important;
    }
  
    /* Alle relevanten Wrapper dürfen nicht clippen */
    .text-anim-container.startrow,
    .text-anim-container.startrow .row-bg-wrap,
    .text-anim-container.startrow .row-bg-layer,
    .text-anim-container.startrow .row-bg.viewport-desktop{
      overflow: visible !important;
    }
  
    /* row-bg-img sauber "cover" wie Background */
    .text-anim-container.startrow .row-bg.viewport-desktop img.row-bg-img{
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      object-position: center center !important;
  
      will-change: transform, opacity;
      transform: translate3d(0,0,0); /* iOS compositing */
      -webkit-transform: translate3d(0,0,0);
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
    }
  }

/*-----------------------------------------------------------------------------------*/
  /* anim fix first row	 */
  /*-----------------------------------------------------------------------------------*/

/* @media (max-width: 767px){
  
    .text-anim-container.startrow .row-bg-wrap,
    .text-anim-container.startrow .row-bg-layer,
    .text-anim-container.startrow .row-bg.viewport-desktop{
      overflow: visible !important;
    }
  
    .text-anim-container.startrow .row-bg.viewport-desktop{
      position: absolute !important;
    }
  
    .text-anim-container.startrow .row-bg.viewport-desktop .kigueba-bg-mover{
      position: absolute;
      inset: -12vh -20vw;
      background-size: cover;
      background-position: center center;
      transform: translate3d(0,0,0);
      will-change: transform, opacity;
      pointer-events: none;
    }
  }
  
@media (max-width: 767px){
    .text-anim-container.startrow .row-bg.viewport-desktop .kigueba-bg-mover{
      z-index: 0;
    }
    .text-anim-container.startrow .row-bg-overlay{
      z-index: 1;
    }
  } */
  
  @media (max-width: 767px) {
      /* FIX: Verhindert, dass der Text links verschwindet */
      .text-anim-container,
      .text-anim-container.startrow {
          width: 100% !important;
          max-width: 100% !important;
          margin-left: 0 !important; /* Löscht den calc(50% - 50vw) Fehler */
          margin-right: 0 !important;
          left: 0 !important;
          padding-left: 0 !important;
          padding-right: 0 !important;
          overflow: hidden !important;
      }
  
      /* Text-Abstand zum Rand wiederherstellen */
      .text-anim-container .span_12 {
          padding-left: 20px !important;
          padding-right: 20px !important;
      }
  
      /* Bild-Puffer für die Animation (verhindert Beschnitt) */
      .text-anim-container img.row-bg-img, 
      .text-anim-container .anim-bg-image {
          min-width: 150% !important; /* Bild ist breiter als Screen */
          height: 100% !important;
          object-fit: cover !important;
          max-width: none !important;
      }
  }
  
  /* Desktop Fix gegen Beschnitt */
  @media only screen and (min-width: 1000px) {
      .text-anim-container img.row-bg-img {
          width: 110% !important; /* Kleiner Puffer für die Bewegung */
          left: -5% !important;
          max-width: none !important;
      }
  }
  

  
/*-----------------------------------------------------------------------------------*/
/* Responsive	 */
/*-----------------------------------------------------------------------------------*/

/* @media (min-width: 768px) {
  .nectar-sticky-media-section__content__wrap .nectar-responsive-text h3 {
    font-size: 2.5rem !important;
  }
} */

@media (min-width: 768px) {
  .nectar-sticky-media-section__content__wrap 
  :not(.text-anim-container) 
  .nectar-responsive-text h3 {
    font-size: 2.5rem !important;
  }
}

/*-----------------------------------------------------------------------------------*/
/* Anim Container Fixes	 */
/*-----------------------------------------------------------------------------------*/

/* =========================================================
   TEXT-ANIM – PERFORMANCE & MOBILE FIX
   ========================================================= */

/* GPU-Beschleunigung für flüssige Animationen */
.text-anim-container, 
img.row-bg-img, 
.anim-text-animiert,
.row-bg-overlay {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0); 
    will-change: transform, opacity;
}

@media (max-width: 767px) {
    /* Horizontales Scrollen durch 100vw-Elemente verhindern */
    html, body { 
        overflow-x: hidden !important; 
        position: relative;
    }

    /* Row edge-to-edge ziehen */
    .text-anim-container.ta-fullwidth {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    /* Pin-Spacer Stabilisierung */
    .pin-spacer.ta-pin-spacer {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        left: 0 !important;
    }

    .pin-spacer.ta-pin-spacer > .text-anim-container {
        width: 100vw !important;
        left: 0 !important;
        margin: 0 !important;
    }

    /* Startrow: Overflow-Fix für iOS */
    .text-anim-container.startrow .row-bg-wrap,
    .text-anim-container.startrow .row-bg-layer,
    .text-anim-container.startrow .row-bg-wrap .inner-wrap {
        overflow: visible !important;
    }

    .text-anim-container.startrow img.row-bg-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}

@media (max-width: 767px) {
    /* NUR für die Startrow den Textblock auf 40px erzwingen */
    .text-anim-container.startrow .col.span_12 {
        /* padding-left: 25px !important; */
        padding-left: 1rem !important;
        padding-right: 0px !important;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start !important;
        text-align: left !important;
    }
    
    /* Folgeblöcke (Bild 2) behalten ihr normales Verhalten */
    .text-anim-container:not(.startrow) .col.span_12 {
        /* Hier nichts überschreiben, damit Salient-Standard greift */
        /* padding-left: 0px !important;
        padding-right: 0 !important; */
        padding-left: 0.7rem !important;
    }
    
    /* img crop fix */
    .text-anim-container.startrow .row-bg.viewport-desktop img.row-bg-img {
      overflow: visible !important;
      width: 200% !important;
      height:65% !important;
      padding-top:40% !important;
      margin-left:-30% !important;
      /* margin-left:-50% !important; */
    }
}

/*-----------------------------------------------------------------------------------*/
/* newsletter home	 */
/*-----------------------------------------------------------------------------------*/


#newsletter .row_col_wrap_12.span_12.light   {
  padding:5% !important;
}

/*-----------------------------------------------------------------------------------*/
/* kacheln zoom off	 */
/*-----------------------------------------------------------------------------------*/

@media (max-width: 767px){

  /* Auszoomen verhindern */
  .nectar-sticky-media-section__content-section{
    transform: none !important;
    scale: none !important;
  }

}

/*-----------------------------------------------------------------------------------*/
/* responsive misc	 */
/*-----------------------------------------------------------------------------------*/

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
  h3 {
    line-height:1.2 !important;
  }
  
  body.post-template-default .featured-media-under-header__content .entry-title {
    font-size:1.8rem;
    line-height: 1.1;
  }
  
  .home-first {
    width: 100% !imporant;
  }
  
  .topkontakt a {
    padding-right:0 !important;
  }
} 

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
  
} 

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
  
} 

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
  
} 

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
  
}


/*-----------------------------------------------------------------------------------*/
/* home loader hero	 */
/*-----------------------------------------------------------------------------------*/

/* Verhindert das Aufblitzen beim Laden */
.home-loader {
    /* opacity: 0;
    visibility: hidden;
    will-change: transform, opacity; */
}