.elementor-13493 .elementor-element.elementor-element-b9a96b0{--display:flex;--min-height:90px;--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:space-evenly;--align-items:center;border-style:none;--border-style:none;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:30px;--z-index:9999;}.elementor-13493 .elementor-element.elementor-element-b9a96b0:not(.elementor-motion-effects-element-type-background), .elementor-13493 .elementor-element.elementor-element-b9a96b0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#9EABD200;}body:not(.elementor-editor-active) .she-header-yes{box-shadow:0 0 0 0 rgb(0 0 0 / 0%);clip-path:inset(0 0 -100vh 0);}body:not(.elementor-editor-active) .she-header-yes.she-header{box-shadow:0 0px 30px 0px #00000047;clip-path:inset(0 0 -100vh 0);}.elementor-13493 .elementor-element.elementor-element-b9a96b0.she-header{backdrop-filter:blur(20px) saturate(1.8) !important;-webkit-backdrop-filter:blur(20px) saturate(1.8) !important;}.elementor-13493 .elementor-element.elementor-element-b9a96b0:hover{border-style:none;}.elementor-13493 .elementor-element.elementor-element-b9a96b0, .elementor-13493 .elementor-element.elementor-element-b9a96b0::before{--border-transition:0.3s;}.elementor-13493 .elementor-element.elementor-element-b9a96b0.e-con{--align-self:center;}.elementor-13493 .elementor-element.elementor-element-7fe1205{--display:flex;--min-height:90px;--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;--align-items:center;border-style:none;--border-style:none;--border-radius:25px 25px 25px 25px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:30px;--z-index:9999;}.elementor-13493 .elementor-element.elementor-element-7fe1205:not(.elementor-motion-effects-element-type-background), .elementor-13493 .elementor-element.elementor-element-7fe1205 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#9EABD200;}.elementor-13493 .elementor-element.elementor-element-7fe1205.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-13493 .elementor-element.elementor-element-c6a51cb{text-align:left;}.elementor-13493 .elementor-element.elementor-element-c6a51cb .wpr-logo{padding:0px 0px 0px 0px;border-style:none;border-radius:0px 0px 0px 0px;}.elementor-13493 .elementor-element.elementor-element-c6a51cb .wpr-logo-image{max-width:300px;}.elementor-13493 .elementor-element.elementor-element-c6a51cb.wpr-logo-position-left .wpr-logo-image{margin-right:0px;}.elementor-13493 .elementor-element.elementor-element-c6a51cb.wpr-logo-position-right .wpr-logo-image{margin-left:0px;}.elementor-13493 .elementor-element.elementor-element-c6a51cb.wpr-logo-position-center .wpr-logo-image{margin-bottom:0px;}.elementor-13493 .elementor-element.elementor-element-c6a51cb .wpr-logo-image img{-webkit-transition-duration:0.7s;transition-duration:0.7s;}.elementor-13493 .elementor-element.elementor-element-c6a51cb .wpr-logo-title{margin:0 0 0px;}.elementor-13493 .elementor-element.elementor-element-5784960{--display:flex;--min-height:90px;--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;--align-items:center;border-style:none;--border-style:none;--border-radius:25px 25px 25px 25px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:30px;--z-index:9999;}.elementor-13493 .elementor-element.elementor-element-5784960:not(.elementor-motion-effects-element-type-background), .elementor-13493 .elementor-element.elementor-element-5784960 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#9EABD200;}.elementor-13493 .elementor-element.elementor-element-5784960.e-con{--align-self:center;}@media(min-width:431px){.elementor-13493 .elementor-element.elementor-element-7fe1205{--width:30%;}.elementor-13493 .elementor-element.elementor-element-5784960{--width:70%;}}@media(max-width:1399px) and (min-width:431px){.elementor-13493 .elementor-element.elementor-element-b9a96b0{--content-width:1140px;}}@media(max-width:1194px) and (min-width:431px){.elementor-13493 .elementor-element.elementor-element-b9a96b0{--content-width:1190px;}}@media(max-width:840px) and (min-width:431px){.elementor-13493 .elementor-element.elementor-element-b9a96b0{--content-width:1140px;}}@media(max-width:1399px){.elementor-13493 .elementor-element.elementor-element-b9a96b0{--padding-top:15px;--padding-bottom:15px;--padding-left:30px;--padding-right:30px;}.elementor-13493 .elementor-element.elementor-element-7fe1205{--padding-top:15px;--padding-bottom:15px;--padding-left:30px;--padding-right:30px;}.elementor-13493 .elementor-element.elementor-element-5784960{--padding-top:15px;--padding-bottom:15px;--padding-left:30px;--padding-right:30px;}}@media(max-width:1194px){.elementor-13493 .elementor-element.elementor-element-b9a96b0{--justify-content:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-13493 .elementor-element.elementor-element-7fe1205{--justify-content:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-13493 .elementor-element.elementor-element-c6a51cb .wpr-logo-image{max-width:280px;}.elementor-13493 .elementor-element.elementor-element-5784960{--justify-content:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}}@media(max-width:840px){.elementor-13493 .elementor-element.elementor-element-b9a96b0{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:10px;--padding-bottom:10px;--padding-left:15px;--padding-right:15px;}.elementor-13493 .elementor-element.elementor-element-7fe1205{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:10px;--padding-bottom:10px;--padding-left:15px;--padding-right:15px;}.elementor-13493 .elementor-element.elementor-element-c6a51cb .wpr-logo-image{max-width:250px;}.elementor-13493 .elementor-element.elementor-element-5784960{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:10px;--padding-bottom:10px;--padding-left:15px;--padding-right:15px;}}@media(max-width:430px){.elementor-13493 .elementor-element.elementor-element-b9a96b0{--min-height:80px;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:10px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}.elementor-13493 .elementor-element.elementor-element-7fe1205{--width:70%;--min-height:80px;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-13493 .elementor-element.elementor-element-7fe1205.e-con{--align-self:flex-start;}.elementor-13493 .elementor-element.elementor-element-c6a51cb.elementor-element{--align-self:flex-start;}.elementor-13493 .elementor-element.elementor-element-c6a51cb .wpr-logo-image{max-width:188px;}.elementor-13493 .elementor-element.elementor-element-5784960{--width:20%;--min-height:80px;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}}/* Start custom CSS for container, class: .elementor-element-7fe1205 */header {
	position: sticky;
	top:   0;
	left:  0;
	right: 0;
}

