Spaces:
Sleeping
Sleeping
| /* Animations Library - SoftEdge Corporation */ | |
| /* Fade In Animations */ | |
| .fade-in { | |
| animation: fadeIn 0.8s ease-out; | |
| } | |
| .fade-in-up { | |
| animation: fadeInUp 0.8s ease-out; | |
| } | |
| .fade-in-down { | |
| animation: fadeInDown 0.8s ease-out; | |
| } | |
| .fade-in-left { | |
| animation: fadeInLeft 0.8s ease-out; | |
| } | |
| .fade-in-right { | |
| animation: fadeInRight 0.8s ease-out; | |
| } | |
| /* Staggered Animations */ | |
| .stagger-1 { animation-delay: 0.1s; } | |
| .stagger-2 { animation-delay: 0.2s; } | |
| .stagger-3 { animation-delay: 0.3s; } | |
| .stagger-4 { animation-delay: 0.4s; } | |
| .stagger-5 { animation-delay: 0.5s; } | |
| /* Keyframe Definitions */ | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| transform: scale(0.95); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| } | |
| @keyframes fadeInUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(30px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes fadeInDown { | |
| from { | |
| opacity: 0; | |
| transform: translateY(-30px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes fadeInLeft { | |
| from { | |
| opacity: 0; | |
| transform: translateX(-30px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| @keyframes fadeInRight { | |
| from { | |
| opacity: 0; | |
| transform: translateX(30px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| /* Typing Animation */ | |
| .typing-text { | |
| overflow: hidden; | |
| border-right: 2px solid rgba(6, 182, 212, 0.8); | |
| white-space: nowrap; | |
| animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite; | |
| } | |
| @keyframes typing { | |
| from { width: 0; } | |
| to { width: 100%; } | |
| } | |
| @keyframes blink-caret { | |
| from, to { border-color: transparent; } | |
| 50% { border-color: rgba(6, 182, 212, 0.8); } | |
| } | |
| /* Floating Particles */ | |
| .particle { | |
| position: absolute; | |
| background: rgba(255, 255, 255, 0.1); | |
| border-radius: 50%; | |
| pointer-events: none; | |
| animation: float 8s ease-in-out infinite; | |
| } | |
| .particle:nth-child(1) { width: 4px; height: 4px; top: 20%; left: 10%; animation-delay: 0s; } | |
| .particle:nth-child(2) { width: 6px; height: 6px; top: 60%; left: 80%; animation-delay: 2s; } | |
| .particle:nth-child(3) { width: 3px; height: 3px; top: 40%; left: 60%; animation-delay: 4s; } | |
| .particle:nth-child(4) { width: 5px; height: 5px; top: 80%; left: 30%; animation-delay: 1s; } | |
| .particle:nth-child(5) { width: 4px; height: 4px; top: 10%; left: 70%; animation-delay: 3s; } | |
| @keyframes float { | |
| 0%, 100% { transform: translateY(0px) rotate(0deg); opacity: 0.1; } | |
| 50% { transform: translateY(-20px) rotate(180deg); opacity: 0.3; } | |
| } | |
| /* Logo Glow Animation */ | |
| .logo-glow { | |
| animation: logoGlow 4s ease-in-out infinite; | |
| } | |
| @keyframes logoGlow { | |
| 0%, 100% { filter: drop-shadow(0 0 5px rgba(6, 182, 212, 0.3)); } | |
| 50% { filter: drop-shadow(0 0 20px rgba(6, 182, 212, 0.6)); } | |
| } | |
| /* Shimmer Effect */ | |
| .shimmer { | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .shimmer::after { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| right: 0; | |
| bottom: 0; | |
| left: 0; | |
| background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent); | |
| animation: shimmer 2s infinite; | |
| } | |
| @keyframes shimmer { | |
| 0% { transform: translateX(-100%); } | |
| 100% { transform: translateX(100%); } | |
| } | |
| /* Pulse Animation */ | |
| .pulse-glow { | |
| animation: pulseGlow 2s ease-in-out infinite; | |
| } | |
| @keyframes pulseGlow { | |
| 0%, 100% { | |
| box-shadow: 0 0 5px rgba(6, 182, 212, 0.3); | |
| } | |
| 50% { | |
| box-shadow: 0 0 20px rgba(6, 182, 212, 0.6), 0 0 30px rgba(6, 182, 212, 0.4); | |
| } | |
| } | |
| /* Bounce Animation */ | |
| .bounce-in { | |
| animation: bounceIn 0.8s ease-out; | |
| } | |
| @keyframes bounceIn { | |
| 0% { | |
| opacity: 0; | |
| transform: scale(0.3); | |
| } | |
| 50% { | |
| opacity: 1; | |
| transform: scale(1.05); | |
| } | |
| 70% { | |
| transform: scale(0.9); | |
| } | |
| 100% { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| } | |
| /* Slide In Animations */ | |
| .slide-in-left { | |
| animation: slideInLeft 0.8s ease-out; | |
| } | |
| .slide-in-right { | |
| animation: slideInRight 0.8s ease-out; | |
| } | |
| .slide-in-up { | |
| animation: slideInUp 0.8s ease-out; | |
| } | |
| .slide-in-down { | |
| animation: slideInDown 0.8s ease-out; | |
| } | |
| @keyframes slideInLeft { | |
| from { | |
| opacity: 0; | |
| transform: translateX(-100%); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| @keyframes slideInRight { | |
| from { | |
| opacity: 0; | |
| transform: translateX(100%); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| @keyframes slideInUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(100%); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes slideInDown { | |
| from { | |
| opacity: 0; | |
| transform: translateY(-100%); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| /* Scale Animations */ | |
| .scale-in { | |
| animation: scaleIn 0.6s ease-out; | |
| } | |
| .scale-out { | |
| animation: scaleOut 0.6s ease-out; | |
| } | |
| @keyframes scaleIn { | |
| from { | |
| opacity: 0; | |
| transform: scale(0); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| } | |
| @keyframes scaleOut { | |
| from { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| to { | |
| opacity: 0; | |
| transform: scale(0); | |
| } | |
| } | |
| /* Loading Spinner */ | |
| .loading-spinner { | |
| border: 2px solid rgba(226, 232, 240, 0.3); | |
| border-top: 2px solid #06b6d4; | |
| border-radius: 50%; | |
| width: 20px; | |
| height: 20px; | |
| animation: spin 1s linear infinite; | |
| } | |
| @keyframes spin { | |
| 0% { transform: rotate(0deg); } | |
| 100% { transform: rotate(360deg); } | |
| } | |
| /* Magnetic Effect */ | |
| .magnetic { | |
| transition: transform 0.3s ease; | |
| } | |
| .magnetic:hover { | |
| transform: scale(1.05); | |
| } | |
| /* Hover Effects */ | |
| .hover-lift { | |
| transition: transform 0.3s ease, box-shadow 0.3s ease; | |
| } | |
| .hover-lift:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15); | |
| } | |
| /* Responsive Animations */ | |
| @media (prefers-reduced-motion: reduce) { | |
| *, | |
| *::before, | |
| *::after { | |
| animation-duration: 0.01ms ; | |
| animation-iteration-count: 1 ; | |
| transition-duration: 0.01ms ; | |
| } | |
| } | |
| /* Mobile Optimizations */ | |
| @media (max-width: 768px) { | |
| .particle { | |
| display: none; /* Hide particles on mobile for performance */ | |
| } | |
| .fade-in, | |
| .fade-in-up, | |
| .fade-in-down, | |
| .fade-in-left, | |
| .fade-in-right { | |
| animation-duration: 0.6s; /* Faster animations on mobile */ | |
| } | |
| } | |