.elementor-kit-12{--e-global-color-primary:#C9BBA7;--e-global-color-accent:#1B493A;--e-global-color-secondary:#253630;--e-global-color-text:#BEBCBC;--e-global-color-1d8d9e7:#2D2D2D;--e-global-color-02418c3:#F3F3F2;--e-global-color-dc41830:#02010100;--e-global-color-701c49c:#090C1326;--e-global-color-03f6267:#F0ECE8;--e-global-color-8fb35df:#EFF1F1;--e-global-color-d13b2cb:#00161A;--e-global-color-e4f84ed:#0F1925;--e-global-typography-primary-font-family:"Hanken Grotesk";--e-global-typography-primary-font-size:15;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-family:"Hanken Grotesk";--e-global-typography-secondary-font-size:15;--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-text-font-family:"Hanken Grotesk";--e-global-typography-text-font-size:clamp(1rem, 0.9692rem + 0.1299vw, 1.125rem);--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Gabarito";--e-global-typography-accent-font-size:clamp(1rem, 0.9692rem + 0.1299vw, 1.125rem);--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-2f1f0a4-font-family:"League Spartan";--e-global-typography-2f1f0a4-font-size:170px;--e-global-typography-2f1f0a4-font-weight:700;--e-global-typography-2f1f0a4-line-height:1em;--e-global-typography-1397ab5-font-family:"League Spartan";--e-global-typography-1397ab5-font-size:100px;--e-global-typography-1397ab5-font-weight:700;--e-global-typography-1397ab5-text-transform:capitalize;--e-global-typography-1397ab5-line-height:1em;--e-global-typography-b0d1641-font-family:"League Spartan";--e-global-typography-b0d1641-font-size:clamp(2.5rem, 2.0373rem + 1.9481vw, 4.375rem);--e-global-typography-b0d1641-font-weight:700;--e-global-typography-b0d1641-text-transform:uppercase;--e-global-typography-b0d1641-line-height:1.2em;--e-global-typography-b0d1641-letter-spacing:0px;--e-global-typography-e8cf200-font-family:"League Spartan";--e-global-typography-e8cf200-font-size:clamp(1.875rem, 1.5203rem + 1.4935vw, 3.3125rem);--e-global-typography-e8cf200-font-weight:700;--e-global-typography-e8cf200-text-transform:uppercase;--e-global-typography-e8cf200-line-height:1.2em;--e-global-typography-e8cf200-letter-spacing:0px;--e-global-typography-ed0918f-font-family:"League Spartan";--e-global-typography-ed0918f-font-size:clamp(1.625rem, 1.4245rem + 0.8442vw, 2.4375rem);--e-global-typography-ed0918f-font-weight:700;--e-global-typography-ed0918f-text-transform:uppercase;--e-global-typography-ed0918f-line-height:1.3em;--e-global-typography-ed0918f-letter-spacing:0px;--e-global-typography-8e8c1aa-font-family:"League Spartan";--e-global-typography-8e8c1aa-font-size:clamp(1.375rem, 1.4545rem + 0.4545vw, 2rem);--e-global-typography-8e8c1aa-font-weight:700;--e-global-typography-8e8c1aa-text-transform:uppercase;--e-global-typography-8e8c1aa-line-height:1.3em;--e-global-typography-8e8c1aa-letter-spacing:0px;--e-global-typography-6d0920f-font-family:"League Spartan";--e-global-typography-6d0920f-font-size:clamp(1.25rem, 1.1729rem + 0.3247vw, 1.5625rem);--e-global-typography-6d0920f-font-weight:400;--e-global-typography-6d0920f-text-transform:uppercase;--e-global-typography-6d0920f-line-height:1.3em;--e-global-typography-6d0920f-letter-spacing:0px;--e-global-typography-e013a3f-font-family:"League Spartan";--e-global-typography-e013a3f-font-size:clamp(1.25rem, 1.1729rem + 0.3247vw, 1.5625rem);--e-global-typography-e013a3f-font-weight:700;--e-global-typography-e013a3f-text-transform:uppercase;--e-global-typography-e013a3f-line-height:1.3em;--e-global-typography-e013a3f-letter-spacing:0px;--e-global-typography-11c499e-font-family:"League Spartan";--e-global-typography-11c499e-font-size:clamp(1.125rem, 1.0942rem + 0.1299vw, 1.25rem);--e-global-typography-11c499e-font-weight:400;--e-global-typography-11c499e-text-transform:uppercase;--e-global-typography-11c499e-line-height:1.3em;--e-global-typography-11c499e-letter-spacing:0px;--e-global-typography-c1aedf4-font-family:"League Spartan";--e-global-typography-c1aedf4-font-size:clamp(1.125rem, 1.0942rem + 0.1299vw, 1.25rem);--e-global-typography-c1aedf4-font-weight:700;--e-global-typography-c1aedf4-text-transform:uppercase;--e-global-typography-c1aedf4-line-height:1.3em;--e-global-typography-c1aedf4-letter-spacing:0px;--e-global-typography-0589757-font-family:"League Spartan";--e-global-typography-0589757-font-size:clamp(1.125rem, 1.0942rem + 0.1299vw, 1.25rem);--e-global-typography-0589757-font-weight:500;--e-global-typography-0589757-text-transform:uppercase;--e-global-typography-0589757-line-height:1em;--e-global-typography-0589757-letter-spacing:0px;--e-global-typography-0984d07-font-family:"League Spartan";--e-global-typography-0984d07-font-size:clamp(0.875rem, 0.8442rem + 0.1299vw, 1rem);--e-global-typography-0984d07-font-weight:400;--e-global-typography-0984d07-text-transform:uppercase;--e-global-typography-0984d07-line-height:1.2em;--e-global-typography-0984d07-letter-spacing:0px;--e-global-typography-b608a71-font-family:"League Spartan";--e-global-typography-b608a71-font-size:clamp(0.8125rem, 0.7971rem + 0.0649vw, 0.875rem);--e-global-typography-b608a71-font-weight:500;--e-global-typography-b608a71-text-transform:none;--e-global-typography-b608a71-line-height:1em;--e-global-typography-b608a71-letter-spacing:0px;--e-global-typography-86f2e86-font-family:"Figtree";--e-global-typography-86f2e86-font-size:clamp(0.8125rem, 0.7971rem + 0.0649vw, 0.875rem);--e-global-typography-86f2e86-font-weight:400;--e-global-typography-86f2e86-text-transform:none;--e-global-typography-86f2e86-line-height:1.4em;--e-global-typography-86f2e86-letter-spacing:0px;--e-global-typography-04d1973-font-family:"Figtree";--e-global-typography-04d1973-font-size:clamp(0.875rem, 0.8442rem + 0.1299vw, 1rem);--e-global-typography-04d1973-font-weight:400;--e-global-typography-04d1973-text-transform:none;--e-global-typography-04d1973-line-height:1.6em;--e-global-typography-04d1973-letter-spacing:0px;--e-global-typography-c7db8bc-font-family:"Figtree";--e-global-typography-c7db8bc-font-size:clamp(1rem, 0.9846rem + 0.0649vw, 1.0625rem);--e-global-typography-c7db8bc-text-transform:none;--e-global-typography-c7db8bc-line-height:1.6em;--e-global-typography-c7db8bc-letter-spacing:-0.1px;--e-global-typography-bcb282c-font-family:"Figtree";--e-global-typography-bcb282c-font-size:clamp(1.125rem, 1.0942rem + 0.1299vw, 1.25rem);--e-global-typography-bcb282c-font-weight:400;--e-global-typography-bcb282c-text-transform:none;--e-global-typography-bcb282c-line-height:1.7em;--e-global-typography-bcb282c-letter-spacing:-0.1px;--e-global-typography-5618c4a-font-family:"Figtree";--e-global-typography-5618c4a-font-size:clamp(1.25rem, 1.1729rem + 0.3247vw, 1.5625rem);--e-global-typography-5618c4a-font-weight:400;--e-global-typography-5618c4a-text-transform:none;--e-global-typography-5618c4a-line-height:1.7em;--e-global-typography-5618c4a-letter-spacing:-0.2px;--e-global-typography-7d5e806-font-family:"Figtree";--e-global-typography-7d5e806-font-size:clamp(1rem, 0.9692rem + 0.1299vw, 1.125rem);--e-global-typography-7d5e806-font-weight:400;--e-global-typography-7d5e806-line-height:1.7em;--e-global-typography-7d5e806-letter-spacing:-0.1px;background-color:var( --e-global-color-02418c3 );}.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-primary );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 );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-secondary );border-radius:0px 0px 0px 0px;padding:20px 30px 20px 30px;}.elementor-kit-12 button:hover,.elementor-kit-12 button:focus,.elementor-kit-12 input[type="button"]:hover,.elementor-kit-12 input[type="button"]:focus,.elementor-kit-12 input[type="submit"]:hover,.elementor-kit-12 input[type="submit"]:focus,.elementor-kit-12 .elementor-button:hover,.elementor-kit-12 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-02418c3 );border-radius:0px 0px 0px 0px;}.elementor-kit-12 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1330px;}.e-con{--container-max-width:1330px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1366px){.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-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:1024px){.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-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.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-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*=============================================*/
.elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}

