#mini-player {
  background: #c4c4c4;
}

#mini-player * {
  color: white !important;
  font-family: 'Arial' !important; 
}

#current-track-artist {
  font-size: 90%;
}

#current-track-artist.link {
  text-decoration: underline;
}

#current-track-artist.link:hover {
  text-decoration: none;
}

#track-artwork-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 300px;
    height: 300px;
}

#track-artwork-asset-container {
  width: 300px;
  height: 300px;
  text-align: center;
}

#track-artwork-asset {
  /*max-width: 300px;*/
}

.landscape-aspect {
  width: 100%;
  height: auto;
}

body.tablet .landscape-aspect {
  width: auto;
  height: 100%;
}

.square-aspect {
  width: auto;
  height: 100%;
}

.portrait-aspect {
  width: auto;
  height: 100%;
}

.disabled {
    opacity: .6;
  }
  
  .disabled:hover {
    cursor: default !important;
  }
  
  .hidden {
    display: none !important;
    visibility: hidden !important;
  }
  
  .icon {
    fill: #fff;
  }
  
  .error-icon {
    fill: red;
  }
  
  .interactive:hover {
    cursor: pointer;
  }
  
  .layer.top {
    z-index: 999;
  }
  
  .layer.middle {
    z-index: 555;
  }
  
  .layer.bottom {
    z-index: 000;
  }
  
  .loader {
    position: relative;
    margin: 0px auto;
    width: 150px;
    height:150px;
  }
  
  /*@media only screen and (max-width: 600px) {*/
    .loader {
      position: relative;
      margin: 0px auto;
      width: 110px;
      height:110px;
    }
  /*}*/
  
  .loader:before {
    content: '';
    display: block;
    padding-top: 100%;
  }
  
  .circular-loader {
    -webkit-animation: rotate 2s linear infinite;
            animation: rotate 2s linear infinite;
    height: 100%;
    -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
            transform-origin: center center;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
  }
  
  .loader-path {
    stroke-dasharray: 150,200;
    stroke-dashoffset: -10;
    -webkit-animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
            animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
    stroke-linecap: round;
  }
  
  @-webkit-keyframes rotate {
    100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg);
    }
  }
  
  @keyframes rotate {
    100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg);
    }
  }
  
  @-webkit-keyframes dash {
    0% {
      stroke-dasharray: 1,200;
      stroke-dashoffset: 0;
    }
    50% {
      stroke-dasharray: 89,200;
      stroke-dashoffset: -35;
    }
    100% {
      stroke-dasharray: 89,200;
      stroke-dashoffset: -124;
    }
  }
  
  @keyframes dash {
    0% {
      stroke-dasharray: 1,200;
      stroke-dashoffset: 0;
    }
    50% {
      stroke-dasharray: 89,200;
      stroke-dashoffset: -35;
    }
    100% {
      stroke-dasharray: 89,200;
      stroke-dashoffset: -124;
    }
  }
  
  @-webkit-keyframes color {
    0% {
      stroke: #fff;
    }
    40% {
      stroke: #fff;
    }
    66% {
      stroke: #fff;
    }
    80%, 90% {
      stroke: #fff;
    }
    }
    @keyframes color {
    0% {
      stroke: #fff;
    }
    40% {
      stroke: #fff;
    }
    66% {
      stroke: #fff;
    }
    80%, 90% {
      stroke: #fff;
    }
  }
  
  .row {
    position: relative;
    width: 100%;
    height: 33.3%;
  }
  
  .table {
    position: absolute;
    top: 0;
    left: 0;
    display: table;
    width: 100%;
    height: 100%;
  }
  
  .table-cell {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    height: 100%;
  }
  
  .text {
    font-family: Arial, Helvetica, sans-serif;
    color: white;
  }
  
  .text.large {
    font-size: 1.75rem;
  }
  
  .text.medium {
    font-size: 1.5rem;
  }
  
  .text.small {
    font-size: 1.25rem;
  }
  
  #mini-player {
    position: relative;
    width: 300px;
    height: 300px;
    overflow: hidden;
  }
  
