.elementor-kit-12{--e-global-color-primary:#636C2A;--e-global-color-secondary:#2B4372;--e-global-color-text:#000000;--e-global-color-accent:#B8842A;--e-global-color-da9b70b:#FFFFFF;--e-global-color-26b8c1d:#EFEFEF;--e-global-color-a4e133c:#F3F3F3;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:45px;--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-size:38px;--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-size:19px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Playfair Display";--e-global-typography-accent-font-size:30px;--e-global-typography-accent-font-weight:500;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-kit-12 button,.elementor-kit-12 input[type="button"],.elementor-kit-12 input[type="submit"],.elementor-kit-12 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );border-radius:20px 20px 20px 20px;}.elementor-kit-12 h1{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-kit-12 h2{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-12 h3{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:20px;--container-default-padding-right:20px;--container-default-padding-bottom:20px;--container-default-padding-left:20px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-12{--e-global-typography-primary-font-size:40px;--e-global-typography-secondary-font-size:33px;--e-global-typography-text-font-size:17px;--e-global-typography-accent-font-size:25px;font-size:var( --e-global-typography-text-font-size );}.elementor-kit-12 h1{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-12 h2{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-12 h3{font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-12 button,.elementor-kit-12 input[type="button"],.elementor-kit-12 input[type="submit"],.elementor-kit-12 .elementor-button{font-size:var( --e-global-typography-text-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-12{--e-global-typography-primary-font-size:35px;--e-global-typography-secondary-font-size:28px;font-size:var( --e-global-typography-text-font-size );}.elementor-kit-12 h1{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-12 h2{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-12 h3{font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-12 button,.elementor-kit-12 input[type="button"],.elementor-kit-12 input[type="submit"],.elementor-kit-12 .elementor-button{font-size:var( --e-global-typography-text-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --gold:#b8842a; --schwarz:#000000; --s-button-radius:30px; --s-fliesstext:Manrope; --s-button-abstand-ou:7px; --s-button-abstand-lr:29px; --weiss:#ffffff; --hellgrau:#efefef; --s-boxgap-v:20px; --s-linienfarbe:RGBA(206,211,213,1); --e-gv-9a43d91:1px; --e-gv-adee07b:1undefined; --blau:#2b4372; --s-headline:Playfair Display; --transparent:#ffffff00; --heller-grau:#f8f8f8; --gruen:#636c2a; --grid-gap:30px; }
/* Start custom CSS */@media (max-width: 425px) {
  .n2webp div#n2-ss-3 .n-uc-aBfMYzvtdyeq-inner {
    --n2bgimage: URL(//www.eladawien.com/silvester/wp-content/uploads/slider/cache/9cbb9c3a156666a6eee50d3e515de9f5/Privatpersonen_Slide.webp) !important;
  }
  .n2webp div#n2-ss-3 .n-uc-d2QmpToAEzCh-inner {
    --n2bgimage: URL(//www.eladawien.com/silvester/wp-content/uploads/slider/cache/f52c3595cf97ded05a77378e83a97e21/Slide_Unternehmen.webp) !important;
  }
  .n2webp div#n2-ss-3 .n-uc-XdrBQ4xLXeE6-inner {
    --n2bgimage: URL(//www.eladawien.com/silvester/wp-content/uploads/slider/cache/a50058ab7e279de7fd2fa6398ec06512/Bahn_Slide.webp) !important;
  }
}

@media (max-width: 767px) {
    .elementor .e-8aac897-148ee23 {
        border-top: 1px solid var(--s-linienfarbe) !important;
    }
  #leistungen .s-unt-angebot:not(:last-child) {
    border-top: 0px solid #ced3d5 !important;
    padding-top: 25px !important;
    padding-bottom: 0px !important;
        border-bottom: 1px solid #ced3d5;
  }
 

  /* keine Linie über dem ersten Block */
  #leistungen .s-unt-angebot:first-child {
    border-top: 0 !important;
  }

  /* Innenabstände der Bildspalten vereinheitlichen */
  #leistungen .halt-nr-bild {
    padding: 0 !important;
  }
  .s-prozess-title {
      font-size: 16px !important;
  }
}

@media (max-width: 767px) {
  .kosten-box {
    align-items: flex-start !important;
  }
}

@media (max-width: 767px) {
  .kosten-box > .e-button-base {
    align-self: flex-start !important;
    width: auto !important;
  }
}

