BAM!
Bock auf Musik
Bock auf Musik
BAM!
Bock auf Musik
Bock auf Musik
BAM, kurz ‚Bock auf Musik‘, ist das Festival für Jung, aber auch Alt!
Seit 2023 bringt BAM! frischen Sound und gute Stimmung nach Meckenbeuren – organisiert vom Jugendrat, dem Jugendreferat und engagierten Jugendlichen für alle Musikbegeisterten!
/* ===== LOGWORK‑COUNTDOWN ISOLIERT ===== */
.lw-countdown-container {
display: flex;
justify-content: center;
align-items: center;
gap: 18px;
font-family: "Inter", sans-serif;
background: #f0f0f0; /* hellgrauer Container-Hintergrund */
padding: 20px;
border-radius: 12px;
}
.lw-flip-card {
position: relative;
width: 100px;
height: 140px;
perspective: 1000px;
}
.lw-face {
position: absolute;
width: 100%;
height: 100%;
background: #555555; /* dunkleres Grau für Tafel */
color: #ffffff; /* Zahlen weiß */
font-size: 58px;
font-weight: 600;
display: flex;
justify-content: center;
align-items: center;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.25);
backface-visibility: hidden;
}
.lw-front {
z-index: 2;
}
.lw-back {
transform: rotateX(-180deg);
}
.lw-flip-card.lw-flip .lw-front {
animation: lw-flipTop 0.6s ease forwards;
}
.lw-flip-card.lw-flip .lw-back {
animation: lw-flipBottom 0.6s ease forwards;
}
.lw-label {
text-align: center;
margin-top: 6px;
font-size: 14px;
font-weight: 600;
color: #333;
}
@keyframes lw-flipTop {
0% { transform: rotateX(0deg); }
100% { transform: rotateX(-180deg); }
}
@keyframes lw-flipBottom {
0% { transform: rotateX(180deg); }
100% { transform: rotateX(0deg); }
}
const lwTargetDate = new Date("2026-11-06T18:00:00+01:00").getTime();
function lwFlipUnit(id, value) {
const card = document.getElementById(id);
const front = card.querySelector(".lw-front");
const back = card.querySelector(".lw-back");
if (front.textContent === value) return;
back.textContent = value;
card.classList.remove("lw-flip");
void card.offsetWidth;
card.classList.add("lw-flip");
setTimeout(() => { front.textContent = value; }, 600);
}
function lwUpdateCountdown() {
const now = Date.now();
const diff = lwTargetDate - now;
if (diff < 0) return;
const days = Math.floor(diff / (1000*60*60*24));
const hours = Math.floor((diff / (1000*60*60)) % 24);
const minutes = Math.floor((diff / (1000*60)) % 60);
const seconds = Math.floor((diff / 1000) % 60);
lwFlipUnit("lw-days", days.toString());
lwFlipUnit("lw-hours", hours.toString().padStart(2,"0"));
lwFlipUnit("lw-minutes", minutes.toString().padStart(2,"0"));
lwFlipUnit("lw-seconds", seconds.toString().padStart(2,"0"));
}
lwUpdateCountdown();
setInterval(lwUpdateCountdown,1000);
0
0
Tage
00
00
Std
00
00
Min
00
00
Sek