@charset "UTF-8";
/*
 Theme Name:     Divi Child Kopfmedia
 Author:         Kopfmedia
 Author URI:     kopfmedia.de
 Template:       Divi
 Version:        1.4.2
 Description: A boilerplate for Divi Child Themes
*/

@import "./icomoon/icomoon.css";
@import "./primeicons/primeicons.css";
@import "./fonts/fonts.css";
@import "./custom-styles/custom.css";
@import "./custom-styles/colors.css";
@import "./custom-styles/typography.css";



:root {
  --sr-header-shell-height: 7rem;
}

html,
body,
#page-container {
  background-color: var(--color-bg-default) !important;
  background-image: none !important;
}

#page-container {
  position: relative !important;
  isolation: isolate !important;
  overflow-x: clip !important;
}

#page-container::before {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 0 !important;

  display: block !important;
  content: "" !important;

  height: var(--sr-header-shell-height) !important;

  background-color: var(--color-bg-surface) !important;

  pointer-events: none !important;
}

#et-boc,
#et-main-area {
  position: relative !important;
  z-index: 1 !important;

  background-color: transparent !important;
  background-image: none !important;
}

silbersee-resort-nav {
  position: relative !important;
  z-index: 20 !important;

  display: block !important;
  width: 100% !important;

  background-color: transparent !important;
  background-image: none !important;
}

silbersee-resort-nav .custom-header {
  position: relative !important;
  z-index: 21 !important;
}

.et-l--footer {
  position: relative !important;
  z-index: 2 !important;

  background-color: transparent !important;
}



@view-transition {
  navigation: auto;
}

/* Animation Seitenwechsel */
::view-transition-old(root) {
  animation: 400ms ease-in-out both fade-out;
}

::view-transition-new(root) {
  animation: 400ms ease-in-out both fade-in;
}

@keyframes fade-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

#page-container {
  overflow: hidden;
}









.submenu-dropdown {
    box-shadow: none !important;
    top: 50% !important;
    border-radius: 20px;
    border-top-left-radius: 0px !important;
    border-top-right-radius: 0px !important;
    min-width: 100% !important;
    z-index: -2 !important;
    box-sizing: border-box;
    padding: 40px;
    padding-top: 70px !important;
}

.submenu-dropdown .submenu-item {
    max-width: 50%;
    margin-left: 50%;
    text-align: start;
}

.menu-image {
    min-height: 200px;
    max-width: 280px;
    border-radius: 10px;
}

.navigation-menu-button {
    width: fit-content;
    padding: 15px 20px;
    border-radius: 999px;
    font-size: 18px;
    display: flex;
    gap: 5px;
    align-items: center;
    border: 1px solid #313C48;
    transition: all 250ms;
    text-decoration: none !important;
}

.navigation-menu-button:hover {
    cursor: pointer;
    background-color: #313C48;
    color: white !important;
    text-decoration: none !important;
}

.submenu-dropdown .submenu-item {
    max-width: 100% !important;
    width: fit-content;
    margin-left: 10px !important;
    text-align: start;
}

.mobile-submenu {
    gap: 10px
}

.wpml-ls-statics-footer,
.otgs-development-site-front-end {
    display: none;
}


.language-button {
    box-shadow: none !important;
    box-shadow: unset !important;
}

@media (max-width:1400px) {
    .navigation-menu-button {
        border: none;
        padding: 0 !important;
    }

    .navigation-menu-button:hover {
        background-color: #FAF6EF !important;
        color: #313C48 !important;
        padding: 0 !important;
        border: none !important;

    }

    .hide-in-mobile-menu {
        display: none;
    }
}



.silbersee-submenu-dropdown
.secondary-child-links
.child-item-link > img {
    display: none !important;
}

.mobile-submenu

 {
    gap: 20px;
}


@media (max-width: 47.9375rem) {
    :root {
        
        --font-size-menu: 1.2rem;
        
    }
}

.mobile-menu-item.w-full.mb-2 {

    color: var(--color-fg-default); !important
}


.menu-item-link.pt-4 {

    color: var(--color-fg-muted); !important
} 


.secondary-child-links {
    
    gap: 20px;
}






/* Normaler redaktioneller Text */
.entry-content,
.text-content,
.wysiwyg {
  hyphens: auto;
  -webkit-hyphens: auto;
  hyphenate-limit-chars: 8 3 3;
  word-break: normal;
  overflow-wrap: normal;
}

