.elementor-218 .elementor-element.elementor-element-42c548c{--display:flex;--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;}.elementor-218 .elementor-element.elementor-element-8775dc1{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-218 .elementor-element.elementor-element-4ee1469 .elementor-heading-title{font-family:"Archivo", Sans-serif;font-size:1.45rem;font-weight:700;letter-spacing:-0.045em;color:#111318;}.elementor-218 .elementor-element.elementor-element-7001bdf{--display:flex;--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:170px;--padding-bottom:250px;--padding-left:0px;--padding-right:0px;}.elementor-218 .elementor-element.elementor-element-28955f7{--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;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.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 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-218 .elementor-element.elementor-element-919ee10{width:var( --container-widget-width, 102.419% );max-width:102.419%;--container-widget-width:102.419%;--container-widget-flex-grow:0;}.elementor-218 .elementor-element.elementor-element-919ee10.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-218 .elementor-element.elementor-element-45f08ec{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:25px;}.elementor-218 .elementor-element.elementor-element-45f08ec.e-con{--align-self:flex-end;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-218 .elementor-element.elementor-element-791bc74{color:var( --e-global-color-secondary );}.elementor-218 .elementor-element.elementor-element-ec4e797{--grid-template-columns:repeat(0, auto);text-align:center;--grid-column-gap:5px;--grid-row-gap:0px;}#elementor-popup-modal-218 .dialog-widget-content{animation-duration:1.2s;background-color:#FFFFFF;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-218 .dialog-message{width:100vw;height:100vh;align-items:flex-start;}#elementor-popup-modal-218{justify-content:center;align-items:center;}#elementor-popup-modal-218 .dialog-close-button{display:flex;}@media(max-width:767px){.elementor-218 .elementor-element.elementor-element-45f08ec{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}}/* Start custom CSS for heading, class: .elementor-element-4ee1469 */.sx-logo,
.sx-logo .elementor-heading-title,
.sx-logo a {
  margin: 0 !important;
  font-family: "Archivo", "Montserrat", sans-serif !important;
  font-size: clamp(1.45rem, 2.1vw, 2rem) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -0.045em !important;
  color: #111318 !important;
  text-decoration: none !important;
}/* End custom CSS */
/* Start custom CSS for social-icons, class: .elementor-element-ec4e797 */.sx-popup-socials {
  display: flex;
  gap: 1.5rem;
  margin-top: 2rem;
}

.sx-popup-socials i,
.sx-popup-socials svg {
  width: 1.1rem;
  color: #777;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-45f08ec *//* =========================================
   RENZ WEBDESIGN – RECHTE POPUP-KONTAKTSPALTE
   Baunfire-inspirierte Darstellung
   ========================================= */

/* Gesamte rechte Spalte */
.sx-popup-contact-col {
  width: 100%;
  max-width: 19rem;
  min-width: 0;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;

  gap: 2.25rem !important;

  margin: 0 !important;
  padding: 0 !important;

  justify-self: end;
  align-self: center;

  font-family: "Archivo", "Montserrat", sans-serif;
}

/* Elementor-Widget-Abstände entfernen */
.sx-popup-contact-col > .elementor-element,
.sx-popup-contact-col .elementor-widget-container {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

/* Texteditor */
.sx-popup-contact-data {
  width: 100%;
  max-width: 100%;

  font-family: "Archivo", "Montserrat", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;

  color: #111318 !important;
}

/* Absätze */
.sx-popup-contact-data p {
  margin: 0 0 2rem !important;
  padding: 0 !important;

  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;

  color: #111318 !important;
}

/* Letzten Absatz ohne zusätzlichen Abstand */
.sx-popup-contact-data p:last-child {
  margin-bottom: 0 !important;
}

/* E-Mail und Telefonnummer */
.sx-popup-contact-data a {
  display: inline-block;

  margin-bottom: 0.45rem;

  font-family: inherit !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;

  color: #ff4d2e !important;
  text-decoration-line: underline !important;
  text-decoration-color: #ff4d2e !important;
  text-decoration-thickness: 0.0625rem !important;
  text-underline-offset: 0.35rem !important;

  transition:
    color 0.3s ease,
    text-decoration-color 0.3s ease;
}

.sx-popup-contact-data a:hover {
  color: #111318 !important;
  text-decoration-color: #111318 !important;
}

/* Adresse */
.sx-popup-contact-data strong,
.sx-popup-contact-data span {
  color: #111318 !important;
}

/* Social-Icons-Widget */
.sx-popup-socials {
  width: 100%;

  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;

  gap: 1.55rem !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Elementor Social Icons Wrapper */
.sx-popup-socials .elementor-social-icons-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;

  gap: 1.55rem !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Einzelnes Social Icon */
.sx-popup-socials .elementor-social-icon {
  width: 1.15rem !important;
  height: 1.15rem !important;
  min-width: 1.15rem !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  color: #858585 !important;

  transition:
    color 0.3s ease,
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* Icon selbst */
.sx-popup-socials .elementor-social-icon i,
.sx-popup-socials .elementor-social-icon svg {
  width: 1rem !important;
  height: 1rem !important;

  font-size: 1rem !important;

  color: currentColor !important;
  fill: currentColor !important;
}

/* Hover */
.sx-popup-socials .elementor-social-icon:hover {
  color: #111318 !important;
  background: transparent !important;
  transform: translateY(-0.2rem) !important;
}

/* Falls du Textlinks statt Icon-Widget nutzt */
.sx-popup-socials a:not(.elementor-social-icon) {
  font-family: "Archivo", "Montserrat", sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;

  color: #858585;
  text-decoration: none;

  transition: color 0.3s ease;
}

.sx-popup-socials a:not(.elementor-social-icon):hover {
  color: #111318;
}

/* Tablet */
@media (max-width: 64rem) {
  .sx-popup-contact-col {
    max-width: 16rem;
    gap: 1.8rem !important;
  }

  .sx-popup-contact-data,
  .sx-popup-contact-data a {
    font-size: 0.95rem !important;
  }
}

/* Smartphone */
@media (max-width: 47.9375rem) {
  .sx-popup-contact-col {
    width: 100%;
    max-width: 100%;

    justify-self: start;
    align-self: start;

    gap: 1.75rem !important;
  }

  .sx-popup-contact-data {
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
  }

  .sx-popup-contact-data a {
    font-size: 0.95rem !important;
  }

  .sx-popup-contact-data p {
    margin-bottom: 1.5rem !important;
  }

  .sx-popup-socials,
  .sx-popup-socials .elementor-social-icons-wrapper {
    gap: 1.35rem !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7001bdf */.menu-popup-title,
.menu-popup-title a {
  font-family: "Archivo", sans-serif;
  font-size: clamp(2.125rem, 5vw, 5.625rem);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.04em;
}/* End custom CSS */
/* Start custom CSS *//* =========================================
   SITESONIX – POPUP-MENÜ

   Desktop:
   Schrift ungefähr 60–80 px
   kompakter, gleichmäßiger Zeilenabstand

   Standard: alle schwarz
   Hover: aktiver Punkt schwarz,
   übrige Punkte hellgrau
   ========================================= */

.sx-color-menu {
  width: 100%;
  max-width: 100%;
  min-width: 0;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  /* Abstand zwischen den Menüpunkten */
  gap: 0.9rem !important;

  padding-right: 1rem;
  overflow: visible;

  container-type: inline-size;
}

/* Falls ein normales Elementor-Menü verwendet wird */
.sx-color-menu .elementor-nav-menu,
.sx-color-menu .elementor-nav-menu--main,
.sx-color-menu ul {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  width: 100%;
  margin: 0 !important;
  padding: 0 !important;

  gap: 0.9rem !important;
  overflow: visible !important;
}

/* Einzelne Menüzeile */
.sx-color-menu .sx-menu-item,
.sx-color-menu .elementor-nav-menu > li,
.sx-color-menu li {
  display: block !important;

  width: 100%;
  min-width: 0;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 1 !important;
  overflow: visible !important;
}

/* Elementor-Überschriften */
.sx-color-menu .sx-menu-item .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* Menülink */
.sx-color-menu .sx-menu-item a,
.sx-color-menu .elementor-item,
.sx-color-menu li > a {
  display: inline-block !important;
  position: relative;

  width: fit-content;
  max-width: calc(100% - 1rem);

  margin: 0 !important;
  padding: 0 !important;

  font-family: "Archivo", "Montserrat", sans-serif !important;

  /*
   * Minimum: 60 px
   * Maximum: 80 px
   */
  font-size: clamp(3.75rem, 5vw, 5rem) !important;

  font-weight: 700 !important;

  /* Kompakt, ohne dass Wörter ineinanderlaufen */
  line-height: 0.94 !important;
  letter-spacing: -0.055em !important;

  color: #111318 !important;
  -webkit-text-fill-color: #111318 !important;

  background: none !important;
  text-decoration: none !important;
  white-space: nowrap;

  transform: translate3d(0, 0, 0);
  transform-origin: left center;

  transition:
    color 0.35s ease,
    -webkit-text-fill-color 0.35s ease,
    opacity 0.35s ease,
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) !important;

  will-change: transform, color;
}

/* Sobald ein Menüpunkt berührt wird:
   alle Links werden hellgrau */
.sx-color-menu:has(a:hover) a {
  color: #dedfe2 !important;
  -webkit-text-fill-color: #dedfe2 !important;
}

/* Der aktive Menüpunkt bleibt schwarz
   und bewegt sich leicht nach rechts */
.sx-color-menu:has(a:hover) a:hover {
  color: #111318 !important;
  -webkit-text-fill-color: #111318 !important;

  transform: translate3d(0.65rem, 0, 0) !important;
}

/* Tastaturbedienung */
.sx-color-menu:has(a:focus-visible) a {
  color: #dedfe2 !important;
  -webkit-text-fill-color: #dedfe2 !important;
}

.sx-color-menu a:focus-visible {
  color: #111318 !important;
  -webkit-text-fill-color: #111318 !important;

  transform: translate3d(0.65rem, 0, 0) !important;

  outline: 0.125rem solid #111318;
  outline-offset: 0.3rem;
}

/* Elementor-Pointer und Unterstreichungen entfernen */
.sx-color-menu .elementor-item::before,
.sx-color-menu .elementor-item::after {
  display: none !important;
}

/* Tablet */
@media (max-width: 64rem) {
  .sx-color-menu,
  .sx-color-menu .elementor-nav-menu,
  .sx-color-menu .elementor-nav-menu--main,
  .sx-color-menu ul {
    gap: 0.75rem !important;
  }

  .sx-color-menu .sx-menu-item a,
  .sx-color-menu .elementor-item,
  .sx-color-menu li > a {
    font-size: clamp(3.1rem, 7vw, 4.25rem) !important;
    line-height: 0.95 !important;
  }

  .sx-color-menu:has(a:hover) a:hover {
    transform: translate3d(0.5rem, 0, 0) !important;
  }
}

/* Smartphone */
@media (max-width: 47.9375rem) {
  .sx-color-menu {
    gap: 0.65rem !important;
    padding-right: 0.5rem;
  }

  .sx-color-menu .elementor-nav-menu,
  .sx-color-menu .elementor-nav-menu--main,
  .sx-color-menu ul {
    gap: 0.65rem !important;
  }

  .sx-color-menu .sx-menu-item a,
  .sx-color-menu .elementor-item,
  .sx-color-menu li > a {
    max-width: calc(100% - 0.5rem);

    font-size: clamp(2.4rem, 12cqw, 3.4rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.05em !important;

    white-space: nowrap;
  }

  .sx-color-menu:has(a:hover) a:hover {
    transform: translate3d(0.3rem, 0, 0) !important;
  }
}

/* Bewegung reduzieren */
@media (prefers-reduced-motion: reduce) {
  .sx-color-menu a {
    transition: none !important;
    transform: none !important;
  }
}

/* =========================================
   SITESONIX – POPUP-ÜBERGANG
   Weiße Fläche + gestaffelter Inhalt
   ========================================= */

/* Ausgangszustand */
.elementor-popup-modal .sx-popup {
  opacity: 0;
  clip-path: inset(0 0 100% 0);
  background: #ffffff;
}

/* Inhalt zunächst unsichtbar */
.elementor-popup-modal .sx-popup .sx-popup-top,
.elementor-popup-modal .sx-popup .sx-popup-main,
.elementor-popup-modal .sx-popup .sx-menu-item,
.elementor-popup-modal .sx-popup .sx-popup-contact-col {
  opacity: 0;
  transform: translateY(1.25rem);
  animation: none !important;
}

/* Weiße Fläche öffnet sich */
.elementor-popup-modal .sx-popup.sx-animate {
  animation: sxPopupCurtainIn
    0.68s
    cubic-bezier(0.22, 1, 0.36, 1)
    forwards;
}

/* Kopfzeile */
.elementor-popup-modal
.sx-popup.sx-animate
.sx-popup-top {
  animation: sxPopupContentIn
    0.6s
    cubic-bezier(0.22, 1, 0.36, 1)
    0.18s
    forwards !important;
}

/* Hauptbereich */
.elementor-popup-modal
.sx-popup.sx-animate
.sx-popup-main {
  animation: sxPopupContentIn
    0.65s
    cubic-bezier(0.22, 1, 0.36, 1)
    0.24s
    forwards !important;
}

/* Menüpunkte einzeln */
.elementor-popup-modal
.sx-popup.sx-animate
.sx-menu-item:nth-child(1) {
  animation: sxPopupContentIn
    0.55s cubic-bezier(0.22, 1, 0.36, 1)
    0.30s forwards !important;
}

.elementor-popup-modal
.sx-popup.sx-animate
.sx-menu-item:nth-child(2) {
  animation: sxPopupContentIn
    0.55s cubic-bezier(0.22, 1, 0.36, 1)
    0.37s forwards !important;
}

.elementor-popup-modal
.sx-popup.sx-animate
.sx-menu-item:nth-child(3) {
  animation: sxPopupContentIn
    0.55s cubic-bezier(0.22, 1, 0.36, 1)
    0.44s forwards !important;
}

.elementor-popup-modal
.sx-popup.sx-animate
.sx-menu-item:nth-child(4) {
  animation: sxPopupContentIn
    0.55s cubic-bezier(0.22, 1, 0.36, 1)
    0.51s forwards !important;
}

.elementor-popup-modal
.sx-popup.sx-animate
.sx-menu-item:nth-child(5) {
  animation: sxPopupContentIn
    0.55s cubic-bezier(0.22, 1, 0.36, 1)
    0.58s forwards !important;
}

/* Rechte Kontaktspalte */
.elementor-popup-modal
.sx-popup.sx-animate
.sx-popup-contact-col {
  animation: sxPopupContentIn
    0.65s
    cubic-bezier(0.22, 1, 0.36, 1)
    0.48s
    forwards !important;
}

@keyframes sxPopupCurtainIn {
  0% {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
  }

  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}

@keyframes sxPopupContentIn {
  0% {
    opacity: 0;
    transform: translateY(1.25rem);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Personen mit deaktivierten Animationen */
@media (prefers-reduced-motion: reduce) {
  .elementor-popup-modal .sx-popup,
  .elementor-popup-modal .sx-popup .sx-popup-top,
  .elementor-popup-modal .sx-popup .sx-popup-main,
  .elementor-popup-modal .sx-popup .sx-menu-item,
  .elementor-popup-modal .sx-popup .sx-popup-contact-col {
    opacity: 1 !important;
    clip-path: none !important;
    transform: none !important;
    animation: none !important;
  }
}/* End custom CSS */