File size: 1,912 Bytes
0bfd444
 
 
 
 
 
 
5ff1ee2
 
0bfd444
 
 
 
 
 
 
 
 
 
5ff1ee2
 
0bfd444
 
 
5ff1ee2
 
0bfd444
 
 
 
5ff1ee2
 
0bfd444
 
5ff1ee2
0bfd444
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/* Custom CSS for animations and gradients */
.gradient-bg {
    background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
    background-size: 400% 400%;
    animation: gradientShift 15s ease infinite;
    width: 100%;
    height: 100%;
}

@keyframes gradientShift {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.animate-text-gradient {
    background-size: 200% auto;
    animation: textGradient 3s linear infinite;
}

@keyframes textGradient {
    to {
        background-position: 200% center;
    }
}

.feature-card {
    transition: all 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Dark mode support */
.dark .gradient-bg {
    opacity: 0.3;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.dark ::-webkit-scrollbar-track {
    background: #1f2937;
}

.dark ::-webkit-scrollbar-thumb {
    background: #4b5563;
}

/* Pricing toggle animation */
#billing-toggle {
    transform: translateX(0);
}

#billing-toggle.yearly {
    transform: translateX(100%);
}

/* Price animation */
.price-crossed {
    position: relative;
    display: inline-block;
}

.price-crossed::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 2px;
    background: #ef4444;
    transform: rotate(-15deg);
    animation: strike 0.3s ease-out;
}

@keyframes strike {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .gradient-bg {
        animation-duration: 20s;
    }
}