* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.audioplayer {
  height: 2.5em; /* 40 */
  color: #fff;
  background: #333;
  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;
}

.audioplayer-playpause {
  width: 2.5em; /* 40 */
  height: 100%;
  text-align: left;
  text-indent: -9999px;
  cursor: pointer;
  z-index: 2;
  top: 0;
  left: 0;
}
.audioplayer-mini .audioplayer-playpause {
  width: 100%;
}
.audioplayer-playpause:hover,
.audioplayer-playpause:focus {
  background-color: #222;
}
.audioplayer-playpause a {
  display: block;
}

/* "play" icon when audio is not being played */
.audioplayer:not(.audioplayer-playing) .audioplayer-playpause a {
  width: 0;
  height: 0;
  border: 0.5em solid transparent; /* 8 */
  border-right: none;
  border-left-color: #fff;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -0.5em 0 0 -0.25em; /* 8 4 */
}

/* "pause" icon when audio is being played */
.audioplayer-playing .audioplayer-playpause a {
  width: 0.75em; /* 12 */
  height: 0.75em; /* 12 */
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -0.375em 0 0 -0.375em; /* 6 */
}
.audioplayer-playing .audioplayer-playpause a:before,
.audioplayer-playing .audioplayer-playpause a:after {
  width: 40%;
  height: 100%;
  background-color: #fff;
  content: "";
  position: absolute;
  top: 0;
}
.audioplayer-playing .audioplayer-playpause a:before {
  left: 0;
}
.audioplayer-playing .audioplayer-playpause a:after {
  right: 0;
}

.audioplayer-time {
  width: 4.375em; /* 70 */
  height: 100%;
  line-height: 2.5em; /* 40 */
  text-align: center;
  z-index: 2;
  top: 0;
}
.audioplayer-time-current {
  border-left: 1px solid #111;
  left: 2.5em; /* 40 */
}
.audioplayer-time-duration {
  right: 2.5em; /* 40 */
}
.audioplayer-novolume .audioplayer-time-duration {
  border-right: 0;
  right: 0;
}

.audioplayer-bar {
  height: 0.875em; /* 14 */
  background-color: #222;
  cursor: pointer;
  z-index: 1;
  top: 50%;
  right: 6.875em; /* 110 */
  left: 6.875em; /* 110 */
  margin-top: -0.438em; /* 7 */
}
.audioplayer-novolume .audioplayer-bar {
  right: 4.375em; /* 70 */
}
.audioplayer-bar div {
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.audioplayer-bar-loaded {
  background-color: #555;
  z-index: 1;
}
.audioplayer-bar-played {
  background: #007fd1;
  z-index: 2;
}

.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;
}
.audioplayer-volume:hover,
.audioplayer-volume:focus {
  background-color: #222;
}
.audioplayer-volume-button {
  width: 100%;
  height: 100%;
}

/* "volume" icon */
.audioplayer-volume-button a {
  width: 0.313em; /* 5 */
  height: 0.375em; /* 6 */
  background-color: #fff;
  display: block;
  position: relative;
  z-index: 1;
  top: 40%;
  left: 35%;
}
.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 */
}
.audioplayer:not(.audioplayer-mute) .audioplayer-volume-button a:after {
  /* "volume" icon by Nicolas Gallagher, http://nicolasgallagher.com/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);
}

/* volume adjuster */
.audioplayer-volume-adjust {
  width: 100%;
  height: 6.25em; /* 100 */
  cursor: default;
  position: absolute;
  left: 0;
  top: -9999px;
  background: #222;
}
.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;
}
.audioplayer-novolume .audioplayer-volume {
  display: none;
}
