Occupancy Reveal
CSSAn architectural building profile fills with accent illumination from the ground up upon occupancy.
- 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
- linewipeillustrationloop
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-occupancy" data-pulsar="handover-occupancy" viewBox="0 0 160 96"><defs><clipPath id="handover-occupancy-clip"><polygon points="52,72 52,46 80,24 108,46 108,72"></polygon></clipPath></defs><polygon fill="currentColor" fill-opacity=".05" stroke="currentColor" stroke-width="2" points="52,72 52,46 80,24 108,46 108,72"></polygon><g clip-path="url(#handover-occupancy-clip)"><rect width="64" height="56" x="48" y="20" fill="var(--pulsar-accent, currentColor)" fill-opacity=".3" class="fill-curtain"></rect></g><line x1="30" x2="130" y1="72" y2="72" stroke="currentColor" stroke-width="1.5" class="groundline" opacity=".3"></line><rect width="10" height="10" x="62" y="50" stroke="currentColor" stroke-width="1.5" class="window w1" rx="1"></rect><rect width="10" height="10" x="88" y="50" stroke="currentColor" stroke-width="1.5" class="window w2" rx="1"></rect><circle cx="80" cy="38" r="3" fill="var(--pulsar-accent, currentColor)" class="occupancy-pin"></circle></svg>
animation.css
.pulsar-handover-occupancy {
display: block;
width: 100%;
height: 100%;
}
.pulsar-handover-occupancy .fill-curtain {
animation: handover-occupancy-rise 4s ease-in-out infinite;
}
.pulsar-handover-occupancy .occupancy-pin {
animation: handover-occupancy-glow 4s ease-in-out infinite;
}
@keyframes handover-occupancy-rise {
0%,
15% {
transform: translateY(56px);
}
45%,
75% {
transform: translateY(0);
}
100% {
transform: translateY(56px);
}
}
@keyframes handover-occupancy-glow {
0%,
25%,
85%,
100% {
opacity: 0.2;
transform: scale(0.8);
}
45%,
70% {
opacity: 1;
transform: scale(1.2);
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-handover-occupancy .fill-curtain,
.pulsar-handover-occupancy .occupancy-pin {
animation: none;
transform: none;
opacity: 1;
}
}