
/* poppins-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/poppins-v24-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/poppins-v24-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/open-sans-v44-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v44-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/open-sans-v44-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* nothing-you-could-do-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nothing You Could Do';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/nothing-you-could-do-v21-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



:root {
   --primary-color: #f5f0e9;/* beige */
   --secondary-color: #222;/* dark */
   --orange: #EF6A1E;/* orange */
   --brown: #624E1E;
   --brown2: #3E4034;
   --black: #000000;
   --body: #29893F;
   --bs-body-font-family:'Open Sans', sans-serif;
   --bs-body-font-family_two:'Poppins', sans-serif;
   --bs-body-font-family_three:'Nothing You Could Do', sans-serif;
   --bs-body-font-weight-small: 300;
   --bs-body-font-weight-regular: 400;
   --bs-body-font-weight-bold: 800;
}

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  BASICS
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
body {
  font-family: 'Open Sans', sans-serif;
  font-size: 1rem;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.9rem;
  font-weight: 300;
  hyphens:auto;
  -webkit-hyphens: auto!important;

}

*:focus { outline: none !important; }
::selection       { background-color: var(--body); color: var(--white); color: white; }
::-moz-selection  { background-color: var(--body); color: var(--white); color: white; }



/* + + + + + + + + + + + + + + + + + + + + + + + +
  HEADLINES & TEXT STYLES
+ + + + + + + + + + + + + + + + + + + + + + + +  */

/* HEADLINES */
h1, h2, h3, h4, h5, h6, *[class*="fs-1-"] {
  margin: 0;
  padding: 0;
}

.fs-1 {
  font-size: calc(2.0rem + 0.7vw) !important;
  line-height: 3.0rem;}

.fs-2 {
  font-size: calc(1.2rem + 0.5vw) !important;
  line-height: 2.8rem;}

.fs-3 {
  font-size: calc(1.2rem + 0.3vw) !important;
  line-height: 2rem;
}
.fs-4 {
  font-size: calc(0.9rem + 0.2vw) !important;}

.fs-5 {
  font-size: calc(2.5rem + 2.5vw) !important;
  line-height: calc(3.6rem + 2vw)}


.fw-bold { font-weight: 800 !important;}
.regular { font-weight: 400 !important;}
.fw-normal { font-weight: 700 !important;}

.orange { color: var(--orange);}
.blue { color: var(--blue);}
.bg_brown { background-color: var(--brown);}
.bg_apartment { background-color: white;}
.bg_orange{ background-color: var(--orange);}
.popp { font-family: var(--bs-body-font-family_two);}
.north { font-family: var(--bs-body-font-family_three);}


    /* Gallery Button */
    .btn-gallery {
      color: #fff;
      font-weight: 600;
      border-radius: 10px;
      padding: 0.8rem 2rem;
      text-transform: uppercase;
    }
    .btn-gallery:hover {
      background: #d86e15;

    }

    /* Mehr Info Button */
    .btn-mehr-info {
      display: inline-block;
      background-color: var(--orange);
      color: #fff;
      text-decoration: none;
      padding:2px 5px;
      transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    }
    .btn-mehr-info:hover {
      background-color: #fff;
      color: #000;
      border-color: var(--orange);
    }

    /* Mehr Info Button immer ganz unten in der Card ausrichten */
    .card { height: 100%; }

.card { background: var(--primary-color); }
/* + + + + + + + + + + + + + + + + + + + + + + + +
  Inhalt
+ + + + + + + + + + + + + + + + + + + + + + + +  */

.bg_one { background:white;border-bottom: 1px solid grey;}
.bg_beige { background: var(--primary-color);}
.grey { background: var(--grey);}
.red { color: var(--primary-color);}


.key {
  background: url(../images/icon/key-svgrepo.svg) no-repeat right top;
 background-size: contain;
}

.rectangle {
  background: url(../images/icon/Rectangle.svg) no-repeat center center;
    background-size: contain;
    height: 100%;
}

.header {
  background: url(../images/hight/header.jpg) no-repeat center center;
  background-size: contain;
}

@media (max-width: 767.98px) {
  .header {
    background-position: center top;
  }


  .text-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--black);
}

.image-text-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.image-text-wrapper img {
  width: 100%;
  height: auto;
  display: block;
}

.overlay-text {
  position: absolute;
  top: 10%;
  left: 50%;
  color: white;
  padding: 10px 15px;
  font-size: calc(1.0rem + 0.5vw) !important;
  line-height: 1.0rem;
  font-weight: bold;
  border-radius: 8px;
   z-index: 2;
}
}


