* {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: none;
}

a, a:visited, a:active {
  text-decoration: none;
  color: inherit;
}

@font-face {
  font-family: awesome;
  src: url('fontawesome-webfont.ttf');
  font-weight: normal;
  font-style: normal;
}

.awesome {
  font-family: awesome;
  -webkit-font-smoothing: antialiased;
}

.error {
  color: hsl(4, 69%, 35%);
}
  

body {
  background-color: black;
  color: white;
  padding: 0;
  margin: 0;
  font-size: medium;
  font-family: 'HelveticaNeue-Light', Helvetica, Arial, sans-serif;
}

.lighter {
  color: #BFBFBF;
}

.center {
  text-align: center;
}

.verticalSpace {
  padding: 1em 0;
}

.ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.btn {
  border: none;
  outline: none;
  padding: 0.5em 0.2em;
  background-color: #dfdfdf;
  font-size: 1em;
}

.btn > .awesome {
  font-size: 2em;
  padding-bottom: 0.2em;
}

.inlineList {
  display: inline-block;
  background-color: #333;
  padding: 0.3em;
  border-radius: 5px;
  margin: 0.4em 0.4em 0 0;
}

@-moz-keyframes blink {
  from {
    opacity: 1;
  }
  
  to {
    opacity: 0.2;
  }
}

@-webkit-keyframes blink {
  from {
    opacity: 1;
  }
  
  to {
    opacity: 0.2;
  }
}

.noPeer {
  display: -webkit-flex;
  display: flex;
  height: 100%;
  -webkit-flex-direction: column;
  -webkit-align-content: center;
  -webkit-align-items: center;
  -webkit-justify-content: center;
  flex-direction: column;
  align-content: center;
  align-items: center;
  justify-content: center;
}

.remoteDisplay {
  margin-top: 6em;
}

.remoteDisplay > .miniPlayer {
  position: fixed;
  height: 5.9em;
  width: 100%;
  top: 0;
  left: 0;
  background: black;
  border-bottom: 0.1em solid rgb(20,47,60);
}

.remoteDisplay > .miniPlayer .controlsContainer {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-align-content: center;
  -webkit-align-items: flex-start;
  -webkit-justify-content: space-between;
  flex-direction: row;
  align-content: flex-start;
  align-items: center;
  justify-content: space-between;  
}

.remoteDisplay > .miniPlayer .controlsContainer .searchIcon,
.remoteDisplay > .miniPlayer .controlsContainer .volumeIcon{
  font-size: 1.5em;
  padding: 0.2em;
}

.remoteDisplay > .miniPlayer .controls {
  display: -webkit-flex;
  display: flex;
  height: 3.1em;
  -webkit-flex-direction: row;
  -webkit-align-content: center;
  -webkit-align-items: flex-start;
  -webkit-justify-content: center;
  flex-direction: row;
  align-content: flex-start;
  align-items: center;
  justify-content: center;  
}

.remoteDisplay > .miniPlayer .controls > span.playpause > button,
.remoteDisplay > .miniPlayer .controls > span.playnext > button,
.remoteDisplay > .miniPlayer .controls > span.playprevious > button {
  padding: 0.6em;
  border-radius: 1em;
  border: none;
  text-align: center;
  
}

.remoteDisplay > .miniPlayer .controls > span.playpause > button {
  font-size: 1.4em;
  margin: 0 0.5em;
}
.remoteDisplay > .miniPlayer .controls > span.playnext > button {
  font-size: 1.2em;
}

.remoteDisplay > .miniPlayer .controls > span.playprevious > button {
  font-size: 1.2em;
}

.remoteDisplay > .miniPlayer > .playingSongTitle,
.remoteDisplay > .miniPlayer > .playingSongTime{
  font-size: 0.8em;
  padding-top: 0.2em;
}

.remoteDisplay > .miniPlayer .volumeControl {
  padding-top: 0.3em;
}

.remoteDisplay > .miniPlayer .volumeControl input {
  width: 95%;
}

.remoteDisplay > .miniPlayer .volumePercentIndicator {
  font-size: 0.8em;
}

.songInList, .resultsPane .albumListItem,  .resultsPane .artistListItem{
  background-color: #333;
  margin: 2px;
  padding: 1px;
}

.playerList .song.active .songTitle{
  padding-left: 0.5em;
}

.playerList .song.active .songTitle:before {
  content: "\f04b";
  font-family: awesome;
  -webkit-font-smoothing: antialiased;
  font-size: 0.5em;
  background-color: #EEE;
  border-radius: 3.5em;
  padding: 0.25em;
  margin-right: 0.5em;
  vertical-align: middle;
}

.songInformations > .songTitle {
  display: block;
  color: #549BBE;
}

.songInList  .songTitle ,
.songInList  .songArtist,
.songInList  .songOtherArtist {
  color: #549BBE;
  text-shadow: 1px 1px black;
}


.songInList  .songOtherArtist:not(:last-child):after { display: inline; content: " , "; }

.songInList .songControls,  .songPage .song .songControls{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-align-content: center;
  -webkit-align-items: stretch;
  -webkit-justify-content: center;
  flex-direction: row;
  align-content: center;
  align-items: stretch;
  justify-content: center;
  
  margin-top: 0.3em;
  height: 4em;
}