/*=============================================*/

.square {
  aspect-ratio: 1;
  width: 100%;
}


/*=============================================
  Button: Icon-Rotation (Klasse: .btn-rotate-icon)
=============================================*/

/* 1) Icon bereits um 45° gegen den Uhrzeigersinn rotieren */
.btn-rotate-icon .elementor-button-icon {
  transform: rotate(-45deg);
  transition: transform 200ms ease;
}

/* 2) Bei Hover zurück auf 0° drehen */
.btn-rotate-icon:hover .elementor-button-icon {
  transform: rotate(0deg);
}




/*=============================================
  Root: Globale Variablen
=============================================*/
:root {
  /* Fluid Side Padding: Links & Rechts */
  --fluid-side-padding-min: 1rem;
  --fluid-side-padding-max: 5rem;

  /* Section-mid-m: Top & Bottom Padding (min 4rem, max 7rem) */
  --section-mid-m-padding-min: 4rem;
  --section-mid-m-padding-max: 7rem;

  /* Section-top-m: wie section-mid-m, aber padding-bottom = 0 */
  --section-top-m-padding-min: var(--section-mid-m-padding-min);
  --section-top-m-padding-max: var(--section-mid-m-padding-max);

  /* Section-bot-m: wie section-mid-m, aber padding-top = 0 */
  --section-bot-m-padding-min: var(--section-mid-m-padding-min);
  --section-bot-m-padding-max: var(--section-mid-m-padding-max);

  /* Section-mid-s: Top & Bottom Padding (min 3rem, max 4rem) */
  --section-mid-s-padding-min: 3rem;
  --section-mid-s-padding-max: 4rem;

  /* Section-top-s: wie section-mid-s, aber padding-bottom = 0 */
  --section-top-s-padding-min: var(--section-mid-s-padding-min);
  --section-top-s-padding-max: var(--section-mid-s-padding-max);

  /* Section-bot-s: wie section-mid-s, aber padding-top = 0 */
  --section-bot-s-padding-min: var(--section-mid-s-padding-min);
  --section-bot-s-padding-max: var(--section-mid-s-padding-max);
}

