/* CSS Document */
@font-face {
  font-family: Aptos;
  src: url('fonts/Aptos.ttf') format('truetype');
}
@font-face {
  font-family: impact;
  src: url('fonts/impact.ttf') format('truetype');
}
@font-face {
  font-family: Gill Sans MT;
  src: url('fonts/GIL_____.TTF') format('truetype');
}
@font-face {
  font-family: Helvetica Now;
  src: url('fonts/Monotype - Helvetica Now Text.otf') format('truetype');
}
@font-face {
  font-family: Helvetica Now Bold;
  src: url('fonts/Monotype - Helvetica Now Text Bold.otf') format('truetype');
}
/* Farben */ :root {
  --red: rgba(217, 7, 24, 1.00); /* D90718 color adobe */
  --blue: rgba(85, 113, 153, 1.00);
  --lightblue: rgba(85, 113, 153, 0.2);
  --green: rgba(0, 128, 0, 1.00);
  --lightgreen: rgba(196, 233, 181, 1.00);
  --lightred: rgba(251,202,190,0.75);
  --white: rgba(242, 242, 242, 1.00);
  --background: rgba(240, 240, 240, 0.50);
  --bgblue: rgba(85, 113, 153, 0.4);
}
:target {
  /* target: ist ein CSS-Pseudoklassen-Selektor, der automatisch das aktuell angesprungene Element erkennt – egal welche ID es hat.
    #booking, #company, #testimonial, #walk, #bike, #winter, #culture */
  scroll-margin-top: 88px; /* Höhe deines fixierten Menüs */
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 40px; /* Höhe des Menüs */
}
body {
  font-family: Helvetica Now;
  font-size: 1.2rem;
  color: var(--blue);
  background: linear-gradient(to bottom right, white, lightgray);
  margin-top: 40px;
}
@media (max-width: 576px) {
  body {
    font-size: 1.0rem;
  }
}
a, a:link {
  color: var(--blue) !important;
  text-decoration: none;
  cursor: pointer;
}
a:hover {
  text-decoration: none;
  font-weight: bold;
  cursor: pointer;
}
main {
  margin-top: 0px;
  padding-top: 0px;
}
ul {
  list-style-type: circle; /* Ändert Bullets in Quadrate */
}
h1 {
  color: var(--red);
  padding: 15px 0px 10px 0px;
  font-size: 2.1rem;
  text-align: center;
  font-family: Helvetica Now Bold;
}
h2 {
  color: var(--red);
  padding: 15px 0px 10px 0px;
  font-size: 1.6rem;
  text-align: center;
  font-family: Helvetica Now Bold;
}
h3 {
  font-weight: normal;
  padding-top: 10px;
  font-size: 1.5rem;
  text-align: center;
}
h4, h5 {
  padding-top: 5px;
  padding-bottom: 5px;
}
h5 {
  font-size: 1.2rem;
}
section {
  /*display: flex;*/
  position: relative;
  border: thin;
  margin-top: 50px;
  padding-top: 20px;
}
section::before {
  content: "";
  position: absolute;
  top: 2px; /* Abstand von oben */
  left: 25%; /* Damit die Linie mittig bleibt */
  width: 50%; /* Halbe Breite */
  height: 1px;
  background-color: var(--red);
  background-color: var(--white);  
}
footer {
  margin-top: 0px;
  padding: 10px 0px 10px 0px;
  font-size: smaller;
  text-align: center;
  background-color: var(--blue);
  color: white;
  /*background: linear-gradient(to right, var(--blue), gray);*/
}
footer h3, footer a, footer a:link, footer a:active, footer a:visited {
  color: white !important;
}
ol {
  list-style-type: upper-roman; /* Römische Zahlen in Großbuchstaben */
}
/* Preloader im Vollbild */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 10%;
  height: 10%;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* ========== ACCORDION STYLES ========== */
