Skip to content

Commit e8e50c9

Browse files
p4gsclaudehappy-otter
committed
Animate background hazes with slow drift and pulse
Three independent haze elements (orange, blue, purple) slowly drift around the hero section edges and pulse subtly brighter/dimmer. Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
1 parent b4de8ae commit e8e50c9

File tree

1 file changed

+56
-8
lines changed

1 file changed

+56
-8
lines changed

docs/projects/nthpartyfinder/index.html

Lines changed: 56 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -124,15 +124,61 @@
124124
position: relative;
125125
overflow: hidden;
126126
}
127-
.hero::before {
128-
content: '';
127+
.haze {
129128
position: absolute;
130-
inset: 0;
131-
background:
132-
radial-gradient(ellipse 600px 400px at 20% 50%, rgba(255,168,79,.12) 0%, transparent 70%),
133-
radial-gradient(ellipse 500px 350px at 80% 30%, rgba(27,149,193,.1) 0%, transparent 70%),
134-
radial-gradient(ellipse 400px 400px at 50% 80%, rgba(179,136,255,.08) 0%, transparent 60%);
129+
border-radius: 50%;
135130
pointer-events: none;
131+
filter: blur(80px);
132+
will-change: transform, opacity;
133+
}
134+
.haze-orange {
135+
width: 600px;
136+
height: 400px;
137+
background: rgba(255, 168, 79, 0.12);
138+
top: 20%;
139+
left: -5%;
140+
animation: haze-drift-1 20s ease-in-out infinite, haze-pulse 8s ease-in-out infinite;
141+
}
142+
.haze-blue {
143+
width: 500px;
144+
height: 350px;
145+
background: rgba(27, 149, 193, 0.10);
146+
top: 5%;
147+
right: -5%;
148+
animation: haze-drift-2 24s ease-in-out infinite, haze-pulse 10s ease-in-out 2s infinite;
149+
}
150+
.haze-purple {
151+
width: 400px;
152+
height: 400px;
153+
background: rgba(179, 136, 255, 0.08);
154+
bottom: -5%;
155+
left: 30%;
156+
animation: haze-drift-3 22s ease-in-out infinite, haze-pulse 12s ease-in-out 4s infinite;
157+
}
158+
@keyframes haze-drift-1 {
159+
0% { transform: translate(0, 0); }
160+
25% { transform: translate(40px, -30px); }
161+
50% { transform: translate(20px, 40px); }
162+
75% { transform: translate(-30px, 20px); }
163+
100% { transform: translate(0, 0); }
164+
}
165+
@keyframes haze-drift-2 {
166+
0% { transform: translate(0, 0); }
167+
25% { transform: translate(-50px, 30px); }
168+
50% { transform: translate(-20px, -40px); }
169+
75% { transform: translate(30px, -20px); }
170+
100% { transform: translate(0, 0); }
171+
}
172+
@keyframes haze-drift-3 {
173+
0% { transform: translate(0, 0); }
174+
25% { transform: translate(30px, 30px); }
175+
50% { transform: translate(-40px, 10px); }
176+
75% { transform: translate(10px, -30px); }
177+
100% { transform: translate(0, 0); }
178+
}
179+
@keyframes haze-pulse {
180+
0%, 100% { opacity: 1; }
181+
50% { opacity: 1.5; }
136182
}
137183

138184
.hero-eyebrow {
@@ -643,7 +689,9 @@
643689

644690
<!-- HERO -->
645691
<header class="hero">
646-
<!-- Confetti pieces -->
692+
<div class="haze haze-orange"></div>
693+
<div class="haze haze-blue"></div>
694+
<div class="haze haze-purple"></div>
647695

648696
<div class="container">
649697
<div class="hero-eyebrow"><span class="dot"></span> GRC Engineering Open Source</div>

0 commit comments

Comments
 (0)