.elementor .e-0c421f8-be3b0d4 {
    color: #b8842a !important;
}

#fixed-header-logo { overflow: hidden; }

.elementor-3457 img { max-width: 100%; height: auto; }



/*Zitatkästen im Startseiten-Slider ausblenden */
.s-slide-zitatbox {
    display: none;
}

.elementor-widget-off-canvas .e-off-canvas {
  z-index: 100000 !important;
}
.elementor-widget-off-canvas .e-off-canvas__overlay {
  background-color: rgba(43, 67, 114, .45) !important;
}
.elementor-widget-off-canvas .e-off-canvas__main,
.elementor-widget-off-canvas .e-off-canvas__content {
  background-color: #F7F8F6 !important;
  min-height: 100%;
}


@media (orientation: landscape) and (max-width: 900px),
       (orientation: portrait) and (max-width: 600px) {
  #n2-ss-3 .s-slidecol-bg-gradient {
    background: #f3f3f3 !important;
  }
}



/* === Über-mich-Seite: aktiver Menüpunkt fett === */
.elementor-nav-menu .menu-item-92.current-menu-item > a {
  font-weight: 700 !important;
}


/* === Startseiten-Slider: Hintergrundbilder der Slide-Spalten ===
   Radius identisch zu den Hero-Bildern. Wert nur hier pflegen. */
#n2-ss-3 {
  --s-slidecol-radius: 150px 0;   /* <-- Hero-Wert eintragen */
}

/* Bild-Ebene: gerundet */
#n2-ss-3 .s-slidecol-bg-gradient > .n2-ss-layer-col {
  border-radius: var(--s-slidecol-radius) !important;
}

/* Verlaufs-Ebene darunter: eckig, füllt die Ecke */
#n2-ss-3 .s-slidecol-bg-gradient {
  border-radius: 0 !important;
}

div#n2-ss-3 .n2-ss-button-container span {
    color: var(--gold);
}


.qm-u {
content: "„";
    color: #fff;
    font-size: 78px;
    font-family: "Playfair Display", Sans-serif;
    line-height: 1.7em;
    margin-left: -38px;
    margin-right: 5px;
    position: absolute;
    margin-top: -78px;
}

.qm-o {
      content: "“";
    color: #fff;
    font-size: 78px;
    position: absolute;
font-family: "Playfair Display", Sans-serif;
    line-height: 1.7em;
    margin-top: -45px;
    margin-left: -10px;  
}


.st-timeline{ position:relative; }

/* durchgehende Linie – überbrückt auch die Container-Abstände */
.st-timeline::before{
  content:""; position:absolute; left:154px; top:14px; bottom:14px;
  width:1px; background:#E3E3E3;
}

/* Punkt pro Station */
.st-tl-item{ position:relative; }
.st-tl-item::before{
  content:""; position:absolute; left:106px; top:35px;
  width:13px; height:13px; border-radius:50%;
  background:#F3F3F3; border:1.6px solid #B8842A;
  z-index:1;
}

/* Badge „AKTUELL" – direkt im Titelfeld der Überschrift als HTML einsetzbar */
.st-now{
  display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.05em;
  background:#B8842A; color:#fff; border-radius:3px;
  padding:.15em .6em; margin-left:.5rem; vertical-align:.18em;
}

@media (max-width:767px){
  .st-timeline::before{ left:9px; }
  .st-tl-item::before{ left:3px; top:2px; }
}









.overflow-hidden {
    overflow: hidden;
}
    
    .s-slide-zitatbox {
    margin-bottom: -50px !important
    ;
}

.s-slide-zitatbox .n2-ss-layer-row.n2-ss-layer-with-background {
  border-radius: 0 40px !important;
}

