div.audioPlayer {
    position: relative;
    
    margin: 3.6rem 0;
}

div.audioPlayer audio { 
    display: none;
}

div.audioPlayer p {
    font-size: 1.2rem;
    margin: 0;
    padding: 0;
    padding-left: calc(24px + 0.6rem);
}

div.audioPlayer div.title span.meta {
    color: #aaa;
    font-size: 1.6rem;
    margin-left: 0.8rem;
}
    
div.audioPlayer div.header {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row; 
    flex-direction: row;
    -webkit-align-items: center;
    align-items: center;
}
    
div.audioPlayer div.title {
    font-size: 1.8rem;
    
    padding: 0;
    margin: 0;
    margin-left: 0.8rem;
}

div.audioPlayer.playing div.controls:hover {
    background-image: url(../images/media/audio-pause-hovered.svg);
}

div.audioPlayer.playing div.controls {
    background-image: url(../images/media/audio-pause.svg);
}

div.audioPlayer div.controls:hover {
    background-image: url(../images/media/audio-play-hovered.svg);
}
    
div.audioPlayer div.controls {
    width: 20px;
    height: 24px;
    
    background-image: url(../images/media/audio-play.svg);
    background-size: 10px 12px;
    background-position: center center;
    background-repeat: no-repeat;
    
    cursor: pointer;
}

div.audioPlayer input[type=range] {
    margin-left: 30px;
    width: 280px;

    -webkit-appearance: none; /* Hides the slider so that custom slider can be made */
    -moz-appearance: none; /* Hides the slider so that custom slider can be made */
    
    height: 24px;
    background: transparent;
}

div.audioPlayer input[type=range]:focus {
  outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
}

div.audioPlayer input[type=range]::-ms-track {
  width: 100%;
  cursor: pointer;
  background: transparent; /* Hides the slider so custom styles can be added */
  border-color: transparent;
  color: transparent;
}

/* Special styling for WebKit/Blink */
div.audioPlayer input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  height: 8px;
  width: 2px;
  background: #4a4a4a;
  cursor: pointer;
  margin-top: -3px;
}

/* All the same stuff for Firefox */
div.audioPlayer input[type=range]::-moz-range-thumb {
    height: 8px;
    width: 2px;
    background: #4a4a4a;
    border: none;
    border-radius: 0;
    cursor: pointer;
    margin-top: -3px;
}

/* All the same stuff for IE */
div.audioPlayer input[type=range]::-ms-thumb {
  height: 8px;
  width: 2px;
  background: #4a4a4a;
  cursor: pointer;
  margin-top: -3px;
}

div.audioPlayer input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 2px;
  cursor: pointer;
  background: #D8D8D8;
}

div.audioPlayer input[type=range]:focus::-webkit-slider-runnable-track {
  background: #D8D8D8;
}

div.audioPlayer input[type=range]::-moz-range-track {
  width: 100%;
  height: 2px;
  cursor: pointer;
  background: #D8D8D8;
}

div.audioPlayer input[type=range]::-ms-track {
  width: 100%;
  height: 2px;
  cursor: pointer;
  background: #D8D8D8;
  border: none;
}
div.audioPlayer input[type=range]::-ms-fill-lower {
  background: #4a4a4a;
}
div.audioPlayer input[type=range]:focus::-ms-fill-lower {
  background: #4a4a4a;
}
div.audioPlayer input[type=range]::-ms-fill-upper {
  background: #D8D8D8;
}
div.audioPlayer input[type=range]:focus::-ms-fill-upper {
  background: #D8D8D8;
}