.elementor-kit-1324{--e-global-color-primary:#8CE700;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#3A3736;--e-global-color-accent:#8CE700;--e-global-color-39e65c7:#811211;--e-global-color-0f82125:#9FBD20;--e-global-color-37c27c0:#00D5E1;--e-global-color-cef439e:#1DAFAF;--e-global-color-54a38d5:#FFCB00;--e-global-color-5cfad58:#E4AE23;--e-global-color-9673a53:#FD3869;--e-global-color-984900a:#9B1E4E;--e-global-color-5eea4b9:#3A3736;--e-global-color-8a4a659:#000000;--e-global-color-9820d84:#FFFFFF;--e-global-color-5f3f9bc:#3DB4B4;--e-global-color-d2c2320:#5D5B59;--e-global-color-aaf9357:#FFA09B;--e-global-color-4f66f33:#8CE700;--e-global-color-7800785:#C2BEB9;--e-global-color-ee870d2:#C0AF9A;--e-global-typography-primary-font-family:"Orbitron";--e-global-typography-primary-font-size:30px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:1.5em;--e-global-typography-secondary-font-family:"Orbitron";--e-global-typography-secondary-font-size:17px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.7em;--e-global-typography-text-font-family:"Roboto Flex";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5rem;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );font-family:"Roboto", Sans-serif;font-size:60px;font-weight:400;font-style:normal;text-decoration:none;line-height:0.3em;letter-spacing:0em;word-spacing:0px;}.elementor-kit-1324 button:hover,.elementor-kit-1324 button:focus,.elementor-kit-1324 input[type="button"]:hover,.elementor-kit-1324 input[type="button"]:focus,.elementor-kit-1324 input[type="submit"]:hover,.elementor-kit-1324 input[type="submit"]:focus,.elementor-kit-1324 .elementor-button:hover,.elementor-kit-1324 .elementor-button:focus{background-color:var( --e-global-color-text );color:var( --e-global-color-text );border-style:solid;border-width:1px 1px 1px 1px;border-radius:6px 6px 6px 6px;}.elementor-kit-1324 e-page-transition{background-color:#FFBC7D;}.elementor-kit-1324 p{margin-block-end:14px;}.elementor-kit-1324 a{color:#84C41E;}.elementor-kit-1324 a:hover{color:#A5F12B;}.elementor-kit-1324 h1{color:var( --e-global-color-text );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 );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-1324 h2{color:var( --e-global-color-text );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 );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-1324 h3{font-family:"Poppins", Sans-serif;font-size:28px;font-weight:500;letter-spacing:0px;}.elementor-kit-1324 h4{font-family:"Poppins", Sans-serif;font-size:28px;font-weight:400;}.elementor-kit-1324 h5{font-family:"Poppins", Sans-serif;font-size:18px;line-height:1.5px;}.elementor-kit-1324 h6{font-size:16px;line-height:1.5px;}.elementor-kit-1324 button,.elementor-kit-1324 input[type="button"],.elementor-kit-1324 input[type="submit"],.elementor-kit-1324 .elementor-button{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 );line-height:var( --e-global-typography-accent-line-height );color:var( --e-global-color-secondary );border-radius:6px 6px 6px 6px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:80px;--container-default-padding-right:80px;--container-default-padding-bottom:80px;--container-default-padding-left:80px;}.elementor-widget:not(:last-child){--kit-widget-spacing:26px;}.elementor-element{--widgets-spacing:26px 26px;--widgets-spacing-row:26px;--widgets-spacing-column:26px;}{}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:1024px){.elementor-kit-1324{--e-global-typography-secondary-line-height:36px;}.elementor-kit-1324 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-1324 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-1324 button,.elementor-kit-1324 input[type="button"],.elementor-kit-1324 input[type="submit"],.elementor-kit-1324 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-1324 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-1324 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-1324 button,.elementor-kit-1324 input[type="button"],.elementor-kit-1324 input[type="submit"],.elementor-kit-1324 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:20px;--container-default-padding-right:10px;--container-default-padding-bottom:0px;--container-default-padding-left:10px;}}/* Start custom CSS */@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

#viewport-fade {
  opacity: 0;
  transform: translateY(30px);
  transition: none;
}

.elementor-invisible #viewport-fade {
  animation: fadeInUp 0.8s ease-out forwards;
}

