/* Custom styles that extend Tailwind */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); body { font-family: 'Inter', sans-serif; scroll-behavior: smooth; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: #0f172a; } ::-webkit-scrollbar-thumb { background: #4f46e5; border-radius: 5px; } ::-webkit-scrollbar-thumb:hover { background: #6366f1; } /* Animation classes */ .fade-in { animation: fadeIn 0.8s ease-in; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .slide-up { animation: slideUp 0.8s cubic-bezier(0.16, 1, 0.3, 1); } @keyframes slideUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } } .animate-fadeIn { animation: fadeIn 1.2s ease-out; } .animate-bounce { animation: bounce 2s infinite; } @keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-20px); } 60% { transform: translateY(-10px); } } /* Gradient text */ .gradient-text { background-clip: text; -webkit-background-clip: text; color: transparent; } /* Custom shapes */ .custom-shape-divider-bottom-1 { position: absolute; bottom: 0; left: 0; width: 100%; overflow: hidden; line-height: 0; transform: rotate(180deg); } .custom-shape-divider-bottom-1 svg { position: relative; display: block; width: calc(100% + 1.3px); height: 100px; } .custom-shape-divider-bottom-1 .shape-fill { fill: #FFFFFF; } /* Pulse animation */ @keyframes pulse { 0% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.05); opacity: 0.8; } 100% { transform: scale(1); opacity: 1; } } .animate-pulse { animation: pulse 3s infinite; }