| |
|
|
| |
| html { |
| scroll-behavior: smooth; |
| } |
|
|
| |
| ::-webkit-scrollbar { |
| width: 8px; |
| } |
|
|
| ::-webkit-scrollbar-track { |
| background: #f1f5f9; |
| } |
|
|
| ::-webkit-scrollbar-thumb { |
| background: #94a3b8; |
| border-radius: 4px; |
| } |
|
|
| ::-webkit-scrollbar-thumb:hover { |
| background: #64748b; |
| } |
|
|
| |
| @keyframes fadeInUp { |
| from { |
| opacity: 0; |
| transform: translateY(30px); |
| } |
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
|
|
| @keyframes slideInLeft { |
| from { |
| opacity: 0; |
| transform: translateX(-30px); |
| } |
| to { |
| opacity: 1; |
| transform: translateX(0); |
| } |
| } |
|
|
| @keyframes slideInRight { |
| from { |
| opacity: 0; |
| transform: translateX(30px); |
| } |
| to { |
| opacity: 1; |
| transform: translateX(0); |
| } |
| } |
|
|
| .animate-fade-in-up { |
| animation: fadeInUp 0.6s ease-out; |
| } |
|
|
| .animate-slide-in-left { |
| animation: slideInLeft 0.6s ease-out; |
| } |
|
|
| .animate-slide-in-right { |
| animation: slideInRight 0.6s ease-out; |
| } |
|
|
| |
| .hover-lift { |
| transition: transform 0.3s ease, box-shadow 0.3s ease; |
| } |
|
|
| .hover-lift:hover { |
| transform: translateY(-5px); |
| box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); |
| } |
|
|
| |
| .gradient-text { |
| background: linear-gradient(135deg, #3b82f6, #1d4ed8); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| } |
|
|
| |
| .btn-primary { |
| background: linear-gradient(135deg, #3b82f6, #2563eb); |
| transition: all 0.3s ease; |
| } |
|
|
| .btn-primary:hover { |
| background: linear-gradient(135deg, #2563eb, #1d4ed8); |
| transform: translateY(-2px); |
| box-shadow: 0 10px 20px rgba(59, 130, 246, 0.3); |
| } |
|
|
| |
| .card-hover { |
| transition: all 0.3s ease; |
| } |
|
|
| .card-hover:hover { |
| transform: translateY(-8px); |
| box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); |
| } |
|
|
| |
| @keyframes pulse { |
| 0%, 100% { |
| opacity: 1; |
| } |
| 50% { |
| opacity: 0.5; |
| } |
| } |
|
|
| .pulse { |
| animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; |
| } |
|
|
| |
| .focus-ring:focus { |
| outline: 2px solid transparent; |
| outline-offset: 2px; |
| box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.5); |
| } |
|
|
| |
| @media (max-width: 640px) { |
| h1 { |
| font-size: 2rem; |
| line-height: 2.5rem; |
| } |
| |
| h2 { |
| font-size: 1.75rem; |
| line-height: 2.25rem; |
| } |
| } |
|
|
| |
| @media (prefers-color-scheme: dark) { |
| |
| } |
|
|
| |
| @media print { |
| .no-print { |
| display: none !important; |
| } |
| } |
|
|
| |
| .hero-animated-bg { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| overflow: hidden; |
| z-index: -1; |
| } |
|
|
| .gradient-orb { |
| position: absolute; |
| border-radius: 50%; |
| filter: blur(60px); |
| opacity: 0.7; |
| animation: float 20s infinite ease-in-out; |
| } |
|
|
| .gradient-orb-1 { |
| width: 300px; |
| height: 300px; |
| background: linear-gradient(45deg, #3b82f6, #8b5cf6); |
| top: 10%; |
| left: 10%; |
| animation-delay: 0s; |
| } |
|
|
| .gradient-orb-2 { |
| width: 400px; |
| height: 400px; |
| background: linear-gradient(45deg, #06b6d4, #3b82f6); |
| top: 50%; |
| right: 10%; |
| animation-delay: -5s; |
| } |
|
|
| .gradient-orb-3 { |
| width: 250px; |
| height: 250px; |
| background: linear-gradient(45deg, #8b5cf6, #ec4899); |
| bottom: 10%; |
| left: 50%; |
| animation-delay: -10s; |
| } |
|
|
| @keyframes float { |
| 0%, 100% { |
| transform: translate(0px, 0px) scale(1); |
| } |
| 25% { |
| transform: translate(30px, -30px) scale(1.1); |
| } |
| 50% { |
| transform: translate(-20px, 20px) scale(0.9); |
| } |
| 75% { |
| transform: translate(-30px, -20px) scale(1.05); |
| } |
| } |
|
|
| |
| .particles-container { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| overflow: hidden; |
| z-index: -1; |
| } |
|
|
| .particle { |
| position: absolute; |
| width: 4px; |
| height: 4px; |
| background: rgba(255, 255, 255, 0.8); |
| border-radius: 50%; |
| animation: particle-float 15s infinite linear; |
| } |
|
|
| @keyframes particle-float { |
| 0% { |
| transform: translateY(100vh) translateX(0px); |
| opacity: 0; |
| } |
| 10% { |
| opacity: 1; |
| } |
| 90% { |
| opacity: 1; |
| } |
| 100% { |
| transform: translateY(-100px) translateX(100px); |
| opacity: 0; |
| } |
| } |
|
|
| |
| .grid-background { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| background-image: |
| linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px), |
| linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px); |
| background-size: 50px 50px; |
| animation: grid-move 20s linear infinite; |
| z-index: -1; |
| } |
|
|
| @keyframes grid-move { |
| 0% { |
| transform: translate(0, 0); |
| } |
| 100% { |
| transform: translate(50px, 50px); |
| } |
| } |
|
|
| |
| #home { |
| position: relative; |
| overflow: hidden; |
| } |
|
|
| |
| @media (max-width: 768px) { |
| .gradient-orb { |
| filter: blur(40px); |
| } |
| |
| .gradient-orb-1 { |
| width: 200px; |
| height: 200px; |
| } |
| |
| .gradient-orb-2 { |
| width: 250px; |
| height: 250px; |
| } |
| |
| .gradient-orb-3 { |
| width: 150px; |
| height: 150px; |
| } |
| } |