Pulsar

Policy Binding

CSS

Opposing mechanical clasp brackets rotate inward to lock the central policy diamond.

Tier
CSS
Dependencies
None
Duration
4 s, loops
Categories
Loaders and spinners
Use cases
Loading and waiting, Workflow and approvals
Industries
Insurance, Cross-industry
Style
Technical · light stroke
Set
underwrite
Tags
geometricrotatepulseloop

Companion assets

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

Animated
CSS tier
Static vector
Policy Binding, not animated
Download SVG

Code

animation.svg

<svg xmlns="http://www.w3.org/2000/svg" fill="none" aria-hidden="true" class="pulsar pulsar-underwrite-issue" data-pulsar="underwrite-issue" viewBox="0 0 160 96"><circle cx="80" cy="48" r="28" stroke="currentColor" stroke-dasharray="3 3" opacity=".25"></circle><g class="clasp c-left"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m52 32 16 16-16 16"></path><circle cx="52" cy="48" r="2.5" fill="currentColor"></circle></g><g class="clasp c-right"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M108 32 92 48l16 16"></path><circle cx="108" cy="48" r="2.5" fill="currentColor"></circle></g><polygon fill="var(--pulsar-accent, currentColor)" fill-opacity=".3" stroke="var(--pulsar-accent, currentColor)" stroke-width="2" points="80,38 90,48 80,58 70,48" class="policy-diamond"></polygon><circle cx="80" cy="48" r="3" fill="var(--pulsar-accent, currentColor)" class="core-ping"></circle></svg>

animation.css

.pulsar-underwrite-issue {
  display: block;
  width: 100%;
  height: 100%;
}
.pulsar-underwrite-issue .c-left {
  animation: underwrite-issue-lock-l 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.pulsar-underwrite-issue .c-right {
  animation: underwrite-issue-lock-r 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.pulsar-underwrite-issue .policy-diamond {
  transform-origin: 80px 48px;
  animation: underwrite-issue-pop 4s ease-in-out infinite;
}
@keyframes underwrite-issue-lock-l {
  0%,
  15%,
  85%,
  100% {
    transform: translateX(0);
  }
  40%,
  65% {
    transform: translateX(8px);
  }
}
@keyframes underwrite-issue-lock-r {
  0%,
  15%,
  85%,
  100% {
    transform: translateX(0);
  }
  40%,
  65% {
    transform: translateX(-8px);
  }
}
@keyframes underwrite-issue-pop {
  0%,
  30% {
    transform: scale(0.85);
    opacity: 0.4;
  }
  45%,
  70% {
    transform: scale(1.1);
    opacity: 1;
  }
  85%,
  100% {
    transform: scale(0.85);
    opacity: 0.4;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pulsar-underwrite-issue .c-left,
  .pulsar-underwrite-issue .c-right,
  .pulsar-underwrite-issue .policy-diamond {
    animation: none;
    transform: none;
    opacity: 1;
  }
}

From this family15 in Underwrite

See the family