| @keyframes float { |
| 0%, 100% { |
| transform: translateY(0px); |
| } |
| 50% { |
| transform: translateY(-20px); |
| } |
| } |
|
|
| @keyframes float-delayed { |
| 0%, 100% { |
| transform: translateY(0px); |
| } |
| 50% { |
| transform: translateY(-10px); |
| } |
| } |
|
|
| @keyframes spin-slow { |
| from { |
| transform: rotate(0deg); |
| } |
| to { |
| transform: rotate(360deg); |
| } |
| } |
|
|
| .animate-float { |
| animation: float 6s ease-in-out infinite; |
| } |
|
|
| .animate-float-delayed { |
| animation: float-delayed 8s ease-in-out infinite; |
| } |
|
|
| .animate-spin-slow { |
| animation: spin-slow 20s linear infinite; |
| } |
|
|
| .font-inter { |
| font-family: 'Inter', sans-serif; |
| } |
|
|
| .gradient-text { |
| background: linear-gradient(135deg, #3b82f6, #1e40af); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| } |
|
|
| .hover-lift { |
| transition: transform 0.3s ease, box-shadow 0.3s ease; |
| } |
|
|
| .hover-lift:hover { |
| transform: translateY(-8px); |
| box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); |
| } |
|
|
| |
| html { |
| scroll-behavior: smooth; |
| } |
|
|
| |
| ::-webkit-scrollbar { |
| width: 8px; |
| } |
|
|
| ::-webkit-scrollbar-track { |
| background: #f1f1f1; |
| } |
|
|
| ::-webkit-scrollbar-thumb { |
| background: #3b82f6; |
| border-radius: 4px; |
| } |
|
|
| ::-webkit-scrollbar-thumb:hover { |
| background: #2563eb; |
| } |
|
|
| |
| .glass { |
| background: rgba(255, 255, 255, 0.1); |
| backdrop-filter: blur(10px); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| } |
|
|
| |
| @keyframes pulse-glow { |
| 0%, 100% { |
| box-shadow: 0 0 5px rgba(59, 130, 246, 0.5); |
| } |
| 50% { |
| box-shadow: 0 0 20px rgba(59, 130, 246, 0.8); |
| } |
| } |
|
|
| .animate-pulse-glow { |
| animation: pulse-glow 2s ease-in-out infinite; |
| } |
|
|
| |
| .gradient-border { |
| position: relative; |
| background: linear-gradient(45deg, #3b82f6, #1e40af); |
| padding: 2px; |
| border-radius: 12px; |
| } |
|
|
| .gradient-border > div { |
| background: white; |
| border-radius: 10px; |
| } |
|
|
| |
| .mobile-menu-enter { |
| transform: translateX(100%); |
| } |
|
|
| .mobile-menu-enter-active { |
| transform: translateX(0); |
| transition: transform 0.3s ease-in-out; |
| } |
|
|
| .mobile-menu-exit { |
| transform: translateX(0); |
| } |
|
|
| .mobile-menu-exit-active { |
| transform: translateX(100%); |
| transition: transform 0.3s ease-in-out; |
| } |