.c8y-pulse {
  position: relative;
  display: inline-block !important;
  margin: 0 5px 0 0 !important;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: @component-pulse-color;
  &:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    border-radius: 50%;
    background-color: @component-pulse-color;
    content: '';
    transform: rotateZ(360deg);
  }
}

.c8y-realtime {
  &:hover,
  &:focus {
    text-decoration: none;
  }
  .c8y-pulse.inactive {
    border: 1px solid @component-border-color;
    background-color: @component-border-color;
    animation: none;

    .transition(border 0.25s ease);
    &:before {
      display: none;
    }
  }
  .c8y-pulse.active {
    border: 1px solid @component-background-default;
    background-color: @component-pulse-color;
    &:before {
      animation: c8ypulse 2s infinite;
    }
  }
}

@keyframes c8ypulse {
  0% {
    opacity: 1;
    transform: rotateZ(360deg);
    transform: scale(1);
  }
  70% {
    opacity: 0;
    transform: rotateZ(0);
    transform: scale(3);
  }
  100% {
    opacity: 0;
    transform: rotateZ(0);
    transform: scale(1);
  }
}
