219 lines
3.9 KiB
CSS
219 lines
3.9 KiB
CSS
@import "tailwindcss";
|
|
|
|
@theme inline {
|
|
--font-sans: var(--font-inter);
|
|
|
|
--animate-float: float 6s ease-in-out infinite;
|
|
--animate-float-delayed: float 6s ease-in-out infinite 2s;
|
|
--animate-pulse-slow: pulse-slow 4s ease-in-out infinite;
|
|
--animate-gradient: gradient 8s ease infinite;
|
|
--animate-shimmer: shimmer 2s linear infinite;
|
|
--animate-fade-in: fade-in 0.6s ease-out;
|
|
--animate-slide-up: slide-up 0.6s ease-out;
|
|
--animate-slide-down: slide-down 0.3s ease-out;
|
|
--animate-scale-in: scale-in 0.3s ease-out;
|
|
}
|
|
|
|
/* Base styles */
|
|
body {
|
|
background: #ffffff;
|
|
color: #18181b;
|
|
}
|
|
|
|
/* Keyframe animations */
|
|
@keyframes float {
|
|
0%, 100% {
|
|
transform: translateY(0px);
|
|
}
|
|
50% {
|
|
transform: translateY(-20px);
|
|
}
|
|
}
|
|
|
|
@keyframes pulse-slow {
|
|
0%, 100% {
|
|
opacity: 1;
|
|
}
|
|
50% {
|
|
opacity: 0.7;
|
|
}
|
|
}
|
|
|
|
@keyframes gradient {
|
|
0% {
|
|
background-position: 0% 50%;
|
|
}
|
|
50% {
|
|
background-position: 100% 50%;
|
|
}
|
|
100% {
|
|
background-position: 0% 50%;
|
|
}
|
|
}
|
|
|
|
@keyframes shimmer {
|
|
0% {
|
|
transform: translateX(-100%);
|
|
}
|
|
100% {
|
|
transform: translateX(100%);
|
|
}
|
|
}
|
|
|
|
@keyframes fade-in {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes slide-up {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(20px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes slide-down {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-10px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes scale-in {
|
|
from {
|
|
opacity: 0;
|
|
transform: scale(0.95);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
/* Animation utility classes */
|
|
.animate-float {
|
|
animation: float 6s ease-in-out infinite;
|
|
}
|
|
|
|
.animate-float-delayed {
|
|
animation: float 6s ease-in-out infinite;
|
|
animation-delay: 2s;
|
|
}
|
|
|
|
.animate-pulse-slow {
|
|
animation: pulse-slow 4s ease-in-out infinite;
|
|
}
|
|
|
|
.animate-gradient {
|
|
background-size: 200% 200%;
|
|
animation: gradient 8s ease infinite;
|
|
}
|
|
|
|
.animate-shimmer {
|
|
animation: shimmer 2s linear infinite;
|
|
}
|
|
|
|
.animate-fade-in {
|
|
animation: fade-in 0.6s ease-out forwards;
|
|
}
|
|
|
|
.animate-slide-up {
|
|
animation: slide-up 0.6s ease-out forwards;
|
|
}
|
|
|
|
.animate-slide-down {
|
|
animation: slide-down 0.3s ease-out forwards;
|
|
}
|
|
|
|
.animate-scale-in {
|
|
animation: scale-in 0.3s ease-out forwards;
|
|
}
|
|
|
|
/* Staggered animation delays */
|
|
.animation-delay-100 { animation-delay: 100ms; }
|
|
.animation-delay-200 { animation-delay: 200ms; }
|
|
.animation-delay-300 { animation-delay: 300ms; }
|
|
.animation-delay-400 { animation-delay: 400ms; }
|
|
.animation-delay-500 { animation-delay: 500ms; }
|
|
|
|
/* Gradient text */
|
|
.gradient-text {
|
|
background: linear-gradient(135deg, #dc2626 0%, #ef4444 50%, #f87171 100%);
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
background-clip: text;
|
|
}
|
|
|
|
/* Animated gradient background */
|
|
.animated-gradient-bg {
|
|
background: linear-gradient(-45deg, #18181b, #27272a, #3f3f46, #27272a);
|
|
background-size: 400% 400%;
|
|
animation: gradient 15s ease infinite;
|
|
}
|
|
|
|
.animated-gradient-bg-red {
|
|
background: linear-gradient(-45deg, #dc2626, #b91c1c, #ef4444, #dc2626);
|
|
background-size: 400% 400%;
|
|
animation: gradient 8s ease infinite;
|
|
}
|
|
|
|
/* Card hover effects */
|
|
.card-hover {
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.card-hover:hover {
|
|
transform: translateY(-4px);
|
|
box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
/* Link hover underline effect */
|
|
.link-underline {
|
|
position: relative;
|
|
}
|
|
|
|
.link-underline::after {
|
|
content: '';
|
|
position: absolute;
|
|
bottom: -2px;
|
|
left: 0;
|
|
width: 0;
|
|
height: 2px;
|
|
background: currentColor;
|
|
transition: width 0.3s ease;
|
|
}
|
|
|
|
.link-underline:hover::after {
|
|
width: 100%;
|
|
}
|
|
|
|
/* Glass effect */
|
|
.glass {
|
|
background: rgba(255, 255, 255, 0.1);
|
|
backdrop-filter: blur(10px);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
/* Smooth scroll */
|
|
html {
|
|
scroll-behavior: smooth;
|
|
}
|
|
|
|
/* Focus styles */
|
|
*:focus-visible {
|
|
outline: 2px solid #dc2626;
|
|
outline-offset: 2px;
|
|
}
|