.overlay-dark {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2); /* Abdunklung */
  z-index: 1;
}


@media (min-width: 768px) {

  .text-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--black);
}

.image-text-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.image-text-wrapper img {
  width: 100%;
  height: auto;
  display: block;
}

.overlay-text {
  position: absolute;
  top: 25%;
  left: 50%;
  color: white;
  padding: 10px 15px;
  border-radius: 8px;
  font-size: calc(2.0rem + 0.7vw) !important;
  line-height: 3.0rem;
  font-weight: bold;
  z-index: 2;
}
}

 .site,
  .site_one {
    position: fixed !important;
    right: 0;
    z-index: 5000;
}

.site {top: 255px;}
.site_one {top: 310px;}

/* + + + + + + + + + + + + + + + + + + + + + + + +
 icon auf bild

+ + + + + + + + + + + + + + + + + + + + + + + +  */
.image-wrapper {
  position: relative;
}

.image-link {
  position: relative;
  display: block;      /* GANZ WICHTIG */
}

.image-link picture,
.image-link img {
  display: block;
  width: 100%;
}

.gallery-icon {
  position: absolute;
  bottom: 15px;
  right: 15px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

/* + + + + + + + + + + + + + + + + + + + + + + + +
  Link
+ + + + + + + + + + + + + + + + + + + + + + + +  */
a{
    text-decoration: none;
    color:var(--secondary-color);}
}

a:visited{color: var(--primary-color);}
a:hover{color: var(--primary-color);}
a:active{color:var(--primary-color);}

.nav-link {color: #000000;padding: 0 1rem;}





/* + + + + + + + + + + + + + + + + + + + + + + + +
  NAVIGATION
+ + + + + + + + + + + + + + + + + + + + + + + +  */
.nav-link:hover,
.nav-link:focus,
.nav-link.active {
  background-color: var(--orange);
  color: #ffffff !important; /* Weißer Text */
  border-radius: 0;
  box-shadow: none;
  padding-right: 1.rem;
}

/* Unternavigation (Dropdown): eckig, kein Rand, dezenter Schatten */
.dropdown-menu {
  border-radius: 0;
  border: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.dropdown-item,
.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active {
  border-radius: 0;
  box-shadow: none;
}


#header {background-color: white;}

.navbar-collapse {
    flex-basis: 100%;
    flex-grow: 0;}

.navbar{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-dark);
}

.navbar-expand-lg .navbar-nav .nav-link  {
  padding: 1.5rem;
  color: var(--bs-dark);
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .navbar-expand-lg .navbar-nav .nav-link  {
    padding-left: 1rem;
    letter-spacing: .8px;
  }
}


@media (max-width: 991.98px) {
  .navbar-expand-lg .navbar-nav .nav-link { border-bottom: 1px solid grey; }
}


/* + + + + + + + + + + + + + + + + + + + + + + + +
  Navbar Mobil
+ + + + + + + + + + + + + + + + + + + + + + + +  */
.navbar-toggler-icon {
    width: 2rem!important;
    height: 2rem!important;
 }

.navbar-toggler.custom-toggler {
  border-color: var(--bs-dark);
  border-width: 1px;
  background: var(--bs-green);
  padding: .8rem;
}
.navbar-toggler.custom-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}



/* + + + + + + + + + + + + + + + + + + + + + + + +
  Navbar Mobil
+ + + + + + + + + + + + + + + + + + + + + + + +  */
.navbar-toggler.custom-toggler {
  background: var(--primary-color);
  border-width: 0px;
  border-radius: 0rem;
  padding: 1rem;
}
.navbar-toggler.custom-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

@media (max-width: 767.98px) {
  #navbar_main ul { background: var(--primary-color);}
  #navbar_main ul li { text-align: center; }
  #navbar_main ul li a {  }
  #navbar_main ul li:last-of-type a { border-bottom: none; }
  #navbar_main ul li a.active { background: var(--black);  }
}


.navbar-toggler:focus {
    box-shadow: none;}



/* + + + + + + + + + + + + + + + + + + + + + + + +
hero2
+ + + + + + + + + + + + + + + + + + + + + + + +  */

.hero,
.hero2,
.hero3 {
  position: relative;
  color: #fff;
}

.hero {
  text-align: center;
}

