:root{--main-color:#0c70a7;--main-bg-color:#222;--main-sub-bg-color:#272727;--header-bg-color:#0c70a7;--footer-bg-color:#0a0a0a;--text-color:white}
@media(max-width:1400px){body{font-size:2em}header nav a{font-size:2em}label{font-size:1.3em}input,select,button,textarea,label{font-size:1.2em;padding: 25px 45px;font-weight: 600;}}
body{display:flex;flex-direction:column;min-height:100vh;background-color:var(--main-bg-color);color:var(--text-color);hyphens:auto}
html,body{
height:100%;
padding:0;
margin:0;
font-family:Poppins,sans-serif;
line-height: 1.6;
letter-spacing: 0.5px;
word-spacing: 2px;
color:var(--text-color)
}
a{color:#1888ff}
.delete-album, .delete-foto, .delete-kurs, .delete, .delete-veranstaltung {
    background-color: #b50000;
}
.delete-album:hover, .delete-foto:hover, .delete-kurs:hover, .delete:hover, .delete-veranstaltung:hover {
    background-color: #520000;
}
/* Allgemeine Checkbox-Größe */
input[type="checkbox"] {
    width: 32px;       /* Breite der Checkbox */
    height: 32px;      /* Höhe der Checkbox */
    margin: 0 8px 0 0; /* Abstand zum Label */
    cursor: pointer;
}

/* Optional: Label klickbar machen */
input[type="checkbox"] + label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-size: 1rem; /* evtl. Schriftgröße anpassen */
}

/* Für kleine Bildschirme */
@media (max-width: 1400px) {
    input[type="checkbox"] {
        width: 48px;
        height: 48px;
    }
    input[type="checkbox"] + label {
        font-size: 1.1rem;
    }
}

input,textarea,select{box-sizing:border-box;width:100%;padding:.75rem 1rem;border:1px solid #333;border-radius:.5rem;background-color:#1e1e1e;color:#f1f1f1;transition:all .2s ease-in-out}
input::placeholder,select::placeholder,textarea::placeholder{color:#888}
input:focus,select:focus,textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px rgba(99,102,241,.4)}
button,input[type=button],input[type=submit]{padding:10px 20px;background-color:rgb(52,52,52);color:#fff;border:none;border-radius:8px;cursor:pointer;margin:15px;font-weight:500;transition:all .3s ease;box-shadow:0 3px 6px rgba(0,0,0,.2)}
button:hover,input[type=button]:hover,input[type=submit]:hover{background-color:rgb(72,72,72);transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,.25)}
button:active,input[type=button]:active,input[type=submit]:active{transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.2)}
.subdiv{padding:15px;margin-block:15px;border-radius:10px;background-color:var(--main-sub-bg-color);box-shadow:0 2px 8px rgba(0,0,0,.06)}
header{position:relative;display:flex;justify-content:center;background-color:var(--header-bg-color);padding:20px 0;box-shadow:0 1px 3px rgba(0,0,0,.1);min-height:100px;font-size:1.2em;z-index:10}
.header-inner{display:flex;align-items:center;justify-content:flex-end;width:100%;max-width:1400px;padding:0 20px;position:relative}
.header-inner .logo{position:absolute;left:16px}
.header-inner .logo img{height:160px;width:auto}
.header-inner nav{display:flex;gap:20px;margin-left:auto;color:white}
header nav a{color:white;text-decoration:none;position:relative;padding:5px 0;transition:color .3s ease;cursor:pointer}
header nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:white;transition:width .3s ease}
header nav a:hover{color:white}
header nav a:hover::after{width:100%}
.burger{display:none;flex-direction:column;justify-content:center;gap:8px;width:50%;cursor:pointer;z-index:20;height:100%;align-items:end}
.burger span{height:8px;width:60px;background:white;border-radius:2px}
@media(max-width:1400px){.header-inner nav{position:fixed;top:0;right:-100%;height:100vh;width:65%;background:var(--header-bg-color);flex-direction:column;align-items:center;justify-content:flex-start;gap:30px;transition:right .1s ease;z-index:15;padding-top:130px;padding-right:30px}.header-inner nav.show{right:0}.header-inner nav a{font-size:3rem}.burger{display:flex;position:relative;z-index:20}}
.burger.active span:nth-child(1){transform:rotate(45deg) translate(5px,6px);transform-origin:center}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:rotate(-45deg) translate(15px,-18px);transform-origin:center}
main{flex:1;padding:0;width:100%;max-width:1400px;margin:0 auto;margin-top:15px}
.sub-main{padding-inline:20px}
.title{text-align: center;color: var(--main-color);}
.hero{text-align:center;background-image:url(/images/Platz.jpg);background-size:cover;background-position:0;margin-block:25px}
.startnews{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:30px;}
.veranstaltung{padding:16px;border:solid 1px #00000024;border-radius:16px;box-shadow:0 2px 8px rgb(0 0 0 / 62%);flex:1 1 calc(33% - 30px);min-width:250px;box-sizing:border-box;display:flex;flex-direction:column;align-items: center;}
.veranstaltung img{width:100%;height:auto;margin-bottom:20px;border-radius:8px;max-width: 700px;}
.veranstaltung p{color:#bcbcbc;margin-top:0;}
.veranstaltung h2{margin:0;}
@media(max-width:1200px){.veranstaltung{flex:1 1 calc(33.333% - 10px)}}
@media(max-width:900px){.veranstaltung{flex:1 1 calc(50% - 10px)}}
@media(max-width:600px){.veranstaltung{flex:1 1 100%}}
section h2,section h1{text-align:left}
footer{background-color:#313131;color:white;padding:20px;text-align:center}
.footer-social{display:flex;padding:25px;justify-content:center}
.footer-social img{height:80px;width:auto;margin:0 25px;transition:transform .3s ease;vertical-align:middle}
.footer-social a:hover img{transform:scale(1.2)}
footer .footer-links a,footer .footer-contacts a{color:var(--main-color);text-decoration:none;margin:0 5px;transition:color .3s ease}
footer .footer-links a:hover,footer .footer-contacts a:hover{color:white}
footer div{margin-bottom:10px}
.slideshow-container{position:relative;width:100%;max-width:1400px;height:500px;overflow:hidden;margin:20px auto;margin-top:0;display:flex;justify-content:center;align-items:center}
.slideshow-container .slide{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.5s ease-in-out}
.slideshow-container .slide.active{opacity:1;z-index:1}
@keyframes fade{from{opacity:.4}to{opacity:1}}
.contact-section{margin-bottom:40px}
.contacts{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between}
.contact-card{padding:20px;border-radius:10px;flex:1 1 250px;text-align:center;display:flex;flex-direction:column;align-items:center;max-width:45%}
.contact-photo{width:150px;height:150px;border-radius:16px;margin-bottom:30px;background-size:cover;background-position:center;transition:transform .4s ease}
.contact-card.rocco .contact-photo{background-image:url("/images/contact/rocco.jpg");background-size:250px;background-position-y:-63px}
.contact-card.barbara .contact-photo{background-image:url("/images/contact/barbara.jpg");background-size:350px;background-position-y:-75px;background-position-x:-68px}
.contact-card:hover .contact-photo{transform:scale(1.1)}
.contact-card p{margin:0 0 5px 0;font-size:1.3rem}
.contact-card a{color:var(--main-color);text-decoration:none;font-weight:bold;transition:color .3s ease;font-size:1.3rem}
.contact-card a:hover{color:var(--text-color)}
.team-section{margin-bottom:40px}
.team{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-evenly}
.team-card{width:30%;padding:20px;border-radius:10px;text-align:center;display:flex;flex-direction:column;align-items:center}
.team-photo{width:90%;height:320px;object-fit:cover;margin-bottom:30px;border-radius:16px}
.team-card p{margin:0 0 5px 0;font-size:1.3rem}
.team-card a{color:var(--main-color);text-decoration:none;font-weight:bold;transition:color .3s ease;font-size:1.3rem}
.team-card a:hover{color:var(--text-color)}
@media(max-width:1400px){.team-card{width:100%}.team-photo{width:90%;height:720px}}
.courses{display:flex;font-size:1.2em;flex-direction:column}
.course-day{transition:transform .3s ease}
.course-day:hover,.course-day:active{transform:scale(1.02)}
.course-day p:nth-child(1){    color: grey;
    font-size: 1.1em;
    font-weight: 700;
    margin-bottom: 10px;}
.course-day p{margin:5px 0}
.note{margin-top:15px;font-style:italic}
@media(max-width:600px){.contacts,.courses{flex-direction:column;grid-template-columns:1fr}}
.maps-section{max-width:1400px;margin:40px auto;padding:0 20px}
.map-container{width:100%;padding-bottom:56.25%;position:relative;border-radius:10px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.3)}
.map-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;border-radius:10px}
.impressum-section{max-width:1400px;margin:40px auto;padding:0 20px}
.impressum-section h1{font-size:2.5rem;margin-bottom:30px;color:var(--main-color);text-align:center}
.impressum-block{background-color:var(--main-sub-bg-color);padding:20px;border-radius:10px;margin-bottom:20px}
.impressum-block h2{color:var(--main-color);margin-bottom:10px}
.impressum-block p{margin:5px 0}
.impressum-block a{color:var(--main-color);text-decoration:none;transition:color .3s ease}
.impressum-block a:hover{color:var(--text-color)}
@media(max-width:600px){.impressum-section{padding:0 10px}}
.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.6);align-items: center;}
.modal-content{background-color:var(--main-bg-color);margin:20px auto;padding:20px;border-radius:10px;width:90%;max-width:1400px;box-shadow:0 5px 15px rgba(0,0,0,.3);text-align:center}
.modal-content form{display:flex;flex-direction:column;align-items:stretch}
.modal-content h2{margin-bottom:15px}
.modal-content input{width:100%;padding:8px;margin:8px 0;border:1px solid #ccc;border-radius:5px}
.modal-content img{width:90%;height:auto;border-radius:8px;display:block;margin:0 auto}
.close{color:var(--text-color);float:right;font-size:2em;font-weight:bold;cursor:pointer}
.close:hover{color:#818181}
@media(max-width:1400px){.modal-content form{display:flex;flex-wrap:wrap;flex-direction:column;align-items:stretch}}
.eventfoto{max-width: 400px;}@media(max-width:1400px){.eventfoto{max-width: 100%;}}