nav {
	position: sticky;
	top: 10em;
}			
footer {
	position: sticky;
	bottom: 0;
	left:   0;
	right:  0;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-477546c *//* =========================================================
   WEBSITE DESIGN GROUP
   EXPANDING DOT MENU
   FINAL CLEAN RESPONSIVE VERSION
   ========================================================= */

:root {

  /* =======================================================
     COLORS
     ======================================================= */

  --wdg-menu-bg: #131312;

  --wdg-white: #ffffff;

  --wdg-text-main: #ffffff;

  --wdg-text-soft: #b5b5b0;

  --wdg-text-muted: #8c8c87;

  --wdg-hover-text: #a6a6a1;

  --wdg-hover-light: #ddddda;

  --wdg-border:
    rgba(255, 255, 255, 0.14);

  --wdg-border-strong:
    rgba(255, 255, 255, 0.24);


  /* =======================================================
     HEADER ALIGNMENT
     ======================================================= */

  /*
   * Gemeinsamer Seitenabstand für:
   *
   * LOGO links
   * MENU rechts
   *
   * Bei großen Displays wird der Abstand
   * über einen zentrierten Header-Rahmen berechnet.
   */

  --wdg-header-shell-max: 1500px;

  --wdg-header-shell-gutter: 12px;

  --wdg-header-min-side: 24px;


  --wdg-header-side:
    max(
      var(--wdg-header-min-side),
      calc(
        (
          100vw -
          var(--wdg-header-shell-max)
        ) / 2
        +
        var(--wdg-header-shell-gutter)
      )
    );


  /* =======================================================
     MENU BUTTON
     ======================================================= */

  --wdg-button-size: 58px;


  /*
   * Diese beiden Variablen werden vom
   * bestehenden JavaScript gesetzt.
   *
   * --wdg-toggle-top wird aus der echten
   * Logo-Position berechnet.
   *
   * --wdg-toggle-right wird ebenfalls
   * anhand des Logos synchronisiert.
   *
   * Die Werte hier sind nur Fallbacks.
   */

  --wdg-toggle-top: 23px;

  --wdg-toggle-right:
    var(--wdg-header-side);


  /*
   * Optionale Feinjustierung.
   */

  --wdg-button-offset-x: 0px;

  --wdg-button-offset-y: 0px;


  /* =======================================================
     TYPOGRAPHY
     ======================================================= */

  --wdg-nav-size:
    clamp(54px, 4vw, 74px);

  --wdg-number-size:
    clamp(19px, 1.25vw, 24px);

  --wdg-eyebrow-size: 18px;

  --wdg-contact-size:
    clamp(21px, 1.4vw, 27px);

  --wdg-location-size:
    clamp(19px, 1.2vw, 23px);

  --wdg-legal-size: 17px;

  --wdg-intro-size:
    clamp(17px, 1vw, 20px);

  --wdg-headline-size:
    clamp(36px, 2.7vw, 52px);


  /* =======================================================
     LAYOUT
     ======================================================= */

  --wdg-page-x:
    clamp(34px, 4.5vw, 90px);

  --wdg-page-top:
    clamp(38px, 4.5vh, 58px);

  --wdg-page-bottom:
    clamp(30px, 4vh, 58px);


  /* =======================================================
     CLOSE SAFE AREA
     ======================================================= */

  /*
   * Sicherheitsbereich oberhalb der
   * rechten Menüspalte.
   *
   * Damit liegt PROJEKT STARTEN niemals
   * hinter dem X-Button.
   */

  --wdg-close-clearance:
    calc(
      var(--wdg-button-size)
      + 48px
    );


  /* =======================================================
     ANIMATION
     ======================================================= */

  --wdg-expand-duration: 820ms;

  --wdg-expand-ease:
    cubic-bezier(0.76, 0, 0.24, 1);

  --wdg-content-ease:
    cubic-bezier(0.16, 1, 0.3, 1);


  /* =======================================================
     EXPANDING CIRCLE
     ======================================================= */

  --wdg-origin-x:
    calc(100vw - 60px);

  --wdg-origin-y: 60px;

  --wdg-open-radius: 160vmax;


  /* =======================================================
     CONTACT HOVER BADGE
     ======================================================= */

  --wdg-badge-size: 84px;

  --wdg-badge-bg: #f3f2ee;

  --wdg-badge-color: #191917;

  --wdg-badge-shadow:
    0 18px 40px rgba(0, 0, 0, 0.24),
    0 4px 12px rgba(0, 0, 0, 0.16);
}



/* =========================================================
   HEADER ALIGNMENT
   ========================================================= */

/*
 * Nur horizontale Ausrichtung verändern.
 *
 * KEINE Headerhöhe erzwingen.
 * KEINE vertikale Geometrie des Headers verändern.
 *
 * Dadurch bleibt das bestehende Header-Design erhalten.
 */

.site-header,
.site-header.e-con,
.site-header.elementor-element,
.site-header.elementor-section {

  padding-left:
    var(--wdg-header-side) !important;

  padding-right:
    var(--wdg-header-side) !important;
}



/*
 * Elementor-Innencontainer darf nicht
 * noch einmal zusätzlich horizontal paddden.
 */

.site-header > .e-con-inner,
.site-header > .elementor-container {

  width: 100% !important;

  max-width: none !important;

  margin-right: auto !important;

  margin-left: auto !important;

  padding-right: 0 !important;

  padding-left: 0 !important;
}



/* =========================================================
   LOGO
   ========================================================= */

.site-header
.elementor-widget-theme-site-logo,

.site-header
.elementor-widget-image {

  margin: 0 !important;
}



/*
 * KEINE fixe Höhe für das Logo.
 *
 * Die natürliche / bestehende Logo-Größe
 * bleibt erhalten.
 */

.site-header
.elementor-widget-theme-site-logo img,

.site-header
.elementor-widget-image img {

  display: block;

  height: auto;

  margin: 0;
}



/* =========================================================
   COMPONENT RESET
   ========================================================= */

.wdg-edm,
.wdg-edm *,
.wdg-edm *::before,
.wdg-edm *::after {

  box-sizing: border-box;
}


.wdg-edm a {

  text-decoration: none;
}


.wdg-edm button {

  font: inherit;
}


.wdg-edm svg {

  display: block;
}



/* =========================================================
   ROOT
   ========================================================= */

.wdg-edm {

  position: fixed !important;

  inset: 0 !important;

  z-index: 999999;

  width: 100vw !important;

  height: 100vh !important;

  height: 100dvh !important;

  margin: 0 !important;

  padding: 0 !important;

  transform: none !important;

  pointer-events: none;

  font-family: inherit;

  isolation: isolate;
}



/* =========================================================
   EXPANDING SURFACE
   ========================================================= */

.wdg-edm__surface {

  position: fixed;

  inset: 0;

  z-index: 1;

  width: 100vw;

  height: 100vh;

  height: 100dvh;

  visibility: hidden;

  background:
    var(--wdg-menu-bg);

  clip-path:
    circle(
      0
      at
      var(--wdg-origin-x)
      var(--wdg-origin-y)
    );

  -webkit-clip-path:
    circle(
      0
      at
      var(--wdg-origin-x)
      var(--wdg-origin-y)
    );

  transition:

    clip-path
      var(--wdg-expand-duration)
      var(--wdg-expand-ease),

    -webkit-clip-path
      var(--wdg-expand-duration)
      var(--wdg-expand-ease),

    visibility
      0s
      linear
      var(--wdg-expand-duration);

  pointer-events: none;

  will-change:
    clip-path;
}



.wdg-edm.is-open
.wdg-edm__surface {

  visibility: visible;

  clip-path:
    circle(
      var(--wdg-open-radius)
      at
      var(--wdg-origin-x)
      var(--wdg-origin-y)
    );

  -webkit-clip-path:
    circle(
      var(--wdg-open-radius)
      at
      var(--wdg-origin-x)
      var(--wdg-origin-y)
    );

  transition:

    clip-path
      var(--wdg-expand-duration)
      var(--wdg-expand-ease),

    -webkit-clip-path
      var(--wdg-expand-duration)
      var(--wdg-expand-ease),

    visibility
      0s
      linear
      0s;

  pointer-events: auto;
}



/* =========================================================
   PANEL
   ========================================================= */

.wdg-edm__panel {

  position: absolute;

  inset: 0;

  width: 100%;

  min-height: 100vh;

  min-height: 100dvh;

  margin: 0 !important;

  overflow-x: hidden;

  overflow-y: auto;

  overscroll-behavior: contain;

  -webkit-overflow-scrolling: touch;

  color:
    var(--wdg-text-main);

  background:
    var(--wdg-menu-bg);

  opacity: 0;

  transition:
    opacity
    220ms
    ease;

  scrollbar-width: thin;

  scrollbar-color:
    rgba(255, 255, 255, 0.22)
    transparent;
}



.wdg-edm.is-open
.wdg-edm__panel {

  opacity: 1;

  transition:
    opacity
    320ms
    ease
    160ms;
}



/* =========================================================
   MAIN GRID
   ========================================================= */

.wdg-edm__panel-inner {

  position: relative;

  z-index: 1;

  display: grid;

  grid-template-columns:
    minmax(0, 1.38fr)
    minmax(500px, 0.82fr);

  gap:
    clamp(48px, 5vw, 100px);

  align-items: stretch;

  align-content: start;

  width: 100%;

  min-height: 100vh;

  min-height: 100dvh;

  margin: 0 !important;

  padding:
    var(--wdg-page-top)
    var(--wdg-page-x)
    var(--wdg-page-bottom);

  background:
    var(--wdg-menu-bg);
}



/* =========================================================
   EYEBROWS
   ========================================================= */

.wdg-edm__eyebrow {

  margin: 0;

  padding: 0;

  color:
    var(--wdg-text-muted);

  font-size:
    var(--wdg-eyebrow-size);

  font-weight: 600;

  line-height: 1.25;

  letter-spacing: 0.13em;

  text-transform: uppercase;
}



/* =========================================================
   NAVIGATION
   ========================================================= */

.wdg-edm__navigation {

  position: relative;

  z-index: 1;

  align-self: start;

  justify-self: stretch;

  width: 100%;

  min-width: 0;

  margin: 0 !important;

  padding: 0 !important;
}



.wdg-edm__navigation
.wdg-edm__eyebrow {

  margin:
    0
    0
    clamp(20px, 2.4vh, 32px)
    0 !important;
}



/* =========================================================
   NAV LIST
   ========================================================= */

.wdg-edm__list {

  display: grid;

  width: 100%;

  margin: 0;

  padding: 0;

  list-style: none;
}



.wdg-edm__item {

  width: 100%;

  margin: 0;

  padding: 0;

  overflow: hidden;

  border-bottom:
    1px solid
    var(--wdg-border);
}



/* =========================================================
   NAV LINKS
   ========================================================= */

.wdg-edm
.wdg-edm__link {

  position: relative;

  display: grid;

  grid-template-columns:
    clamp(52px, 3.6vw, 74px)
    minmax(0, 1fr)
    32px;

  gap:
    clamp(10px, 1.35vw, 22px);

  align-items: center;

  width: 100%;

  margin: 0;

  padding:
    clamp(9px, 1.15vh, 16px)
    0;

  color:
    var(--wdg-text-main) !important;

  text-decoration:
    none !important;

  opacity: 0;

  transform:
    translateY(55px);

  transition:
    color
    260ms
    ease;

  will-change:
    opacity,
    transform;
}



/* =========================================================
   NAV OPEN
   ========================================================= */

.wdg-edm.is-open
.wdg-edm__link {

  animation:
    wdg-nav-enter
    820ms
    var(--wdg-content-ease)
    both;

  animation-delay:
    calc(
      230ms
      +
      var(--wdg-index, 0)
      *
      62ms
    );
}



@keyframes wdg-nav-enter {

  from {

    opacity: 0;

    transform:
      translateY(55px);
  }


  to {

    opacity: 1;

    transform:
      translateY(0);
  }

}



/* =========================================================
   NAV NUMBERS
   ========================================================= */

.wdg-edm__link-number {

  display: block;

  color:
    var(--wdg-text-muted);

  font-size:
    var(--wdg-number-size);

  font-weight: 500;

  line-height: 1;

  letter-spacing:
    -0.025em;

  transition:

    color
      250ms
      ease,

    transform
      350ms
      var(--wdg-content-ease);
}



/* =========================================================
   NAV TITLE
   ========================================================= */

.wdg-edm__link-title {

  display: block;

  min-width: 0;

  color: inherit;

  font-size:
    var(--wdg-nav-size);

  font-weight: 560;

  line-height: 0.94;

  letter-spacing:
    -0.055em;
}



/* =========================================================
   NAV ARROW
   ========================================================= */

.wdg-edm__link-arrow {

  display: grid;

  width: 30px;

  height: 30px;

  place-items: center;

  justify-self: end;

  color:
    var(--wdg-text-muted);

  opacity: 0;

  transform:
    translate(
      -8px,
      8px
    );

  transition:

    color
      240ms
      ease,

    opacity
      240ms
      ease,

    transform
      340ms
      var(--wdg-content-ease);
}



.wdg-edm__link-arrow svg {

  width: 22px;

  height: 22px;
}



/* =========================================================
   NAV HOVER
   ========================================================= */

.wdg-edm
.wdg-edm__link:hover,

.wdg-edm
.wdg-edm__link:focus-visible {

  color:
    var(--wdg-hover-text) !important;

  outline: none;
}



.wdg-edm
.wdg-edm__link:hover
.wdg-edm__link-number,

.wdg-edm
.wdg-edm__link:focus-visible
.wdg-edm__link-number {

  color:
    var(--wdg-hover-text);

  transform:
    translateX(4px);
}



.wdg-edm
.wdg-edm__link:hover
.wdg-edm__link-arrow,

.wdg-edm
.wdg-edm__link:focus-visible
.wdg-edm__link-arrow {

  color:
    var(--wdg-hover-text);

  opacity: 1;

  transform:
    translate(0, 0);
}



/* =========================================================
   CURRENT PAGE
   ========================================================= */

.wdg-edm
.wdg-edm__link[aria-current="page"] {

  color:
    var(--wdg-white) !important;
}



.wdg-edm
.wdg-edm__link[aria-current="page"]
.wdg-edm__link-number {

  color:
    var(--wdg-white);
}



/* =========================================================
   RIGHT COLUMN
   ========================================================= */

.wdg-edm__aside {

  position: relative;

  z-index: 2;

  display: grid;

  grid-template-rows:
    auto
    1fr
    auto;

  gap:
    clamp(32px, 4.5vh, 62px);

  align-self: stretch;

  width: 100%;

  min-width: 0;

  margin: 0 !important;

  padding-left:
    clamp(42px, 3.5vw, 70px);

  border-left:
    1px solid
    var(--wdg-border);

  background:
    var(--wdg-menu-bg);

  opacity: 0;

  transform:
    translateY(28px);
}



.wdg-edm.is-open
.wdg-edm__aside {

  animation:
    wdg-aside-enter
    820ms
    var(--wdg-content-ease)
    460ms
    both;
}



@keyframes wdg-aside-enter {

  from {

    opacity: 0;

    transform:
      translateY(28px);
  }


  to {

    opacity: 1;

    transform:
      translateY(0);
  }

}



/* =========================================================
   PROJECT AREA
   ========================================================= */

.wdg-edm__aside-top {

  align-self: start;

  width: 100%;

  margin: 0;


  /*
   * Close Button besitzt eine eigene Zone.
   */

  padding-top:
    var(--wdg-close-clearance);
}



/* =========================================================
   HEADLINE
   ========================================================= */

.wdg-edm__headline {

  max-width: 600px;

  margin:
    clamp(16px, 1.8vh, 24px)
    0
    20px;

  color:
    var(--wdg-white);

  font-size:
    var(--wdg-headline-size);

  font-weight: 530;

  line-height: 0.98;

  letter-spacing:
    -0.05em;
}



.wdg-edm__headline span {

  display: block;

  color:
    var(--wdg-white);
}



/* =========================================================
   INTRO
   ========================================================= */

.wdg-edm__intro {

  max-width: 560px;

  margin:
    0
    0
    27px;

  color:
    var(--wdg-text-soft);

  font-size:
    var(--wdg-intro-size);

  font-weight: 400;

  line-height: 1.55;
}



/* =========================================================
   CTA
   ========================================================= */

.wdg-edm
.wdg-edm__cta {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 22px;

  width: 100%;

  max-width: 540px;

  min-height: 64px;

  padding:
    8px
    9px
    8px
    26px;

  border:
    1px solid
    var(--wdg-white);

  border-radius: 999px;

  color:
    var(--wdg-menu-bg) !important;

  background:
    var(--wdg-white);

  font-size: 17px;

  font-weight: 650;

  line-height: 1;

  text-decoration:
    none !important;

  transition:

    background-color
      260ms
      ease,

    border-color
      260ms
      ease,

    transform
      330ms
      var(--wdg-content-ease);
}



.wdg-edm__cta-icon {

  display: grid;

  flex: 0 0 auto;

  width: 46px;

  height: 46px;

  place-items: center;

  border-radius: 50%;

  color:
    var(--wdg-white);

  background:
    var(--wdg-menu-bg);

  transition:
    transform
    340ms
    var(--wdg-content-ease);
}



.wdg-edm__cta-icon svg {

  width: 21px;

  height: 21px;
}



.wdg-edm
.wdg-edm__cta:hover,

.wdg-edm
.wdg-edm__cta:focus-visible {

  color:
    var(--wdg-menu-bg) !important;

  background:
    var(--wdg-hover-light);

  border-color:
    var(--wdg-hover-light);

  transform:
    translateY(-2px);

  outline: none;
}



.wdg-edm
.wdg-edm__cta:hover
.wdg-edm__cta-icon,

.wdg-edm
.wdg-edm__cta:focus-visible
.wdg-edm__cta-icon {

  transform:
    rotate(45deg);
}



/* =========================================================
   CONTACT
   ========================================================= */

.wdg-edm__contact {

  align-self: center;

  display: grid;

  gap:
    clamp(30px, 3.5vh, 48px);
}



.wdg-edm__contact-block {

  display: grid;

  gap: 9px;
}



.wdg-edm__contact-block
.wdg-edm__eyebrow {

  margin-bottom: 8px;
}



/* =========================================================
   CONTACT LINKS
   ========================================================= */

.wdg-edm
.wdg-edm__contact-link,

.wdg-edm
.wdg-edm__contact-link:link,

.wdg-edm
.wdg-edm__contact-link:visited {

  width:
    fit-content;

  max-width: 100%;

  color:
    var(--wdg-white) !important;

  font-size:
    var(--wdg-contact-size);

  font-weight: 500;

  line-height: 1.35;

  letter-spacing:
    -0.025em;

  text-decoration:
    none !important;

  transition:
    color
    240ms
    ease;
}



.wdg-edm
.wdg-edm__contact-link:hover,

.wdg-edm
.wdg-edm__contact-link:focus-visible {

  color:
    var(--wdg-hover-text) !important;

  outline: none;
}



/* =========================================================
   CONTACT HOVER BADGE
   ========================================================= */

.wdg-edm__contact-link--badge {

  position: relative;

  display: inline-flex;

  align-items: center;

  overflow: visible;

  isolation: isolate;
}



.wdg-edm__contact-link-text {

  position: relative;

  z-index: 1;

  display: inline-block;
}



.wdg-edm__hover-badge {

  position: absolute;

  top: 0;

  left: 0;

  z-index: 4;

  display: grid;

  width:
    var(--wdg-badge-size);

  height:
    var(--wdg-badge-size);

  place-items: center;

  border-radius: 50%;

  color:
    var(--wdg-badge-color);

  background:
    var(--wdg-badge-bg);

  box-shadow:
    var(--wdg-badge-shadow);

  opacity: 0;

  pointer-events: none;

  transform:
    translate3d(
      var(--wdg-badge-x, 50%),
      var(--wdg-badge-y, 50%),
      0
    )
    translate(
      -50%,
      -50%
    )
    scale(0.65);

  transition:

    opacity
      200ms
      ease,

    transform
      320ms
      var(--wdg-content-ease);

  will-change:
    opacity,
    transform;
}



.wdg-edm__contact-link--badge.is-badge-visible
.wdg-edm__hover-badge {

  opacity: 1;

  transform:
    translate3d(
      var(--wdg-badge-x, 50%),
      var(--wdg-badge-y, 50%),
      0
    )
    translate(
      -50%,
      -50%
    )
    scale(1);
}



.wdg-edm__hover-badge-svg {

  width: 31px;

  height: 31px;
}



/* =========================================================
   LOCATION
   ========================================================= */

.wdg-edm__location {

  margin: 0;

  color:
    var(--wdg-text-soft);

  font-size:
    var(--wdg-location-size);

  font-weight: 430;

  line-height: 1.5;

  letter-spacing:
    -0.015em;
}



/* =========================================================
   FOOTER
   ========================================================= */

.wdg-edm__footer {

  display: grid;

  gap: 22px;

  margin: 0;

  padding-top: 22px;

  border-top:
    1px solid
    var(--wdg-border);

  background:
    var(--wdg-menu-bg);
}



.wdg-edm__legal {

  display: flex;

  flex-wrap: wrap;

  gap:
    11px
    22px;
}



.wdg-edm
.wdg-edm__legal a {

  color:
    var(--wdg-text-soft) !important;

  font-size:
    var(--wdg-legal-size);

  font-weight: 550;

  line-height: 1.25;

  letter-spacing:
    0.07em;

  text-transform:
    uppercase;

  text-decoration:
    none !important;

  transition:
    color
    220ms
    ease;
}



.wdg-edm
.wdg-edm__legal a:hover,

.wdg-edm
.wdg-edm__legal a:focus-visible {

  color:
    var(--wdg-white) !important;

  outline: none;
}



/* =========================================================
   CONTACT MAIN
   ========================================================= */

.wdg-edm
.wdg-edm__contact-main {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  width:
    fit-content;

  color:
    var(--wdg-white) !important;

  font-size: 17px;

  font-weight: 600;

  line-height: 1.2;

  letter-spacing:
    0.04em;

  text-decoration:
    none !important;

  transition:

    color
      220ms
      ease,

    gap
      300ms
      var(--wdg-content-ease);
}



.wdg-edm__contact-main-icon {

  display: grid;

  width: 20px;

  height: 20px;

  place-items: center;

  color:
    var(--wdg-text-muted);
}



.wdg-edm__contact-main-icon svg {

  width: 18px;

  height: 18px;
}



.wdg-edm
.wdg-edm__contact-main:hover,

.wdg-edm
.wdg-edm__contact-main:focus-visible {

  gap: 15px;

  color:
    var(--wdg-hover-text) !important;

  outline: none;
}



/* =========================================================
   MENU TOGGLE
   ========================================================= */

.wdg-edm__toggle {

  position: fixed !important;


  /*
   * VERTIKAL:
   *
   * Der Wert wird vom bestehenden JS
   * aus der echten Position des Logos
   * errechnet.
   *
   * KEIN CSS-Override mehr.
   */

  top:
    calc(
      var(--wdg-toggle-top)
      +
      var(--wdg-button-offset-y)
    ) !important;


  /*
   * HORIZONTAL:
   *
   * JS synchronisiert den Menüpunkt
   * mit der tatsächlichen linken Logo-Kante.
   *
   * Damit gilt:
   *
   * Logo-Abstand links
   * =
   * Menü-Abstand rechts
   */

  right:
    calc(
      var(--wdg-toggle-right)
      +
      var(--wdg-button-offset-x)
    ) !important;


  bottom: auto !important;

  left: auto !important;

  z-index: 10;

  display: grid;

  width:
    var(--wdg-button-size);

  height:
    var(--wdg-button-size);

  margin: 0 !important;

  padding: 0;

  place-items: center;

  border: 0;

  border-radius: 50%;

  color: #111111;

  background:
    var(--wdg-white);

  box-shadow:
    0 12px 30px
      rgb(0 0 0 / 25%),
    0 4px 10px
      rgb(0 0 0 / 15%);

  cursor: pointer;

  pointer-events: auto;

  transition:

    color
      250ms
      ease,

    background-color
      250ms
      ease,

    transform
      350ms
      var(--wdg-content-ease),

    box-shadow
      280ms
      ease;

  -webkit-tap-highlight-color:
    transparent;
}



/*
 * WICHTIG:
 *
 * KEINE Transition von top/right.
 *
 * Sonst würde der Button beim Sticky-Wechsel
 * sichtbar nachlaufen.
 */



.wdg-edm:not(.is-open)
.wdg-edm__toggle:hover {

  background:
    var(--wdg-hover-light);

  transform:
    scale(1.05);
}



.wdg-edm.is-open
.wdg-edm__toggle {

  color:
    var(--wdg-white);

  background:
    var(--wdg-menu-bg);

  box-shadow:
    inset
    0
    0
    0
    1px
    var(--wdg-border-strong);
}



/*
 * Das X bleibt exakt am selben Ort.
 */

.wdg-edm.is-open
.wdg-edm__toggle {

  top:
    calc(
      var(--wdg-toggle-top)
      +
      var(--wdg-button-offset-y)
    ) !important;

  right:
    calc(
      var(--wdg-toggle-right)
      +
      var(--wdg-button-offset-x)
    ) !important;
}



.wdg-edm.is-open
.wdg-edm__toggle:hover {

  color:
    var(--wdg-hover-text);
}



.wdg-edm__toggle:focus-visible {

  outline:
    2px solid
    var(--wdg-white);

  outline-offset: 5px;
}



/* =========================================================
   SCREEN READER LABEL
   ========================================================= */

.wdg-edm__toggle-label {

  position: absolute;

  width: 1px;

  height: 1px;

  margin: -1px;

  padding: 0;

  overflow: hidden;

  clip:
    rect(0, 0, 0, 0);

  clip-path:
    inset(50%);

  border: 0;

  white-space: nowrap;
}



/* =========================================================
   MENU ICON
   ========================================================= */

.wdg-edm__icon {

  position: relative;

  display: block;

  width: 28px;

  height: 20px;
}



.wdg-edm__icon-line {

  position: absolute;

  left: 0;

  display: block;

  height: 2px;

  border-radius: 99px;

  background:
    currentColor;

  transform-origin:
    center;

  transition:

    top
      400ms
      var(--wdg-content-ease),

    width
      400ms
      var(--wdg-content-ease),

    transform
      400ms
      var(--wdg-content-ease);
}



.wdg-edm__icon-line:first-child {

  top: 5px;

  width: 28px;
}



.wdg-edm__icon-line:last-child {

  top: 14px;

  width: 19px;
}



.wdg-edm.is-open
.wdg-edm__icon-line:first-child {

  top: 9px;

  width: 28px;

  transform:
    rotate(45deg);
}



.wdg-edm.is-open
.wdg-edm__icon-line:last-child {

  top: 9px;

  width: 28px;

  transform:
    rotate(-45deg);
}



/* =========================================================
   BODY LOCK
   ========================================================= */

body.wdg-menu-open {

  width: 100%;

  overflow: hidden;
}



/* =========================================================
   LARGE DESKTOP
   >= 1800
   ========================================================= */

@media (min-width: 1800px) {

  :root {

    --wdg-header-shell-max: 1500px;

    --wdg-header-shell-gutter: 12px;

    --wdg-header-min-side: 28px;


    --wdg-nav-size:
      clamp(64px, 3.7vw, 82px);

    --wdg-number-size:
      clamp(21px, 1.15vw, 26px);

    --wdg-eyebrow-size: 19px;

    --wdg-contact-size:
      clamp(23px, 1.25vw, 28px);

    --wdg-location-size:
      clamp(20px, 1.05vw, 24px);

    --wdg-headline-size:
      clamp(41px, 2.5vw, 54px);

    --wdg-badge-size: 92px;


    --wdg-close-clearance:
      calc(
        var(--wdg-button-size)
        + 48px
      );
  }


  .wdg-edm__panel-inner {

    grid-template-columns:
      minmax(0, 1.4fr)
      minmax(560px, 0.82fr);
  }

}



/* =========================================================
   DESKTOP
   1440 – 1799
   ========================================================= */

@media
(min-width: 1440px)
and
(max-width: 1799px) {

  :root {

    --wdg-header-shell-max: 1320px;

    --wdg-header-shell-gutter: 18px;

    --wdg-header-min-side: 26px;


    --wdg-nav-size:
      clamp(52px, 3.7vw, 66px);

    --wdg-number-size:
      clamp(18px, 1.15vw, 22px);

    --wdg-eyebrow-size: 18px;

    --wdg-contact-size:
      clamp(20px, 1.3vw, 24px);

    --wdg-location-size:
      clamp(18px, 1.1vw, 21px);

    --wdg-headline-size:
      clamp(35px, 2.7vw, 46px);


    --wdg-close-clearance:
      calc(
        var(--wdg-button-size)
        + 44px
      );
  }


  .wdg-edm__panel-inner {

    grid-template-columns:
      minmax(0, 1.35fr)
      minmax(470px, 0.82fr);
  }

}



/* =========================================================
   NOTEBOOK
   1024 – 1439
   ========================================================= */

@media
(min-width: 1024px)
and
(max-width: 1439px) {

  :root {

    --wdg-header-shell-max: 100vw;

    --wdg-header-shell-gutter: 0px;

    --wdg-header-min-side:
      clamp(24px, 3vw, 40px);


    --wdg-button-size: 56px;


    --wdg-nav-size:
      clamp(43px, 4.2vw, 54px);

    --wdg-number-size: 17px;

    --wdg-eyebrow-size: 16px;

    --wdg-contact-size:
      clamp(18px, 1.65vw, 21px);

    --wdg-location-size: 18px;

    --wdg-legal-size: 14px;

    --wdg-headline-size:
      clamp(31px, 3.2vw, 40px);

    --wdg-intro-size: 16px;

    --wdg-page-x:
      clamp(28px, 3.5vw, 44px);

    --wdg-page-top: 34px;


    --wdg-close-clearance:
      calc(
        var(--wdg-button-size)
        + 38px
      );
  }


  .wdg-edm__panel-inner {

    grid-template-columns:
      minmax(0, 1.22fr)
      minmax(400px, 0.88fr);

    gap: 40px;
  }


  .wdg-edm__aside {

    padding-left: 32px;
  }

}



/* =========================================================
   LOW HEIGHT DESKTOP / NOTEBOOK
   ========================================================= */

@media
(min-width: 1024px)
and
(max-height: 760px) {

  :root {

    --wdg-nav-size:
      clamp(40px, 2.9vw, 56px);

    --wdg-number-size:
      clamp(15px, 0.95vw, 18px);

    --wdg-eyebrow-size: 14px;

    --wdg-contact-size:
      clamp(17px, 1vw, 20px);

    --wdg-location-size:
      clamp(15px, 0.9vw, 18px);

    --wdg-legal-size: 13px;

    --wdg-intro-size:
      clamp(14px, 0.85vw, 17px);

    --wdg-headline-size:
      clamp(30px, 2.2vw, 40px);

    --wdg-page-top: 26px;

    --wdg-page-bottom: 24px;

    --wdg-button-size: 54px;

    --wdg-close-clearance: 86px;

    --wdg-badge-size: 72px;
  }


  .wdg-edm__panel-inner {

    grid-template-columns:
      minmax(0, 1.28fr)
      minmax(520px, 0.9fr);

    gap:
      clamp(36px, 3.5vw, 68px);
  }


  .wdg-edm__navigation
  .wdg-edm__eyebrow {

    margin-bottom:
      17px !important;
  }


  .wdg-edm
  .wdg-edm__link {

    grid-template-columns:
      40px
      minmax(0, 1fr)
      25px;

    gap: 9px;

    padding:
      6px
      0;
  }


  .wdg-edm__aside {

    gap:
      clamp(20px, 2.7vh, 32px);

    padding-left:
      clamp(28px, 2.5vw, 46px);
  }


  .wdg-edm__headline {

    margin:
      11px
      0
      13px;
  }


  .wdg-edm__intro {

    margin-bottom: 17px;

    line-height: 1.45;
  }


  .wdg-edm
  .wdg-edm__cta {

    min-height: 52px;

    padding:
      6px
      7px
      6px
      20px;

    font-size: 14px;
  }


  .wdg-edm__cta-icon {

    width: 38px;

    height: 38px;
  }


  .wdg-edm__cta-icon svg {

    width: 16px;

    height: 16px;
  }


  .wdg-edm__contact {

    gap: 20px;
  }


  .wdg-edm__footer {

    gap: 12px;

    padding-top: 13px;
  }

}



/* =========================================================
   TABLET LANDSCAPE
   ========================================================= */

@media
(min-width: 768px)
and
(max-width: 1023px)
and
(orientation: landscape) {

  :root {

    --wdg-header-shell-max: 100vw;

    --wdg-header-shell-gutter: 0px;

    --wdg-header-min-side: 22px;

    --wdg-button-size: 50px;


    --wdg-nav-size:
      clamp(33px, 4vw, 41px);

    --wdg-number-size: 15px;

    --wdg-eyebrow-size: 14px;

    --wdg-contact-size: 17px;

    --wdg-location-size: 16px;

    --wdg-legal-size: 12px;

    --wdg-headline-size:
      clamp(27px, 3.3vw, 33px);

    --wdg-intro-size: 14px;

    --wdg-page-x: 22px;

    --wdg-page-top: 22px;

    --wdg-page-bottom: 22px;

    --wdg-close-clearance: 74px;
  }


  .wdg-edm__panel-inner {

    grid-template-columns:
      minmax(0, 1fr)
      minmax(350px, 0.95fr);

    gap: 26px;
  }


  .wdg-edm__navigation
  .wdg-edm__eyebrow {

    margin-bottom:
      15px !important;
  }


  .wdg-edm
  .wdg-edm__link {

    grid-template-columns:
      34px
      minmax(0, 1fr)
      22px;

    gap: 7px;

    padding:
      6px
      0;
  }


  .wdg-edm__aside {

    gap: 22px;

    padding-left: 24px;
  }


  .wdg-edm
  .wdg-edm__cta {

    min-height: 50px;

    padding-left: 17px;

    font-size: 13px;
  }


  .wdg-edm__cta-icon {

    width: 36px;

    height: 36px;
  }

}



/* =========================================================
   TABLET PORTRAIT
   ========================================================= */

@media
(min-width: 768px)
and
(max-width: 1023px)
and
(orientation: portrait) {

  :root {

    --wdg-header-shell-max: 100vw;

    --wdg-header-shell-gutter: 0px;

    --wdg-header-min-side: 22px;

    --wdg-button-size: 54px;


    --wdg-nav-size:
      clamp(39px, 5.6vw, 48px);

    --wdg-number-size: 17px;

    --wdg-eyebrow-size: 15px;

    --wdg-contact-size: 20px;

    --wdg-location-size: 18px;

    --wdg-legal-size: 14px;

    --wdg-headline-size:
      clamp(31px, 4.5vw, 39px);

    --wdg-intro-size: 16px;

    --wdg-page-x: 28px;

    --wdg-page-top:
      calc(
        env(safe-area-inset-top)
        + 28px
      );

    --wdg-page-bottom: 38px;
  }


  .wdg-edm__panel-inner {

    display: flex !important;

    flex-direction: column !important;

    justify-content:
      flex-start !important;

    align-items:
      stretch !important;

    gap: 0 !important;
  }


  .wdg-edm__navigation {

    position: static !important;

    order: 1;

    width: 100%;

    margin: 0 !important;

    padding: 0 !important;
  }


  .wdg-edm
  .wdg-edm__link {

    grid-template-columns:
      42px
      minmax(0, 1fr)
      27px;

    padding:
      10px
      0;
  }


  .wdg-edm__link-arrow {

    opacity: 0.5;

    transform: none;
  }


  .wdg-edm__aside {

    position: static !important;

    order: 2;

    display: block !important;

    width: 100%;

    margin:
      54px
      0
      0 !important;

    padding:
      40px
      0
      0 !important;

    border-top:
      1px solid
      var(--wdg-border);

    border-left: 0;

    opacity: 1 !important;

    transform:
      none !important;

    animation:
      none !important;
  }


  /*
   * Rechte Sektion liegt hier bereits
   * unter der Navigation.
   */

  .wdg-edm__aside-top {

    padding-top:
      0 !important;

    margin:
      0 !important;
  }


  .wdg-edm
  .wdg-edm__cta {

    width: 100%;

    max-width: 540px;
  }


  .wdg-edm__contact {

    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );

    gap: 34px;

    margin-top: 48px;
  }


  .wdg-edm__footer {

    margin-top: 48px;
  }

}



