Vault Door Open
CSSA circular vault door handle rotates and retracts locking bolts as the vault door swings open.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4 s, loops
- Categories
- Transitions and reveals
- Use cases
- Security and trust, Transitions and reveals
- Industries
- Construction and built environment, Cross-industry
- Style
- Duotone · light stroke
- Set
- handover
- Tags
- rotatecirclegeometricloop
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-handover-vault" data-pulsar="handover-vault" viewBox="0 0 160 96"><rect width="76" height="60" x="42" y="18" fill="currentColor" fill-opacity=".05" stroke="currentColor" stroke-width="2" rx="4"></rect><g class="interior-glow"><rect width="72" height="56" x="44" y="20" fill="var(--pulsar-accent, currentColor)" fill-opacity=".15"></rect><circle cx="80" cy="48" r="18" fill="var(--pulsar-accent, currentColor)" fill-opacity=".25"></circle></g><g class="vault-door"><circle cx="80" cy="48" r="26" fill="currentColor" fill-opacity=".8" stroke="currentColor" stroke-width="2" class="door-plate"></circle><circle cx="80" cy="48" r="20" stroke="currentColor" stroke-dasharray="3 3" stroke-width="1.5" class="door-rim"></circle><g class="vault-wheel"><circle cx="80" cy="48" r="8" fill="currentColor" stroke="var(--pulsar-accent, currentColor)" stroke-width="2"></circle><line x1="80" x2="80" y1="40" y2="56" stroke="var(--pulsar-accent, currentColor)" stroke-width="2"></line><line x1="72" x2="88" y1="48" y2="48" stroke="var(--pulsar-accent, currentColor)" stroke-width="2"></line></g><line x1="80" x2="80" y1="22" y2="28" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="3" class="bolt b1"></line><line x1="106" x2="100" y1="48" y2="48" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="3" class="bolt b2"></line><line x1="80" x2="80" y1="74" y2="68" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="3" class="bolt b3"></line><line x1="54" x2="60" y1="48" y2="48" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="3" class="bolt b4"></line></g></svg>
animation.css
.pulsar-handover-vault {
display: block;
width: 100%;
height: 100%;
}
.pulsar-handover-vault .vault-wheel {
transform-origin: 80px 48px;
animation: handover-vault-spin 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.pulsar-handover-vault .bolt {
animation: handover-vault-retract 4s ease-in-out infinite;
}
.pulsar-handover-vault .vault-door {
transform-origin: 42px 48px;
animation: handover-vault-swing 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.pulsar-handover-vault .interior-glow {
animation: handover-vault-glow 4s ease-in-out infinite;
}
@keyframes handover-vault-spin {
0%,
15% {
transform: rotate(0deg);
}
35%,
65% {
transform: rotate(90deg);
}
85%,
100% {
transform: rotate(0deg);
}
}
@keyframes handover-vault-retract {
0%,
15%,
85%,
100% {
opacity: 1;
transform: scale(1);
}
30%,
70% {
opacity: 0.3;
transform: scale(0.6);
}
}
@keyframes handover-vault-swing {
0%,
25%,
85%,
100% {
transform: scaleX(1);
}
45%,
65% {
transform: scaleX(0.2);
}
}
@keyframes handover-vault-glow {
0%,
25%,
85%,
100% {
opacity: 0.2;
}
45%,
65% {
opacity: 1;
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-handover-vault .vault-wheel,
.pulsar-handover-vault .bolt,
.pulsar-handover-vault .vault-door,
.pulsar-handover-vault .interior-glow {
animation: none;
transform: none;
opacity: 1;
}
}