.sp-megamenu-parent>li>a, .sp-megamenu-parent>li>span {
    max-width: 130px;
    vertical-align: top;
    line-height: 20px;
}


div#sp-bottom2 {
    margin-bottom: 50px;
}

/* Bottom3 Logo: volle Breite */
#sp-bottom3 .sppb-addon-single-image-container {
  width: 100% !important;
}
#sp-bottom3 .sppb-addon-single-image-container img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

.offcanvas-menu .offcanvas-inner {
    padding: 25px 10px;
}

body.ltr .offcanvas-menu .offcanvas-inner ul.menu>li ul li {
    margin-left: 30px;
    margin-bottom: 10px;
}

.sp-contact-info li {
    font-size: 110%;
}

span.menu-toggler {
    font-size: 1.5em;
}

.offcanvas-menu {
    font-weight: 600;
}

.offcanvas-active .burger-icon>span, #modal-menu-toggler.active .burger-icon>span {
    background-color: #fff;
}

.close-offcanvas {
    top: 0px;
}

.offcanvas-menu {
    top: 30px !important;
  }

/* ================================================
   LOCAL FONTS — @font-face
   Pfad: /templates/shaper_helixultimate/fonts/
   ================================================ */

/* Bebas Neue – 400 */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/bebas-neue-latin-ext-400-normal.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/bebas-neue-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter – 400 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter-latin-ext-400-normal.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter – 500 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter-latin-ext-500-normal.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter – 600 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter-latin-ext-600-normal.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter – 700 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/inter-latin-ext-700-normal.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/inter-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ================================================
   FUNKY custom.css – nach Styleguide v1.2
   Bebas Neue (Headlines) + Inter (Body)
   Farben: #000 / #EFAE63 / #FFF / #A4A4A4
   ================================================ */

/* --- HEADER & NAVIGATION ---------------------- */

#sp-header .container { max-width: 100%; }
#sp-menu { justify-content: flex-end; margin-right: 25px; }
@media (min-width: 1000px) {
  #sp-top-bar .container { max-width: 100%; margin-right: 25px; }
}
#sp-top-bar .sp-contact-info li { padding-left: 10px; }
#sp-menu .sp-megamenu-wrapper { justify-content: flex-end; }
#sp-menu .sp-megamenu-parent > li > a { font-size: 1.1em; font-weight: 600; }
#sp-logo .logo img { width: 500px; max-width: 100%; height: auto; object-fit: contain; margin-left: -50px; }


/* --- SPPB: Addon volle Breite (flex fix) ------ */

.sppb-column .sppb-addon-wrapper {
  max-width: 100% !important;
  width: 100% !important;
  flex: 1 1 auto;
  min-width: 0;
}


/* --- TYPOGRAFIE -------------------------------- */

/* H1-H3: Bebas Neue (Styleguide Primär-Headline) */
h1, h2, h3,
.sppb-addon h1.sppb-addon-title,
.sppb-addon h2.sppb-addon-title,
.sppb-addon h3.sppb-addon-title,
.sppb-addon div.sppb-addon-title {
  font-family: 'Bebas Neue', Impact, 'Arial Black', sans-serif !important;
  font-weight: 400 !important;
  color: #000000 !important;
  letter-spacing: 0.02em;
  line-height: 0.95;
}

/* Body + SPPB Content: Inter */
body,
.sppb-addon-content,
.sppb-addon-text-block p,
.sppb-addon-text-block li,
footer, #sp-footer {
  font-family: 'Inter', -apple-system, system-ui, sans-serif !important;
}


/* --- LINKS (Styleguide) ----------------------- */

/* Content-Links: Grau normal, Orange hover */
.sppb-addon-content a {
  color: #A4A4A4 !important;
  text-decoration: underline;
  transition: color 200ms ease;
}
.sppb-addon-content a:hover,
.sppb-addon-content a:active,
.sppb-addon-content a:focus-visible {
  color: #EFAE63 !important;
}


