Pulsar

Bind

CSS

A user identity block and a device certificate block slide towards each other, interlocking via a jigsaw-like central connector.

Tier
CSS
Dependencies
None
Duration
4 s, loops
Categories
Data and progress
Use cases
Onboarding and setup, Security and trust
Industries
Security and identity, Cross-industry
Style
Technical · light stroke
Set
credential
Tags
geometriclineminimaluistroke

Companion assets

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

Animated
CSS tier
Static vector
Bind, not animated
Download SVG

Code

animation.svg

<svg xmlns="http://www.w3.org/2000/svg" fill="none" aria-hidden="true" class="pulsar pulsar-credential-bind" data-pulsar="credential-bind" viewBox="0 0 160 96"><g class="credential-bind-left"><path stroke="currentColor" stroke-width="2" d="M36 32h36v10l8 2v8l-8 2v10H36Z"></path><circle cx="54" cy="48" r="3" fill="currentColor"></circle></g><g class="credential-bind-right"><path stroke="var(--pulsar-accent, currentColor)" stroke-width="2" d="M124 32H88v10l-8 2v8l8 2v10h36Z"></path><circle cx="106" cy="48" r="3" fill="var(--pulsar-accent, currentColor)"></circle></g><circle cx="80" cy="48" r="8" stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" class="credential-bind-flash"></circle></svg>

animation.css

.pulsar-credential-bind {
  display: block;
  overflow: visible;
}
.pulsar-credential-bind .credential-bind-left {
  animation: credential-bind-left-anim 4000ms cubic-bezier(0.2, 1, 0.3, 1) infinite;
}
.pulsar-credential-bind .credential-bind-right {
  animation: credential-bind-right-anim 4000ms cubic-bezier(0.2, 1, 0.3, 1) infinite;
}
.pulsar-credential-bind .credential-bind-flash {
  transform-origin: 80px 48px;
  animation: credential-bind-flash-anim 4000ms ease infinite;
}

@keyframes credential-bind-left-anim {
  0%,
  15% {
    transform: translateX(-12px);
  }
  38%,
  78% {
    transform: translateX(0);
  }
  92%,
  100% {
    transform: translateX(-12px);
  }
}

@keyframes credential-bind-right-anim {
  0%,
  15% {
    transform: translateX(12px);
  }
  38%,
  78% {
    transform: translateX(0);
  }
  92%,
  100% {
    transform: translateX(12px);
  }
}

@keyframes credential-bind-flash-anim {
  0%,
  36% {
    transform: scale(0.4);
    opacity: 0;
  }
  44% {
    opacity: 0.9;
  }
  64% {
    transform: scale(1.6);
    opacity: 0;
  }
  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pulsar-credential-bind * {
    animation: none !important;
  }
}

From this family15 in Credential

See the family