/* Keine Trennung in Headlines und Bedienelementen */
h1,
h2,
h3,
h4,
.sr-button,
nav,
.menu,
.submenu-dropdown {
  hyphens: none;
  -webkit-hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

/* Defektes Bild im Vue-Menü ausblenden */
.headline-container .submenu-headline img[src="false"] {
  display: none !important;
}


/* =========================================================
   SCROLL-ROTATION – SILBERSEE RESORT
   Vollständiger CSS-Code
   ========================================================= */


/* ---------------------------------------------------------
   DIVI-CONTAINER

   Die Stage darf aus der begrenzten Divi-Row auf die
   vollständige Browserbreite ausbrechen.
   Die Begrenzung der Grafik übernimmt .sr-rotate-stage.
   --------------------------------------------------------- */

.et_pb_section:has(.sr-rotate-stage),
.et_pb_row:has(.sr-rotate-stage),
.et_pb_column:has(.sr-rotate-stage),
.et_pb_code:has(.sr-rotate-stage),
.et_pb_code_inner:has(.sr-rotate-stage) {
  overflow: visible !important;
}


/* ---------------------------------------------------------
   DIVI-CODEMODUL ZURÜCKSETZEN
   --------------------------------------------------------- */

.et_pb_code:has(.sr-rotate-stage),
.et_pb_code_inner:has(.sr-rotate-stage) {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;

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

  line-height: 0;
}


/* =========================================================
   BASIS
   TABLET QUER UND KLEINERE DESKTOPS
   ========================================================= */

.sr-rotate-stage {
  /*
   * Standardgröße bis 1280px.
   * Auf größeren Desktopgeräten wird weiter unten
   * auf 200vw gewechselt.
   */
  --sr-wheel-size: min(180vw, 4000px);

  /*
   * Höhe des sichtbaren Ausschnitts.
   * Die Stage reserviert diesen Platz im Layout.
   */
  --sr-stage-height: clamp(560px, 42vw, 900px);

  /*
   * Abstand zum nachfolgenden Element.
   */
  --sr-after-gap: clamp(24px, 1.5vw, 48px);

  /*
   * Wird durch das JavaScript verändert.
   */
  --sr-wheel-angle: 0deg;

  position: relative;
  isolation: isolate;

  width: 100vw;
  max-width: none;
  height: var(--sr-stage-height);

  /*
   * Aus dem Divi-Container auf die gesamte
   * Browserbreite ausbrechen.
   */
  margin-inline: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: var(--sr-after-gap);

  /*
   * Das Wheel wird exakt innerhalb der Stage begrenzt.
   * Dadurch läuft es nicht mehr in andere Sections.
   */
  overflow: hidden;
  overflow: clip;

  clip-path: inset(0);
  contain: paint;

  pointer-events: none;
  box-sizing: border-box;
  z-index: 0;
}


/* =========================================================
   POSITIONIERUNG UND ZENTRIERUNG
   ========================================================= */

.sr-rotate-position {
  position: absolute;

  top: 0;
  left: 50%;

  width: var(--sr-wheel-size);
  aspect-ratio: 1 / 1;

  /*
   * Exakte horizontale Zentrierung,
   * unabhängig von der Divi-Row.
   */
  transform: translateX(-50%);
}


/* =========================================================
   ROTATION
   ========================================================= */

.sr-rotate-wheel {
  width: 100%;
  height: 100%;

  transform: rotate(var(--sr-wheel-angle));
  transform-origin: 50% 50%;

  /*
   * Keine CSS-Easing-Animation.
   * Die Bewegung folgt ausschließlich dem Scrollfortschritt.
   */
  transition: none !important;
  will-change: transform;
}


/* =========================================================
   BILD
   ========================================================= */

.sr-rotate-wheel picture {
  display: block;

  width: 100%;
  height: 100%;
}

.sr-rotate-wheel img {
  display: block;

  width: 100%;
  height: auto;
  max-width: none !important;

  object-fit: contain;

  user-select: none;
  -webkit-user-drag: none;
}


/* =========================================================
   DESKTOP
   AB 1281PX
   ========================================================= */

@media only screen and (min-width: 1281px) {

  .sr-rotate-stage {
    /*
     * Größere Darstellung auf Desktop.
     *
     * 1920px × 200vw = 3840px.
     * Damit bleibt die 4000px-Grafik nahezu in
     * ihrer nativen Auflösung.
     *
     * Auf Ultrawide wird bei 4000px begrenzt.
     */
    --sr-wheel-size: min(200vw, 4000px);

    /*
     * Passend zur größeren Grafik etwas mehr Höhe.
     * Auf Ultrawide maximal 950px.
     */
    --sr-stage-height: clamp(620px, 46vw, 950px);

    /*
     * Gleichmäßiger Abstand zur nächsten Section.
     */
    --sr-after-gap: clamp(24px, 1.5vw, 48px);
  }
}


/* =========================================================
   TABLET HOCHKANT
   768PX BIS 980PX
   ========================================================= */

@media only screen
  and (min-width: 768px)
  and (max-width: 980px)
  and (orientation: portrait) {

  .sr-rotate-stage {
    /*
     * Größerer Kreis, damit die Karten im
     * Hochformat ausreichend groß bleiben.
     */
    --sr-wheel-size: 250vw;

    /*
     * Dynamische Höhe des sichtbaren Bereichs.
     */
    --sr-stage-height: clamp(420px, 56vw, 500px);

    /*
     * Kann alternativ in Divi geregelt werden.
     */
    --sr-after-gap: 0px;
  }
}


/* =========================================================
   GRÖSSERE SMARTPHONES / KLEINE TABLETS
   480PX BIS 767PX
   ========================================================= */

@media only screen
  and (min-width: 480px)
  and (max-width: 767px) {

  .sr-rotate-stage {
    /*
     * Zwischenlösung für große Smartphones.
     * 500vw wäre in diesem Bereich zu groß.
     */
    --sr-wheel-size: 370vw;

    /*
     * Höhe wächst passend zur Viewportbreite.
     */
    --sr-stage-height: clamp(340px, 58vw, 430px);

    /*
     * Abstand kann responsiv in Divi gesetzt werden.
     */
    --sr-after-gap: 0px;
  }
}


/* =========================================================
   KLEINE SMARTPHONES
   BIS 479PX
   ========================================================= */

@media only screen and (max-width: 479px) {

  .sr-rotate-stage {
    /*
     * Starke Vergrößerung für Smartphone.
     */
    --sr-wheel-size: 500vw;

    /*
     * Dynamische Höhe ohne unnötig großen Leerraum.
     */
    --sr-stage-height: clamp(260px, 72vw, 330px);

    /*
     * Abstand kann responsiv in Divi gesetzt werden.
     */
    --sr-after-gap: 0px;
  }
}


/* =========================================================
   DIVI VISUAL BUILDER
   ========================================================= */

.et-fb-root-ancestor .sr-rotate-wheel,
body.et-fb .sr-rotate-wheel {
  transform: rotate(var(--sr-wheel-angle));
}