Pulsar

Possession Handover

CSS

A building silhouette glides smoothly into place as concentric ripples expand across the foundation.

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
ringwavepulseloop

Companion assets

The same artwork, not animated. Derived from the entry’s own resting state, so it matches exactly.

Animated
CSS tier
Static vector
Possession Handover, not animated
Download SVG

Code

animation.svg

<svg xmlns="http://www.w3.org/2000/svg" fill="none" aria-hidden="true" class="pulsar pulsar-handover-possession" data-pulsar="handover-possession" viewBox="0 0 160 96"><line x1="24" x2="136" y1="72" y2="72" stroke="currentColor" stroke-width="1.5" class="horizon" opacity=".3"></line><circle cx="80" cy="72" r="16" stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" class="ripple r1"></circle><circle cx="80" cy="72" r="28" stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" class="ripple r2"></circle><g class="structure"><polygon fill="currentColor" fill-opacity=".1" stroke="currentColor" stroke-width="2" points="56,72 56,44 80,26 104,44 104,72"></polygon><rect width="14" height="20" x="73" y="52" fill="var(--pulsar-accent, currentColor)" fill-opacity=".3" stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" class="doorway" rx="1"></rect><circle cx="80" cy="40" r="3" fill="var(--pulsar-accent, currentColor)"></circle></g></svg>

animation.css

.pulsar-handover-possession {
  display: block;
  width: 100%;
  height: 100%;
}
.pulsar-handover-possession .structure {
  animation: handover-possession-settle 4s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
}
.pulsar-handover-possession .ripple {
  transform-origin: 80px 72px;
  animation: handover-possession-wave 4s ease-out infinite;
}
.pulsar-handover-possession .ripple.r2 {
  animation-delay: 0.5s;
}
@keyframes handover-possession-settle {
  0%,
  15% {
    transform: translateY(-16px);
    opacity: 0;
  }
  35%,
  75% {
    transform: translateY(0);
    opacity: 1;
  }
  90%,
  100% {
    transform: translateY(-16px);
    opacity: 0;
  }
}
@keyframes handover-possession-wave {
  0%,
  30% {
    transform: scale(0.3);
    opacity: 0;
  }
  45% {
    opacity: 0.8;
  }
  75%,
  100% {
    transform: scale(1.4);
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pulsar-handover-possession .structure,
  .pulsar-handover-possession .ripple {
    animation: none;
    transform: none;
    opacity: 1;
  }
}

From this family15 in Handover

See the family