Improve
your focus.
your performance.
your sleep.
your potential.
DE EN

Blue Light Glasses

Your eyes deserve better.

Say goodbye to burning eyes after long screen sessions.

Schaf & Grimm Prisma Blue Light Glasses
0%

Blue Light Filter

Maximum protection for your eyes

Grey
Havana
Crystal
Focused work

Work More Focused

No burning, no dry eyes, no headaches.

Gaming with blue light glasses

Gaming Nights

Play at night, feel great in the morning.

500g

Ultralight

High-Quality Frame

Ready for better eyes?

19.99
Order Now
// ===== INTRO ANIMATION CONTROL ===== const body = document.body; // Check if intro was already shown in this session const introShown = sessionStorage.getItem('introShown'); const cssIntroSplash = document.getElementById('css-intro-splash'); // FORCE RESET for testing (remove in production if needed, or keep logic) // sessionStorage.removeItem('introShown'); if (introShown) { // SKIP INTRO if (cssIntroSplash) cssIntroSplash.style.display = 'none'; body.classList.remove('intro-playing'); document.querySelectorAll('.intro-hidden').forEach(el => { el.classList.add('intro-reveal'); }); // Ensure cookie banner shows if skipping intro window.dispatchEvent(new Event('introFinished')); } else { // PLAY INTRO if (cssIntroSplash) { playCssIntro(); } else { finishIntro(); } } // --- CSS INTRO LOGIC --- function playCssIntro() { // The animation runs via CSS keyframes on load (approx 5s). // We wait for 5s animation + 1s hold = 6s total. const totalDuration = 6000; // Allow click to skip cssIntroSplash.addEventListener('click', endCssIntro); // Auto end setTimeout(endCssIntro, totalDuration); } function endCssIntro() { if (!cssIntroSplash || cssIntroSplash.classList.contains('fade-out')) return; cssIntroSplash.classList.add('fade-out'); finishIntro(); // Remove from DOM after fade out setTimeout(() => { if(cssIntroSplash) cssIntroSplash.remove(); }, 1000); } // --- SHARED FINISH LOGIC --- function finishIntro() { body.classList.remove('intro-playing'); // Reveal hidden elements document.querySelectorAll('.intro-hidden').forEach((el, index) => { setTimeout(() => { el.classList.add('intro-reveal'); }, index * 200); }); // Reveal bento items const bentoItems = document.querySelectorAll('.bento-item'); bentoItems.forEach((item, index) => { item.style.setProperty('--reveal-delay', index); setTimeout(() => { item.classList.add('intro-reveal'); }, 600 + (index * 100)); }); sessionStorage.setItem('introShown', 'true'); // Notify Cookie Banner to show window.dispatchEvent(new Event('introFinished')); }