.s-slide-zitatbox.blau .n2-ss-layer-row.n2-ss-layer-with-background {
     background-image: linear-gradient(180deg, #2c4373a3 0%, #2b4372 63%); 
}
.s-slide-zitatbox.gruen .n2-ss-layer-row.n2-ss-layer-with-background {
    background-image: linear-gradient(180deg, #626b2ac9 0%, #636c2a 63%);
}
.n2-ss-layer-col.n2-ss-layer-with-background.n2-ss-layer-content.n-uc-d2QmpToAEzCh-inner,
.n2-ss-layer-col.n2-ss-layer-with-background.n2-ss-layer-content.n-uc-aBfMYzvtdyeq-inner {
    border-radius: 35% 0;
}






/* Clip-Ebenen offen – Maske bleibt geschlossen */
#n2-ss-3 .n2-ss-slider-2,
#n2-ss-3 .n2-ss-slider-3,
#n2-ss-3 .n2-ss-slide,
#n2-ss-3 .n2-ss-layers-container,
#n2-ss-3 .s-slide-zitatbox,
.elementor-element-5618fc0,
.elementor-element-43a828e > .elementor-widget-container {
  overflow: visible !important;
}

/* Maske: clippt die Fahrt, wird aber selbst nie verschoben */
#n2-ss-3 .s-slide-zitatbox > .n2-ss-layer-mask {
  overflow: hidden !important;
  transform: none !important;
  border-radius: 0 40px;
}

/* Überhang nach unten */
#n2-ss-3 .s-slide-zitatbox {
  margin-bottom: -50px !important;
}

#n2-ss-3 .s-slide-zitatbox .n2-ss-layer-row.n2-ss-layer-with-background {
  border-radius: 0 40px !important;
}

/* Slide-up – läuft bei jedem Slide-Wechsel neu */
#n2-ss-3 .n2-ss-slide-active .s-slide-zitatbox .n2-ss-layer-row.n2-ss-layer-with-background {
  animation: zitat-slide-up .6s cubic-bezier(.25,.46,.45,.94) .3s both;
}

@keyframes zitat-slide-up {
  from { transform: translateY(100%); }
  to   { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  #n2-ss-3 .n2-ss-slide-active .s-slide-zitatbox .n2-ss-layer-row.n2-ss-layer-with-background {
    animation: none;
  }
}







.s-slidecol-bg-gradient {
    background: linear-gradient(135deg, #f3f3f3 0%, rgba(233,237,240,0) 100%);
    /*background: linear-gradient(90deg, #f3f3f3 50%, #fff 100%);*/
}
#n2-ss-3 .s-slidecol-bg-gradient,
#n2-ss-3 .s-slidecol-bg-gradient > .n2-ss-layer-col {
  background-color: transparent !important;
}

#themen-timeline{
  --tl-gruen: var(--gruen);                    
  --tl-linie: var(--s-linienfarbe);                 
  --tl-gap:   var(--column-gap, 20px);    
}

/* Nummern 01–07 */
#themen-timeline .elementor-icon-box-title,
#themen-timeline .elementor-icon-box-title a{
  color: var(--tl-gruen);
}

/* Kreise */
#themen-timeline .elementor-icon{
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 50%;
  transition: background-color .2s ease;
}
#themen-timeline .elementor-icon svg{
  fill:  var(--gruen); 
}
#themen-timeline .s-prozess-box:hover .elementor-icon{
  background:  var(--gruen); 
}

/* Verbindungslinien */
#themen-timeline .elementor-icon-box-icon{
  position: relative;
}
#themen-timeline .s-prozess-box:not(:last-child) .elementor-icon-box-icon::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + var(--tl-gap));
  height: 1px;
  background: var(--tl-linie);
  transform: translateY(-50%);
  z-index: 0;
}

/* Tablet und Mobil: Grid bricht um, Linien weg */
@media (max-width: 1024px){
  #themen-timeline .s-prozess-box .elementor-icon-box-icon::after{
    display: none;
  }
}






.s-iconboxes {
  --line-gap: 50px;   /* muss dem Spaltenabstand des Grids entsprechen */
  --line-color: rgba(0,0,0,.12);
}

.s-iconboxes > .elementor-element {
  position: relative;
}

.s-iconboxes > .elementor-element::before {
  content: "";
  position: absolute;
  left: calc(var(--line-gap) / -2);
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--line-color);
}

@media (max-width: 1024px) {
  .s-iconboxes > .elementor-element::before {
    display: none;
  }
}


/* === Nummernkreis am Bild ============================ */
.halt-nr-bild{
  position: relative;      /* Bezugspunkt */
  overflow: visible;
}

.halt-nr-bild::before{
  content: var(--halt-nr, "01");

  position: absolute;
  top: 0;
  left: 0;
  translate: 30% 30%;    /* Kreismittelpunkt auf die Bildecke */
  z-index: 2;

  /* beide Maße explizit – kein aspect-ratio */
  width:  clamp(56px, 6vw, 120px);
  height: clamp(56px, 6vw, 120px);

  display: grid;
  place-items: center;

  background: #fff;
  border: 1px solid #7d8c4a;
  border-radius: 50%;

  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size: clamp(13px, 1.1vw, 20px);
  letter-spacing: .08em;
  line-height: 1;
  color: #5f6b34;
}