/* =========================================================
   MOBILE COMMON
   ========================================================= */

@media (max-width: 767px) {

  :root {

    --wdg-header-shell-max: 100vw;

    --wdg-header-shell-gutter: 0px;

    --wdg-header-min-side: 16px;

    --wdg-button-size: 52px;
  }


  .wdg-edm__panel-inner {

    display: flex !important;

    flex-direction: column !important;

    justify-content:
      flex-start !important;

    align-items:
      stretch !important;

    gap: 0 !important;

    height: auto !important;

    min-height: 100vh;

    min-height: 100dvh;
  }


  .wdg-edm__navigation {

    position: static !important;

    order: 1;

    width: 100%;

    margin: 0 !important;

    padding: 0 !important;
  }


  .wdg-edm__aside {

    position: static !important;

    order: 2;

    display: block !important;

    width: 100% !important;

    max-width: none !important;

    margin:
      48px
      0
      0 !important;

    padding:
      36px
      0
      0 !important;

    border-top:
      1px solid
      var(--wdg-border);

    border-left:
      0 !important;

    opacity:
      1 !important;

    transform:
      none !important;

    animation:
      none !important;
  }


  .wdg-edm__aside-top {

    padding-top:
      0 !important;

    margin:
      0 !important;
  }


  .wdg-edm__contact {

    margin-top: 42px;
  }


  .wdg-edm__footer {

    margin-top: 42px;
  }


  .wdg-edm__link-arrow {

    opacity: 0.48;

    transform: none;
  }


  .wdg-edm__hover-badge {

    display: none !important;
  }

}



