.elementor-1884 .elementor-element.elementor-element-e018cbd{--display:flex;--min-height:auto;--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;--justify-content:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:96px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:00px;--padding-bottom:00px;--padding-left:00px;--padding-right:00px;}.elementor-1884 .elementor-element.elementor-element-a854829{--display:flex;--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:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1884 .elementor-element.elementor-element-a854829:not(.elementor-motion-effects-element-type-background), .elementor-1884 .elementor-element.elementor-element-a854829 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1884 .elementor-element.elementor-element-29559b1{--display:flex;--min-height:792px;--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-start;--align-items:flex-start;--gap:18px 18px;--row-gap:18px;--column-gap:18px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:56px;--padding-bottom:56px;--padding-left:48px;--padding-right:48px;}.elementor-1884 .elementor-element.elementor-element-29559b1:not(.elementor-motion-effects-element-type-background), .elementor-1884 .elementor-element.elementor-element-29559b1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#154A73;}.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-1884 .elementor-element.elementor-element-347788b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1884 .elementor-element.elementor-element-347788b .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:600;line-height:2px;color:#FFFFFF;}.elementor-1884 .elementor-element.elementor-element-fba0887{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1884 .elementor-element.elementor-element-fba0887 .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:600;line-height:2px;color:#FFFFFF;}.elementor-1884 .elementor-element.elementor-element-2f73d4a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1884 .elementor-element.elementor-element-2f73d4a .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:600;line-height:2px;color:#FFFFFF;}.elementor-1884 .elementor-element.elementor-element-1435ec2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1884 .elementor-element.elementor-element-1435ec2 .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:600;line-height:2px;color:#FFFFFF;}.elementor-1884 .elementor-element.elementor-element-602c86a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1884 .elementor-element.elementor-element-602c86a .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:600;line-height:2px;color:#FFFFFF;}.elementor-1884 .elementor-element.elementor-element-5fe24a5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1884 .elementor-element.elementor-element-5fe24a5 .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:600;line-height:2px;color:#FFFFFF;}.elementor-1884 .elementor-element.elementor-element-782c71e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1884 .elementor-element.elementor-element-782c71e .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:600;line-height:2px;color:#FFFFFF;}.elementor-1884 .elementor-element.elementor-element-5403326{--display:flex;--min-height:792px;--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-start;--align-items:flex-start;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:56px;--padding-bottom:56px;--padding-left:48px;--padding-right:48px;}.elementor-1884 .elementor-element.elementor-element-5403326:not(.elementor-motion-effects-element-type-background), .elementor-1884 .elementor-element.elementor-element-5403326 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E54B4B;}.elementor-1884 .elementor-element.elementor-element-ea405b5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1884 .elementor-element.elementor-element-ea405b5 .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:26px;font-weight:600;line-height:1.6px;}.elementor-1884 .elementor-element.elementor-element-8e5472a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1884 .elementor-element.elementor-element-8e5472a .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:26px;font-weight:600;line-height:1.6px;}.elementor-1884 .elementor-element.elementor-element-d340663{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1884 .elementor-element.elementor-element-d340663 .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:26px;font-weight:600;line-height:1.6px;}.elementor-1884 .elementor-element.elementor-element-c48ddba{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1884 .elementor-element.elementor-element-c48ddba .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:26px;font-weight:600;line-height:1.6px;}.elementor-1884 .elementor-element.elementor-element-f58429b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1884 .elementor-element.elementor-element-f58429b .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:26px;font-weight:600;line-height:1.6px;}#elementor-popup-modal-1884 .dialog-widget-content{animation-duration:1.2s;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-1884{background-color:#00000080;justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-1884 .dialog-message{width:100vw;height:100vh;align-items:flex-start;}@media(min-width:768px){.elementor-1884 .elementor-element.elementor-element-29559b1{--width:420px;}.elementor-1884 .elementor-element.elementor-element-5403326{--width:420px;}}/* Start custom CSS *//* =========================================================
   GC FACILITY OVERLAY MENU – FINAL
   Header sichtbar, Menü darunter, Panels = Resthöhe
   ========================================================= */

/* ===== Basis ===== */
.gcf-menu-row,
.gcf-menu-left,
.gcf-menu-right,
.gcf-menu-left-link,
.gcf-menu-right-link,
.gcf-menu-left-inner {
  box-sizing: border-box;
}

/* =========================================================
   MENÜBEREICH UNTER DEM HEADER
   Headerhöhe: 136px
   ========================================================= */
.gcf-menu-row {
  display: flex;
  width: 100%;
  justify-content: flex-end;
  align-items: stretch;

  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;

  margin: 0 !important;
  padding: 0 32px 0 0;

  min-height: calc(100vh - 136px);
  height: calc(100vh - 136px);
}

/* =========================================================
   LINKES PANEL – standardmäßig geschlossen
   ========================================================= */
.gcf-menu-left {
  width: 420px;
  min-width: 420px;
  max-width: 420px;

  height: calc(100vh - 136px);
  min-height: calc(100vh - 136px);
  max-height: calc(100vh - 136px);

  background: #114D78;
  overflow: hidden;
  position: relative;
  z-index: 1;

  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  opacity: 0;
  visibility: hidden;
  transform: translateX(40px);
  pointer-events: none;

  transition:
    opacity 0.28s ease,
    transform 0.32s ease,
    visibility 0.32s ease;
}

/* Innerer Inhalt, damit Padding beim Slide sauber bleibt */
.gcf-menu-left-inner {
  width: 100%;
  height: 100%;
  padding: 56px 48px;

  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 14px;
}

/* Offen bei Hover-Zustand */
.gcf-menu-row.is-open .gcf-menu-left {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  pointer-events: auto;
}

/* =========================================================
   RECHTES PANEL – immer sichtbar
   ========================================================= */
.gcf-menu-right {
  width: 420px;
  min-width: 420px;
  max-width: 420px;

  height: calc(100vh - 136px);
  min-height: calc(100vh - 136px);
  max-height: calc(100vh - 136px);

  background: #E6344B;
  padding: 56px 48px;

  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;

  overflow: hidden;
  position: relative;
  z-index: 2;

  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* =========================================================
   Elementor interne Abstände neutralisieren
   ========================================================= */
.gcf-menu-left .elementor-element,
.gcf-menu-right .elementor-element {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.gcf-menu-left .elementor-widget-container,
.gcf-menu-right .elementor-widget-container {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   Reset Links / Titles
   ========================================================= */
.gcf-menu-left-link a,
.gcf-menu-right-link a {
  color: inherit !important;
  text-decoration: none !important;
  display: inline-block;
  width: 100%;
}

.gcf-menu-left-link .elementor-heading-title,
.gcf-menu-right-link .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  transition:
    transform 0.22s ease,
    opacity 0.22s ease,
    color 0.22s ease,
    background 0.22s ease;
}

/* =========================================================
   LINKE LINKS
   ========================================================= */
.gcf-menu-left-link {
  width: 100%;
  position: relative;
}

.gcf-menu-left-link .elementor-heading-title {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  cursor: pointer;
}

.gcf-menu-left-link:hover .elementor-heading-title {
  opacity: 0.78;
  transform: translateX(5px);
}

.gcf-menu-left-link.is-active .elementor-heading-title {
  opacity: 1 !important;
  font-weight: 600 !important;
  transform: translateX(6px);
}

/* =========================================================
   RECHTE LINKS
   ========================================================= */
.gcf-menu-right-link {
  width: 100%;
  position: relative;
  padding: 14px 18px;
  cursor: pointer;
  transition:
    background 0.22s ease,
    padding 0.22s ease;
}

.gcf-menu-right-link .elementor-heading-title {
  color: #ffffff !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
  letter-spacing: 0.01em !important;
  cursor: pointer;
}

/* Hover-Effekt rechts */
.gcf-menu-right-link:hover,
.gcf-menu-right-link.is-active {
  background: rgba(0, 0, 0, 0.12);
  padding-left: 34px;
  padding-right: 18px;
}

/* Pfeil */
.gcf-menu-right-link::before {
  content: "←";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  color: #ffffff;
  font-size: 16px;
  line-height: 1;
  transition: opacity 0.22s ease;
}

.gcf-menu-right-link:hover::before,
.gcf-menu-right-link.is-active::before {
  opacity: 1;
}

/* =========================================================
   Tablet
   ========================================================= */
@media (max-width: 1200px) {
  .gcf-menu-row {
    padding-right: 24px;
    min-height: calc(100vh - 136px);
    height: calc(100vh - 136px);
  }

  .gcf-menu-left,
  .gcf-menu-right {
    width: 380px;
    min-width: 380px;
    max-width: 380px;

    height: calc(100vh - 136px);
    min-height: calc(100vh - 136px);
    max-height: calc(100vh - 136px);
  }

  .gcf-menu-left-inner,
  .gcf-menu-right {
    padding: 48px 40px;
  }

  .gcf-menu-right-link .elementor-heading-title {
    font-size: 20px !important;
  }
}

@media (max-width: 1024px) {
  .gcf-menu-row {
    padding-right: 20px;
    min-height: calc(100vh - 136px);
    height: calc(100vh - 136px);
  }

  .gcf-menu-left,
  .gcf-menu-right {
    width: 340px;
    min-width: 340px;
    max-width: 340px;

    height: calc(100vh - 136px);
    min-height: calc(100vh - 136px);
    max-height: calc(100vh - 136px);
  }

  .gcf-menu-left-inner,
  .gcf-menu-right {
    padding: 40px 32px;
  }

  .gcf-menu-right-link {
    padding: 12px 16px;
  }

  .gcf-menu-right-link:hover,
  .gcf-menu-right-link.is-active {
    padding-left: 30px;
  }

  .gcf-menu-right-link .elementor-heading-title {
    font-size: 18px !important;
  }

  .gcf-menu-left-link .elementor-heading-title {
    font-size: 14px !important;
  }
}

/* =========================================================
   Mobile
   ========================================================= */
@media (max-width: 767px) {
  .gcf-menu-row {
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    padding-right: 0;

    min-height: auto;
    height: auto;
  }

  .gcf-menu-left,
  .gcf-menu-right {
    width: 100%;
    min-width: 100%;
    max-width: 100%;

    height: auto;
    min-height: auto;
    max-height: none;
  }

  /* Auf Mobile links standardmäßig sichtbar, damit kein Hover nötig ist */
  .gcf-menu-left {
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
    order: 2;
  }

  .gcf-menu-right {
    order: 1;
    padding: 32px 24px;
  }

  .gcf-menu-left-inner {
    padding: 32px 24px;
  }

  .gcf-menu-right-link {
    padding: 12px 14px;
  }

  .gcf-menu-right-link:hover,
  .gcf-menu-right-link.is-active {
    padding-left: 28px;
    padding-right: 14px;
  }

  .gcf-menu-right-link::before {
    left: 8px;
    font-size: 15px;
  }

  .gcf-menu-right-link .elementor-heading-title {
    font-size: 20px !important;
    line-height: 1.2 !important;
  }

  .gcf-menu-left-link .elementor-heading-title {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Work Sans';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://gc-facility.de/wp-content/uploads/2026/02/WorkSans-VariableFont_wght.woff') format('woff');
}
/* End Custom Fonts CSS */