.audio-player .timeline {
  background: #000;
  height: 3px;
  width: 100%;
  position: relative;
  cursor: pointer;
  box-shadow: 0 1px 3px 1px #000;
}
.audio-player .timeline .progress {
  width: 0%;
  height: 100%;
  transition: 0.25s;
  animation: pulse 4s alternate infinite;
  -webkit-animation: pulse 4s alternate infinite;
  -moz-animation: pulse 4s alternate infinite;
}

@keyframes pulse {
  0% {
    background: rgb(24 101 158);
    box-shadow: inset 0px 0px 10px 2px rgb(0 119 255 / 50%),
      0px 0px 40px 2px rgb(81 158 221);
  }

  100% {
    background: rgb(86 203 129);
    box-shadow: inset 0px 0px 10px 2px rgba(0, 119, 255, 0.5),
      0px 0px 40px 2px rgb(81, 158, 221);
  }
}
@-webkit-keyframes pulse {
  0% {
    background: rgb(24 101 158);
    box-shadow: inset 0px 0px 10px 2px rgb(0 119 255 / 50%),
      0px 0px 40px 2px rgb(81 158 221);
  }

  100% {
    background: rgb(86 203 129);
    box-shadow: inset 0px 0px 10px 2px rgba(0, 119, 255, 0.5),
      0px 0px 40px 2px rgb(81, 158, 221);
  }
}

@-moz-keyframes pulse {
  0% {
    background: rgb(24 101 158);
    box-shadow: inset 0px 0px 10px 2px rgb(0 119 255 / 50%),
      0px 0px 40px 2px rgb(81 158 221);
  }

  100% {
    background: rgb(86 203 129);
    box-shadow: inset 0px 0px 10px 2px rgba(0, 119, 255, 0.5),
      0px 0px 40px 2px rgb(81, 158, 221);
  }
}

.audio-player .controls {
  display: flex;
  width: 100%;
  height: calc(100% - 26px);
  align-items: center;
  z-index: 9;
}