/* =========================================================
   MOBILE PORTRAIT
   ========================================================= */

@media
(max-width: 767px)
and
(orientation: portrait) {

  :root {

    --wdg-nav-size:
      clamp(33px, 8.9vw, 42px);

    --wdg-number-size:
      clamp(14px, 3.8vw, 16px);

    --wdg-eyebrow-size:
      clamp(12px, 3.3vw, 14px);

    --wdg-contact-size:
      clamp(18px, 4.8vw, 20px);

    --wdg-location-size:
      clamp(17px, 4.3vw, 19px);

    --wdg-legal-size:
      clamp(11px, 2.9vw, 13px);

    --wdg-headline-size:
      clamp(30px, 8.2vw, 39px);

    --wdg-intro-size: 15px;

    --wdg-page-x:
      clamp(18px, 5vw, 24px);

    --wdg-page-top:
      calc(
        env(safe-area-inset-top)
        + 28px
      );

    --wdg-page-bottom:
      calc(
        32px
        +
        env(safe-area-inset-bottom)
      );
  }


  .wdg-edm__navigation
  .wdg-edm__eyebrow {

    margin-bottom:
      18px !important;
  }


  .wdg-edm
  .wdg-edm__link {

    grid-template-columns:
      36px
      minmax(0, 1fr)
      26px;

    gap: 9px;

    padding:
      10px
      0;
  }


  .wdg-edm__link-arrow {

    width: 24px;

    height: 24px;
  }


  .wdg-edm__link-arrow svg {

    width: 18px;

    height: 18px;
  }


  .wdg-edm__aside {

    margin-top:
      48px !important;

    padding-top:
      36px !important;
  }


  .wdg-edm__headline {

    margin:
      16px
      0
      18px;
  }


  .wdg-edm__intro {

    margin-bottom: 24px;
  }


  .wdg-edm
  .wdg-edm__cta {

    width: 100%;

    max-width: none;

    min-height: 58px;

    padding:
      6px
      7px
      6px
      21px;

    font-size: 15px;
  }


  .wdg-edm__cta-icon {

    width: 44px;

    height: 44px;
  }


  .wdg-edm__contact {

    gap: 30px;

    margin-top: 42px;
  }


  .wdg-edm__footer {

    gap: 22px;

    margin-top: 42px;
  }

}