.hero img,
.hero2 img,
.hero3 img {
  width: 100%;
  height: 600px;
  object-fit: cover;
}

/* Overlay */
.hero .overlay,
.hero2 .overlay,
.hero3 .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
}

/* DESKTOP – Content über Bild */
.hero .content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 800px;
  text-align: left;
  padding-left: 20px;
  z-index: 2;
}

.hero2 .content {
  position: absolute;
  top: 50%;
  left: 35%;
  transform: translate(-50%, -50%);
  max-width: 800px;
  text-align: left;
  padding-left: 20px;
  z-index: 2;
}

.hero3 .content {
  position: absolute;
  top: 50%;
  left: 35%;
  transform: translate(-50%, -50%);
  max-width: 800px;
  text-align: left;
  padding-left: 20px;
  z-index: 2;
}

/* ============================= */
/* TABLET & MOBILE
/* ============================= */

@media (max-width: 992px) {

  .hero img,
  .hero2 img {
    height: 400px;
  }

  .hero .content,
  .hero2 .content {
    position: relative;        /* wichtig */
    top: auto;
    left: auto;
    transform: none;
    max-width: 100%;
    padding: 40px 20px;
    margin-top: 0;
  }

  .hero .overlay,
  .hero2 .overlay {
    display: none; /* optional – falls Overlay mobil nicht gewünscht */
  }
 }

  /* ============================= */
/* TABLET & MOBILE
/* ============================= */

@media (max-width: 992px) {

  .hero img,
  .hero3 img {
    height: 400px;
  }

  .hero3 .content {
  position: absolute;
  top: 50%;
  left: 35%;
  transform: translate(-50%, -50%);
  max-width: 800px;
  text-align: left;
  padding-left: 20px;
  z-index: 2;
}
.accordion-body {
    background: #ffffff21 !important;
    color:black}

.accordion-button {
    background: transparent !important;
    box-shadow: none !important;
    color:orange;
}

.accordion-button:not(.collapsed){
    color: orange !important;
    background: var(--brown);
}
}




/* ============================= */

/* + + + + + + + + + + + + + + + + + + + + + + + +
 /* Resort Section */
/* + + + + + + + + + + + + + + + + + + + + + + + +  */

    #resort {
      padding: 5rem 0;
    }
    #resort h2 {
      font-weight: 700;
      font-size: 2rem;
    }
    #resort .subtitle {
      color: var(--brand-orange);
      font-style: italic;
      margin-bottom: 2rem;
      display: block;
    }


    /* Checkmark Lists */
    .check-list {
      list-style: none;
      padding: 0;
    }
    .check-list li {
      position: relative;
      padding-left: 1.5rem;
      margin-bottom: 0.5rem;
    }
    .check-list li::before {
      content: "✔";
      position: absolute;
      left: 0;
      color: var(--brand-orange);
      font-size: 0.9rem;
    }


.table>:not(caption)>*>* {
    padding: 0.5rem 1.5rem;
    color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
    background-color: var(--primary-color);}

/* + + + + + + + + + + + + + + + + + + + + + + + +
inhalt neu
+ + + + + + + + + + + + + + + + + + + + + + + +  */

.breite{
    width:120px;
    height:auto;
    padding-left:10px;
    padding-right:10px;
}

.hero-section{
    position:relative;
    height:100vh;
}

.hero-section video{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* Desktop Text */
.hero-desktop-text{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    color:white;
    text-align:center;
    z-index:3;
}

/* Desktop Header */
#header{
    position:absolute;
    top:0;
    width:100%;
    z-index:1000;
    background: rgba(255,255,255,0.25);
    backdrop-filter: blur(12px);
    transition: background 0.3s ease, box-shadow 0.3s ease;
}

/* Header stays fixed on top once the page is scrolled */
#header.is-fixed{
    position:fixed;
    background: rgba(255,255,255,0.85);
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* Desktop Logo Overlap */
.logo-desktop-overlap{
    position:absolute;
    top:0;
    left:14%;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Logo is hidden while scrolling */
#header.is-fixed .logo-desktop-overlap{
    opacity:0;
    visibility:hidden;
}




@media (max-width: 991.98px) {

    .mobile-hero-overlay .dropdown-menu {
        position: static !important;
        transform: none !important;
        float: none;
        width: 100%;
        margin-top: 0.5rem;
        background-color: transparent;
        border: none;
        text-align: center;
    }

    .mobile-hero-overlay .dropdown-item {
        color: orange;

    }

}

/* Mobile Overlay Navigation */
.mobile-hero-overlay{
    position:absolute;
    top:35%;
    left:50%;
    transform:translate(-50%, -35%);
    width:100%;
    text-align:center;
    z-index:200;
    color:white;
}

/* Mobile Menu Panel */
  #mobileMenuHero{
    background: var(--brown2);
    opacity: 0.8;
    backdrop-filter:blur(12px);
    padding:20px;
    border-radius:14px;
    margin-top:15px;
}

/* Mobile Links */
#mobileMenuHero .nav-link{
    color:white !important;
    font-size:18px;
}

/* Hamburger Icon */
.navbar-toggler{
    border:none;
    box-shadow:none !important;
}

.navbar-toggler:focus{
    box-shadow:none !important;
}

.navbar-toggler-icon{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='white' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* Floating Icons */
.floating-icons{
    position:fixed;
    right:5px;
    top:60px;
    display:flex;
    flex-direction:column;
    gap:5px;
    z-index:999;
}

.floating-icons img{
    width:48px;
}


    /* Mobile horizontal scroll für Icons */
.comfort-scroll{
    overflow-x: auto;
}

/* Scrollbar Track */
.comfort-scroll::-webkit-scrollbar{
    height: 8px;
}

/* Scrollbar Hintergrund */
.comfort-scroll::-webkit-scrollbar-track{
    background: #f1f1f1;
}

/* Scrollbar Daumen */
.comfort-scroll::-webkit-scrollbar-thumb{
    background: #b5b5b5;
    border-radius: 10px;
}

/* Hover Effekt */
.comfort-scroll::-webkit-scrollbar-thumb:hover{
    background: #999;
}

/* + + + + + + + + + + + + + + + + + + + + + + + +
  swiper
+ + + + + + + + + + + + + + + + + + + + + + + +  */


.swiper-button-next, .swiper-button-prev {
    top: var(--swiper-navigation-top-offset, 30%);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 1))!important;
    color:white}

/* Apartment- & Resort-Galerien: Pfeile mittig auf dem Bild.
   Wildcard-Selektor statt Auflistung, damit jede neue nummerierte
   Galerie (main-slider-12, -13, ... -20+) automatisch mittig ist,
   ohne dass hier jedes Mal eine Nummer ergänzt werden muss. */
[class*="swiper-button-next-"], [class*="swiper-button-prev-"] {
    top: 50%;
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2))!important;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    content: 'prev';
    color: orange;
    background: white;
    padding: 5px 10px;
    font-size: 25px!important;}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
   color: orange;
    background: white;
    padding: 5px 10px;
    font-size: 25px!important;}


/* + + + + + + + + + + + + + + + + + + + + + + + +
 swip slider 2
+ + + + + + + + + + + + + + + + + + + + + + + +  */


.gallery {
  width: 100%;
  margin: auto;
}

.main-slider img {
  width: 100%;
  height: 600px;
  object-fit: cover;
  border-radius: 12px;
}

.thumb-slider {
  margin-top: 10px;
}

.thumb-slider .swiper-slide {
  opacity: 0.6;
  cursor: pointer;
}

.thumb-slider .swiper-slide-thumb-active {
  opacity: 1;
}

.thumb-slider img {
  width: 100%;
  height: 100px;
  object-fit: cover;
  border-radius: 8px;
}


/* + + + + + + + + + + + + + + + + + + + + + + + +
  Accordion
+ + + + + + + + + + + + + + + + + + + + + + + +  */

.accordion-item {
    background: transparent !important;
    border: none !important;
}

.accordion-button {
    background: transparent !important;
    box-shadow: none !important;
}

.accordion-button:not(.collapsed) {
    background: transparent !important;
}


/* Accordion geöffnet → Text orange */
.accordion-button:not(.collapsed){
    color: orange !important;
    background: var(--brown);
}

/* Pfeil drehen beim Öffnen */
.accordion-button::after{
    transition: transform 0.3s ease;
}

/* Pfeil drehen */
.accordion-button:not(.collapsed)::after{
    transform: rotate(180deg);
    color: orange;
}

.accordion-button{
    -webkit-tap-highlight-color: transparent;
}

.accordion-button:focus{
    box-shadow: none !important;
    outline: none !important;
}

.accordion-item { border:none!important;}

.accordion-button:not(.collapsed)::after{
    filter: invert(52%) sepia(92%) saturate(749%) hue-rotate(1deg);
    border-bottom:1px;
}





