/*
 Theme Name:     Divi 5 Child Theme
 Theme URI:      https://www.elegantthemes.com/divi-5/
 Description:    Divi Child Theme
 Author:         Systera GmbH
 Author URI:     https://www.systera.de
 Template:       Divi
 Version:        5.0.0-public-beta.3.1 
*/

@import url("../Divi/style.css");

/* =Theme customization starts here
------------------------------------------------------- */

/* Basis Variablen - gelten für mobile */
:root {
  --hs-height: 100vh;
  --hs-width: 100vw;
  --hs-pt: 30vh;
  --hs-gap: clamp(10px, 2.5vw, 18px);
  /* scroll header top */
  --ht: 100px;
  /* Breite horizontal scroll = 100% * Anzahl Scroll-Elemente mit voller Breite */
  --hc-w: 5000%;
}

/* Tablet hoch */
@media (min-width: 768px) {
  :root {
    --hs-height: 100vh;
    --hs-width: 100vw;
    --hs-pt: 20vh;
    --ht: 100px;
  }
}

/* Tablet quer */
@media (min-width: 981px) and (max-width: 1280px) and (orientation: landscape) {
  :root {
    --hs-height: 95vh;
    --hs-width: 100vw;
    --hs-pt: 15vh;
    --ht: 70px;
  }
}

/* Desktop Standard */
@media (min-width: 1280px) {
  :root {
    --hs-height: 95vh;
    --hs-width: 50vw;
    --hs-pt: 18vh;
    --hs-gap: clamp(12px, 1vw, 22px);
    --ht: 70px;
    --hc-w: 100%;
  }
}


#page-container {
  overflow: hidden;
}

#et-boc > header.et-l--header {
  position: relative;
  z-index: 100001 !important;
}

#scroll_header {
  top: var(--ht);
  z-index: 100000 !important;
  pointer-events: none;
  opacity: 0;
  /* Standardmäßig unsichtbar */
  visibility: hidden;
  /* Nimmt keinen Platz ein wenn unsichtbar */
}

.booking-popup-open {
  scroll-behavior: auto;
}

html.booking-popup-open,
body.booking-popup-open {
  height: 100%;
  overflow: hidden !important;
}

body.booking-popup-open #et-boc > header.et-l--header,
body.booking-popup-open #scroll_header {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.transparent-text {
  max-height: 70vh;
  overflow-y: auto;
  background-color: rgba(255, 255, 255, 0.42) !important;
  border: 1px solid rgba(255, 255, 255, 0.38);
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(8px) saturate(1.1);
  -webkit-backdrop-filter: blur(8px) saturate(1.1);
  -webkit-overflow-scrolling: touch;
}

#et-boc > header.et-l--header .et_pb_group_1_tb_header {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px;
}

#et-boc > header.et-l--header .et_pb_social_media_follow_0_tb_header,
#et-boc > header.et-l--header .et_pb_social_media_follow_0_tb_header .et_pb_social_media_follow_network {
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto;
}

#et-boc > header.et-l--header .et_pb_social_media_follow_0_tb_header a.icon {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#et-boc > header.et-l--header .et_pb_button_0_tb_header_wrapper {
  flex: 0 0 auto;
  margin-left: 2px !important;
}

#et-boc > header.et-l--header .et_pb_icon_0_tb_header {
  position: relative !important;
  inset: auto !important;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
  z-index: 2;
}

#et-boc > header.et-l--header .et_pb_icon_0_tb_header .et_pb_icon_wrap,
#et-boc > header.et-l--header .et_pb_icon_0_tb_header a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  line-height: 1;
}

#et-boc > header.et-l--header .et_pb_icon_0_tb_header .et-pb-icon {
  font-size: 30px !important;
  line-height: 1 !important;
}

.et-interaction-target-jqj47kq1bj {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  z-index: 999999 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  transform: none !important;
}

.et-interaction-target-jqj47kq1bj.booking-popup-active {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.et-interaction-target-jqj47kq1bj > .et_pb_row {
  width: 100% !important;
  max-width: none !important;
  min-height: 100%;
  margin: 0 !important;
  padding: 72px clamp(12px, 3vw, 32px) 48px !important;
  transform: none !important;
}

.et-interaction-target-jqj47kq1bj [data-interaction-trigger="80y1oom5ov"] {
  position: fixed !important;
  top: max(12px, env(safe-area-inset-top)) !important;
  right: max(12px, env(safe-area-inset-right)) !important;
  width: 48px !important;
  height: 48px !important;
  max-width: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 1000001 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.14);
  cursor: pointer;
  transform: none !important;
}

