Hero glass panel at bottom with layered parallax

- Hero text panel moved to bottom with frosted glass effect
  (blur 5px, dark semi-transparent background, hairline top border)
- Scroll arrow centered inside glass panel at the bottom
- Three-layer parallax: image 55%, text 65%, page 100%
- Zeremonie album date fixed (was future-dated, now visible)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
yvierkoetter
2026-06-18 22:18:00 +02:00
parent 40d68d455a
commit 921a852cbf
5 changed files with 25 additions and 23 deletions
+12 -8
View File
@@ -41,9 +41,7 @@ section.hero {
content: "";
position: absolute;
inset: 0;
background:
linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, transparent 45%),
linear-gradient(to top, rgba(0, 0, 0, 0.35) 0%, transparent 20%);
background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35) 0%, transparent 40%);
}
.hero-fg {
@@ -53,7 +51,7 @@ section.hero {
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
justify-content: flex-end;
align-items: center;
will-change: transform;
}
@@ -61,10 +59,13 @@ section.hero {
/* ── Hero content ─────────────────────────────────────── */
.hero-content {
padding: 4rem 2rem 0;
text-align: center;
max-width: 900px;
width: 100%;
padding: 2.5rem 3rem;
text-align: center;
background: rgba(10, 8, 6, 0.38);
backdrop-filter: blur(5px);
-webkit-backdrop-filter: blur(8px);
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.hero-content h1 {
@@ -93,7 +94,10 @@ section.hero {
/* ── Scroll arrow ─────────────────────────────────────── */
.hero-scroll {
padding-bottom: 2rem;
display: flex;
justify-content: center;
padding-top: 1.25rem;
padding-bottom: 0.25rem;
color: rgba(250, 250, 250, 0.6);
animation: hero-fade-in 0.6s ease 0.6s both;
}
+5 -7
View File
@@ -12,15 +12,13 @@
var s = window.scrollY;
if (s > heroH) { ticking = false; return; }
// Background: moves at ~70% of scroll speed (30% slower)
if (heroBg) heroBg.style.transform = 'translateY(' + (s * 0.3) + 'px)';
// Background at 55%, text at 80% — both slower than normal, image slowest
if (heroBg) heroBg.style.transform = 'translateY(' + (s * 0.45) + 'px)';
if (heroFg) heroFg.style.transform = 'translateY(' + (s * 0.35) + 'px)';
// Foreground text: moves at ~85% of scroll speed (15% slower)
if (heroFg) heroFg.style.transform = 'translateY(' + (s * 0.15) + 'px)';
// Scroll arrow: fades out in the first 25% of the hero height
// Scroll arrow fades out over the first 30% of hero height
if (heroScroll) {
heroScroll.style.opacity = Math.max(0, 1 - s / (heroH * 0.25)).toFixed(3);
heroScroll.style.opacity = Math.max(0, 1 - s / (heroH * 0.3)).toFixed(3);
}
ticking = false;
Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

+1 -1
View File
@@ -1,4 +1,4 @@
---
title: "Zeremonie"
date: 2026-06-20
date: 2026-06-18
---
+7 -7
View File
@@ -8,13 +8,13 @@
<div class="hero-content">
<h1>{{ .Title }}</h1>
{{ with .Params.tagline }}<p>{{ . }}</p>{{ end }}
</div>
<div class="hero-scroll" aria-hidden="true">
<span class="hero-scroll-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
<path d="M6 9l6 6 6-6"/>
</svg>
</span>
<div class="hero-scroll" aria-hidden="true">
<span class="hero-scroll-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
<path d="M6 9l6 6 6-6"/>
</svg>
</span>
</div>
</div>
</div>
</section>