@-webkit-keyframes pulse {
  0% { opacity: 1; }
  50% { opacity: 0.5; }
  100% { opacity: 1; }
}

@-moz-keyframes pulse {
  0% { opacity: 1; }
  50% { opacity: 0.5; }
  100% { opacity: 1; }
}

@-ms-keyframes pulse {
  0% { opacity: 1; }
  50% { opacity: 0.5; }
  100% { opacity: 1; }
}

@-o-keyframes pulse {
  0% { opacity: 1; }
  50% { opacity: 0.5; }
  100% { opacity: 1; }
}

@keyframes pulse {
  0% { opacity: 1; }
  50% { opacity: 0.5; }
  100% { opacity: 1; }
}

@mixin pulse($delay) {
  -webkit-animation: pulse $delay linear infinite;
  -moz-animation: pulse $delay linear infinite;
  -ms-animation: pulse $delay linear infinite;
  -o-animation: pulse  $delay linear infinite;
  animation: pulse $delay linear infinite;
}