/* =========================================================
   MOBILE LANDSCAPE
   ========================================================= */

@media
(max-width: 767px)
and
(orientation: landscape) {

  :root {

    --wdg-header-min-side: 16px;

    --wdg-button-size: 46px;


    --wdg-nav-size:
      clamp(30px, 4.8vw, 38px);

    --wdg-number-size: 13px;

    --wdg-eyebrow-size: 12px;

    --wdg-contact-size: 16px;

    --wdg-location-size: 15px;

    --wdg-legal-size: 11px;

    --wdg-headline-size:
      clamp(27px, 4.1vw, 33px);

    --wdg-intro-size: 14px;

    --wdg-page-x: 20px;

    --wdg-page-top:
      calc(
        env(safe-area-inset-top)
        + 18px
      );

    --wdg-page-bottom: 24px;
  }


  .wdg-edm
  .wdg-edm__link {

    grid-template-columns:
      31px
      minmax(0, 1fr)
      22px;

    padding:
      7px
      0;
  }


  .wdg-edm__aside {

    margin-top:
      40px !important;

    padding-top:
      31px !important;
  }

}



/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media
(max-width: 420px)
and
(orientation: portrait) {

  :root {

    --wdg-header-min-side: 14px;

    --wdg-button-size: 48px;


    --wdg-nav-size:
      clamp(30px, 8.8vw, 36px);

    --wdg-number-size: 13px;

    --wdg-eyebrow-size: 12px;

    --wdg-contact-size: 17px;

    --wdg-location-size: 16px;

    --wdg-legal-size: 11px;

    --wdg-headline-size:
      clamp(28px, 8vw, 34px);

    --wdg-intro-size: 15px;

    --wdg-page-x: 16px;

    --wdg-page-top:
      calc(
        env(safe-area-inset-top)
        + 24px
      );
  }


  .wdg-edm
  .wdg-edm__link {

    grid-template-columns:
      29px
      minmax(0, 1fr)
      22px;

    gap: 7px;

    padding:
      9px
      0;
  }


  .wdg-edm__contact-link-text {

    overflow-wrap: anywhere;
  }

}