.et-interaction-target-jqj47kq1bj [data-interaction-trigger="80y1oom5ov"] .et_pb_icon_wrap,
.et-interaction-target-jqj47kq1bj [data-interaction-trigger="80y1oom5ov"] .et-pb-icon {
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
}

.et-interaction-target-jqj47kq1bj [data-interaction-trigger="80y1oom5ov"] .et-pb-icon {
  color: #111 !important;
  font-size: 34px !important;
}

.et-interaction-target-jqj47kq1bj [data-interaction-trigger="80y1oom5ov"]:hover {
  background: #fff;
  border-color: rgba(0, 0, 0, 0.32);
}

.et-interaction-target-jqj47kq1bj .et_pb_column,
.et-interaction-target-jqj47kq1bj .et_pb_group {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  transform: none !important;
}

.et-interaction-target-jqj47kq1bj .et_pb_code,
.et-interaction-target-jqj47kq1bj .et_pb_code_inner,
.et-interaction-target-jqj47kq1bj #avform {
  width: 100%;
}

.et-interaction-target-jqj47kq1bj #avform,
.et-interaction-target-jqj47kq1bj #free_rooms,
.et-interaction-target-jqj47kq1bj #dialog {
  max-width: min(56em, calc(100vw - 24px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.et-interaction-target-jqj47kq1bj #free_rooms {
  padding-bottom: 48px;
}

.et-interaction-target-jqj47kq1bj .btnclose {
  position: sticky;
  top: 0;
  z-index: 2;
}

.et-interaction-target-jqj47kq1bj iframe {
  width: 100% !important;
  max-width: 100% !important;
}

.booking-popup-duplicate {
  display: none !important;
}

@media (max-width: 767px) {
  .et-interaction-target-jqj47kq1bj {
    height: 100svh !important;
    max-height: 100svh !important;
    padding: 0 !important;
  }

  .et-interaction-target-jqj47kq1bj > .et_pb_row {
    width: 100% !important;
    padding-top: 66px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .et-interaction-target-jqj47kq1bj [data-interaction-trigger="80y1oom5ov"] {
    top: max(10px, env(safe-area-inset-top)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
  }

  .et-interaction-target-jqj47kq1bj [data-interaction-trigger="80y1oom5ov"] .et-pb-icon {
    font-size: 31px !important;
  }

  #et-boc > header.et-l--header .et_pb_group_1_tb_header {
    justify-content: center !important;
    gap: 11px;
  }

  #et-boc > header.et-l--header .et_pb_icon_0_tb_header,
  #et-boc > header.et-l--header .et_pb_icon_0_tb_header .et_pb_icon_wrap,
  #et-boc > header.et-l--header .et_pb_icon_0_tb_header a,
  #et-boc > header.et-l--header .et_pb_social_media_follow_0_tb_header a.icon {
    width: 30px;
    height: 30px;
  }

  #et-boc > header.et-l--header .et_pb_icon_0_tb_header .et-pb-icon {
    font-size: 27px !important;
  }

  #page-container .transparent-text.transparent-text {
    margin-top: 29vh !important;
    max-height: 60vh;
  }
}

.horizontal-section {
  width: var(--hs-width);
  height: var(--hs-height);
  flex: 0 0 var(--hs-width);
  max-width: none !important;
  max-height: none;
  will-change: transform;

  /* Oben | Rechts | Unten | Links */
  padding: var(--hs-pt) var(--hs-gap) var(--hs-gap) var(--hs-gap) !important;
  box-sizing: border-box;
}


.horizontal-section .et_pb_row {
  height: 100%;
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.horizontal-section .et_pb_column {
  height: 100%;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.horizontal-section .et_pb_group {
  height: 100%;
}

.horizontal-section .et_pb_module_inner,
.horizontal-section .et_pb_module_inner > div {
  height: 100%;
}

.horizontal-section .et_pb_image {
  height: 100%;
  width: 100% !important;
  margin: 0 !important;
}

.horizontal-section .et_pb_image_wrap {
  display: block;
  height: 100%;
  width: 100%;
  max-width: none !important;
  overflow: hidden;
  border-radius: 6px;
}

.horizontal-section .et_pb_image img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  display: block;
}


.horizontal-container {
  width: max-content;
  max-width: none !important;
  height: 100vh;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  background: transparent;
  overflow: visible;
  position: relative;
  z-index: 1;
}
