Redundancy
CSSTwo identical, parallel flow paths run side-by-side, with one path taking over the entire load when the other fades out.
- Tier
- CSS
- Dependencies
- None
- Duration
- 5.5 s, loops
- Categories
- Icons and micro-interactions
- Use cases
- Sync and integration, Security and trust
- Industries
- IT services and infrastructure, Cross-industry
- Style
- Technical · light stroke
- Set
- failover
- Tags
- geometriclineloopparticlespulse
Companion assets
The same artwork, not animated. Derived from the entry’s own resting state, so it matches exactly.
Code
animation.svg
<svg xmlns="http://www.w3.org/2000/svg" fill="none" aria-hidden="true" class="pulsar pulsar-failover-redundancy" data-pulsar="failover-redundancy" viewBox="0 0 160 96"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><line x1="16" x2="36" y1="48" y2="48"></line><path d="m36 48 12-14"></path><path d="m36 48 12 14"></path><path d="m112 34 12 14"></path><path d="m112 62 12-14"></path><line x1="124" x2="144" y1="48" y2="48"></line></g><g id="failover-redundancy-path-a"><line x1="48" x2="112" y1="34" y2="34" stroke="currentColor" stroke-linecap="round" stroke-width="2"></line><circle id="failover-redundancy-pkt-a" cx="70" cy="34" r="2.5" fill="currentColor"></circle></g><g id="failover-redundancy-path-b"><line id="failover-redundancy-line-b" x1="48" x2="112" y1="62" y2="62" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="2"></line><circle id="failover-redundancy-pkt-b" cx="70" cy="62" r="2.5" fill="var(--pulsar-accent, currentColor)"></circle></g></svg>
animation.css
.pulsar-failover-redundancy #failover-redundancy-path-a {
animation: failover-redundancy-a-state 5500ms ease-in-out infinite;
}
@keyframes failover-redundancy-a-state {
0%,
30% {
opacity: 1;
}
38%,
82% {
opacity: 0.15;
}
90%,
100% {
opacity: 1;
}
}
.pulsar-failover-redundancy #failover-redundancy-line-b {
animation: failover-redundancy-b-load 5500ms ease-in-out infinite;
}
@keyframes failover-redundancy-b-load {
0%,
32% {
stroke-width: 2px;
opacity: 0.6;
}
42%,
82% {
stroke-width: 3.5px;
opacity: 1;
}
92%,
100% {
stroke-width: 2px;
opacity: 0.6;
}
}
.pulsar-failover-redundancy #failover-redundancy-pkt-a {
animation: failover-redundancy-flow-a 5500ms linear infinite;
}
@keyframes failover-redundancy-flow-a {
0%,
26% {
opacity: 1;
transform: translateX(18px);
}
34%,
84% {
opacity: 0;
}
90%,
100% {
opacity: 1;
transform: translateX(0);
}
}
.pulsar-failover-redundancy #failover-redundancy-pkt-b {
animation: failover-redundancy-flow-b 5500ms linear infinite;
}
@keyframes failover-redundancy-flow-b {
0%,
32% {
opacity: 0.7;
transform: translateX(0);
}
40%,
80% {
opacity: 1;
transform: translateX(32px) scale(1.3);
}
88%,
100% {
opacity: 0.7;
transform: translateX(0);
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-failover-redundancy * {
animation: none !important;
}
}