/* --- TOP BAR LINKS ---------------------------- */
/* Weiß wie Menü, 1rem, Orange bei hover/active   */
#sp-top-bar a,
.sp-contact-info a {
  color: #FFFFFF !important;
  font-size: 1rem;
  text-decoration: none;
  transition: color 200ms ease;
}
#sp-top-bar a:hover,
#sp-top-bar a:active,
.sp-contact-info a:hover,
.sp-contact-info a:active {
  color: #EFAE63 !important;
}


/* --- BOTTOM MENU LINKS ------------------------ */
/* Weiß, Orange bei hover/active                  */
#sp-bottom a,
.sp-footer-menu a,
footer .mod-menu a {
  color: #FFFFFF !important;
  text-decoration: none;
  transition: color 200ms ease;
}
#sp-bottom a:hover,
#sp-bottom a:active,
.sp-footer-menu a:hover,
.sp-footer-menu a:active,
footer .mod-menu a:hover,
footer .mod-menu a:active {
  color: #EFAE63 !important;
}


/* --- FLIESSTEXT LINKS ------------------------- */
/* Kein Underline, aber Bold                      */
.sppb-addon-content a {
  text-decoration: none !important;
  font-weight: 700 !important;
}

/* --- HEADING SIZES & COLORS ------------------- */

.sppb-addon h1.sppb-addon-title {
  font-size: 38px !important;
}

.sppb-addon h2.sppb-addon-title,
.sppb-addon div.sppb-addon-title {
  font-size: 28px !important;
  color: #A4A4A4 !important;
}

/* --- BOTTOM / FOOTER H3 ----------------------- */
#sp-bottom h3, footer h3 {
  color: #FFFFFF !important;
}

/* --- SANDWICH / BURGER MENU ------------------- */

#offcanvas-toggler .burger-icon {
  display: inline-block;
}

.burger-icon {
  width: 25px;
  cursor: pointer;
}

.burger-icon > span {
  display: block;
  height: 2px;
  background-color: #000;
  margin: 5px 0;
  transition: background-color .3s ease-in, opacity .3s ease-in, transform .3s ease-in;
}

.burger-icon > span {
  background-color: white;
}

/* --- LOGO ------------------------------------- */

#sp-header .logo a {
  font-size: 24px;
  line-height: 1;
  margin: 0;
  padding: 0;
}

/* --- LOGO RESPONSIVE -------------------------- */

@media (max-width: 999px) {
  #sp-logo .logo img {
    max-width: 380px;
    margin-top: 20px;
    margin-left: 0px;
  }
}

@media (max-width: 768px) {
  #sp-logo .logo img {
    max-width: 300px;
  }
}

/* --- HEADER ----------------------------------- */

#sp-header {
  background: #000;
}

@media (max-width: 999px) {
  #sp-header {
    height: 90px;
    padding-top: 10px;
  }
}

/* --- TOP BAR CONTACT INFO --------------------- */

.sp-contact-info li {
  display: inline-block;
  margin: 0px 10px 0px 0px;
  white-space: nowrap;
}

#sp-top-bar .sp-contact-info li {
  font-size: 1em !important;
  vertical-align: middle;
}

@media (max-width: 768px) {
  #sp-top-bar .sp-contact-info li {
    width: 100%;
    text-align: center;
  }
}

/* --- CTA-BAR STICKY --------------------------- */

body {
  overflow-y: visible !important;
}
.body-innerwrapper {
  overflow-y: visible !important;
}

#sp-title {
  padding: 0 !important;
  position: sticky;
  top: 136px;
  z-index: 98;
}
@media (max-width: 999px) {
  #sp-title { top: 100px; }
}
@media (max-width: 991px) {
  #sp-title { top: 50px; }
}

@media (max-width: 575px) {
  #sp-title { top: 40px; }
}


@media (max-width: 404px) {
    #sp-logo .logo img {
        max-width: 215px !important;
    }
}