/* gespiegelte Sektion */
.halt-nr-bild.nr-rechts::before{
  left: auto;
  right: 0;
  translate: -30% 30%;
}

/* Nummern */
.nr-01{ --halt-nr: "01"; }
.nr-02{ --halt-nr: "02"; }
.nr-03{ --halt-nr: "03"; }
.nr-04{ --halt-nr: "04"; }
.nr-05{ --halt-nr: "05"; }
.nr-06{ --halt-nr: "06"; }
.nr-07{ --halt-nr: "07"; }
.nr-08{ --halt-nr: "08"; }


.faq summary.e-n-accordion-item-title {
        flex-direction: row-reverse;
    justify-content: space-between;
}


/* Grüne Variante des Schritte-Bands */
.s-costband-gruen .s-cost-ring {
  border-color: #636c2a !important;
  color: #636c2a !important;
}
.s-costband-gruen .s-cost-ring p {
  color: #636c2a !important;
}
/* Linie + Punkte – Selektoren nach DevTools-Befund anpassen */
.s-costband-gruen .s-cost-ringrow::before,
.s-costband-gruen .s-cost-ringrow::after {
  background-color: #636c2a !important;
  border-color: #636c2a !important;
}




@media (max-width: 767px) {
    .s-prozess-title {
        font-size: 20px;
    }
    .s-prozess-box {
        padding-bottom: 30px !important;
    }}
  
  
  
    
@media (min-width: 768px) and (max-width: 1024px){

  .s-costband.s-costband.display-grid-tablet{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0 !important;                    /* Ringe mittig, Linie schließt bündig an */
    row-gap: var(--row-gap, 100px) !important;    /* Zeilenabstand – hier justieren */
    align-items: start;
  }

  .s-costband.display-grid-tablet .s-cost-item{
    margin: 0 !important;
  }

  /* Linie + Punkt nur beim linken Item einer Zeile,
     und nur wenn rechts daneben wirklich ein Item steht */
  .s-costband.display-grid-tablet .s-cost-item:nth-child(odd):has(+ .s-cost-item) .s-cost-ringrow::before,
  .s-costband.display-grid-tablet .s-cost-item:nth-child(odd):has(+ .s-cost-item) .s-cost-ringrow::after{
    display: block;
  }}
    




.e-loop-item-1724 img.s-loop-logo {
    height: 60px;
    max-height: 60px;
    width: auto;
    object-fit: contain;
}

.elementor .e-76c32f8-95e3428 {
    justify-content: space-between;
}


.elementor-element-2163d85 {
    border-top: 0;
}





.zitat-blauer-txt.elementor-blockquote--skin-boxed .elementor-blockquote,
.zitat-gruener-txt.elementor-blockquote--skin-boxed .elementor-blockquote {
    padding: 20px 0;
}

.zitat-blauer-txt.elementor-widget-blockquote .elementor-blockquote__content::before,
.zitat-blauer-txt.elementor-widget-blockquote .elementor-blockquote__content::after
{
    color: var(--e-global-color-secondary);
}

.zitat-gruener-txt.elementor-widget-blockquote .elementor-blockquote__content::before,
.zitat-gruener-txt.elementor-widget-blockquote .elementor-blockquote__content::after
{
    color: var(--e-global-color-primary);
}



/* ============================================================
   Kostenband – Ringe, Verbindungslinie, Punkte
   ============================================================ */
.s-costband{
  --brand: #2b4372;
  --line-color: #b3bccd;
  --ring-bg: #ffffff;
  --dot: 10px;
  --text-pad: 14px;   /* Luft für den Text zwischen den Spalten */
}

.s-costband.s-costband{
  display: flex;
  align-items: flex-start;
  gap: 0 !important;
}

/* Padding hart auf 0 – hier lag der horizontale Versatz */
.s-costband .s-cost-item{
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 !important;
}

@media (min-width: 1025px) {
    .s-costband .s-cost-item {
          margin: 0 !important;
}}

/* Textluft stattdessen direkt am Text – Ringzeile bleibt voll breit */
.s-costband .s-cost-item > h3,
.s-costband .s-cost-item > p{
  padding-inline: var(--text-pad, 14px);
}