@media (max-width: 767px) {
  .elementor-divider-separator {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ===== Globale Mobile-Gutter & Anti-Overflow (nur Handy) ===== */
@media (max-width: 767px) {
  /* 1) Innenabstand erzwingen: Gesamtbreite minus 20px (10px je Seite) */
  .elementor .elementor-section .elementor-container {
    max-width: calc(100% - 20px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  /* 2) Gestreckte Abschnitte auf echte 100% zähmen (verhindert 100vw-Überhang) */
  .elementor-section.elementor-section-stretched {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }

  /* 3) Widgets/Spalten dürfen nicht breiter werden als der Container */
  .elementor .elementor-column,
  .elementor .elementor-widget,
  .elementor .elementor-widget-container {
    max-width: 100% !important;
    box-sizing: border-box;
  }

  /* 4) Divider/Linien nie breiter als der Inhalt */
  .elementor-divider-separator {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 5) Medien sicher einpassen */
  img, video, canvas, svg {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* 6) Restlichen 1px-Geisterscroll global abschneiden (schadet Desktop nicht) */
html, body { overflow-x: hidden; }

/* ===== Mobile Gutter & Anti-Overflow für Flexbox-Container ===== */
@media (max-width: 767px) {
  /* 1) Alle Flexbox-Container bekommen links/rechts je 10px Luft */
  .elementor .e-con {
    max-width: calc(100% - 20px) !important; /* 10px links + 10px rechts */
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
  }

  /* 2) Innencontainer nicht zusätzlich aufblähen */
  .elementor .e-con > .e-con-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  /* 3) Divider/Linien nie breiter als der Inhalt */
  .elementor .elementor-divider-separator {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 4) Verhindere horizontales Überlaufen innerhalb der Container */
  .elementor .e-con, 
  .elementor .e-con-inner, 
  .elementor .elementor-widget-container {
    overflow-x: hidden;
    max-width: 100% !important;
  }

  /* 5) Falls irgendein Element 100vw nutzt, zähmen wir es auf 100% */
  [style*="100vw"] {
    width: 100% !important;
  }
}

/* Restlichen 1px-Geisterscroll global abschneiden */
html, body { overflow-x: hidden; }

/* Optional: Abschnitt von den 10px ausnehmen → Klasse "no-mobile-gutter" setzen */
@media (max-width: 767px) {
  .no-mobile-gutter.e-con { max-width: 100% !important; }
}

/* 0) Globale Grundlage – Rahmen & Padding zählen zur Breite */
*, *::before, *::after { box-sizing: border-box; }

/* 1) Horizontalen Geister-Scroll vollständig verhindern */
html, body { overflow-x: hidden; }

/* 2) Gestreckte Abschnitte (100vw) auf echte 100% zähmen */
@media (max-width: 767px) {
  .elementor-section.elementor-section-stretched {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }
}

/* 3) MOBILE-GUTTER für Flexbox-Container: 10px innen links/rechts */
@media (max-width: 767px) {
  /* alle Container bekommen innen 10px Luft */
  .elementor .e-con {
    width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  /* keine doppelten Paddings im inneren Wrapper */
  .elementor .e-con > .e-con-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Widgets/Spalten dürfen nicht breiter als der Container werden */
  .elementor .elementor-widget,
  .elementor .elementor-widget-container,
  .elementor .elementor-column {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Divider/Linien strikt auf Containerbreite begrenzen */
  .elementor .elementor-divider-separator {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Falls irgendein Inline-Style 100vw setzt, auf 100% zwingen */
  [style*="100vw"] { width: 100% !important; }

  /* Medien sicher einpassen */
  img, video, canvas, svg { max-width: 100% !important; height: auto !important; }
}

/* Scrollleisten an Rahmen/Boxen global deaktivieren */
.elementor-widget-container {
  overflow: visible !important;   /* kein scrollbarer Inhalt */
  max-width: 100% !important;     /* nicht breiter als Container */
  box-sizing: border-box;
}

/* A) Horizontalen 1px-Überhang sicher kappen (ohne Layout zu verändern) */
html, body { overflow-x: hidden; }

/* B) Nur Handy: sanfter Innenrand für Inhalte */
@media (max-width: 767px) {
  .e-con-inner {                 /* Flexbox-Innenwrapper von Elementor */
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box;
  }

  /* Divider nie breiter als der Inhalt */
  .elementor-divider-separator {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* C) Falls innere Scrollleisten auftauchen: */
.elementor-widget-container { overflow: visible !important; }

/* ——— Keine inneren Scrollleisten (nur Mobile), Layout unverändert ——— */
@media (max-width: 767px) {
  .elementor .e-con,
  .elementor .e-con-inner,
  .elementor .elementor-widget,
  .elementor .elementor-widget-container {
    overflow: visible !important;   /* keine Scrollleisten in Boxen */
    min-width: 0 !important;        /* Flex-Overflow vermeiden */
    -webkit-overflow-scrolling: auto !important;
  }

  /* Text sicher umbrechen, damit nichts horizontal überläuft */
  .elementor-widget-text-editor {
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal !important;
  }
}

/* Seite selbst: nie horizontal scrollen (Desktop & Mobile) */
html, body { overflow-x: hidden !important; }/* End custom CSS */