.pulse {
  -webkit-animation-name: pulsate;
  -webkit-animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
}

@-webkit-keyframes pulsate {
  0% { opacity: 0.0}
  10% { opacity: .20}
  20% { opacity: .40 }
  30% { opacity: .60 }
  40% { opacity: .80 } 
  50% { opacity: 1.0}
  60% { opacity: .80}
  70% { opacity: .60}
  80% { opacity: .40}
  90% { opacity: .20}
  100% { opacity: 0.0}
}

.wave-pulse {
  margin:0px;
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #ff496100;
  cursor: pointer;
  -webkit-box-shadow: 0 0 0 rgba(150,150,150, 0.8);
  -moz-box-shadow: 0 0 0 rgba(150,150,150, 0.8);
  box-shadow: 0 0 0 rgba(150,150,150, 0.8);
  animation: wave-pulse 2s infinite;
  -webkit-animation-name: wave-pulse;
  -webkit-animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
}

.wave-pulse:hover {
  animation: none;
}

@-webkit-keyframes wave-pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(150,150,150, 0.8);
    box-shadow: 0 0 0 0 rgba(150,150,150, 0.8);
  }
  70% {
    -webkit-box-shadow: 0 0 0 10px rgba(150,150,150, 0);
    box-shadow: 0 0 0 0 rgba(150,150,150, 0.8);
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(150,150,150, 0);
    box-shadow: 0 0 0 0 rgba(150,150,150, 0.8);
  }
}
@keyframes wave-pulse {
  0% {
    -moz-box-shadow: 0 0 0 0 rgba(150,150,150, 0.8);
    box-shadow: 0 0 0 0 rgba(150,150,150, 0.8);
  }
  70% {
    -moz-box-shadow: 0 0 0 10px rgba(150,150,150, 0);
    box-shadow: 0 0 0 10px rgba(150,150,150, 0);
  }
  100% {
    -moz-box-shadow: 0 0 0 0 rgba(150,150,150, 0);
    box-shadow: 0 0 0 0 rgba(150,150,150, 0);
  }
}

.chart-background {
  background-color: #ffffff;
}

body.dark .chart-background {
  background-color: #e3e3e3 !important;
}