ab-group-llc-landing-page/app/globals.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;
}