/* =========================================================
   VERY SMALL LANDSCAPE
   ========================================================= */

@media
(max-width: 740px)
and
(max-height: 430px)
and
(orientation: landscape) {

  :root {

    --wdg-header-min-side: 14px;

    --wdg-button-size: 44px;


    --wdg-nav-size:
      clamp(26px, 4.5vw, 32px);

    --wdg-number-size: 12px;

    --wdg-eyebrow-size: 11px;

    --wdg-contact-size: 15px;

    --wdg-location-size: 14px;

    --wdg-legal-size: 10px;

    --wdg-headline-size:
      clamp(24px, 3.8vw, 29px);

    --wdg-intro-size: 13px;

    --wdg-page-x: 17px;

    --wdg-page-top:
      calc(
        env(safe-area-inset-top)
        + 15px
      );

    --wdg-page-bottom: 20px;
  }


  .wdg-edm
  .wdg-edm__link {

    grid-template-columns:
      27px
      minmax(0, 1fr)
      20px;

    padding:
      5px
      0;
  }

}



/* =========================================================
   TOUCH
   ========================================================= */

@media
(hover: none),
(pointer: coarse) {

  .wdg-edm__hover-badge {

    display: none !important;
  }


  .wdg-edm__link-arrow {

    opacity: 0.48;

    transform: none;
  }

}



/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media
(prefers-reduced-motion: reduce) {

  .wdg-edm *,
  .wdg-edm *::before,
  .wdg-edm *::after {

    animation-duration:
      1ms !important;

    animation-delay:
      0ms !important;

    transition-duration:
      1ms !important;

    transition-delay:
      0ms !important;
  }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5784960 */header {
	position: sticky;
	top:   0;
	left:  0;
	right: 0;
}

nav {
	position: sticky;
	top: 10em;
}			
footer {
	position: sticky;
	bottom: 0;
	left:   0;
	right:  0;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9a96b0 */header {
	position: sticky;
	top:   0;
	left:  0;
	right: 0;
}

nav {
	position: sticky;
	top: 10em;
}			
footer {
	position: sticky;
	bottom: 0;
	left:   0;
	right:  0;
}/* End custom CSS */