194 lines
3.2 KiB
CSS
194 lines
3.2 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@layer utilities {
|
|
/* Float Animation */
|
|
@keyframes float {
|
|
0%, 100% {
|
|
transform: translateY(0px);
|
|
}
|
|
50% {
|
|
transform: translateY(-20px);
|
|
}
|
|
}
|
|
|
|
.animate-float {
|
|
animation: float 3s ease-in-out infinite;
|
|
}
|
|
|
|
/* Float Animation with Delay */
|
|
.animate-float-delayed {
|
|
animation: float 6s ease-in-out infinite;
|
|
animation-delay: 3s;
|
|
}
|
|
|
|
/* Fade In Up */
|
|
@keyframes fadeInUp {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(30px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
/* Marquee Animation */
|
|
@keyframes marquee {
|
|
0% {
|
|
transform: translateX(0%);
|
|
}
|
|
100% {
|
|
transform: translateX(-50%);
|
|
}
|
|
}
|
|
|
|
.animate-marquee {
|
|
animation: marquee 30s linear infinite;
|
|
}
|
|
|
|
.pause-animation:hover {
|
|
animation-play-state: paused;
|
|
}
|
|
|
|
/* Counter Animation */
|
|
@keyframes countUp {
|
|
from {
|
|
opacity: 0;
|
|
transform: scale(0.5);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
.animate-countUp {
|
|
animation: countUp 0.6s ease-out;
|
|
}
|
|
|
|
/* Pulse Glow Effect */
|
|
@keyframes pulseGlow {
|
|
0%, 100% {
|
|
box-shadow: 0 0 20px rgba(147, 51, 234, 0.5);
|
|
}
|
|
50% {
|
|
box-shadow: 0 0 40px rgba(147, 51, 234, 0.8);
|
|
}
|
|
}
|
|
|
|
.animate-pulse-glow {
|
|
animation: pulseGlow 2s ease-in-out infinite;
|
|
}
|
|
|
|
/* Gradient Shift */
|
|
@keyframes gradientShift {
|
|
0% {
|
|
background-position: 0% 50%;
|
|
}
|
|
50% {
|
|
background-position: 100% 50%;
|
|
}
|
|
100% {
|
|
background-position: 0% 50%;
|
|
}
|
|
}
|
|
|
|
.animate-gradient {
|
|
background-size: 200% 200%;
|
|
animation: gradientShift 5s ease infinite;
|
|
}
|
|
|
|
/* Bounce X Animation */
|
|
@keyframes bounceX {
|
|
0%, 100% {
|
|
transform: translateX(0);
|
|
}
|
|
50% {
|
|
transform: translateX(30px);
|
|
}
|
|
}
|
|
|
|
.animate-bounce-x {
|
|
animation: bounceX 7s infinite linear;
|
|
}
|
|
|
|
/* Bob Y Animation */
|
|
@keyframes bobY {
|
|
0%, 100% {
|
|
transform: translateY(-30px);
|
|
}
|
|
50% {
|
|
transform: translateY(-10px);
|
|
}
|
|
}
|
|
|
|
.animate-bob-y {
|
|
animation: bobY 3s infinite linear;
|
|
}
|
|
|
|
/* Rotate Animation */
|
|
@keyframes rotate360 {
|
|
from {
|
|
transform: rotate(0deg);
|
|
}
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
.animate-rotate {
|
|
animation: rotate360 40s linear infinite;
|
|
}
|
|
|
|
/* Slide Down */
|
|
@keyframes slideDown {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-20px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
.animate-slideDown {
|
|
animation: slideDown 0.5s ease-out;
|
|
}
|
|
|
|
/* Ripple Effect */
|
|
@keyframes ripple {
|
|
70% {
|
|
box-shadow: 0 0 0 40px rgba(147, 51, 234, 0);
|
|
}
|
|
100% {
|
|
box-shadow: 0 0 0 0 rgba(147, 51, 234, 0);
|
|
}
|
|
}
|
|
|
|
.animate-ripple {
|
|
animation: ripple 1.5s ease-out infinite;
|
|
}
|
|
}
|
|
|
|
/* Custom Scrollbar */
|
|
::-webkit-scrollbar {
|
|
width: 10px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: #1a1a1a;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: linear-gradient(to bottom, #9333ea, #3b82f6);
|
|
border-radius: 10px;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: linear-gradient(to bottom, #7c3aed, #2563eb);
|
|
}
|