body{
    width: 300;
    text-align: center;
    padding: 0;
    margin: 0;
    font-family:Arial, Helvetica, sans-serif;
}
body.startseite {
    background-image: url('buehnedunkel.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 100vh; /* mindestens volle Bildschirmhöhe */
    background-attachment: fixed; /* optional: Hintergrund bleibt fixiert */
}
.header {
  position: relative;
  height: 80px;
  display: flex;
  align-items: center;
  padding: 0 20px;
  background: transparent;
  z-index: 2;
}
.logo {
    height: 300px;
    padding: 25px;
    padding-top: 125px;
}
.header .logo {
    width: clamp(120px, 20vw, 200px); /* min 120px, skaliert mit Bildschirm, max 200px */
    height: auto;
}

.text{
  position: relative;
  z-index: 1;
  text-align: center;
  padding-top: 15%;
  color: white;
}
.titletext {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  font-size: 2rem;
  color: white;
  padding-top: 80px;
  font-family:Verdana, Geneva, Tahoma, sans-serif;
  font-size: 35px;
}
.footer{
  position: absolute;
  top: 10px;
  right: 20px;
  padding-top: 15px;
  color: white;
  text-decoration: none;
  font-size: 18px;

}
.footer a{
      position: relative;
      text-decoration: none;
      transition: color 0.3s ease;
      color: greenyellow;
      margin-right: 15px;

}
.footer a::after{
  content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 2px;
      background-color: currentColor;
      transform: scaleX(0);
      transform-origin: center;
      transition: transform 0.3s ease;
}
.footer a:hover::after{
 transform: scaleX(1);
}
.links {
  position: absolute;
  top: 10px;
  right: 20px;
  padding-top: 15px;
  color: white;
  text-decoration: none;
  font-size: 18px;
}

.links a {
      position: relative;
      text-decoration: none;
      transition: color 0.3s ease;
      color: white;
      margin-right: 15px;

}


.links a::after{
  content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 2px;
      background-color: currentColor;
      transform: scaleX(0);
      transform-origin: center;
      transition: transform 0.3s ease;
}
.links a:hover::after{
transform: scaleX(1);

}

@media screen and (min-width: 800px) {
    #banner{
        max-height: 600px;
    }
}

@media (max-width: 768px) {
    .image-container {
        flex-direction: column; /* Bilder untereinander anordnen */
        align-items: center; /* Zentriert die Bilder */
        }
    #banner{
        height: auto;
        width: 100%;
    }
    .modal {
        display: flex;              /* Flexbox aktivieren */
        justify-content: center;    /* horizontal zentrieren */
        align-items: center;        /* vertikal zentrieren */
        padding: 10px;              /* Abstand zum Bildschirmrand */
        position: fixed;            /* bleibt über allen Inhalten */
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.4); /* halbtransparenter Hintergrund */
        z-index: 9999;              /* immer oben */
    }

    .modal-content {
        width: 90%;                 /* fast volle Breite */
        max-width: 400px;           /* maximale Breite auf großen Handys */
        margin: 0;                  /* kein zusätzlicher Margin */
        height: auto;               /* Höhe passt sich Inhalt an */
        padding: 20px;
        background-color: #fff;
        border-radius: 10px;
        box-sizing: border-box;
        text-align: center;
    }
    }

h3{
    text-align: left;
    font-weight: bold;
    margin: 20px;
}
#descr{
    font-weight: 600;
    margin-left: auto;
    margin-right: auto;
    padding-left: 70px;
    padding-right: 70px;
    max-width: 1200px;
    font-size: 20px;
}
.left img{
    height: 150px;
    padding: 0;
    margin: 0;
}
footer ul{
    list-style: none;
    margin: 0;
    padding: 0;
    padding-top: 24px;
    padding-bottom: 24px;
}
a{
    text-decoration: none;
    color: blue;
}