.s-costband .s-cost-item .s-cost-ringrow{
  position: relative;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible;
}

.s-costband .s-cost-item .s-cost-ring{
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  aspect-ratio: 1 / 1;
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ring-bg);
  border: 1.5px solid var(--brand);
  border-radius: 50%;
}
.s-costband .s-cost-ring p{
  color: var(--brand);
  margin: 0 !important;
  line-height: 1;
}

/* Linie: Ringmitte → Ringmitte, endet unter dem nächsten Ring 
.s-costband .s-cost-item:not(:last-child) .s-cost-ringrow::before{
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background: var(--line-color);
  transform: translateY(-50%);
}

 Punkt: exakt zwischen den beiden Ringmitten 
.s-costband .s-cost-item:not(:last-child) .s-cost-ringrow::after{
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 100%;
  width: var(--dot, 10px);
  height: var(--dot, 10px);
  border-radius: 50%;
  background: var(--brand);
  transform: translate(-50%, -50%);
}*/

/* Linie: Ringmitte → Ringmitte, nur wenn ein weiteres Item folgt */
.s-costband .s-cost-item:has(~ .s-cost-item) .s-cost-ringrow::before{
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background: var(--line-color);
  transform: translateY(-50%);
}

/* Punkt: exakt zwischen den beiden Ringmitten */
.s-costband .s-cost-item:has(~ .s-cost-item) .s-cost-ringrow::after{
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 100%;
  width: var(--dot, 10px);
  height: var(--dot, 10px);
  border-radius: 50%;
  background: var(--brand);
  transform: translate(-50%, -50%);
}




/* ab Tablet: gestapelt, ohne Linie und Punkte */
@media (max-width: 1024px){
  .s-costband.s-costband{ flex-direction: column; }
  .s-costband .s-cost-ringrow::before,
  .s-costband .s-cost-ringrow::after{ display: none; }
}





/* Trenner als Pfeil nach rechts */
hr.e-divider-base.s-arrow-line{
  --ln-color: #ced3d5;   /* Grau  */
  --ln-thick: 1px;       /* Linienstärke */
  --ln-arrow: 10px;      /* Größe der Spitze */

  position: relative;
  overflow: visible;     /* sonst wird die Spitze geclippt */
  border: 0;
  height: var(--ln-thick);
  background: var(--ln-color);
}

hr.e-divider-base.s-arrow-line::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: var(--ln-arrow);
  height: var(--ln-arrow);
  border-top: var(--ln-thick) solid var(--ln-color);
  border-right: var(--ln-thick) solid var(--ln-color);
  transform: translateY(-50%) rotate(45deg);
}

/* Off-Canvas: als echtes Overlay über der Seite */
#off-canvas-6e7746d {
  z-index: 100000 !important;
}

#off-canvas-6e7746d .e-off-canvas__overlay {
  background-color: rgba(43, 67, 114, .5) !important;
}

#off-canvas-6e7746d .e-off-canvas__main {
  background-color: #F7F8F6 !important;
}

#off-canvas-6e7746d .e-off-canvas__content,
#off-canvas-6e7746d .elementor-element-9704940 {
  background-color: #F7F8F6 !important;
  min-height: 100%;
}

#off-canvas-6e7746d .e-off-canvas__main {
  background-color: #F7F8F6;
}
#off-canvas-6e7746d .e-off-canvas__overlay {
  background-color: rgba(43, 67, 114, .45);
}

.mb-0 p {
    margin-bottom: 0;
}

.station,
.terminus {
  scroll-margin-top: 100px;
}



.back-to-top {
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .3s ease, transform .3s ease, visibility 0s;
}


.hero-zitat::before {
    content: "„";
    color: #fff;
    font-size: 78px;
font-family: "Playfair Display", Sans-serif;
    line-height: 1.7em;
    margin-left: -38px;
    margin-right: 5px;
    position: absolute;
    margin-top: -78px;
}

.hero-zitat::after {
    content: "“";
    color: #fff;
    font-size: 78px;
    position: absolute;
font-family: "Playfair Display", Sans-serif;
    line-height: 1.7em;
    margin-top: -45px;
    margin-left: -10px;
}

/* Wrapper = Maske: schneidet den Kasten während der Fahrt ab
   (entspricht der .n2-ss-layer-mask im Smart Slider) */
.hero-zitat-col {
  overflow: hidden !important;
}