/* Header */
.accordion-header {
  font-size: 1.2rem !important;
  background-color: transparent !important;
}
/* Button-Stil */
.accordion-button {
  font-size: 1.1rem !important;
  color: var(--blue);
  padding: 12px 12px;
  height: auto;
  background-color: transparent !important;
  text-align: left;
  display: flex;
  align-items: center;
}
/* Pfeil links & Abstand zwischen Pfeil und Text */
.accordion-button::after {
  order: -1; /* Pfeil nach vorne setzen */
  margin-right: 10px; /* Abstand zwischen Pfeil und Text */
  transform: rotate(-90deg); /* Standard: Pfeil zeigt nach rechts */
}
/* Pfeil dreht sich nach unten, wenn geöffnet */
.accordion-button:not(.collapsed)::after {
  transform: rotate(0deg);
}
/* Button-Text wirklich linksbündig */
.accordion-button p {
  margin: 0;
  text-align: left;
  flex-grow: 1; /* Füllt den Platz aus */
}
/* Button-Stil im collapsed-Zustand */
.accordion-button.collapsed {
  box-shadow: none;
  color: var(--blue) !important;
  background-color: transparent !important;
}
/* Button-Fokus */
.accordion-button:focus {
  color: var(--blue) !important;
  box-shadow: none;
  border-color: white;
  background-color: transparent !important;
}
/* Geöffneter Zustand */
.accordion-button:not(.collapsed), .accordion-item {
  background-color: transparent !important;
}
/* Hintergrundfarbe für den Inhalt */
.accordion-body {
  color: var(--blue);
  background-color: var(--background);
}
/* ========== END ACCORDION STYLES ========== */
.hidden {
  display: none;
}
.btn-group-sm {
  margin: 0px;
}
.btn-custom {
  font-size: 0.9rem;
  border: none;
  padding: 0px 5px 0px 5px;
}
.btn-custom:hover {
  color: var(--red) !important;
  background-color: var(--lightred);
  border-radius: 25%;
}
.btn-custom.active {
  font-weight: bold;
  color: var(--red) !important;
  background-color: var(--lightred);
  border-radius: 25%;
}
/* navbar anpassungen beginn */
.navbar-custom {
  padding: 1px 0px 1px 0px; /* Anpassung der Innenabstände */
  border-bottom: 0.7px solid var(--blue) !important; /* Unterer Strich */
  background-color: rgba(255, 255, 255, 0.85) !important; /* Eigene Farbe */
}
.navbar-brand {
  font-size: 1.1em; /* Schriftgröße anpassen */
  max-width: 90px; /* Maximale Breite des Logos */
  padding: 0px; /* Entfernen des zusätzlichen Paddings */
}
.navbar-brand img {
  max-height: 90px; /* Maximale Höhe des Logos */
  height: auto; /* Beibehalten des Seitenverhältnisses des Logos */
  position: absolute; /* Absolute Positionierung des Logos */
  top: 0px; /* Verschiebung nach oben, damit das Logo herausragt */
  left: 20px; /* Beibehaltung des linken Randes */
}
.navbar-nav {
  margin-left: 50px; /* Platz für das Logo schaffen */
}
.nav-link {
  font-family: Helvetica Now;
  font-size: 1.0em; /* Schriftgröße anpassen */
  padding: 5px;
  margin: 1px;
}
.nav-link:hover {
    color: var(--red) !important;
}
.navbar-toggler {
  padding: 0.5rem 0.5rem; /* Padding des Toggle-Buttons anpassen */
  border: none !important;    
}
/* Optional: Entferne auch den Fokus-Rahmen für eine sauberere Optik */
.navbar-toggler:focus {
  outline: none;
  box-shadow: none; /* Entfernt den Standard-Fokus-Schatten */
}
.navbar-toggler-icon {
  width: 1.1rem; /* Breite des Icons anpassen */
  height: 1.1rem; /* Höhe des Icons anpassen */
  transform: rotate(0deg);    
  background-image: url("icon/hamburger.svg");
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background-image: url("icon/hamburger-close.svg");  /* geht leider nicht */
  background-image: url("icon/hamburger.svg");  
}
.navbar-text {
  font-size: 0.8em;
  color: var(--blue);
}