.songInList .songControls > div, .songPage .song .songControls > div{
  flex: 1 0 auto;
  -webkit-flex: 1 0 auto;
  
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -webkit-align-content: center;
  -webkit-align-items: center;
  -webkit-justify-content: space-around;
  flex-direction: column;
  align-content: center;
  align-items: center;
  justify-content: space-around;
  
  border: 1px solid #CFCFCF;
  background-color: #BFBFBF;
  color: #333;
}

.songInList .songControls > div > div:first-child,
.songPage .song .songControls > div > div:first-child{
  flex: 0 1 auto;
  -webkit-flex:  0 1 auto;
  font-size: 2em;
}

.songInList .songControls > div > div:last-child,
.songPage .song .songControls > div > div:last-child {
  flex:  0 1 auto;
  -webkit-flex:  0 1 auto;
}

.insidePage {
  margin-top: 3em;
  padding: 0 0.3em;
}

.nav {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  height: 3em;
  border-bottom: 1px solid #DFDFDF;
  background-color: #000;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-align-content: center;
  -webkit-align-items: center;
  -webkit-justify-content: space-between;
  flex-direction: row;
  align-content: center;
  align-items: center;
  justify-content: space-between;
}

.nav > a {
  display: inline-block;
  padding: 0 1em;
  font-size: 1.5em;
}

.song .playing {
  padding-top: 1em;
  color: rgb(191, 151, 48);
  -webkit-animation: blink 1.4s ease-in infinite alternate;
  -moz-animation: blink 1.4s ease-in infinite alternate;
}

.songPage .song, .albumPage .album, .artistPage .artist {
  padding-top: 1em;
}

.imgContainer {
  min-height: 128px;
  margin-bottom: 1em;
}

.imgContainer > img.cover, 
.pageFragment img.cover {
  float: right;
  margin-left: 1em;
}

.songPage .title {
  font-size: 1.1em;
  padding-bottom: 0.5em;
}

.songPage .artist {
  color: #CFCFCF;
  padding-bottom: 0.5em;
}

.songPage .genre, .songPage .duration, .albumPage div.duration, .artistPage div.duration  {
  color: #AFAFAF;
  padding-bottom: 0.5em;
  font-style: italic;
}

.songPage .mixPanel {
  border: 1px solid #CFCFCF;
  background-color: #BFBFBF;
  padding: 1em;
  text-align: center;
}

.songPage .mixPanel h3 {
  color: black;
}

.songPage .mixPanel select, .songPage .mixPanel button,
.songPage .mixPanel h3{
  margin: 0.5em;
}

.searchResults .noResults {
  padding: 2em;
}

.searchForm,
.resultsTab {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -webkit-align-content: center;
  -webkit-align-items: center;
  -webkit-justify-content: space-around;
  flex-direction: row;
  align-content: center;
  align-items: center;
  justify-content: space-around;
}

.searchForm {
  padding: 10px 0;
  background-color: #549BBE;
  
}

.searchForm input {
  -webkit-flex: 1 0 auto;
  margin: 0 1em;
  font-size: 1.5em;
  border: none;
  background-color: inherit;
  outline: none;
}

.searchForm button {
  padding: 0.2em;
  margin-right: 1em;
  font-size: 2em;
  border: none;
  background-color: inherit;
}

.resultsContainer .resultsTab{
  margin: 0.9em 0.5em;
}

.resultsContainer .resultsTab > span {
  position: relative;
}

.resultsContainer .resultsTab > span.active {
  border-bottom: 1px solid #FFFFFF;
}

.resultsTab .tabArrow {
  position: absolute;
  margin-left: -1em;
  content: '';
  border-left: 1em solid transparent;
  border-right: 1em solid transparent;
  border-bottom: 1em solid #FFFFFF;
  bottom: -1em;
  left: 50%;
}

.resultsPane {
  border: 1px solid #FFFFFF;
}

.resultsPane .albumListItem, .resultsPane .artistListItem{
  display: block;
  height: 2em;
  padding-top: 1em;
}

.resultsContainer .songInList {
  margin-left: 0;
  margin-right: 0;
}
.resultsContainer .songInList:first-child {
  margin-top: 0;
}
.resultsContainer .songInList:last-child {
  margin-bottom: 0;
}

.notification {
  position: fixed;
  bottom: 50px;
  left: 0px;
  text-align: center;
  width: 100%;
  margin: 0 auto;
}

.notification > div {
  width: 80%;
  margin: 0 auto;
  padding: 0.4em 0.2em;
  background-color: rgba(0,0,0,0.8);
  border-radius: 0.4em;
  border: 1px solid rgba(0,0,0,0.6);
}

.artistPage .pageFragment {
  margin-top: 2em;
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 1px solid #DFDFDF;
}

.artistPage .pageFragment .header {
  padding-bottom: 1em;
}

.artistPage .pageFragment img.cover {
  width: 6em;
}

.artistPage .artistAlbums {
  padding-top: 1em;
  background-color: #151515;
}

.artistPage .artistAlbums .btn > .awesome {
  font-size: 1em;
}