/*=============================================
  Fluid Side-Padding für alle Section-Klassen
=============================================*/
.section-mid-m,
.section-top-m,
.section-bot-m,
.section-mid-s,
.section-top-s,
.section-bot-s,
.section-side {
  padding-left: clamp(
    var(--fluid-side-padding-min),
    6.522vw - 0.217rem,
    var(--fluid-side-padding-max)
  ) !important;
  padding-right: clamp(
    var(--fluid-side-padding-min),
    6.522vw - 0.217rem,
    var(--fluid-side-padding-max)
  ) !important;
}

/*=============================================
  Section-mid-m: fluid Top/Bottom Padding
=============================================*/
.section-mid-m {
  padding-top: clamp(
    var(--section-mid-m-padding-min),
    1.087vw + 5.38rem,
    var(--section-mid-m-padding-max)
  ) !important;
  padding-bottom: clamp(
    var(--section-mid-m-padding-min),
    1.087vw + 5.38rem,
    var(--section-mid-m-padding-max)
  ) !important;
}

/*=============================================
  Section-top-m: wie mid-m, aber ohne bottom
=============================================*/
.section-top-m {
  padding-top: clamp(
    var(--section-top-m-padding-min),
    1.087vw + 5.38rem,
    var(--section-top-m-padding-max)
  ) !important;
  padding-bottom: 0 !important;
}

/*=============================================
  Section-bot-m: wie mid-m, aber ohne top
=============================================*/
.section-bot-m {
  padding-top: 0 !important;
  padding-bottom: clamp(
    var(--section-bot-m-padding-min),
    1.087vw + 5.38rem,
    var(--section-bot-m-padding-max)
  ) !important;
}

/*=============================================
  Section-mid-s: Top/Bottom Padding (min 3rem, max 4rem)
=============================================*/
.section-mid-s {
  padding-top: clamp(
    var(--section-mid-s-padding-min),
    0vw + var(--section-mid-s-padding-min),
    var(--section-mid-s-padding-max)
  ) !important;
  padding-bottom: clamp(
    var(--section-mid-s-padding-min),
    0vw + var(--section-mid-s-padding-min),
    var(--section-mid-s-padding-max)
  ) !important;
}

/*=============================================
  Section-top-s: Top Padding (min 3rem, max 4rem)
=============================================*/
.section-top-s {
  padding-top: clamp(
    var(--section-top-s-padding-min),
    0vw + var(--section-top-s-padding-min),
    var(--section-top-s-padding-max)
  ) !important;
  padding-bottom: 0 !important;
}

/*=============================================
  Section-bot-s: Bottom Padding (min 3rem, max 4rem)
=============================================*/
.section-bot-s {
  padding-top: 0 !important;
  padding-bottom: clamp(
    var(--section-bot-s-padding-min),
    0vw + var(--section-bot-s-padding-min),
    var(--section-bot-s-padding-max)
  ) !important;
}

/*=============================================
  Section-side: nur fluid Side-Padding,
  keine Top/Bottom-Vorgaben
=============================================*/
.section-side {
  /* Top & Bottom bleiben unverändert, steuerbar via Elementor */
}



/*=============================================
  Button: Icon-Rotation (Klasse: .btn-rotate-icon)
=============================================*/

/* 1) Icon bereits um 45° gegen den Uhrzeigersinn rotieren */
.btn-rotate-icon .elementor-button-icon {
  transform: rotate(-45deg);
  transition: transform 200ms ease;
}

/* 2) Bei Hover zurück auf 0° drehen */
.btn-rotate-icon:hover .elementor-button-icon {
  transform: rotate(0deg);
}




/*=============================================
  Button: Icon-Move (Klasse: .btn-move-icon)
=============================================*/

/* 1) Icon initial (ohne Verschiebung) */
.btn-move-icon .elementor-button-icon {
  transform: translateX(0);
  transition: transform 200ms ease;
}

/* 2) Bei Hover Xpx nach rechts verschieben */
.btn-move-icon:hover .elementor-button-icon {
  transform: translateX(3px);
}






/*Liquid-glass*/

.liquid-glass {

   backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px); /* Safari & iOS */
  
  box-shadow:
    /* 1. heller Inset-Schatten (unten/rechts)  */
    inset  2px  2px  1px -2px #ffffffb3,
    
    /* 2. heller Inset-Schatten (oben/links)   */
    inset -2px -2px  1px -2px #ffffffb3,
    
    /* 3. dunkler Außen-Schatten               */
          0px  8px 24px  0px #00000066,
    
    /* 4. weicher Inset-Glanz (unten)          */
    inset  0px  8px  8px  0px #ffffff99;
}


/* WP Forms Button 
.wpforms-submit {
    display: none !important;
}*/

/*Element absolut zentrieren*/

/* Eltern-Container */
.container-center {
  position: relative;
}

/* Kind-Element absolut zentriert */
.container-center .child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


/*Timeline Linie*/

/* 1) Wrapper: definiert nur die Verschiebung (Halbe Icon-Höhe) */
.timeline-container {
  position: relative;
  /* Stellschraube: halbe Höhe deines Icon-Kreises (z.B. 30px) */
  --line-offset: 30px;
}

/* 2) Linie: von top: var(--line-offset) mit Höhe = calc(100% − 2*offset) */
.timeline-container::before {
  content: "";
  position: absolute;
  top: var(--line-offset);
  /* statt bottom:0 nehmen wir Höhe, die die beiden Enden abschneidet */
  height: calc(100% - (2 * var(--line-offset)));
  left: calc(15% / 2);           /* Mitte der Icon-Spalte */
  transform: translateX(-50%);
  width: 2px;
  background-color: #e5e5e5;
}

/* 3) Jede Zeile als Flexbox, Icon & Text mittig */
.timeline-entry {
  display: flex;
  align-items: center;
  margin-bottom: 80px;          /* Abstand zwischen den Zeilen */
}

/* 4) Letzter Eintrag braucht natürlich keinen extra bottom-Abstand */
.timeline-entry:last-child {
  margin-bottom: 0px;
}

/* 5) Icon-Spalte (fix 15%) */
.timeline-entry .entry-icon {
  flex: 0 0 15%;
  text-align: center;
  position: relative;           /* damit Icon über der Linie liegt */
  z-index: 1;
}

/* 6) Text-Spalte (restliche 85%) */
.timeline-entry .entry-content {
  flex: 1;
  padding-left: 20px;           /* Abstand Icon → Text */
}

/* 7) Dein Icon-Kreis */
.timeline-entry .entry-icon .elementor-icon,
.timeline-entry .entry-icon .elementor-icon-box-icon {
  background-color: #FBF4E6;
  border-radius: 50%;
  padding: 15px;                /* Innen-Abstand für Kreisgröße */
  display: inline-block;
}/* End custom CSS */