footer ul li a{
    padding: 15px;
}
h1{
    font-weight: bold;
    font-style:initial;
}
#PW{
    font-weight: bold;
}
header{
    padding: 0px;
}
.column {
    float: left;
    width: 33.33%;
    padding: 5px;
    object-fit: cover;
}
.row{
    display: flex;
    justify-content: center;
    gap: 10px;
}
*{
    box-sizing: border-box;
}
.image-item {
    display: flex;
    align-items: center;  /* Bild und Textblock vertikal mittig */
    gap: 0px;            /* Abstand zwischen Bild und Stichpunkten */
    flex-wrap: nowrap;
    padding-left: 750px;    /* Text bleibt rechts vom Bild */
}

.image-item img {
    width: 350px;
    height: auto;         /* Bildhöhe bleibt proportional */
    flex-shrink: 0;
    border-radius: 5px;
    margin-bottom: 0;
    padding-bottom: 25px;     /* Kein extra Abstand unten */
}

.descr {
    display: flex;
    flex-direction: column;
    justify-content: center; /* Inhalte (Name + Stichpunkte) mittig zur Bildhöhe */
    flex: 1;
    font-size: 30px;                 /* Nimmt restlichen Platz */
}

.descr p {
    margin: 0 0 0px 0;
    line-height: 1.4;
}

.descr ul {
    margin: 0;
    padding-left: 0px;
    list-style-type: disc;
    color: aliceblue;
    list-style: none;
}

.caption {
    margin-top: 20px;
    font-size: 20px;
    color: #333;
    text-align: center;
    font-weight: bold;
}
/* Das Modal (Hintergrund) */
/* Modal-Hintergrund */
.modal {
    display: none;               
    position: fixed;              
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.4);
    justify-content: center;      
    align-items: center;          
    padding: 10px;                
    box-sizing: border-box;
}

/* Modal sichtbar über :target */
.modal:target {
    display: flex;
}

/* Modal-Inhalt */
.modal-content {
    background-color: #fefefe;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;                   
    max-width: 700px;             
    border-radius: 10px;          
    text-align: center;
    position: relative;
    box-sizing: border-box;
}

/* Schließen-Button */
.close {
    position: absolute;
    top: 10px;
    right: 15px;
    color: #aaa;
    font-size: 28px;
    font-weight: bold;
    text-decoration: none;
}

.close:hover {
    color: black;
    cursor: pointer;
}

/* OK-Button */
.ok-button {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: rgb(112, 166, 31);
    color: white;
    text-decoration: none;
    border-radius: 5px;
}

.ok-button:hover {
    background-color: whitesmoke;
    color: black;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

:target {
    display: block;
}
#carouselExampleControls{
    width: 30%;
    margin: 30px auto;
}
#carousel-inner img{
    max-width: 600px;
    max-height: 800px;
    margin: auto;
}
#banner {
    height: auto; /* Höhe passt sich der Breite an */
    max-height: 600px; /* Maximalhöhe auf größeren Bildschirmen */
    padding:20px;
}

/* Carousel Styling */
#carouselExampleControls {
    width: 100%; /* Volle Breite auf mobilen Geräten */
    max-width: 800px; /* Beschränkung der Breite auf größeren Bildschirmen */
    margin: 30px auto;
}

.carousel-inner img {
    width: 100%;
    height: auto;
    object-fit: cover;
    max-height: 800px;
}

/* Media Query für Mobilgeräte */
@media screen and (max-width: 768px) {
    #banner {
        max-height: 400px; /* Maximalhöhe für Mobilgeräte */
        padding:20px
    }

    #carouselExampleControls {
        width: 100%;
        padding: 20px;
    }

    .carousel-inner img {
        max-height: 700px; /* Höhe der Bilder auf Mobilgeräten beschränken */
        max-width: 600px;
    }
    .header {
        padding-top: 5px;
    }
    .header .logo {
        width: clamp(100px, 30vw, 150px);
        padding-top: 60px;
    }
    .image-container {
        padding: 20px;
        align-items: center; /* Container-Inhalt zentrieren */
    }

    .image-item {
        flex-direction: column; /* Bild über Text */
        align-items: center;    /* Bild mittig */
        gap: 5px;
        padding: 0;
        margin-bottom: 30px;
    }

    .image-item img {
        width: 80%;
        max-width: 300px;
        height: auto;
    }

    .descr {
        text-align: center; /* Text zentrieren */
    }

    .descr ul {
        padding-left: 0;
        text-align: center; /* Stichpunkte unter Bild zentrieren */
    }
}
.navbar {
    position: relative;
}

