<h3>Status indicators:</h3>

<p class="sf-indicator">
  <span class="status-dot status-green"></span>
  <span class="status-text">User is online</span>
</p>

<p class="sf-indicator">
  <span class="status-dot status-red"></span>
  <span class="status-text">User is offline</span>
</p>

<p class="sf-indicator">
  <span class="status-dot status-orange"></span>
  <span class="status-text">User is away</span>
</p>
html, body {
    margin: 0;
    padding: 0;
}

body {
    background-color: #f1f4f7;
    color: #3b495e;
    font-family: Inter;
    font-size: 16px;
    line-height: 1.5;
    padding: 40px;
}

/* --------------------------- */
/*  Snippflow Status Indicators with Pulsing Animation */
/* --------------------------- */

.sf-indicator {
  --sf-indicator-size: 8px;
  --sf-indicator-green: #0bbf0b;
  --sf-indicator-red: #c51b1b;
  --sf-indicator-orange: #db8719;
}
.sf-indicator {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0;
  }

  .sf-indicator .status-dot {
    width: var(--sf-indicator-size);
    height: var(--sf-indicator-size);
    border-radius: 50%;
    position: relative;
  }

  .sf-indicator .status-dot::before,
  .sf-indicator .status-dot::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: sf-indicator-pulse 2s infinite linear;
    opacity: 0.3;
  }

  .sf-indicator .status-dot::after {
    animation-delay: 1s;
  }

  @keyframes sf-indicator-pulse {
    0% {
      transform: translate(-50%, -50%) scale(1);
      opacity: 0.6;
    }
    100% {
      transform: translate(-50%, -50%) scale(2.5);
      opacity: 0;
    }
  }

  .status-green { background-color: var(--sf-indicator-green); }
  .status-red { background-color: var(--sf-indicator-red); }
  .status-orange { background-color: var(--sf-indicator-orange); }

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.