/* Zitatkasten: kommt von oben herein.
   Smart-Slider-Werte: y -400px, Delay 0.3s, Dauer 0.6s, easeOutQuad */
.hero-zitat-kasten {
  animation: hero-zitat-slide-in .6s cubic-bezier(.25, .46, .45, .94) .3s both;
}

@keyframes hero-zitat-slide-in {
  from { transform: translateY(400px); }
  to   { transform: translateY(0); }
}

/* Barrierefreiheit: wie im Slider Bewegung reduzieren */
@media (prefers-reduced-motion: reduce) {
  .hero-zitat-kasten {
    animation: none;
  }
}




/* --- Mittellinie --- */
.track { position: relative; }
.track::before {
  content: "";
  position: absolute; top: 0; bottom: 0;
  left: 50%; transform: translateX(-50%);
  width: 1.5px; background: #CED3D5;
  z-index: 0;
}
.rail-progress {
  position: absolute; top: 0;
  left: 50%; transform: translateX(-50%);
  width: 1.5px; height: 0;
  background: #2B4372;
  z-index: 0;
}

/* --- Haltepunkt-Marker mittig, auf Höhe der Überschrift --- */
.station { position: relative; }
.station::before {
  content: "";
  position: absolute; left: 50%; 
  top: -6px;
  transform: translateX(-50%);
  width: 15px; height: 15px; border-radius: 50%;
  background: #fff; border: 1.5px solid #2B4372;
  z-index: 2;
}
.station.reached::before { background: #2B4372; }



/* --- Inhalte legen sich über die Linie --- */
.halt-bild,
.quote-stop .elementor-blockquote,
.s-highlight-kl {
  position: relative; z-index: 1;
}

/* --- Prellbock mittig --- */
.terminus { position: relative; }
.terminus::before {
  content: "";
  position: absolute; left: 50%; transform: translateX(-50%);
  top: 0;
  width: 23px; height: 4px;
  background: #2B4372; z-index: 2;
}









a.e-c6e16f9-2de782b.e-svg-base {
    color: #000;
}

.fixed-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 999;
  background: #fff;
  box-shadow: 0 2px 14px rgba(43, 67, 114, 0.10);
  transform: translateY(-100%);
  visibility: hidden;
  transition: transform .35s ease, visibility 0s .35s;
}
.fixed-header.is-visible {
  transform: translateY(0);
  visibility: visible;
  transition: transform .35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .fixed-header, .fixed-header.is-visible { transition: none; }
}



.elementor-widget-blockquote .elementor-blockquote__content::before {
    content: "„";
  color: #fff;
  font-size: 78px;
}
.elementor-widget-blockquote .elementor-blockquote__content::after {
content: "“";
  color: #fff;
   font-size: 78px;
   position: absolute;
}



/* --- Horizontale Verbindungslinie --- */

@media (min-width: 1025px) {
.route-map .e-con-inner > .elementor-widget-icon-box:not(:last-child) .elementor-icon-box-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%);
  width: calc(100% + var(--map-gap));
  height: 1.5px;
  background: #C9CDCB;
  z-index: 0;
}}


.route-map .e-con-inner {
  --map-gap: 20px;   /* column-gap des Grid-Containers */
}

.route-map .elementor-icon-box-icon {
  position: relative;
  align-self: stretch;              /* volle Zellenbreite als Bezugsgröße */
}



/* Desktop: 6 pro Reihe */
.route-map .elementor-widget-icon-box:nth-child(6n) .elementor-icon-box-icon::after {
  display: none;
}

/* Tablet: 3 pro Reihe */
@media (max-width: 1024px) {
  .route-map .elementor-widget-icon-box:nth-child(3n) .elementor-icon-box-icon::after {
    display: none;
  }
}

/* Smartphone: 2 pro Reihe */
@media (max-width: 767px) {
  .route-map .elementor-widget-icon-box:nth-child(3n) .elementor-icon-box-icon::after {
    display: block;
  }
  .route-map .elementor-widget-icon-box:nth-child(2n) .elementor-icon-box-icon::after {
    display: none;
  }
}

/* --- Kreise liegen auf der Linie und decken sie ab --- */
.route-map .elementor-icon {
  position: relative;
  z-index: 1;
}
.route-map .elementor-icon svg {
  background: #F7F8F6;
  border-radius: 50%;
  transition: background .15s ease, fill .15s ease;
}
.route-map .elementor-widget-icon-box:hover .elementor-icon svg,
.route-map .elementor-widget-icon-box:focus-within .elementor-icon svg {
  fill: #2b4372 !important;
  background: #2b4372;
}