/* Hamburger Icon oben rechts */
.hamburger {
    font-size: 50px;
    color: #ffffff;
    cursor: pointer;
    position: fixed; /* immer oben rechts sichtbar */
    top: 20px;
    right: 20px;
    z-index: 1001;
}

/* Menü initial versteckt, rechts außerhalb des Bildschirms */
.menu {
    list-style: none;
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    right: -250px; /* versteckt */
    width: 250px;
    height: 100%;
    background-color: #333;
    display: flex;
    flex-direction: column;
    padding-top: 60px;
    transition: right 0.3s ease;
    z-index: 1000;
}

.menu ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.menu li {
    border-bottom: 1px solid #444;
}

.menu li a {
    display: block;
    padding: 15px 20px;
    color: white;
    text-decoration: none;
}

.menu li a:hover {
    background-color: #575757;
}

/* Menü sichtbar, wenn Checkbox aktiviert */
#menu-toggle:checked + .hamburger + .menu {
    right: 0;
}

/* Checkbox ausblenden */
#menu-toggle {
    display: none;
}
.banner2025{
    display: flex;
    flex-direction: column;   /* Bild oben, Text darunter */
    align-items: center;      /* Bild + Text mittig */
    gap: 20px;                /* Abstand zwischen Bild und Text */
    padding: 20px;
}
.banner2025 img{
    width: 800px;             /* Standardgröße für Desktop */
    max-width: 90%;           /* Auf kleineren Geräten schrumpft es */
    height: auto;             /* Höhe bleibt proportional */
    border-radius: 5px;
}
.event-box {
    color: aliceblue;
    font-size: 20px;
    max-width: 700px;
    margin: 50px auto;          /* mittig */
    padding: 25px;
    background: rgba(126, 92, 92, 0.6); /* halbtransparenter Hintergrund */
    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.4);
    line-height: 1.6;
}

.event-box h2 {
    font-size: 20px;
    margin-bottom: 15px;
    color: #ffcc66;  /* warme Herbstfarbe */
    text-align: center;
}

.event-box h3 {
    margin-top: 25px;
    font-size: 22px;
    color: #ff9966;
}

.highlights {
    list-style: none;  /* Standard-Punkte entfernen */
    padding: 0;
    margin: 15px 0 0 0;
}

.highlights li {
    margin: 10px 0;
    padding-left: 10px;
    font-size: 20px;
    display: flex;
    align-items: center;
}
.highlights .instalink,
.highlights .instalink:link,
.highlights .instalink:visited {
  color: aliceblue;
  text-decoration: none;
}

.highlights .instalink:hover,
.highlights .instalink:focus {
  color: #ff9966;       /* schöne Hover-Farbe */
  text-decoration: underline;
}
.kauf-button {
    background-color: rgba(126, 92, 92, 0.6);
    color: white;
    border: none;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 10px 0;
    cursor: pointer;
    border-radius: 5px;
    padding-bottom: 10px;
}

.kauf-button:hover {
    background-color:whitesmoke;
}
.textbox {
  max-width: 800px;             /* nicht zu breit */
  margin: 40px auto;            /* zentriert auf der Seite */
  padding: 25px 30px;           /* Innenabstand */
  background: rgba(255, 255, 255, 0.08); /* halbtransparenter Hintergrund */
  border: 1px solid rgba(255, 255, 255, 0.2); 
  border-radius: 15px;          /* abgerundete Ecken */
  color: aliceblue;             /* Textfarbe passend zum Hintergrund */
  font-size: 18px;              /* angenehm lesbar */
  line-height: 1.6;             /* gute Zeilenhöhe */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4); /* leichter Schatten */
  backdrop-filter: blur(6px);   /* moderner Glas-Effekt */
}

.textbox h3 {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 24px;
  font-weight: 600;
  color: rgb(127, 173, 22); /* Highlight-Farbe */
  text-align: center;
}