body{
    width: 300;
    text-align: center;
    padding: 0;
    margin: 0;
    font-family:Arial, Helvetica, sans-serif;
    height: 100%;
}
body.startseite {
    background-image: url('buehnedunkel.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 100svh;
    background-attachment: fixed;
    height: 100vh;
    width: 100%;
}
.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: 180px;
}
.header .logo {
    width: clamp(120px, 20vw, 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;
        align-items: center;
        }
    #banner{
        height: auto;
        width: 100%;
    }
    .modal {
        display: flex;              
        justify-content: center;    
        align-items: center;        
        padding: 10px;              
        position: fixed;            
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.4); 
        z-index: 9999;              
    }

    .modal-content {
        width: 90%;                 
        max-width: 400px;           
        margin: 0;                  
        height: auto;               
        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;    
    justify-content: center;  
    gap: 20px;                
    flex-wrap: wrap;       
    margin: 20px auto;     
    max-width: 1000px;        
    padding: 0;              
}

.image-item img {
    width: 350px;
    height: auto;         
    flex-shrink: 0;
    border-radius: 5px;
    margin-bottom: 0;
    padding-bottom: 25px;     
}

.descr {
    display: flex;
    flex-direction: column;
    justify-content: center; 
    flex: 1;
    font-size: 30px;                 
}

.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;
}

.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:target {
    display: flex;
}


.modal {
    display: none; 
    position: fixed; 
    z-index: 9999; 
    left: 0; 
    top: 0; 
    width: 100%; 
    height: 100%; 
    overflow: auto; 
    background-color: rgba(0,0,0,0.6);
    justify-content: center;
    align-items: center;
  }

.modal-content {
    background: #fff;
    margin: auto;
    padding: 20px;
    border-radius: 15px;
    width: 90%;            
    max-width: 600px;  
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    text-align: center;
  }

.modal-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
  }

.ok-button {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background: rgb(126, 187, 33);
    color: #fff;
    border-radius: 8px;
    text-decoration: none;
    font-weight: bold;
  }

.ok-button:hover {
    background: 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;
    max-height: 600px;
    padding:20px;
}


#carouselExampleControls {
    width: 100%;
    max-width: 800px;
    margin: 30px auto;
}

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


@media screen and (max-width: 768px) {
    #banner {
        max-height: 400px;
        padding:20px
    }

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

    .carousel-inner img {
        max-height: 700px;
        max-width: 600px;
    }
    .header {
        padding-top: 5px;
    }
    .header .logo {
        width: clamp(100px, 30vw, 150px);
        padding-top: 60px;
    }
    .image-container {
        padding: 20px;
        align-items: center;
    }

    .image-item {
        flex-direction: column;
        align-items: center;
        gap: 5px;
        padding: 0;
        margin-bottom: 30px;
    }

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

    .descr {
        text-align: center;
    }

    .descr ul {
        padding-left: 0;
        text-align: center;
    }
}
.navbar {
    position: relative;
}


.hamburger {
    font-size: 50px;
    color: #ffffff;
    cursor: pointer;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1001;
}


.menu {
    list-style: none;
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    right: -250px;
    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;
}

#menu-toggle:checked + .hamburger + .menu {
    right: 0;
}

#menu-toggle {
    display: none;
}
.banner2025{
    display: flex;
    flex-direction: column;  
    align-items: center;      
    gap: 20px;                
    padding: 20px;
}
.banner2025 img{
    width: 800px;             
    max-width: 90%;           
    height: auto;             
    border-radius: 5px;
}
.event-box {
    color: aliceblue;
    font-size: 20px;
    max-width: 700px;
    margin: 50px auto;          
    padding: 25px;
    background: rgba(126, 92, 92, 0.6); 
    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;
    text-align: center;
}

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

.highlights {
    list-style: none;
    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;       
  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;             
  margin: 40px auto;            
  padding: 25px 30px;           
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2); 
  border-radius: 15px;          
  color: aliceblue;             
  font-size: 18px;              
  line-height: 1.6;             
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(6px);
}

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