/* --- Kreise: liegen auf der Linie, decken sie ab --- */
.route-map .elementor-icon {
  position: relative;
  z-index: 1;
}
.route-map .elementor-icon svg {
  background: #F7F8F6;              /* deine Seitenhintergrundfarbe */
  border-radius: 50%;
  transition: background .15s ease, fill .15s ease;
}

/* --- Hover/Fokus: Kreis füllt sich --- */
.route-map .elementor-widget-icon-box:hover .elementor-icon svg,
.route-map .elementor-widget-icon-box:focus-within .elementor-icon svg {
  fill: #2b4372 !important;
  background: #2b4372;
}



@media (prefers-reduced-motion: reduce) {
  .spin-logo, .elementor-motion-effects-element { transform: none !important; }
}




/* Menütext in der Leitfarbe */
li.leit-u > a { color: #2b4372 !important; font-weight: 600 !important; }
li.leit-p > a { color: #636c2a !important; font-weight: 600 !important; }

li.leit-u > a,
li.leit-p > a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  padding-left: 4px !important;   /* Bezugspunkt für den Kreis */
  white-space: nowrap;
}



/* Offener Kreis um den Anfangsbuchstaben – ersetzt Elementors ::after.
   Wird absolut über dem ersten Buchstaben positioniert,
   kein Span im Menünamen nötig. */
li.leit-u > a::after,
li.leit-p > a::after {
  content: "" !important;
  position: absolute !important;
  left: 35px !important;
  right: auto !important;
  top: 42% !important;
  bottom: auto !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  transition: none !important;
  opacity: 1 !important;
  background: none !important;
  background-color: transparent !important;
  border: 2.5px solid currentColor !important;
  border-radius: 50% !important;
  -webkit-mask: conic-gradient(#000 0 55deg, transparent 55deg 118deg, #000 118deg) !important;
          mask: conic-gradient(#000 0 55deg, transparent 55deg 118deg, #000 118deg) !important;
}

/* Hover: keine Elementor-Animation, nur dezentes Abdunkeln */
li.leit-u > a:hover::after,
li.leit-p > a:hover::after {
  transform: translateY(-50%) !important;
}
li.leit-u > a:hover,
li.leit-p > a:hover { opacity: .8; }




.elementor-nav-menu--main .elementor-nav-menu a, 
.elementor-nav-menu--main .elementor-nav-menu a.highlighted, .elementor-nav-menu--main .elementor-nav-menu a:focus, .elementor-nav-menu--main .elementor-nav-menu a:hover {
    padding: 13px 10px 16px 12px !important;
}




/* Öffnungswinkel des Kreises als animierbare Eigenschaften registrieren */
@property --lgap1 { syntax:'<angle>'; initial-value:55deg;  inherits:false; }
@property --lgap2 { syntax:'<angle>'; initial-value:118deg; inherits:false; }

li.leit-u > a{ color:#2b4372 !important; font-weight:600 !important; }
li.leit-p > a{ color:#636c2a !important; font-weight:600 !important; }

li.leit-u > a, li.leit-p > a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  padding-left:4px !important;
  white-space:nowrap;
}



li.leit-u > a::before, li.leit-p > a::before{
  content:"" !important;
  position:static !important;
  display:inline-block !important;
  width:24px !important;
  height:12px !important;
  margin:0 6px 0 0 !important;
  opacity:1 !important;
  border:0 !important;
  border-radius:0 !important;
 background-image:
    radial-gradient(circle 4.5px at 4.5px 50%, currentColor 98%, transparent 100%),
    linear-gradient(currentColor, currentColor) !important;
  background-position: 0 0, 9px 50% !important;
  background-size: 100% 100%, 15px 2.5px !important;
  background-repeat: no-repeat !important;
  /* Rückweg: erst zurückschwenken, dann Linie wieder ausfahren */
  transition:
    transform .5s cubic-bezier(.5,0,.3,1) .22s,
    background-size .3s ease .45s !important;
    background-color: transparent !important;
}

/* Offener Kreis – dreht synchron um denselben Punkt.
   transition HIER = Rückweg: 1. Farbe raus (sofort, .2s),
   2. Rückschwenk (ab .22s), 3. Ring öffnet sich unterwegs (ab .3s). */
li.leit-u > a::after, li.leit-p > a::after{
  content:"" !important;
  position:absolute !important;
  left:35px !important;
  right:auto !important;
  top:50% !important;
  bottom:auto !important;
  width:40px !important;
  height:40px !important;
  margin:0 !important;
  transform:translateY(-50%) rotate(0deg) !important;
  transform-origin:-14px 50% !important;
  opacity:1 !important;
  background:none !important;
  background-color:transparent !important;
  border:2.5px solid currentColor !important;
  border-radius:50% !important;
  --lgap1:55deg;
  --lgap2:118deg;
  -webkit-mask:conic-gradient(#000 0 var(--lgap1), transparent var(--lgap1) var(--lgap2), #000 var(--lgap2)) !important;
  transition:
    background-color .2s ease 0s,
    transform .5s cubic-bezier(.5,0,.3,1) .22s,
    --lgap1 .4s ease .3s,
    --lgap2 .4s ease .3s !important;
}

/* HOVER HINEIN: die transitions HIER übersteuern für den Hinweg:
   Schwenk sofort, Ring schließt während der Bewegung,
   Füllung erst nach Ankunft (.5s Verzögerung). */
li.leit-u > a:hover::before, li.leit-p > a:hover::before{
  transform:rotate(-62deg) !important;
  transition:transform .5s cubic-bezier(.5,0,.3,1) 0s !important;
}
li.leit-u > a:hover::after, li.leit-p > a:hover::after{
  transform:translateY(-50%) rotate(-62deg) !important;
  --lgap1:87deg;
  --lgap2:87deg;
  background-color:currentColor !important;
  transition:
    transform .5s cubic-bezier(.5,0,.3,1) 0s,
    --lgap1 .38s ease 0s,
    --lgap2 .38s ease 0s,
    background-color .25s ease .5s !important;
}

@media (prefers-reduced-motion: reduce){
  li.leit-u > a::before, li.leit-p > a::before,
  li.leit-u > a::after,  li.leit-p > a::after{ transition:none !important; }
}





/* Slider */

.n2webp div#n2-ss-2 .n-uc-ma7TGUrrinMm-inner,
.n2webp div#n2-ss-3 .n-uc-XdrBQ4xLXeE6-inner,
.n2webp div#n2-ss-2 .n-uc-MNkXt2o3cKeK-inner,
div#n2-ss-3 .n-uc-u5VlACZeQSoI-inner 
{
border-radius: 35% 0;
}

div#n2-ss-2 .n-uc-GB8an0W2R1vM-inner > .n2-ss-layer-row-inner > .n2-ss-layer[data-sstype="col"],
{
background-color: #cad0dc;
}





div#n2-ss-2 .n-uc-OEnlqJzTJNh9-inner {
    position: relative;
}

div#n2-ss-2 .n-uc-OEnlqJzTJNh9-inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 20px;
    right: 20px;
    border-top: 1px solid rgba(206, 211, 213, 1);
}

div#n2-ss-2 .s-border-r {
  border-width: 0;
  background-image: linear-gradient(rgba(206,211,213,1), rgba(206,211,213,1));
  background-repeat: no-repeat;
  background-position: 20px 100%;                 /* 10px von links, ganz unten */
  background-size: calc(100% - 20px) 1px;         /* Breite minus Abstand, 1px hoch */
}

.s-border {
    background-image: linear-gradient(rgba(206, 211, 213, 1), rgba(206, 211, 213, 1));
    background-size: calc(100% - 35px) 1px;
    background-position: top center;
    background-repeat: no-repeat;
}

/* === Header-Marker: beim Hover etwas kleiner === */
li.leit-u > a,
li.leit-p > a {
  --marker-hover-scale: .75;   /* hier justieren: 1 = wie bisher */
}

li.leit-u > a:hover::after,
li.leit-p > a:hover::after {
  transform:
    translateY(-50%)
    rotate(-62deg)
    scale(var(--marker-hover-scale)) !important;
}


li.leit-u > a:hover::before,
li.leit-p > a:hover::before {
  transform: rotate(-62deg) scale(var(--marker-hover-scale)) !important;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Playfair Display';
	font-display: auto;
	src: url('https://www.silvesterstoeger.net/wp-content/uploads/2026/07/PlayfairDisplay-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Manrope';
	font-display: auto;
	src: url('https://www.silvesterstoeger.net/wp-content/uploads/2026/07/Manrope-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */