mirror of
https://github.com/marcogll/join_landing_vanity.git
synced 2026-01-13 13:25:15 +00:00
375 lines
6.5 KiB
CSS
375 lines
6.5 KiB
CSS
/* ========================================
|
|
ANIMATIONS.CSS - Scroll Reveal Animations
|
|
======================================== */
|
|
|
|
/* Base animation classes */
|
|
.animate-on-scroll {
|
|
opacity: 0;
|
|
transform: translateY(30px);
|
|
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.animate-on-scroll.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
/* Different animation variants */
|
|
.animate-fade-up {
|
|
opacity: 0;
|
|
transform: translateY(50px);
|
|
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.animate-fade-up.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.animate-fade-left {
|
|
opacity: 0;
|
|
transform: translateX(-50px);
|
|
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.animate-fade-left.animate-in {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
|
|
.animate-fade-right {
|
|
opacity: 0;
|
|
transform: translateX(50px);
|
|
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.animate-fade-right.animate-in {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
|
|
.animate-scale {
|
|
opacity: 0;
|
|
transform: scale(0.9);
|
|
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.animate-scale.animate-in {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
|
|
/* Staggered animations for children */
|
|
.animate-stagger {
|
|
opacity: 0;
|
|
transform: translateY(30px);
|
|
transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.animate-stagger.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
/* Delay variants for staggered animations */
|
|
.animate-delay-1 {
|
|
transition-delay: 0.1s;
|
|
}
|
|
|
|
.animate-delay-2 {
|
|
transition-delay: 0.2s;
|
|
}
|
|
|
|
.animate-delay-3 {
|
|
transition-delay: 0.3s;
|
|
}
|
|
|
|
.animate-delay-4 {
|
|
transition-delay: 0.4s;
|
|
}
|
|
|
|
.animate-delay-5 {
|
|
transition-delay: 0.5s;
|
|
}
|
|
|
|
.animate-delay-6 {
|
|
transition-delay: 0.6s;
|
|
}
|
|
|
|
/* Section-specific animations */
|
|
.benefits {
|
|
opacity: 0;
|
|
transform: translateY(50px);
|
|
transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.benefits.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.profile {
|
|
opacity: 0;
|
|
transform: translateY(50px);
|
|
transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
|
|
}
|
|
|
|
.profile.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.process {
|
|
opacity: 0;
|
|
transform: translateY(50px);
|
|
transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s;
|
|
}
|
|
|
|
.process.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.faq {
|
|
opacity: 0;
|
|
transform: translateY(50px);
|
|
transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s;
|
|
}
|
|
|
|
.faq.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.testimonials {
|
|
opacity: 0;
|
|
transform: translateY(50px);
|
|
transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s;
|
|
}
|
|
|
|
.testimonials.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.cta-carousel {
|
|
opacity: 0;
|
|
transform: translateY(50px);
|
|
transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.6s;
|
|
}
|
|
|
|
.cta-carousel.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
/* Enhanced benefit cards animation */
|
|
.benefit-card {
|
|
opacity: 0;
|
|
transform: translateY(30px) scale(0.95);
|
|
transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.benefit-card.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0) scale(1);
|
|
}
|
|
|
|
/* Process steps animation */
|
|
.process__step {
|
|
opacity: 0;
|
|
transform: translateY(40px);
|
|
transition: all 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.process__step.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
/* FAQ items animation */
|
|
.faq__item {
|
|
opacity: 0;
|
|
transform: translateX(-30px);
|
|
transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.faq__item.animate-in {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
|
|
/* Section headers animation */
|
|
.section-header {
|
|
opacity: 0;
|
|
transform: translateY(30px);
|
|
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.section-header.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
/* Profile cards animation */
|
|
.profile__requirements,
|
|
.profile__desired {
|
|
opacity: 0;
|
|
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.profile__requirements {
|
|
transform: translateX(-40px);
|
|
}
|
|
|
|
.profile__desired {
|
|
transform: translateX(40px);
|
|
}
|
|
|
|
.profile__requirements.animate-in,
|
|
.profile__desired.animate-in {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
|
|
/* Testimonial cards animation */
|
|
.testimonial-slide {
|
|
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
/* CTA section specific animations */
|
|
.cta-carousel__text {
|
|
opacity: 0;
|
|
transform: translateX(-40px);
|
|
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.cta-carousel__text.animate-in {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
|
|
.cta-carousel__images {
|
|
opacity: 0;
|
|
transform: translateX(40px);
|
|
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
|
|
}
|
|
|
|
.cta-carousel__images.animate-in {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
|
|
/* Stats animation */
|
|
.stat-item {
|
|
opacity: 0;
|
|
transform: translateY(20px);
|
|
transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.stat-item.animate-in {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
/* Respect reduced motion preference */
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.animate-on-scroll,
|
|
.animate-fade-up,
|
|
.animate-fade-left,
|
|
.animate-fade-right,
|
|
.animate-scale,
|
|
.animate-stagger,
|
|
.benefits,
|
|
.profile,
|
|
.process,
|
|
.faq,
|
|
.testimonials,
|
|
.cta-carousel,
|
|
.benefit-card,
|
|
.process__step,
|
|
.faq__item,
|
|
.section-header,
|
|
.profile__requirements,
|
|
.profile__desired,
|
|
.cta-carousel__text,
|
|
.cta-carousel__images,
|
|
.stat-item {
|
|
opacity: 1;
|
|
transform: none;
|
|
transition: none;
|
|
}
|
|
}
|
|
|
|
/* Enhanced entrance animations */
|
|
@keyframes slideInFromBottom {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(50px);
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes fadeInScale {
|
|
0% {
|
|
opacity: 0;
|
|
transform: scale(0.9);
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
@keyframes slideInFromLeft {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateX(-50px);
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
|
|
@keyframes slideInFromRight {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateX(50px);
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
|
|
/* Pulse animation for important elements */
|
|
@keyframes pulse {
|
|
0%, 100% {
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
transform: scale(1.05);
|
|
}
|
|
}
|
|
|
|
.animate-pulse {
|
|
animation: pulse 2s ease-in-out infinite;
|
|
}
|
|
|
|
/* Floating animation for decorative elements */
|
|
@keyframes float {
|
|
0%, 100% {
|
|
transform: translateY(0);
|
|
}
|
|
50% {
|
|
transform: translateY(-10px);
|
|
}
|
|
}
|
|
|
|
.animate-float {
|
|
animation: float 3s ease-in-out infinite;
|
|
} |