veza/apps/web/desy/legacy/css/4-objects/animations.css

217 lines
2.9 KiB
CSS
Raw Normal View History

2026-01-22 16:23:11 +00:00
/*
ANIMATION UTILS & KEYFRAMES
*/
.animate-fade-in {
animation: fadeIn 0.5s var(--ease-out);
}
.animate-slide-up {
animation: slideUp 0.5s var(--ease-out);
}
.animate-pulse {
animation: pulse 2s infinite;
}
.animate-spin-slow {
animation: spin 10s linear infinite;
}
.animate-float {
animation: float 6s ease-in-out infinite;
}
.hover-lift {
transition: transform 0.2s var(--ease-out);
}
.hover-lift:hover {
transform: translateY(-2px);
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes float {
0%,
100% {
transform: translateY(0);
}
50% {
transform: translateY(-10px);
}
}
@keyframes slideUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes pulse {
0% {
opacity: 1;
}
50% {
opacity: 0.5;
}
100% {
opacity: 1;
}
}
@keyframes graffiti-shake {
0%,
100% {
transform: rotate(-2deg);
}
25% {
transform: rotate(2deg);
}
50% {
transform: rotate(-2deg);
}
75% {
transform: rotate(2deg);
}
}
/* Glitch Animations */
@keyframes glitch-anim-1 {
0% {
clip: rect(20px, 9999px, 15px, 0);
}
20% {
clip: rect(60px, 9999px, 80px, 0);
}
40% {
clip: rect(10px, 9999px, 55px, 0);
}
60% {
clip: rect(90px, 9999px, 10px, 0);
}
80% {
clip: rect(30px, 9999px, 70px, 0);
}
100% {
clip: rect(50px, 9999px, 40px, 0);
}
}
@keyframes glitch-anim-2 {
0% {
clip: rect(60px, 9999px, 10px, 0);
}
20% {
clip: rect(10px, 9999px, 50px, 0);
}
40% {
clip: rect(90px, 9999px, 30px, 0);
}
60% {
clip: rect(20px, 9999px, 70px, 0);
}
80% {
clip: rect(40px, 9999px, 90px, 0);
}
100% {
clip: rect(15px, 9999px, 60px, 0);
}
}
/* Boot Screen Animations */
@keyframes bootLoad {
0% {
width: 0%;
opacity: 1;
}
30% {
width: 45%;
}
60% {
width: 60%;
}
80% {
width: 85%;
}
100% {
width: 100%;
opacity: 1;
}
}
@keyframes bootFadeOut {
to {
opacity: 0;
pointer-events: none;
visibility: hidden;
}
}
.boot-progress {
animation: bootLoad 2.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.fade-out-screen {
animation: bootFadeOut 0.5s ease-out forwards;
}
/* Waveform Animation */
@keyframes wave {
0%,
100% {
transform: scaleY(0.5);
opacity: 0.5;
}
50% {
transform: scaleY(1.2);
opacity: 1;
}
}