#nachricht::placeholder {
  color: var(--blue) !important;
}
#mailok {
  display: none; /* Standardzustand: Unsichtbar */
}
#mailok:target {
  display: block; /* Sichtbar, wenn es das Ziel ist */
  font-weight: bold;
  color: green;
}
/*===================*/
/* activities klein */
.act-container {
  display: flex;
  flex-wrap: nowrap; /* Keine Zeilenumbrüche */
  gap: 10px; /* Abstand zwischen den Cards */
  justify-content: center; /* Cards mittig ausrichten */
}
.act-card {
  position: relative; /* Notwendig für absolute Positionierung des Links */
  flex: 1; /* Jede Card nimmt gleich viel Platz ein */
  width: auto;
  height: 90px; /* Alle Cards haben feste Höhe */
  background-size: cover; /* GIF füllt die Box */
  background-position: center; /* GIF bleibt zentriert */
  background-repeat: no-repeat; /* Kein Wiederholen */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  color: white; /* Text sichtbar machen */
  font-weight: bold;
  border-radius: 5px; /* Optional: Abgerundete Ecken */
  overflow: hidden; /* Falls nötig */
}
.act-card a {
  color: white !important;
}
.act-card:hover {
  transform: scale(1.05); /* Vergrößern bei Hover */
}
@media (max-width: 768px) {
  .act-card {
    height: 70px;
    font-size: 1.1rem; /* Kleinere Überschrift */
  }
}
@media (max-width: 576px) {
  .act-card {
    height: 50px;
    font-size: 0.8rem; /* Kleinere Überschrift */
  }
}
@media (max-width: 450px) {
  .act-card {
    height: 40px;
    font-size: 0.6rem; /* Kleinere Überschrift */
  }
}
/* END activities klein */
/*===================*/
.act-icon {
  vertical-align: middle;
  font-size: 2.2rem;
  margin-left: 0.6rem;
  padding: 4px;
  border: 0.5px solid;
  border-radius: 50%;
  background-color: var(--white);
}
/* contakt */
.contact-container {
  display: flex;
  justify-content: center; /* Horizontally center the buttons */
  align-items: center; /* Vertically center the buttons */
}
.contact-button {
  font-size: 1em; /* Default button font size */
  padding: 0.5em 1em; /* Default padding */
  margin: 0.5em;
  border: none;
  cursor: pointer;
  border-radius: 6px;
}
.contact-email {
  background-color: var(--red);
  color: white;
}
.contact-phone {
  background-color: var(--green);
  color: white;
}
.contact-teams {
  background-color: var(--blue);
  color: white;
}
/* END contakt */
/*===================*/
/* Carousel */
.carousel-caption h1 {
  background-color: rgba(255, 255, 255, 0.5);
  padding: 20px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 80%;
  max-width: 600px;
  margin: auto;
}
@media (max-width: 768px) {
  .carousel-caption h1 {
    font-size: 2rem; /* Kleinere Überschrift */
  }
  .carousel-caption p {
    font-size: 1rem; /* Kleinere Beschreibung */
  }
}
@media (max-width: 576px) {
  .carousel-caption h1 {
    font-size: 1.5rem; /* Kleinere Überschrift */
  }
  .carousel-caption p {
    font-size: 1rem; /* Kleinere Beschreibung */
  }
}
@media (max-width: 576px) {
  .carousel-caption h1 {
    font-size: 1rem; /* Kleinere Überschrift */
  }
  .carousel-caption p {
    font-size: 0.4rem; /* Kleinere Beschreibung */
  }
}
.contact-mail {
  background-color: lightgrey;
  margin-top: 0px;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 10px;
  font-size: smaller;
  line-height: 1.0rem;
}
.form-label {
    font-size: 0.8rem;
}
.custom-banner {
  background-color: var(--lightblue);
  background-image: url('images/berge-ch.jpg'); /* Pfad zum Bild */
  background-size: cover; /* Bild deckt den gesamten Bereich */
  background-position: center; /* Zentriert das Bild */
  opacity: 0.9; /* Macht das Bild halbtransparent */
  padding-top: 40px;
  padding-bottom: 40px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 5px;
}
.custom-banner-text {
  color: var(--white);
  font-family: Helvetica Now Bold;
  font-size: xx-large;
}
.custom-card-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 4 Karten pro Zeile auf großen Bildschirmen */
  gap: 20px; /* Abstand zwischen den Karten */
}
.custom-card {
  width: 100%; /* Stellt sicher, dass die Karten sich anpassen */
  position: relative; /* Stellt sicher, dass das Icon relativ zur Karte positioniert wird */
  overflow: hidden;
  background-color: var(--white);
  border-radius: 5px;
}
.custom-card h5 {
  font-weight: bold;
  color: var(--red);
}
.custom-card:hover {
  transform: scale(1.05); /* Vergrößern bei Hover */
}
.custom-card h5:hover {
  color: var(--red);
}
.icon-overlay {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%); /* Exakte Zentrierung */
  padding: 2px;
  border-radius: 50%; /* Macht den Hintergrund rund */
}
.custom-icon-overlay {
  color: white; /* Weiße Farbe für das Icon */
  font-size: 2.8rem; /* Größer machen */
  width: 100px; /* Breite für runde Form */
  height: 100px; /* Höhe für runde Form */
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: var(--background); /* Hintergrundfarbe */
  border-style: solid;
  border-width: 0px; /* Border hinzufügen */
}
.custom-icon-overlay:hover {
  color: white;
  background-color: var(--red);
  opacity: 0.8;
  transform: scale(1.15);
  border-radius: 9999px;
  border: none;
}
/* 2 Karten pro Zeile bei mittleren und kleineren Bildschirmen */
@media (max-width: 992px) {
  .custom-card-container {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* Anzahl Karte pro Zeile bei  kleineren Bildschirmen */
@media (max-width: 768px) {
  .custom-card-container {
    grid-template-columns: repeat(2, 1fr);
  }
  .custom-icon-overlay {
    font-size: 3rem;
    width: 80px; /* Breite für runde Form */
    height: 80px;
  }
  h5 {
    font-size: smaller;
  }
}
@media (max-width: 576px) {
  .custom-card-container {
    grid-template-columns: repeat(2, 1fr);
  }
  .custom-icon-overlay {
    font-size: 2rem;
    width: 50px; /* Breite für runde Form */
    height: 50px;
  }
  
}
@media (max-width: 450px) {
  .custom-card h5 {
    font-size: 0.7rem;
  }  
}
.go-back {
  color: #FFFFFF;
  background-color: white;
  position: fixed;
  font-size: 1.3rem;
  border-radius: 50%;
  padding: 15px;
  top: 2vw;
  right: 1vw;
  z-index: 1;
}
.go-back:hover {
  background-color: var(--green);
  top: 2vw;
  right: 1vw;
}
@media (max-width: 576px) {
  .go-back {
    top: 10vw;
  }
}
.custom-footer {
  font-size: smaller;
}
.custom-row {
  display: flex;
  flex-wrap: nowrap;
}
/* Bei kleineren Bildschirmen */
@media (max-width: 768px) {
  .custom-row {
    flex-wrap: wrap;
  }
  .custom-row > div {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* icons */
.custom-icons-row {
  color: var(--blue);
  display: flex;
  justify-content: center; /* Zentriert den Inhalt horizontal */
  flex-wrap: wrap;
  gap: 50px; /* Abstand zwischen den Icons */
}
.custom-icons {
  font-size: 50px; /* Größer machen */
  width: 100px; /* Breite für runde Form */
  height: 100px; /* Höhe für runde Form */
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: var(--background); /* Hintergrundfarbe (optional)*/
  border-style: solid;
  border-width: 1px; /* Border hinzufügen */
}
.custom-icons:hover {
  color: white;
  background-color: var(--blue);
  opacity: 0.8;
  transform: scale(1.15);
  border-radius: 9999px;
  border: none;
}
.custom-link {
  text-align: center;
  background-color: var(--lightblue) !important;
  margin: 0% 40% 0% 40%;
  border-radius: 5px;
}
.custom-link-icons {
  width: 20px;
  margin-top: 5px;
  margin-right: 5px;
  margin-bottom: 5px;
  margin-left: 5px;
  padding-bottom: 0px;
}
.custom-list {
  font-size: 1.1rem;
  font-weight: bold;
}
/*================*/
/* visit gallery */
.image-text-container {
  position: relative;
  width: 100%;
  max-width: auto;
  margin: 0 auto;
}
.image-text-container:hover {
  transform: scale(1.02); /* Vergrößern bei Hover */
}
.image-bg {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
}
.text-bg-ol {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  color: white;
  background-color: var(--background);
  vertical-align: middle;
  padding: 2px 0px 2px 0px;
  transform: none;
}
.icon-ol {
  font-size: 2rem;
  color: var(--blue);
  margin-right: 10px;
  background-color: transparent;
  border-radius: 0;
  padding: 0;
  width: auto;
  height: auto;
  line-height: normal;
  vertical-align: middle;
}
.text-ol {
  font-size: 1.2rem;
  color: var(--blue);
  padding: 0;
  background-color: transparent;
  border-radius: 0;
  display: inline-block;
}
.text-ol:hover, .icon-ol:hover {
  color: var(--red);
}
.text-bg-ol:hover {
  background-color: var(--background);
  opacity: 0.6;
}
@media (max-width: 576px) {
  .text-ol {
    font-size: 1rem;
  }
  .icon-ol {
    font-size: 1rem;
  }
}
@media (max-width: 450px) {
  .text-ol {
    font-size: 0.8rem;
  }
  .icon-ol {
    font-size: 0.8rem;
  }
}
/* END visit gallery */
/*================*/
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
}
/* Bei Smartphone */
@media (max-width: 576px) {
  .gallery-grid {
    grid-template-columns: auto auto;
  }
}
.gallery-item {
  position: relative;
  width: 100%;
  padding-top: 100%; /* 1:1 Seitenverhältnis, um das Quadrat zu erzeugen */
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
}
.gallery-item img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover; /* Beschneidet das Bild so, dass es den Container füllt */
  transform: translate(-50%, -50%); /* Zentrales Ausrichten des Bildes */
  transition: transform 0.3s ease; /* Weicher Übergang */
}
.gallery-item:hover img {
  transform: translate(-50%, -50%) scale(1.05); /* Vergrößern bei Hover */
}
/*  sector mit icon */
.sec-bg {
  position: relative;
  padding: 50px;
  text-align: left;
  background-color: #f9f9f9;
  min-height: 100vh; /* Damit genug Inhalt zum Scrollen da ist */
}
.sec-bg-icon {
  position: absolute; /* Bleibt innerhalb der sec-bg */
  top: 0.3em; /* Höhe passend zum ersten Absatz */
  right: 0em; /* Abstand von links */
  font-size: 4vw; /* Responsiv */
  width: auto; /* Breite für runde Form */
  height: auto;
  color: var(--red); /* Blau mit Transparenz */
  opacity: 1; /* Transparenz */
  z-index: -1;
  border-style: none;
  border-radius: 50%;
}
@media (max-width: 768px) {
  .sec-bg-icon {
    top: 0.0em;
    font-size: 8vw;
  }
}
/*  END sector mit icon */
/* underline */
.underline-effect {
  display: inline-block;
  position: relative;
  text-decoration: none;
  color: var(--blue);
}
.underline-effect::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px; /* Position der Linie unter dem Text */
  width: 100%;
  height: 2px; /* Dicke der Linie */
  background-color: var(--blue);
  transform: scaleX(0); /* Startet unsichtbar */
  transform-origin: left; /* Start der Linie von links */
  transition: transform 0.5s ease; /* Glatte Animation */
}
.underline-effect:hover::after {
  transform: scaleX(1); /* Linie erscheint */
}
.underline-effect:not(:hover)::after {
  transform-origin: right; /* Beim Verlassen verschiebt die Linie nach rechts */
  transform: scaleX(0); /* Linie verschwindet */
}
/* underline */
/* Partner */
.partner-grid {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.partner-box {
    background-color: white;
    border-radius: 5px;
    border: 1px solid #ccc;
    width: 250px; /* 125 */
    height: 100px; /* 50 */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 10px;
    flex-grow: 0;
    flex-shrink: 0;
}

.partner-box a {
    display: block; /* Macht den <a>-Tag zu einem Block-Element */
    width: 100%; /* Nimmt die volle Breite der partner-box ein */
    height: 100%; /* Nimmt die volle Höhe der partner-box ein */
    display: flex; /* Erneut Flexbox für die Zentrierung des Bildes */
    justify-content: center;
    align-items: center;
}

.partner-box img {
    display: block;
    max-height: 80px; /* 40 */
    max-width: 230px; /* 115 */
    height: auto;
    width: auto;
    padding: 10px;
}

@media (max-width: 768px) {
    .partner-grid {
        justify-content: space-around;
    }
    .partner-box {
        width: 90%;
    }
}

@media (max-width: 480px) {
    .partner-grid {
        justify-content: center;
    }
    .partner-box {
        width: 80%;
    }
}
/* Top of page */
.pfeil-top {
  color: white;
  padding: 0 0 0 0;
  position: fixed;
  bottom: 0.5vh;
  right: 0.5vh;
  z-index: 99999;
  border-radius: 883px;
}
/*.pfeil-top:hover {
  background-color: color-mix(in srgb, var(--blue), transparent 50%);    
}
.pfeil-top:active {
  visibility: visible;
  opacity: 0.7;
}*/
/*=========================*/
/* process Booking process */
.proc-card {
  height: 290px; /* Einheitliche Höhe */
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  background-size: cover;
  background-position: center;
  background-color: var(--white);
  display: flex;
  justify-content: center; /* Horizontale Zentrierung */
  align-items: flex-start; /* Vertikale Zentrierung */
  overflow: hidden;
  padding: 10px 3px 3px 2px;
  color: var(-blue);
}
.proc-card:hover {
  transform: scale(1.05); /* Vergrößern bei Hover */
}
.proc-card-body {
  background: rgba(239, 239, 239, 0.0);
  padding: 10px;
  width: 100%;
  text-align: left;
  border-radius: 5px;
}
.proc-card-title, .proc-card-title a:link, .proc-card-title a:active {
  color: var(--red) !important;
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
}
.proc-card-subtitle {
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
    margin: 0px;
}
.proc-card-text {
  font-size: 1rem;
  text-align: left;
}
@media (max-width: 576px) {
  .proc-card {
    height: 200px;
  }
  .proc-card-body {
    padding: 3px;
  }
  .proc-card-title {
    font-size: 1.0rem;
  }
.proc-card-subtitle {
     font-size: 1.0rem;   
    }
  .proc-card-text {
    font-size: 0.8rem;
  }
}
@media (max-width: 450px) {
  .proc-card {
    height: 200px;
  }
  .proc-card-body {
    padding: 2px;
  }
  .proc-card-title {
    font-size: 0.8rem;
  }
  .proc-card-subtitle {
     font-size: 0.8rem;   
    }
  .proc-card-text {
    font-size: 0.6rem;
  }
}
/* Hintergrundbilder 
.proc-bg-1 {
  background-image: url('images/proc-1.png');
}
.proc-bg-2 {
  background-image: url('images/proc-2.png');
}
.proc-bg-3 {
  background-image: url('images/proc-3.png');
}
.proc-bg-4 {
  background-image: url('images/proc-4.png');
}
.proc-bg-5 {
  background-image: url('images/proc-5.png');
}
.proc-bg-6 {
  background-image: url('images/proc-6.png');
}*/
/* Container für reCAPTCHA */
.recaptcha-container {
  display: flex;
  justify-content: center; /* Zentriert das Captcha */
  transform: scale(0.9); /* Standardmäßig 90% Größe */
  transform-origin: center;
}
/* Verkleinert das Captcha auf kleineren Geräten */
@media (max-width: 768px) {
  .recaptcha-container {
    transform: scale(0.8); /* 80% auf Tablets */
  }
}
@media (max-width: 450px) {
  .recaptcha-container {
    transform: scale(0.7); /* 70% auf Smartphones */
  }
}
/* process Booking process */
/*=========================*/
.schliessen i {
  color: red;
  font-size: 4rem;
  position: fixed;
  top: 5vh;
  right: 5vh;
  display: none;
}
/*.testimonial */
.testimonial-item {
  max-width: 350px;
  background: lightgrey;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  text-align: left;
  font-family: Arial, sans-serif;
  margin: 20px auto;
}
/* Bei Smartphone */
@media (max-width: 576px) {
  .testimonial {
    padding-left: 10px;
    padding-right: 5px;
  }
}
.testimonial-img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  margin: 10px;
}
.testimonial-text {
  font-style: italic;
  color: black;
    font-size: 0.9rem;
  margin-bottom: 10px;
}
.testimonial-name {
  font-size: 1rem;
  font-weight: bold;
  color: black;
  margin: 5px 0;
}
.testimonial-role {
  font-size: 0.7em;
  color: grey;
}
/* Einstieg, home */
.container-overlay {
  position: relative;
  display: inline-block;
  width: 100vw;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.background-overlay {
  width: 100%;
  height: auto;
  border-radius: 5px;
}
.overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.logo-overlay {
  width: 30%; /* Größe anpassen */
}
.text-overlay {
  color: white;
  font-size: 2.7vw;
  font-weight: bolder;
  text-align: center;
  overflow: hidden; /* Verhindert Überlauf */
  text-overflow: ellipsis;
  background-color: var(--bgblue);
  padding: 5px 10px 5px 10px;
  border-radius: 5px;
  margin-top: 5px;
}
@media (max-width: 576px) {
  .text-overlay {
    font-size: 3.0vw;
    padding: 3px;
  }
}
@media (max-width: 450px) {
  .text-overlay {
    font-size: 2.7vw;
    padding: 3px;
  }
}
/* Parallax */
.parallax {
  /* Hintergrundbild */
  background-image: url('images/landschaft-ch.jpg');
  height: 300px; /* Höhe des Parallax-Bereichs */
  background-attachment: fixed; /* Parallax-Effekt */
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
  display: block;
}
.parallax p {
  color: var(--white)
}
/* vist gallery */
.visit-container {
  position: relative;
  display: inline-block;
}
.visit-container img {
  border-radius: 5px;
}
.visit-text {
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.6em;
  justify-content: center;
  align-items: center;
  color: var(--blue);
  background-color: var(--background);
  padding: 5px 15px;
  border-radius: 5px;
  width: max-content;
}
.visit-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 50px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: flex; /* Ändere inline-flex zu flex */
  justify-content: center;
  align-items: center;
  background-color: var(--background);
  border: 1px; /* Falls der Border nicht sichtbar ist */
}
.visit-icon:hover {
  color: white;
  background-color: var(--blue);
  opacity: 0.8;
  transform: translate(-50%, -50%) scale(1.15); /* Wichtig: `translate` bleibt erhalten */
  border: none;
}
/*--------------------------------------------------------------
# Stats Section
--------------------------------------------------------------*/
.stats {
  position: relative;
  padding: 120px 0;
}
.stats img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
.stats:before {
  content: "";
  background: color-mix(in srgb, var(--background-color), transparent 40%);
  background: color-mix(in srgb, black, transparent 50%);
  position: absolute;
  inset: 0;
  z-index: 2;
}
.stats .container {
  position: relative;
  z-index: 3;
}
.stats .stats-item {
  padding: 30px;
  width: 100%;
}
.stats .stats-item span {
  font-size: 48px;
  display: block;
  color: var(--default-color);
  color: white;
  font-weight: 700;
}
.stats .stats-item p {
  padding: 0;
  margin: 0;
  /*font-family: var(--heading-font);*/
  font-size: 16px;
  font-weight: 700;
  color: color-mix(in srgb, var(--default-color), transparent 40%);
  color: color-mix(in srgb, white, transparent 40%);
}
/*--------------------------------------------------------------
# Team Section
--------------------------------------------------------------*/
.team .member {
  position: relative;
}
.team .member .member-img {
  margin: 0 80px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  border: 4px solid var(--background-color);
  border: 4px solid white;
  box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.2);
}
.icon-row {
  display: flex;
}
@media (max-width: 1024px) {
  .team .member .member-img {
    margin: 0 60px;
  }
}
.team .member .member-img img {
  position: relative;
  z-index: 1;
}
.team .member .member-img .social {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  padding-bottom: 20px;
  transition: 0.3s;
  visibility: hidden;
  opacity: 0;
}
.team .member .member-img .social a {
  transition: 0.3s;
  /*color: var(--contrast-color);*/
  color: white;
  font-size: 20px;
  margin: 0 8px;
}
.team .member .member-img .social a:hover {
  color: var(--accent-color);
  color: wheat;
}
.team .member .member-info {
  margin-top: 30px;
}
.team .member .member-info h4 {
  font-weight: 700;
  margin-bottom: 6px;
  font-size: 18px;
}
.team .member .member-info span {
  font-style: italic;
  display: block;
  font-size: 15px;
  color: color-mix(in srgb, var(--default-color), transparent 40%);
  color: color-mix(in srgb, black, transparent 50%);
  margin-bottom: 10px;
}
.team .member .member-info p {
  margin-bottom: 0;
  font-size: 14px;
}
.team .member:hover .member-img .social {
  padding-bottom: 0;
  visibility: visible;
  opacity: 1;
}