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
.dot-carousel-nav {
display: flex;
align-items: center;
gap: 8px;
}
.dot-carousel-nav__dot {
width: 8px;
height: 8px;
border-radius: 999px;
border: none;
background: #3a3a44;
cursor: pointer;
transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1), background 0.35s ease, box-shadow 0.35s ease;
animation: dot-auto-advance 4.8s ease-in-out infinite;
}
.dot-carousel-nav__dot:nth-child(1) {
animation-delay: 0s;
}
.dot-carousel-nav__dot:nth-child(2) {
animation-delay: 1.2s;
}
.dot-carousel-nav__dot:nth-child(3) {
animation-delay: 2.4s;
}
.dot-carousel-nav__dot:nth-child(4) {
animation-delay: 3.6s;
}
@keyframes dot-auto-advance {
0%, 6% {
width: 8px;
background: #3a3a44;
box-shadow: none;
}
14%, 78% {
width: 26px;
background: #f472b6;
box-shadow: 0 0 10px 1px rgba(244, 114, 182, 0.6);
}
86%, 100% {
width: 8px;
background: #3a3a44;
box-shadow: none;
}
}
.dot-carousel-nav__dot.is-active {
animation: none;
width: 26px;
background: #f472b6;
box-shadow: 0 0 10px 1px rgba(244, 114, 182, 0.6);
}
.dot-carousel-nav__dot:not(.is-active):hover {
animation-play-state: paused;
background: #5c5c68;
}