Zero Trust
CSSData blocks entering a secure zone are routed through a gauntlet of three inline gates, each gate sliding open only after the block dwells.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4.5 s, loops
- Categories
- Data and progress
- Use cases
- Security and trust, Workflow and approvals
- Industries
- SaaS and software, Security and identity
- Style
- Geometric solid · light stroke
- Set
- enclave
- Tags
- barsprogressgeometricminimalui
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-enclave-zero-trust" data-pulsar="enclave-zero-trust" viewBox="0 0 160 96"><line x1="20" x2="140" y1="48" y2="48" stroke="currentColor" stroke-dasharray="2 3" stroke-width="1.5" opacity=".3"></line><g class="enclave-zt-gate-1"><line x1="56" x2="56" y1="28" y2="44" stroke="currentColor" stroke-linecap="round" stroke-width="2.5"></line><line x1="56" x2="56" y1="52" y2="68" stroke="currentColor" stroke-linecap="round" stroke-width="2.5"></line></g><g class="enclave-zt-gate-2"><line x1="88" x2="88" y1="28" y2="44" stroke="currentColor" stroke-linecap="round" stroke-width="2.5"></line><line x1="88" x2="88" y1="52" y2="68" stroke="currentColor" stroke-linecap="round" stroke-width="2.5"></line></g><g class="enclave-zt-gate-3"><line x1="120" x2="120" y1="28" y2="44" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="2.5"></line><line x1="120" x2="120" y1="52" y2="68" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="2.5"></line></g><rect width="12" height="12" x="24" y="42" fill="var(--pulsar-accent, currentColor)" class="enclave-zt-packet" rx="2.5"></rect></svg>
animation.css
.pulsar-enclave-zero-trust {
display: block;
overflow: visible;
}
.pulsar-enclave-zero-trust .enclave-zt-packet {
animation: enclave-zero-trust-packet-anim 4500ms cubic-bezier(0.2, 0.8, 0.4, 1) infinite;
}
.pulsar-enclave-zero-trust .enclave-zt-gate-1 {
animation: enclave-zero-trust-gate1-anim 4500ms ease infinite;
}
.pulsar-enclave-zero-trust .enclave-zt-gate-2 {
animation: enclave-zero-trust-gate2-anim 4500ms ease infinite;
}
.pulsar-enclave-zero-trust .enclave-zt-gate-3 {
animation: enclave-zero-trust-gate3-anim 4500ms ease infinite;
}
@keyframes enclave-zero-trust-packet-anim {
0% {
transform: translateX(0);
opacity: 0;
}
10% {
opacity: 1;
}
25% {
transform: translateX(26px);
}
48% {
transform: translateX(58px);
}
72% {
transform: translateX(90px);
opacity: 1;
}
85% {
transform: translateX(110px);
opacity: 0;
}
100% {
transform: translateX(110px);
opacity: 0;
}
}
@keyframes enclave-zero-trust-gate1-anim {
0%,
20% {
transform: scaleY(1);
transform-origin: 56px 48px;
}
28%,
40% {
transform: scaleY(0.2);
transform-origin: 56px 48px;
}
48%,
100% {
transform: scaleY(1);
transform-origin: 56px 48px;
}
}
@keyframes enclave-zero-trust-gate2-anim {
0%,
42% {
transform: scaleY(1);
transform-origin: 88px 48px;
}
50%,
62% {
transform: scaleY(0.2);
transform-origin: 88px 48px;
}
70%,
100% {
transform: scaleY(1);
transform-origin: 88px 48px;
}
}
@keyframes enclave-zero-trust-gate3-anim {
0%,
66% {
transform: scaleY(1);
transform-origin: 120px 48px;
}
74%,
86% {
transform: scaleY(0.2);
transform-origin: 120px 48px;
}
92%,
100% {
transform: scaleY(1);
transform-origin: 120px 48px;
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-enclave-zero-trust * {
animation: none !important;
}
}