.elementor-9 .elementor-element.elementor-element-d56b489{--display:flex;--min-height:30px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--padding-top:10px;--padding-bottom:10px;--padding-left:100px;--padding-right:100px;}.elementor-9 .elementor-element.elementor-element-d56b489:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-d56b489 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E9F1FA;}.elementor-9 .elementor-element.elementor-element-70a94ab{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:15px 15px;--row-gap:15px;--column-gap:15px;--overlay-opacity:1;--padding-top:15px;--padding-bottom:15px;--padding-left:50px;--padding-right:50px;}.elementor-9 .elementor-element.elementor-element-70a94ab:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-70a94ab > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#7CB3E1;}.elementor-9 .elementor-element.elementor-element-70a94ab::before, .elementor-9 .elementor-element.elementor-element-70a94ab > .elementor-background-video-container::before, .elementor-9 .elementor-element.elementor-element-70a94ab > .e-con-inner > .elementor-background-video-container::before, .elementor-9 .elementor-element.elementor-element-70a94ab > .elementor-background-slideshow::before, .elementor-9 .elementor-element.elementor-element-70a94ab > .e-con-inner > .elementor-background-slideshow::before, .elementor-9 .elementor-element.elementor-element-70a94ab > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-9 .elementor-element.elementor-element-85b53d3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );}.elementor-9 .elementor-element.elementor-element-ab01e3b{text-align:end;}.elementor-9 .elementor-element.elementor-element-ab01e3b img{width:260px;}.elementor-9 .elementor-element.elementor-element-c800db1{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-menu-toggle{margin-left:auto;background-color:var( --e-global-color-primary );}.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--dropdown a, .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-menu-toggle{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--dropdown{background-color:var( --e-global-color-0b5617b );}.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--dropdown a:hover,
					.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--dropdown a:focus,
					.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-menu-toggle:hover,
					.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-menu-toggle:focus{color:#FFFFFF;}.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--dropdown .elementor-item, .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:17px;font-weight:700;}.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--main .elementor-nav-menu--dropdown, .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu__container.elementor-nav-menu--dropdown{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--dropdown a{padding-left:10px;padding-right:10px;}.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:10px !important;}.elementor-9 .elementor-element.elementor-element-471d5d7 div.elementor-menu-toggle{color:#FFFFFF;}.elementor-9 .elementor-element.elementor-element-471d5d7 div.elementor-menu-toggle svg{fill:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1366px){.elementor-9 .elementor-element.elementor-element-d56b489{--padding-top:10px;--padding-bottom:10px;--padding-left:50px;--padding-right:50px;}.elementor-9 .elementor-element.elementor-element-70a94ab{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}}@media(max-width:767px){.elementor-9 .elementor-element.elementor-element-70a94ab{--width:500px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:nowrap;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-85b53d3{--content-width:500px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-ab01e3b{text-align:start;}.elementor-9 .elementor-element.elementor-element-ab01e3b img{width:227px;}.elementor-9 .elementor-element.elementor-element-c800db1{--content-width:150px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--dropdown .elementor-item, .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:18px;}.elementor-9 .elementor-element.elementor-element-471d5d7{--nav-menu-icon-size:30px;}}/* Start custom CSS for nav-menu, class: .elementor-element-471d5d7 *//*
 * =========================================================
 * STADTWERKE WALDKRAIBURG
 * RESPONSIVE NAVIGATION
 *
 * Fix:
 * - Astra-Pfeile innerhalb des Elementor-Menüs entfernen
 * - ursprüngliche Desktop-Optik
 * - Hover auf allen Unterebenen
 * - Tastatursteuerung
 * - mobile Hierarchie
 * =========================================================
 */


/*
 * =========================================================
 * 1. VARIABLEN
 * =========================================================
 */

.elementor-9 .elementor-element.elementor-element-471d5d7 {
  --nav-blue: #1f3f9f;
  --nav-yellow: #ffd500;
  --nav-white: #ffffff;
  --nav-hover: #f7f7f7;
  --nav-focus-bg: #454950;

  --nav-shadow:
    0 4px 12px rgba(0, 0, 0, 0.18);

  --nav-arrow-shadow:
    0 4px 10px rgba(0, 0, 0, 0.25);

  --nav-dropdown-shadow:
    0 4px 12px rgba(0, 0, 0, 0.22);

  --nav-first-level-width: 390px;
  --nav-deeper-level-width: 430px;

  --mobile-level-1: #ffffff;
  --mobile-level-2: #f5f7fb;
  --mobile-level-3: #eaf0f8;
  --mobile-level-4: #e1e8f3;

  --mobile-border: #dce3ee;
}


/*
 * =========================================================
 * 2. ALLGEMEINE BASIS
 * =========================================================
 */

.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu ul,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu li,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu a,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu button,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu span {
  box-sizing: border-box !important;
}

.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu ul,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu li {
  list-style: none !important;
  list-style-type: none !important;
}

.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu a,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu button {
  overflow-wrap: break-word;
  word-break: normal;

  text-align: left !important;
}

.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu a[role="button"] {
  cursor: pointer;
}


/*
 * =========================================================
 * 3. ASTRA-PFEILE INNERHALB DIESES ELEMENTOR-MENÜS
 *    KOMPLETT ENTFERNEN
 * =========================================================
 */

/*
 * Das ist genau das Element aus deinem Screenshot:
 *
 * <span class="ast-icon icon-arrow">
 *     <svg class="ast-arrow-svg">...</svg>
 * </span>
 */

.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu .ast-icon.icon-arrow,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu span.ast-icon.icon-arrow,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu .ast-arrow-svg,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu svg.ast-arrow-svg,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu .ast-header-navigation-arrow {
  display: none !important;

  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;

  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;

  opacity: 0 !important;
  visibility: hidden !important;

  overflow: hidden !important;

  pointer-events: none !important;
}


/*
 * Falls Astra am Link Platz für den Pfeil reserviert.
 */
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu a.menu-link,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu a.elementor-sub-item {
  text-indent: 0 !important;
}


/*
 * Sichtbarer Tastaturfokus.
 */
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu a:focus-visible,
.elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu button:focus-visible {
  outline: 3px solid var(--nav-blue) !important;
  outline-offset: -3px !important;
}


/*
 * =========================================================
 * 4. DESKTOP
 * =========================================================
 */

@media (min-width: 1025px) {

  /*
   * -------------------------------------------------------
   * Hauptnavigation
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;

    gap: 20px !important;

    overflow: visible !important;
  }

  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li {
    position: relative !important;

    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    list-style: none !important;
  }


  /*
   * Hauptmenüpunkt.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li > a {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    min-width: 220px !important;
    min-height: 64px !important;

    padding:
      22px 54px
      22px 16px !important;

    margin: 0 !important;

    color: var(--nav-blue) !important;
    background-color: var(--nav-white) !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;

    text-align: left !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: var(--nav-shadow) !important;

    overflow: visible !important;

    transition:
      background-color 0.25s ease,
      color 0.25s ease !important;
  }


  /*
   * -------------------------------------------------------
   * Elementor-eigene Pfeile Desktop ausblenden
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu .sub-arrow,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu .elementor-item .sub-arrow,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu ul.sub-menu .sub-arrow {
    display: none !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 0 !important;
    visibility: hidden !important;
  }


  /*
   * -------------------------------------------------------
   * Gelbe Box
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li > a::after {
    content: "" !important;

    position: absolute !important;

    top: 50% !important;
    right: -10px !important;

    display: block !important;

    width: 42px !important;
    height: 52px !important;

    margin: 0 !important;
    padding: 0 !important;

    background-color: var(--nav-yellow) !important;

    border: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;

    box-shadow: var(--nav-arrow-shadow) !important;

    transform: translateY(-50%) !important;

    z-index: 5 !important;

    pointer-events: none !important;
  }


  /*
   * Blauer Pfeil.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li > a::before {
    content: "" !important;

    position: absolute !important;

    top: 50% !important;
    right: 4px !important;

    display: block !important;

    width: 11px !important;
    height: 11px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-right: 3px solid var(--nav-blue) !important;
    border-bottom: 3px solid var(--nav-blue) !important;

    opacity: 1 !important;
    visibility: visible !important;

    transform:
      translateY(-65%)
      rotate(45deg) !important;

    z-index: 6 !important;

    pointer-events: none !important;
  }


  /*
   * -------------------------------------------------------
   * Hauptnavigation Hover
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li > a:hover,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li > a:focus,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li > a.highlighted {
    color: var(--nav-blue) !important;
    background-color: var(--nav-hover) !important;
  }

  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li > a:hover::after,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li > a:focus::after,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li > a.highlighted::after {
    background-color: var(--nav-white) !important;
  }

  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li > a:hover::before,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li > a:focus::before,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu > li > a.highlighted::before {
    border-color: var(--nav-blue) !important;
  }


  /*
   * -------------------------------------------------------
   * Aktive Hauptpunkte
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li.current-menu-item
  > a,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li.current-menu-parent
  > a,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li.current-menu-ancestor
  > a {
    color: var(--nav-blue) !important;
    background-color: var(--nav-white) !important;
  }


  /*
   * -------------------------------------------------------
   * Erste Dropdown-Ebene
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li
  > ul.sub-menu {
    width: var(--nav-first-level-width) !important;
    min-width: var(--nav-first-level-width) !important;
    max-width: var(--nav-first-level-width) !important;

    margin: 0 !important;
    padding: 0 !important;

    background-color: var(--nav-white) !important;

    overflow: visible !important;

    box-shadow: var(--nav-dropdown-shadow) !important;

    z-index: 9999 !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li
  > ul.sub-menu
  > li {
    position: relative !important;

    display: block !important;

    width: var(--nav-first-level-width) !important;
    min-width: var(--nav-first-level-width) !important;
    max-width: var(--nav-first-level-width) !important;

    margin: 0 !important;
    padding: 0 !important;

    background-color: var(--nav-white) !important;

    overflow: visible !important;

    list-style: none !important;
  }


  /*
   * Astra darf hier weder li::before noch li::after
   * verwenden.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  > li::before,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  > li::after {
    content: none !important;
    display: none !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li
  > ul.sub-menu
  > li
  > a,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li
  > ul.sub-menu
  > li
  > button {
    position: relative !important;

    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-start !important;

    width: var(--nav-first-level-width) !important;
    min-width: var(--nav-first-level-width) !important;
    max-width: var(--nav-first-level-width) !important;

    min-height: 46px !important;
    height: auto !important;

    margin: 0 !important;

    padding:
      13px 48px
      13px 18px !important;

    color: var(--nav-blue) !important;
    background-color: var(--nav-white) !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;

    text-align: left !important;

    white-space: normal !important;

    overflow: visible !important;
    text-overflow: clip !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    transition:
      background-color 0.15s ease,
      color 0.15s ease !important;
  }


  /*
   * =======================================================
   * 4.1 HOVER-FIX FÜR ASTRA .menu-link
   * =======================================================
   *
   * Der wichtige Fix für "Unsere Tarife".
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li:hover
  > a.menu-link,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li:hover
  > a.elementor-sub-item,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li
  > a.menu-link:hover,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li
  > a.elementor-sub-item:hover,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li
  > a.menu-link:focus,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li
  > a.elementor-sub-item:focus,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li
  > a.highlighted {
    color: #ffffff !important;

    background-color:
      var(--nav-focus-bg) !important;
  }


  /*
   * Ganz allgemein zusätzlich absichern.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  > li:hover
  > a,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  > li
  > a:hover {
    color: #ffffff !important;

    background-color:
      var(--nav-focus-bg) !important;
  }


  /*
   * Auch zweite / dritte Ebene explizit.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  > li:hover
  > a,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  > li
  > a:hover,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  ul.sub-menu
  > li:hover
  > a,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  ul.sub-menu
  > li
  > a:hover {
    color: #ffffff !important;

    background-color:
      var(--nav-focus-bg) !important;
  }


  /*
   * Falls Astra den Text selbst in ein Kind-Element packt.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li:hover
  > a
  *,
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li
  > a:hover
  * {
    color: inherit !important;
  }


  /*
   * -------------------------------------------------------
   * Knoten mit Untermenü
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li.menu-item-has-children {
    position: relative !important;

    overflow: visible !important;
  }


  /*
   * Geschlossen.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li.menu-item-has-children:not(.keyboard-submenu-open):not(:hover)
  > ul.sub-menu {
    display: none !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;
  }


  /*
   * Tastatur geöffnet.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  li.keyboard-submenu-open
  > ul.sub-menu {
    display: block !important;

    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: auto !important;
  }


  /*
   * Mouseover geöffnet.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li.menu-item-has-children:hover
  > ul.sub-menu {
    display: block !important;

    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: auto !important;
  }


  /*
   * -------------------------------------------------------
   * Unser eigener Pfeil nur rechts
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  > li.menu-item-has-children
  > a {
    position: relative !important;

    padding-right: 48px !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  > li.menu-item-has-children
  > a::before {
    content: none !important;

    display: none !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  > li.menu-item-has-children
  > a::after {
    content: "" !important;

    position: absolute !important;

    top: 50% !important;
    right: 18px !important;

    display: block !important;

    width: 8px !important;
    height: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-top: 2px solid currentColor !important;
    border-right: 2px solid currentColor !important;

    transform:
      translateY(-50%)
      rotate(45deg) !important;

    pointer-events: none !important;
  }


  /*
   * Normale Endpunkte bekommen keinen CSS-Pfeil.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  > li:not(.menu-item-has-children)
  > a::before,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  > li:not(.menu-item-has-children)
  > a::after {
    content: none !important;

    display: none !important;
  }


  /*
   * Pfeil bei Hover weiß.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li.menu-item-has-children:hover
  > a::after,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li.menu-item-has-children
  > a:focus::after,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li.menu-item-has-children
  > a.highlighted::after {
    border-color: #ffffff !important;
  }


  /*
   * -------------------------------------------------------
   * Zweite Dropdown-Ebene
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li
  > ul.sub-menu
  > li.menu-item-has-children
  > ul.sub-menu {
    position: absolute !important;

    top: 0 !important;
    left: var(--nav-first-level-width) !important;
    right: auto !important;

    width: var(--nav-deeper-level-width) !important;
    min-width: var(--nav-deeper-level-width) !important;
    max-width: var(--nav-deeper-level-width) !important;

    margin: 0 !important;
    padding: 0 !important;

    background-color: var(--nav-white) !important;

    overflow: visible !important;

    transform: none !important;

    box-shadow: var(--nav-dropdown-shadow) !important;

    z-index: 10000 !important;
  }


  /*
   * -------------------------------------------------------
   * Weitere Dropdown-Ebenen
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu {
    width: var(--nav-deeper-level-width) !important;
    min-width: var(--nav-deeper-level-width) !important;
    max-width: var(--nav-deeper-level-width) !important;

    margin: 0 !important;
    padding: 0 !important;

    background-color: var(--nav-white) !important;

    overflow: visible !important;

    box-shadow: var(--nav-dropdown-shadow) !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  > li {
    position: relative !important;

    width: var(--nav-deeper-level-width) !important;
    min-width: var(--nav-deeper-level-width) !important;
    max-width: var(--nav-deeper-level-width) !important;

    background-color: var(--nav-white) !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  > li
  > a,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  > li
  > button {
    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-start !important;

    width: var(--nav-deeper-level-width) !important;
    min-width: var(--nav-deeper-level-width) !important;
    max-width: var(--nav-deeper-level-width) !important;

    min-height: 46px !important;
    height: auto !important;

    padding:
      13px 48px
      13px 26px !important;

    color: var(--nav-blue) !important;
    background-color: var(--nav-white) !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;

    text-align: left !important;

    white-space: normal !important;

    overflow: visible !important;
  }


  /*
   * -------------------------------------------------------
   * Text-Spans
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  a
  > span:not(.sub-arrow):not(.ast-icon),

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  button
  > span:not(.sub-arrow):not(.ast-icon) {
    display: inline-block !important;

    flex: 0 1 auto !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;

    text-align: left !important;

    white-space: normal !important;

    transform: none !important;
  }


  /*
   * Keine Positionssprünge.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li.keyboard-submenu-open
  > ul.sub-menu,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  li.menu-item-has-children:hover
  > ul.sub-menu,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  a.highlighted
  + ul.sub-menu {
    transform: none !important;
  }
}


/*
 * =========================================================
 * 5. TABLET UND MOBIL
 * =========================================================
 */

@media (max-width: 1024px) {

  /*
   * Astra-Pfeile auch mobil konsequent ausblenden.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu .ast-icon.icon-arrow,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu span.ast-icon.icon-arrow,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu .ast-arrow-svg,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu svg.ast-arrow-svg {
    display: none !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 0 !important;
    visibility: hidden !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu--dropdown .elementor-nav-menu {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;

    overflow: hidden !important;

    background-color: var(--nav-white) !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu li {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
  }


  /*
   * Keine fremden LI-Pseudoelemente.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu li::before,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu li::after {
    content: none !important;

    display: none !important;
  }


  /*
   * -------------------------------------------------------
   * Hauptpunkte
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li {
    border-bottom:
      1px solid var(--mobile-border) !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li
  > a {
    position: relative !important;

    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;

    min-height: 56px !important;

    padding:
      15px 60px
      15px 18px !important;

    color: var(--nav-blue) !important;

    background-color:
      var(--mobile-level-1) !important;

    font-size: 16px !important;
    font-weight: 700 !important;

    text-align: left !important;

    border: 0 !important;

    box-shadow: none !important;

    white-space: normal !important;
  }


  /*
   * Desktop-Pseudopfeile entfernen.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  a::before,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  a::after {
    content: none !important;

    display: none !important;
  }


  /*
   * -------------------------------------------------------
   * Elementor-Pfeil mobil
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  .sub-arrow {
    display: none !important;
  }


  /*
   * Nur bei echten Elternknoten.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  li.menu-item-has-children
  > a
  > .sub-arrow,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  li.menu-item-has-children
  > button
  > .sub-arrow {
    position: absolute !important;

    top: 50% !important;
    right: 14px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 32px !important;
    height: 32px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--nav-blue) !important;

    background-color:
      #edf2fa !important;

    border-radius: 50% !important;

    opacity: 1 !important;
    visibility: visible !important;

    transform:
      translateY(-50%) !important;
  }


  /*
   * -------------------------------------------------------
   * Untermenüs
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  li.keyboard-submenu-open
  > ul.sub-menu {
    position: static !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    transform: none !important;

    box-shadow: none !important;
  }


  /*
   * Sichtbarkeit.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu[aria-hidden="true"] {
    display: none !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu[aria-hidden="false"],

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  a.highlighted
  + ul.sub-menu,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  li.keyboard-submenu-open
  > ul.sub-menu {
    display: block !important;

    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: auto !important;
  }


  /*
   * -------------------------------------------------------
   * Erste Unterebene
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li
  > ul.sub-menu {
    background-color:
      var(--mobile-level-2) !important;

    border-top:
      1px solid var(--mobile-border) !important;

    box-shadow:
      inset 4px 0 0 #c1cee3 !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li
  > ul.sub-menu
  > li
  > a,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li
  > ul.sub-menu
  > li
  > button {
    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;

    min-height: 48px !important;

    padding:
      13px 60px
      13px 36px !important;

    color: #284477 !important;

    background-color:
      var(--mobile-level-2) !important;

    font-size: 15px !important;
    font-weight: 600 !important;

    text-align: left !important;
  }


  /*
   * -------------------------------------------------------
   * Zweite Unterebene
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu {
    background-color:
      var(--mobile-level-3) !important;

    box-shadow:
      inset 6px 0 0 #9eb2d3 !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  > li
  > a,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  > li
  > button {
    width: 100% !important;

    min-height: 46px !important;

    padding:
      12px 60px
      12px 54px !important;

    color: #34486d !important;

    background-color:
      var(--mobile-level-3) !important;

    font-size: 14px !important;
    font-weight: 500 !important;

    text-align: left !important;
  }


  /*
   * -------------------------------------------------------
   * Dritte Unterebene
   * -------------------------------------------------------
   */

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  ul.sub-menu {
    background-color:
      var(--mobile-level-4) !important;

    box-shadow:
      inset 8px 0 0 #829ac2 !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  ul.sub-menu
  > li
  > a,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  ul.sub-menu
  > li
  > button {
    padding-left: 70px !important;
  }


  /*
   * Aktuelle Seite.
   */
  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  li.current-menu-item
  > a {
    color: var(--nav-blue) !important;

    font-weight: 700 !important;
  }
}


/*
 * =========================================================
 * 6. KLEINE SMARTPHONES
 * =========================================================
 */

@media (max-width: 420px) {

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li
  > a {
    padding-left: 14px !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li
  > ul.sub-menu
  > li
  > a,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  > li
  > ul.sub-menu
  > li
  > button {
    padding-left: 30px !important;
  }


  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  > li
  > a,

  .elementor-9 .elementor-element.elementor-element-471d5d7
  .elementor-nav-menu
  ul.sub-menu
  ul.sub-menu
  > li
  > button {
    padding-left: 46px !important;
  }
}


/*
 * =========================================================
 * 7. REDUZIERTE BEWEGUNG
 * =========================================================
 */

@media (prefers-reduced-motion: reduce) {

  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu a,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu button,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu a::before,
  .elementor-9 .elementor-element.elementor-element-471d5d7 .elementor-nav-menu a::after {
    transition: none !important;
    animation: none !important;
  }
}/* End custom CSS */