.reflection {
  width: 100%;
  height: 200px;
  transform: translate(0px, -235px);
  background-color: #fff;
  border-radius: 100%;
  opacity: 0.2;
}
.play-container {
  padding: 20px;
}
.audio-player .controls .toggle-play.play {
  cursor: pointer;
  position: relative;
  transition: 0.3s ease-in-out;
  left: 0;
  height: 60px;
  width: 60px;
  content: url("../baseline_play_circle_filled_white_48dp.png");
}
.audio-player .controls .toggle-play.play:hover {
  transform: scale(1.1);
  transition: 0.3s ease-in-out;
}
.audio-player .controls .toggle-play.pause {
  height: 60px;
  width: 60px;
  transition: 0.3s ease-in-out;
  cursor: pointer;
  position: relative;
  content: url("../baseline_pause_circle_filled_white_48dp.png");
}
.audio-player .controls .toggle-play.pause:before {
  position: absolute;
  height: 60px;
  width: 60px;
  display: block;
}
.audio-player .controls .toggle-play.pause:after {
  position: absolute;
  height: 60px;
  width: 60px;
}
.audio-player .controls .toggle-play.pause:hover {
  transform: scale(1.1);
  transition: 0.3s ease-in-out;
}
.audio-player .controls .ff10 {
  cursor: pointer;
  position: relative;
  transition: 0.3s ease-in-out;
  left: 0;
  height: 30px;
  width: 30px;
  content: url("../forward_10_white_24dp.svg");
}
.audio-player .controls .rw10 {
  cursor: pointer;
  position: relative;
  transition: 0.3s ease-in-out;
  left: 0;
  height: 30px;
  width: 30px;
  content: url("../replay_10_white_24dp.svg");
}
.audio-player .controls .indicator {
  height: 20px;
  background-color: #000;
  display: inline;
}
.current {
  display: inline-block;
  padding: 2px 5px;
  font-size: 10px;
}
.length {
  padding: 2px 5px;
  font-size: 10px;
  float: right;
}
.audio-player .controls .volume-container {
  cursor: pointer;
  position: relative;
  z-index: 2;
}
.audio-player .controls .volume-container .volume-button {
  height: 26px;
  display: flex;
  align-items: center;
}
.title-container {
  width: calc(100% - 135px);
}
.controls .tapodcast {
  display: flex;
  text-shadow: 1px 1px 2px #000;
  font-weight: 400;
  text-transform: uppercase;
  align-items: baseline;
  letter-spacing: 1px;
  font-size: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 6px;
}
.controls .name {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 32px;
  text-shadow: 1px 1px 2px #000;
  padding-right: 15px;
}
.controls .taevent {
  display: flex;
  text-shadow: 1px 1px 2px #000;
  font-weight: 400;
  align-items: baseline;
  letter-spacing: 1px;
  font-size: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 6px;
}
.controls .host {
  text-shadow: 1px 1px 2px #000;
  font-weight: 400;
  font-size: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.controls-container {
  font-size: 10px;
  display: flex;
  flex-direction: column;
  padding: 0 5px;
}
.speakers img {
  width: 35px;
  border-radius: 100%;
  box-shadow: 1px 1px 2px #000;
}
.audio-player .controls .volume-container .volume-button .volume {
  transform: scale(0.7);
}
.audio-player .controls .volume-container .volume-slider {
  left: -3px;
  top: 15px;
  z-index: -1;
  width: 0;
  height: 15px;
  background: white;
  box-shadow: 0 0 20px #000;
  transition: 0.25s;
}
.audio-player .controls .volume-container .volume-slider .volume-percentage {
  background: coral;
  height: 100%;
  width: 75%;
}
.audio-player .controls .volume-container:hover .volume-slider {
  left: -123px;
  width: 120px;
}

/* wave */

.ocean {
  height: 5%;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #015871;
}
.wave {
  background: url("../wave.svg") repeat-x;
  position: absolute;
  top: -198px;
  width: 6400px;
  height: 198px;
  animation: wave 7s cubic-bezier(0.36, 0.45, 0.63, 0.53) infinite;
  transform: translate3d(0, 0, 0);
}
.wave:nth-of-type(2) {
  top: -175px;
  animation: wave 7s cubic-bezier(0.36, 0.45, 0.63, 0.53) -0.125s infinite,
    swell 7s ease -1.25s infinite;
  opacity: 1;
}
@keyframes wave {
  0% {
    margin-left: 0;
  }
  100% {
    margin-left: -1600px;
  }
}
@keyframes swell {
  0%,
  100% {
    transform: translate3d(0, -25px, 0);
  }
  50% {
    transform: translate3d(0, 5px, 0);
  }
}

/* indicator */
.tag {
  font-size: 7px;
  font-weight: 700;
  margin-left: 20px;
  border: 1px solid;
  padding: 2px 5px;
  border-radius: 3px;
}

#bars {
  position: relative;
  font-size: 13px;
  transform: translateX(130px);
}

.bar {
  background: #fff;
  bottom: 0;
  height: 0.1em;
  position: absolute;
  width: 3px;
  animation: sound 1s cubic-bezier(0.17, 0.37, 0.43, 0.67) infinite alternate;
}

@keyframes sound {
  0% {
    opacity: 0.35;
    height: 0.1em;
  }
  100% {
    opacity: 1;
    height: 1em;
  }
}

.bar:nth-child(1) {
  left: 0em;
  animation-duration: 0.4s;
}
.bar:nth-child(2) {
  left: 0.25em;
  animation-duration: 0.2s;
}
.bar:nth-child(3) {
  left: 0.5em;
  animation-duration: 1s;
}
.bar:nth-child(4) {
  left: 0.75em;
  animation-duration: 0.3s;
}
.highlight {
  position: absolute;
  top: 2px;
  right: 0;
  left: 0;
  max-width: 640px;
  height: 60%;
  opacity: 0.3;
  z-index: 1;
  border-radius: 0 0 100% 100%;
  background: -moz-linear-gradient(
    top,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 100%
  );
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    color-stop(0%, rgba(255, 255, 255, 1)),
    color-stop(60%, rgba(255, 255, 255, 0)),
    color-stop(100%, rgba(255, 255, 255, 0))
  );
  background: -webkit-linear-gradient(
    bottom,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 60%,
    rgba(255, 255, 255, 0) 100%
  );
  background: -o-linear-gradient(
    bottom,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 60%,
    rgba(255, 255, 255, 0) 100%
  );
  background: -ms-linear-gradient(
    bottom,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 60%,
    rgba(255, 255, 255, 0) 100%
  );
  background: linear-gradient(
    to top,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 60%,
    rgba(255, 255, 255, 0) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 );
}
