start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| start [2026/07/29 08:03] – dfrey | start [2026/07/29 08:10] (aktuell) – dfrey | ||
|---|---|---|---|
| Zeile 19: | Zeile 19: | ||
| </p> | </p> | ||
| <div class=" | <div class=" | ||
| - | <a class=" | + | <a class=" |
| - | Flyer herunterladen | + | |
| </a> | </a> | ||
| - | <button type=" | + | <button type=" |
| </ | </ | ||
| </ | </ | ||
| Zeile 137: | Zeile 137: | ||
| color: #fff !important; | color: #fff !important; | ||
| box-shadow: 0 8px 18px rgba(148, 42, 0, 0.28); | box-shadow: 0 8px 18px rgba(148, 42, 0, 0.28); | ||
| + | } | ||
| + | |||
| + | .av-download-prominent, | ||
| + | .av-popup-button.av-download { | ||
| + | font-size: 1.05rem; | ||
| + | padding: 0.9rem 1.35rem; | ||
| + | animation: av-download-pulse 1.8s infinite ease-in-out; | ||
| } | } | ||
| # | # | ||
| - | .av-popup-button.av-sound { | + | .av-popup-button.av-close-main |
| background: #0b7d23; | background: #0b7d23; | ||
| color: #fff; | color: #fff; | ||
| Zeile 171: | Zeile 178: | ||
| .av-popup-box { | .av-popup-box { | ||
| position: relative; | position: relative; | ||
| - | width: min(1080px, 96vw); | + | width: min(920px, 96vw); |
| max-height: 94vh; | max-height: 94vh; | ||
| overflow: hidden; | overflow: hidden; | ||
| Zeile 189: | Zeile 196: | ||
| position: absolute; | position: absolute; | ||
| z-index: 4; | z-index: 4; | ||
| - | top: 0.8rem; | + | top: 0.85rem; |
| - | right: 0.8rem; | + | right: 0.85rem; |
| - | width: | + | width: |
| - | height: | + | height: |
| - | border: 0; | + | border: |
| border-radius: | border-radius: | ||
| - | background: | + | background: |
| color: #fff; | color: #fff; | ||
| - | font-size: 1.5rem; | + | font-size: 1.7rem; |
| + | font-weight: | ||
| + | line-height: | ||
| cursor: pointer; | cursor: pointer; | ||
| + | box-shadow: 0 0 18px rgba(255, 40, 0, 0.75); | ||
| + | } | ||
| + | |||
| + | .av-popup-close: | ||
| + | filter: brightness(1.12); | ||
| + | transform: scale(1.04); | ||
| } | } | ||
| Zeile 204: | Zeile 219: | ||
| position: relative; | position: relative; | ||
| z-index: 2; | z-index: 2; | ||
| - | | + | padding: clamp(1.4rem, 4vw, 2.6rem); |
| - | grid-template-columns: | + | padding-top: |
| - | gap: 1rem; | + | |
| - | | + | |
| - | } | + | |
| - | + | ||
| - | .av-popup-info { | + | |
| - | min-width: 0; | + | |
| - | padding-top: | + | |
| text-align: center; | text-align: center; | ||
| } | } | ||
| Zeile 227: | Zeile 235: | ||
| .av-popup-title { | .av-popup-title { | ||
| margin: 0.2rem 0; | margin: 0.2rem 0; | ||
| - | font-size: clamp(2.4rem, 8vw, 5.4rem); | + | font-size: clamp(2.6rem, 9vw, 6rem); |
| line-height: | line-height: | ||
| color: #fff1b8; | color: #fff1b8; | ||
| Zeile 254: | Zeile 262: | ||
| .av-popup-program { | .av-popup-program { | ||
| margin: 1rem auto; | margin: 1rem auto; | ||
| - | max-width: | + | max-width: |
| text-align: left; | text-align: left; | ||
| font-family: | font-family: | ||
| Zeile 265: | Zeile 273: | ||
| border-radius: | border-radius: | ||
| background: rgba(255, 255, 255, 0.1); | background: rgba(255, 255, 255, 0.1); | ||
| + | } | ||
| + | |||
| + | .av-popup-flyer-callout { | ||
| + | margin: 1.1rem auto 0; | ||
| + | max-width: 680px; | ||
| + | padding: 1rem; | ||
| + | border-radius: | ||
| + | background: | ||
| + | linear-gradient(135deg, | ||
| + | border: 1px solid rgba(255, 225, 160, 0.55); | ||
| + | font-family: | ||
| + | font-weight: | ||
| + | color: #fff8df; | ||
| + | box-shadow: inset 0 0 18px rgba(255, 170, 40, 0.16); | ||
| } | } | ||
| Zeile 271: | Zeile 293: | ||
| justify-content: | justify-content: | ||
| flex-wrap: wrap; | flex-wrap: wrap; | ||
| - | gap: 0.65rem; | + | gap: 0.75rem; |
| margin-top: 1rem; | margin-top: 1rem; | ||
| - | } | ||
| - | |||
| - | .av-flyer-wrap { | ||
| - | position: relative; | ||
| - | min-height: 520px; | ||
| - | border-radius: | ||
| - | overflow: hidden; | ||
| - | background: #fff8df; | ||
| - | box-shadow: 0 14px 42px rgba(0, 0, 0, 0.42); | ||
| - | } | ||
| - | |||
| - | .av-flyer-wrap object, | ||
| - | .av-flyer-wrap iframe { | ||
| - | width: 100%; | ||
| - | height: 100%; | ||
| - | min-height: 520px; | ||
| - | border: 0; | ||
| - | display: block; | ||
| - | background: #fff; | ||
| - | } | ||
| - | |||
| - | .av-flyer-fallback { | ||
| - | padding: 2rem; | ||
| - | color: #2f210d; | ||
| - | font-family: | ||
| - | text-align: center; | ||
| } | } | ||
| Zeile 371: | Zeile 367: | ||
| opacity: 0; | opacity: 0; | ||
| animation: av-ember-rise 2.5s infinite ease-out; | animation: av-ember-rise 2.5s infinite ease-out; | ||
| - | } | ||
| - | |||
| - | .av-note { | ||
| - | position: absolute; | ||
| - | z-index: 3; | ||
| - | top: 12%; | ||
| - | color: rgba(255, 237, 170, 0.9); | ||
| - | font-size: 1.9rem; | ||
| - | text-shadow: | ||
| - | animation: av-note-float 3.6s infinite ease-in-out; | ||
| - | pointer-events: | ||
| } | } | ||
| Zeile 387: | Zeile 372: | ||
| from { transform: rotate(-4deg) scale(1); } | from { transform: rotate(-4deg) scale(1); } | ||
| to { transform: rotate(5deg) scale(1.13); | to { transform: rotate(5deg) scale(1.13); | ||
| + | } | ||
| + | |||
| + | @keyframes av-download-pulse { | ||
| + | 0%, 100% { | ||
| + | transform: scale(1); | ||
| + | box-shadow: 0 8px 18px rgba(148, 42, 0, 0.28); | ||
| + | } | ||
| + | 50% { | ||
| + | transform: scale(1.035); | ||
| + | box-shadow: 0 12px 30px rgba(255, 104, 0, 0.46); | ||
| + | } | ||
| } | } | ||
| Zeile 424: | Zeile 420: | ||
| 12% { opacity: 1; } | 12% { opacity: 1; } | ||
| 100% { transform: translate(var(--dx), | 100% { transform: translate(var(--dx), | ||
| - | } | ||
| - | |||
| - | @keyframes av-note-float { | ||
| - | 0%, 100% { transform: translateY(0) rotate(-6deg); | ||
| - | 45% { transform: translateY(-24px) rotate(8deg); | ||
| - | } | ||
| - | |||
| - | @media (max-width: 850px) { | ||
| - | .av-popup-inner { | ||
| - | grid-template-columns: | ||
| - | overflow-y: auto; | ||
| - | max-height: 94vh; | ||
| - | } | ||
| - | |||
| - | .av-flyer-wrap { | ||
| - | min-height: 430px; | ||
| - | } | ||
| - | |||
| - | .av-flyer-wrap object, | ||
| - | .av-flyer-wrap iframe { | ||
| - | min-height: 430px; | ||
| - | } | ||
| } | } | ||
| Zeile 453: | Zeile 427: | ||
| .av-flame, | .av-flame, | ||
| .av-ember, | .av-ember, | ||
| - | .av-note, | ||
| .av-fire-stage:: | .av-fire-stage:: | ||
| - | .av-grillfest-card-fire { | + | .av-grillfest-card-fire, |
| + | .av-download-prominent | ||
| animation: none !important; | animation: none !important; | ||
| } | } | ||
| Zeile 469: | Zeile 443: | ||
| var flyerUrl = " | var flyerUrl = " | ||
| var overlay = null; | var overlay = null; | ||
| - | var hideTimer = null; | ||
| - | var audioCtx = null; | ||
| - | |||
| - | function playMusic(button) { | ||
| - | try { | ||
| - | var AudioContext = window.AudioContext || window.webkitAudioContext; | ||
| - | if (!AudioContext) return; | ||
| - | |||
| - | audioCtx = audioCtx || new AudioContext(); | ||
| - | if (audioCtx.state === " | ||
| - | |||
| - | var now = audioCtx.currentTime; | ||
| - | var notes = [392, 440, 494, 523, 494, 440, 392, 330, 392, 440, 523, 659]; | ||
| - | notes.forEach(function (freq, i) { | ||
| - | var osc = audioCtx.createOscillator(); | ||
| - | var gain = audioCtx.createGain(); | ||
| - | |||
| - | osc.type = i % 3 === 0 ? " | ||
| - | osc.frequency.value = freq; | ||
| - | |||
| - | gain.gain.setValueAtTime(0.0001, | ||
| - | gain.gain.exponentialRampToValueAtTime(0.13, | ||
| - | gain.gain.exponentialRampToValueAtTime(0.0001, | ||
| - | |||
| - | osc.connect(gain); | ||
| - | gain.connect(audioCtx.destination); | ||
| - | osc.start(now + i * 0.16); | ||
| - | osc.stop(now + i * 0.16 + 0.17); | ||
| - | }); | ||
| - | |||
| - | if (button) { | ||
| - | button.textContent = "♪ Musik läuft"; | ||
| - | setTimeout(function () { | ||
| - | button.textContent = "♪ Musik starten"; | ||
| - | }, 2200); | ||
| - | } | ||
| - | } catch (e) {} | ||
| - | } | ||
| function closePopup() { | function closePopup() { | ||
| if (!overlay) return; | if (!overlay) return; | ||
| - | clearTimeout(hideTimer); | + | |
| document.removeEventListener(" | document.removeEventListener(" | ||
| document.body.style.overflow = ""; | document.body.style.overflow = ""; | ||
| Zeile 552: | Zeile 488: | ||
| stage.appendChild(ember); | stage.appendChild(ember); | ||
| } | } | ||
| - | } | ||
| - | |||
| - | function addNotes(box) { | ||
| - | var notes = [" | ||
| - | notes.forEach(function (note, i) { | ||
| - | var el = document.createElement(" | ||
| - | el.className = " | ||
| - | el.textContent = note; | ||
| - | el.style.left = [8, 18, 78, 88][i] + " | ||
| - | el.style.animationDelay = (-i * 0.75) + " | ||
| - | box.appendChild(el); | ||
| - | }); | ||
| } | } | ||
| Zeile 580: | Zeile 504: | ||
| '< | '< | ||
| '< | '< | ||
| - | | + | '< |
| - | | + | '< |
| - | '< | + | '< |
| - | '< | + | '< |
| - | '< | + | '< |
| - | '< | + | '< |
| - | '< | + | '< |
| - | '< | + | '< |
| - | '< | + | '< |
| - | '< | + | '< |
| - | '< | + | '< |
| - | '< | + | '< |
| - | '< | + | |
| - | '</ | + | |
| - | '< | + | |
| - | '< | + | |
| - | '<a class=" | + | |
| - | '</ | + | |
| '</ | '</ | ||
| - | '< | + | '< |
| - | '<object data="' + flyerUrl + '# | + | 'Alle Programmpunkte, |
| - | '< | + | |
| - | '</object>' + | + | '< |
| + | '<a class=" | ||
| + | '<button type=" | ||
| '</ | '</ | ||
| '</ | '</ | ||
| Zeile 611: | Zeile 531: | ||
| document.body.style.overflow = " | document.body.style.overflow = " | ||
| - | var box = overlay.querySelector(" | + | var closeX |
| - | var closeButton | + | var closeMain |
| - | var soundButton = overlay.querySelector(" | + | |
| var stage = overlay.querySelector(" | var stage = overlay.querySelector(" | ||
| - | addNotes(box); | ||
| addFlames(stage); | addFlames(stage); | ||
| - | | + | |
| - | | + | |
| - | playMusic(soundButton); | + | |
| - | }); | + | |
| overlay.addEventListener(" | overlay.addEventListener(" | ||
| Zeile 629: | Zeile 545: | ||
| document.addEventListener(" | document.addEventListener(" | ||
| - | | + | |
| - | + | ||
| - | hideTimer = setTimeout(closePopup, | + | |
| } | } | ||
start.1785312207.txt.gz · Zuletzt geändert: von dfrey
