diff --git a/digiseed.png b/digiseed.png new file mode 100644 index 0000000..6c5ac66 Binary files /dev/null and b/digiseed.png differ diff --git a/index.html b/index.html index d14cd12..13de877 100644 --- a/index.html +++ b/index.html @@ -43,7 +43,8 @@ background: linear-gradient(160deg, #0f1f45 0%, #1a2744 40%, #0d1b35 100%); flex-direction: column; align-items: center; - justify-content: center; + justify-content: flex-start; + padding-top: clamp(90px, 12vh, 160px); position: relative; overflow: hidden; } @@ -84,14 +85,15 @@ #fullscreen-btn:hover { background: rgba(255,255,255,0.18); color: white; } .display-header { position: absolute; - top: 32px; left: 40px; + top: clamp(14px, 2vh, 32px); left: 40px; display: flex; align-items: center; - gap: 14px; + gap: clamp(10px, 1.5vh, 18px); + z-index: 10; } .bni-badge { - height: 52px; + height: clamp(44px, 6vh, 80px); width: auto; display: block; object-fit: contain; @@ -99,22 +101,23 @@ .chapter-name { color: rgba(255,255,255,0.7); - font-size: 1.1rem; + font-size: clamp(1rem, 1.8vh, 2rem); font-weight: 300; letter-spacing: 1px; } .progress-indicator { position: absolute; - top: 36px; right: 40px; + top: clamp(28px, 4vh, 50px); right: 40px; color: rgba(255,255,255,0.5); - font-size: 0.95rem; + font-size: clamp(0.85rem, 1.5vh, 1.8rem); letter-spacing: 1px; + z-index: 10; } .round-badge { position: absolute; - top: 70px; right: 40px; + top: 96px; right: 40px; background: var(--red); color: white; font-size: 0.8rem; @@ -131,16 +134,18 @@ display: flex; flex-direction: row; align-items: center; - gap: 56px; + gap: clamp(40px, 5vw, 100px); background: rgba(255,255,255,0.07); backdrop-filter: blur(24px); border: 1px solid rgba(255,255,255,0.12); - border-radius: 28px; - padding: 52px 60px; - max-width: 1000px; - width: 92%; + border-radius: clamp(20px, 3vh, 36px); + padding: clamp(32px, 5vh, 80px) clamp(40px, 5vw, 100px); + max-width: none; + width: 96vw; + flex: 1; position: relative; z-index: 1; + margin-bottom: clamp(16px, 2.5vh, 40px); } .photo-section { @@ -152,8 +157,8 @@ } .member-photo-wrap { - width: 220px; - height: 220px; + width: 100%; + height: 100%; border-radius: 50%; border: 4px solid var(--red); overflow: hidden; @@ -171,36 +176,42 @@ } .initials-avatar { - font-size: 4rem; + font-size: clamp(4rem, 12vh, 12rem); font-weight: 700; color: white; } - .qr-wrap { + .qr-corner { + position: absolute; + top: clamp(102px, 14vh, 180px); + right: clamp(24px, 3vw, 60px); + z-index: 3; background: white; - padding: 10px; - border-radius: 12px; + padding: clamp(8px, 1vh, 14px); + border-radius: 14px; + box-shadow: 0 4px 24px rgba(0,0,0,0.35); } .qr-label { - color: rgba(255,255,255,0.4); - font-size: 0.7rem; + color: #1a2744; + font-size: clamp(0.6rem, 1vh, 0.9rem); text-align: center; - margin-top: 6px; + margin-top: 5px; text-transform: uppercase; letter-spacing: 1px; + font-weight: 600; } .info-section { flex: 1; display: flex; flex-direction: column; - gap: 14px; + gap: clamp(14px, 2.5vh, 36px); } .substitute-label { color: rgba(255,255,255,0.5); - font-size: 0.85rem; + font-size: clamp(0.75rem, 1.5vh, 1.5rem); text-transform: uppercase; letter-spacing: 2px; border-left: 3px solid var(--red); @@ -208,14 +219,14 @@ } .display-name { - font-size: clamp(2rem, 4vw, 3.2rem); + font-size: clamp(3rem, max(5vw, 7vh), 10rem); font-weight: 800; color: white; line-height: 1.1; } .display-company { - font-size: clamp(1.1rem, 2vw, 1.6rem); + font-size: clamp(1.6rem, max(2.8vw, 4vh), 6rem); color: rgba(255,255,255,0.75); font-weight: 400; } @@ -225,8 +236,8 @@ background: rgba(204,0,0,0.25); border: 1px solid rgba(204,0,0,0.5); color: #ff8080; - font-size: 1rem; - padding: 8px 18px; + font-size: clamp(1rem, 2.2vh, 2.4rem); + padding: clamp(6px, 1vh, 14px) clamp(12px, 1.8vw, 28px); border-radius: 30px; align-self: flex-start; } @@ -236,8 +247,8 @@ background: rgba(234,179,8,0.2); border: 1px solid rgba(234,179,8,0.4); color: #fcd34d; - font-size: 0.85rem; - padding: 4px 14px; + font-size: clamp(0.8rem, 1.6vh, 1.6rem); + padding: clamp(4px, 0.8vh, 10px) clamp(10px, 1.5vw, 20px); border-radius: 20px; align-self: flex-start; margin-top: 4px; @@ -255,13 +266,13 @@ } .presenter-avatar { - width: 44px; height: 44px; + width: clamp(36px, 4.5vh, 64px); height: clamp(36px, 4.5vh, 64px); border-radius: 50%; overflow: hidden; flex-shrink: 0; border: 2px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; - font-size: 0.9rem; font-weight: 700; color: white; + font-size: clamp(0.8rem, 1.4vh, 1.4rem); font-weight: 700; color: white; } .presenter-avatar img { @@ -269,7 +280,7 @@ } .presenter-label { - font-size: 0.7rem; + font-size: clamp(0.65rem, 1.2vh, 1.2rem); text-transform: uppercase; letter-spacing: 1.5px; color: rgba(255,255,255,0.4); @@ -277,13 +288,13 @@ } .presenter-name { - font-size: 0.95rem; + font-size: clamp(0.9rem, 1.8vh, 1.8rem); font-weight: 600; color: rgba(255,255,255,0.85); } .presenter-company { - font-size: 0.8rem; + font-size: clamp(0.75rem, 1.4vh, 1.4rem); color: rgba(255,255,255,0.5); } @@ -296,53 +307,60 @@ /* Next Bar */ .next-bar { position: absolute; - bottom: 0; left: 0; right: 0; - background: rgba(0,0,0,0.55); + top: 0; left: 0; right: 0; + background: rgba(0,0,0,0.6); backdrop-filter: blur(12px); - border-top: 1px solid rgba(255,255,255,0.08); - padding: 18px 40px; + border-bottom: 1px solid rgba(255,255,255,0.1); + padding: clamp(12px, 1.8vh, 24px) 40px; display: flex; align-items: center; - gap: 20px; + gap: clamp(16px, 2.5vh, 36px); + z-index: 5; } - .next-bar-label { - color: rgba(255,255,255,0.4); - font-size: 0.8rem; - text-transform: uppercase; - letter-spacing: 2px; - white-space: nowrap; + #next-bar { + padding-left: 320px; } + + .next-bar-divider { width: 1px; - height: 30px; + height: clamp(40px, 7vh, 96px); background: rgba(255,255,255,0.15); } .next-photo-small { - width: 44px; height: 44px; + width: clamp(56px, 8.5vh, 120px); height: clamp(56px, 8.5vh, 120px); border-radius: 50%; object-fit: cover; - border: 2px solid rgba(255,255,255,0.2); + border: 2px solid rgba(255,255,255,0.3); background: rgba(255,255,255,0.1); } .next-info .next-name-text { color: white; - font-size: 1.15rem; - font-weight: 600; + font-size: clamp(1.5rem, 3.8vh, 4.2rem); + font-weight: 700; } .next-info .next-company-text { + color: rgba(255,255,255,0.6); + font-size: clamp(1rem, 2.5vh, 2.8rem); + } + + .next-bar-label { color: rgba(255,255,255,0.5); - font-size: 0.9rem; + font-size: clamp(0.8rem, 1.8vh, 2rem); + text-transform: uppercase; + letter-spacing: 2px; + white-space: nowrap; } .next-bar-end-text { - color: rgba(255,255,255,0.3); + color: rgba(255,255,255,0.4); font-style: italic; - font-size: 1rem; + font-size: clamp(1.2rem, 2.5vh, 2.8rem); } /* ============================================================ @@ -709,13 +727,13 @@ ============================================================ */ .photo-timer-wrap { position: relative; - width: 220px; height: 220px; + width: min(42vh, 45vmin); height: min(42vh, 45vmin); flex-shrink: 0; } .timer-ring-svg { position: absolute; top: -14px; left: -14px; - width: 248px; height: 248px; + width: calc(min(42vh, 45vmin) + 28px); height: calc(min(42vh, 45vmin) + 28px); transform: rotate(-90deg); pointer-events: none; display: none; @@ -738,7 +756,7 @@ @keyframes timerBlink { to { opacity: 0.15; } } #display-timer-text { - font-size: 2.6rem; font-weight: 700; + font-size: clamp(2rem, 4vh, 5rem); font-weight: 700; color: rgba(255,255,255,0.95); font-variant-numeric: tabular-nums; letter-spacing: 3px; @@ -1055,6 +1073,10 @@
+
2. Runde – Besucher
@@ -1091,10 +1113,6 @@
-
@@ -1121,7 +1139,7 @@
—
- +
@@ -1871,10 +1889,11 @@ function renderDisplay() { qrWrap.style.display = 'block'; qrEl.innerHTML = ''; try { + const qrSize = Math.round(Math.min(window.innerHeight * 0.16, window.innerWidth * 0.09, 200)); new QRCode(qrEl, { text: data.profileUrl, - width: 100, - height: 100, + width: qrSize, + height: qrSize, colorDark: '#1a2744', colorLight: '#ffffff', correctLevel: QRCode.CorrectLevel.M,