loading-spinner {
display: block;
position: relative;
margin: 0 auto;
top: 50%;
transform: translateY(-50%);
border-radius: 50%;
opacity: 0.3;
}
.infinity-1 {
width:90px;
height:14px;
background:
radial-gradient(circle 7px at bottom, #fff 92%,#0000 ) 0 0,
radial-gradient(circle 7px at top , #fff 92%,#0000 ) 0 100%;
background-size:calc(100%/4) 50%;
background-repeat:repeat-x;
animation:i1 1s infinite;
}
@keyframes i1 {
80%,100% {background-position: calc(100%/3) 0,calc(100%/-3) 100%}
}
.infinity-2 {
width:90px;
height:14px;
background:
conic-gradient(from 135deg at top ,#fff 90deg,#0000 0) 0 0,
conic-gradient(from -45deg at bottom,#fff 90deg,#0000 0) 0 100%;
background-size:calc(100%/4) 50%;
background-repeat:repeat-x;
animation:i2 1s infinite;
}
@keyframes i2 {
80%,100% {background-position: calc(100%/3) 0,calc(100%/-3) 100%}
}
.infinity-3 {
width:90px;
height:14px;
background:
radial-gradient(circle 7px at bottom, #fff 92%,#0000 ) calc(100%/2) 0,
radial-gradient(circle 7px at top , #fff 92%,#0000 ) calc(100%/2) 100%,
conic-gradient(from 135deg at top ,#fff 90deg,#0000 0) 0 0,
conic-gradient(from -45deg at bottom,#fff 90deg,#0000 0) 0 100%;
background-size:calc(100%/2) 50%;
background-repeat:repeat-x;
animation:i3 3s infinite;
}
@keyframes i3 {
0% {background-position: calc(100%/2) 0,calc(100%/2) 100%,0 0, 0 100%}
20%,
30% {background-position: calc(3*100%/4) 0,calc(100%/4) 100%,calc(100%/4) 0, calc(100%/-4) 100%}
45%,
55% {background-position: 100% 0,0 100%,calc(100%/2) 0, calc(100%/-2) 100%}
70%,
80% {background-position: calc(5*100%/4) 0,calc(100%/-4) 100%,calc(3*100%/4) 0, calc(3*100%/-4) 100%}
100%{background-position: calc(3*100%/2) 0,calc(100%/-2) 100%,100% 0, -100% 100%}
}
.infinity-4 {
width:90px;
height:14px;
background:
radial-gradient(circle closest-side, #fff 92%,#0000 ) calc(100%/-4) 0,
radial-gradient(circle closest-side, #fff 92%,#0000 ) calc(100%/4) 0;
background-size:calc(100%/2) 100%;
animation:i4 1.5s infinite;
}
@keyframes i4 {
0% {background-position: calc(100%/-4) 0 ,calc(100%/4) 0}
50% {background-position: calc(100%/-4) -14px,calc(100%/4) 14px}
100% {background-position: calc(100%/4) -14px,calc(3*100%/4) 14px}
}
.infinity-5 {
width:60px;
aspect-ratio:1;
--g: conic-gradient(from -90deg at 10px 10px,#fff 90deg,#0000 0);
background:
var(--g),
var(--g) 10px 10px,
var(--g) 20px 20px;
background-size: 50% 50%;
animation:i5 1s infinite;
}
@keyframes i5 {
90%,100% {background-position: -30px 30px,-20px 40px,-10px 50px}
}
.infinity-6 {
width:60px;
aspect-ratio:1;
--g: conic-gradient(from -90deg at 10px 10px,#fff 90deg,#0000 0);
background: var(--g), var(--g), var(--g);
background-size: 50% 50%;
animation:i6 1s infinite;
}
@keyframes i6 {
0% {background-position:0 0 ,10px 10px,20px 20px}
50% {background-position:0 20px,10px 10px,20px 0 }
100% {background-position:20px 20px,10px 10px,0 0 }
}
.infinity-7 {
width:60px;
aspect-ratio:1;
--g: conic-gradient(from -90deg at 10px 10px,#fff 90deg,#0000 0);
background: var(--g), var(--g), var(--g);
background-size: 50% 50%;
animation:i7 1s infinite;
}
@keyframes i7 {
0% {background-position:0 0, 10px 10px, 20px 20px}
33% {background-position:-30px 0, 10px 10px, 20px 20px}
66% {background-position:-30px 0,-20px 10px, 20px 20px}
100% {background-position:-30px 0,-20px 10px,-10px 20px}
}
.infinity-8 {
width:60px;
aspect-ratio:1;
--g: conic-gradient(from -90deg at 10px 10px,#fff 90deg,#0000 0);
background: var(--g), var(--g), var(--g);
background-size: 50% 50%;
animation:i8 1s infinite;
}
@keyframes i8 {
0% {background-position:0 0, 10px 10px, 20px 20px}
33% {background-position:-30px 0, 10px 10px, 20px 20px}
66% {background-position:-30px 0, 10px 40px, 20px 20px}
100% {background-position:-30px 0, 10px 40px, 50px 20px}
}
.infinity-9 {
width:60px;
aspect-ratio:1;
--g: conic-gradient(from -90deg at 10px 10px,#fff 90deg,#0000 0);
background: var(--g), var(--g), var(--g);
background-size: 50% 50%;
animation:i9 1s infinite;
}
@keyframes i9 {
0% {background-position:0 0, 10px 10px, 20px 20px}
33% {background-position:10px 10px}
66% {background-position:0 20px,10px 10px,20px 0 }
100% {background-position:0 0, 10px 10px, 20px 20px}
}
.infinity-10 {
width:60px;
display:flex;
align-items:flex-start;
aspect-ratio:1;
}
.infinity-10:before,
.infinity-10:after {
content:"";
flex:1;
aspect-ratio:1;
--g: conic-gradient(from -90deg at 10px 10px,#fff 90deg,#0000 0);
background: var(--g), var(--g), var(--g);
filter:drop-shadow(30px 30px 0 #fff);
animation:i10 1s infinite;
}
.infinity-10:after {
transform:scaleX(-1);
}
@keyframes i10 {
0% {background-position:0 0, 10px 10px, 20px 20px}
33% {background-position:10px 10px}
66% {background-position:0 20px,10px 10px,20px 0 }
100% {background-position:0 0, 10px 10px, 20px 20px}
}