release: promote beta to main (gyms, brand colours, JPEG XL, SEO per gym) #3
+13
-19
@@ -450,12 +450,12 @@ section[id] {
|
|||||||
.gym-switch-btn:hover::after,
|
.gym-switch-btn:hover::after,
|
||||||
.gym-switch-btn:focus-visible::after { transform: scaleX(1); transition: transform 250ms cubic-bezier(.3, .7, .4, 1.5); }
|
.gym-switch-btn:focus-visible::after { transform: scaleX(1); transition: transform 250ms cubic-bezier(.3, .7, .4, 1.5); }
|
||||||
|
|
||||||
/* Neon flicker: a stuttering switch-on while it lifts, then steady with the
|
/* Neon blink: after a moment of hovering, one short stutter — like a tube
|
||||||
odd short glitch, like a tube that isn't quite seated. Opacity + filter only. */
|
that isn't quite seated — then steady again. Opacity + filter only. */
|
||||||
.site-btn:hover,
|
.site-btn:hover,
|
||||||
.site-btn:focus-visible,
|
.site-btn:focus-visible,
|
||||||
.gym-switch-btn:hover,
|
.gym-switch-btn:hover,
|
||||||
.gym-switch-btn:focus-visible { animation: neon-flicker-glow 5s linear 150ms infinite; }
|
.gym-switch-btn:focus-visible { animation: neon-flicker-glow 600ms linear 1.4s 1; }
|
||||||
.site-btn:hover::before,
|
.site-btn:hover::before,
|
||||||
.site-btn:hover::after,
|
.site-btn:hover::after,
|
||||||
.site-btn:focus-visible::before,
|
.site-btn:focus-visible::before,
|
||||||
@@ -463,7 +463,7 @@ section[id] {
|
|||||||
.gym-switch-btn:hover::before,
|
.gym-switch-btn:hover::before,
|
||||||
.gym-switch-btn:hover::after,
|
.gym-switch-btn:hover::after,
|
||||||
.gym-switch-btn:focus-visible::before,
|
.gym-switch-btn:focus-visible::before,
|
||||||
.gym-switch-btn:focus-visible::after { animation: neon-flicker-tube 5s linear 150ms infinite; }
|
.gym-switch-btn:focus-visible::after { animation: neon-flicker-tube 600ms linear 1.4s 1; }
|
||||||
|
|
||||||
.site-btn:active,
|
.site-btn:active,
|
||||||
.gym-switch-btn:active {
|
.gym-switch-btn:active {
|
||||||
@@ -477,23 +477,17 @@ section[id] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@keyframes neon-flicker-tube {
|
@keyframes neon-flicker-tube {
|
||||||
0%, 4%, 8%, 12%, 100% { opacity: 1; }
|
0%, 100% { opacity: 1; }
|
||||||
2% { opacity: .35; }
|
15% { opacity: .3; }
|
||||||
6% { opacity: .65; }
|
30% { opacity: 1; }
|
||||||
10% { opacity: .4; }
|
50% { opacity: .55; }
|
||||||
70% { opacity: 1; }
|
65% { opacity: 1; }
|
||||||
71% { opacity: .5; }
|
|
||||||
72% { opacity: 1; }
|
|
||||||
73% { opacity: .6; }
|
|
||||||
74% { opacity: 1; }
|
|
||||||
}
|
}
|
||||||
@keyframes neon-flicker-glow {
|
@keyframes neon-flicker-glow {
|
||||||
0%, 4%, 8%, 12%, 100% { filter: drop-shadow(0 0 5px rgba(var(--fitme-accent-rgb), .9)) drop-shadow(0 0 14px rgba(var(--fitme-accent-rgb), .55)); }
|
0%, 100% { filter: drop-shadow(0 0 5px rgba(var(--fitme-accent-rgb), .9)) drop-shadow(0 0 14px rgba(var(--fitme-accent-rgb), .55)); }
|
||||||
2% { filter: drop-shadow(0 0 1px rgba(var(--fitme-accent-rgb), .3)); }
|
15% { filter: drop-shadow(0 0 1px rgba(var(--fitme-accent-rgb), .3)); }
|
||||||
6% { filter: drop-shadow(0 0 3px rgba(var(--fitme-accent-rgb), .5)); }
|
30% { filter: drop-shadow(0 0 5px rgba(var(--fitme-accent-rgb), .9)) drop-shadow(0 0 14px rgba(var(--fitme-accent-rgb), .55)); }
|
||||||
10% { filter: drop-shadow(0 0 2px rgba(var(--fitme-accent-rgb), .35)); }
|
50% { filter: drop-shadow(0 0 2px rgba(var(--fitme-accent-rgb), .45)); }
|
||||||
71% { filter: drop-shadow(0 0 2px rgba(var(--fitme-accent-rgb), .4)); }
|
|
||||||
73% { filter: drop-shadow(0 0 3px rgba(var(--fitme-accent-rgb), .5)); }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Hover: white text on an almost-black face keeping ~10% of the brand colour —
|
/* Hover: white text on an almost-black face keeping ~10% of the brand colour —
|
||||||
|
|||||||
Reference in new issue
Block a user