body.mobile #mini-player,
body.mobile #track-artwork-container {
      margin: 0 auto;
      width: 100%;
}

  #track-artwork-tint {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: black;
    opacity: .5;
    top: 0;
    left: 0;
  }
  
  #ui {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  
  #ui #back,
  #ui #front {
    width: 100%;
    height: 100%;
  }
  
  #ui #back #tracklist {
    width: 100%;
    height: 100%;
    overflow: hidden;
    overflow-y: scroll;
    padding-right: 20px;
  }
  
  #ui #back #tracklist-close {
    position: absolute;
    top: 0;
    right: 0;
    height: 55.5px;
    width: 55.5px;
  }
  
  @media only screen and (max-width: 600px) {
    #ui #back #tracklist-close {
      height: 35px;
      width: 35px;
    }
  }
  
  #ui #back #tracklist-close-icon {
    float: right;
    height: 35px;
    width: 35px;
  }
  
  @media only screen and (max-width: 600px) {
    #ui #back #tracklist-close-icon {
      height: 25px;
      width: 25px;
    }
  }
  
  #ui #back .tracklist-track {
    position: relative;
    width: 85%;
    padding: 12.5px 0;
    height: auto;
  }
  
  #ui #back .tracklist-track .table {
    position: relative;
  }
  
  #ui #back .tracklist-track .track-number {
    display: inline-block;
    width: 15%;
    text-align: center;
    vertical-align: top;
  }
  
  #ui #back .tracklist-track .track-title {
    display: inline-block;
    width: 80%;
    text-align: left;
  }
  
  #ui #front {
    position: relative;
    width: 100%;
    height: 100%;
  }
  
  #ui #front-header #current-track {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: auto;
    color: white;
  }
  
  #ui #front-header #current-track-number {
    display: inline-block;
    text-align: left;
    vertical-align: top;
  }
  
  #ui #front-header #current-track-name {
    display: inline-block;
    width: 80%;
  }
  
  #ui #front-header #current-track-text {
    vertical-align: middle;
  }
  
  /*@media only screen and (max-width: 600px) {*/
    #ui #front-header #current-track-text {
      width: 285px;
    }
  /*}*/
  
  #ui #front-header #tracklist-open {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 55.5px;
    height: 55.5px;
  }
  
  /*@media only screen and (max-width: 600px) {*/
    #ui #front-header #tracklist-open {
      width: 36.8px;
      height: 36.8px;
    }
  /*}*/
  
  #ui #front-header #tracklist-open-icon {
    float: right;
    position: relative;
    width: 35px;
    height: 35px;
  }
  
  /*@media only screen and (max-width: 600px) {*/
    #ui #front-header #tracklist-open-icon {
      width: 25px;
      height: 25px;
    }
  /*}*/
  
  #ui #front-body .button-container {
    float: left;
    position: relative;
    left: 0;
    top: 0;
    width: 33.3%;
    height: 100%;
  }
  
  #ui #front-body .button-icon {
    margin: 0 auto;
    width: 65px;
    height: 65px;
  }
  
  /*@media only screen and (max-width: 600px) {*/
    #ui #front-body .button-icon {
      width: 45px;
      height: 45px;
    } 
  /*}*/
  
  #ui #front-body #loading-error-icon {
    width: 100px;
    height: 100px;
    margin: 0 auto;
  }
  
  /*@media only screen and (max-width: 600px) {*/
    #ui #front-body #loading-error-icon {
      width: 75px;
      height: 75px;
    }
  /*}*/

  #ui #front-body #pause-button .button-icon {
    width: 50px;
    height: 90px;
  }

  /*@media only screen and (max-width: 600px) {*/
    #ui #front-body #pause-button .button-icon {
      width: 35px;
      height: 65px;
    } 
  /*}*/

  #ui #front-body #play-button .button-icon {
    width: 75px;
    height: 85px;
  }

  /*@media only screen and (max-width: 600px) {*/
    #ui #front-body #play-button .button-icon {
      width: 50px;
      height: 60px;
    }  
  /*}*/

  #ui #front-footer #progress-bar {
    position: relative;
    height: 100%;
    border: solid 4px white;
    box-sizing: border-box;
  }
  
  #progress-bar-fill-flair {
    display: none;
  }

  body.halloween #progress-bar-fill-flair {
    display: block;
  }

  #progress-bar-fill-flair {
    position: absolute;
    right: 2px;
    width: 10px;
    height: 100%;
    background: transparent;
    line-height: 1px;
    font-size: 1.5rem;
  }

  body.halloween #ui #front-footer #progress-bar {
    border-color: #f5413b !important
  }

  body.halloween #ui #front-footer #progress-bar-fill {
    background: red !important
  }

  /*@media only screen and (max-width: 600px) {*/
    #ui #front-footer #progress-bar {
      border-width: 3px;
    } 
  /*}*/
  
  #ui #front-footer #progress-bar-fill {
    position: absolute;
    left: -1px;
    top: 0;
    height: 100%;
    background-color: white;
    padding-left: 1px;
  }
  
  #ui #front-footer #track-progress-time {
    text-align: center;
  }
  