body {
  background: black;
  color: white;
  overflow-x: hidden;
}

.navbar-brand {
  opacity: 0.6;
}

.playing-now {
  margin-right: 20px;
  font-size: 18px;
  padding-bottom: 5px;
}

.senders {
  margin: 3px;
}

.sender {
  padding: 0;
  float: left;
  position: relative;
  padding: 3px;
}

.sender.active {
  z-index: 2;
}

.sender:focus {
  z-index: 3;
}

.sender:hover {
  z-index: 4;
}

.sender:focus img,
.sender:hover img,
.sender.active img,
.sender:focus .not-available,
.sender:hover .not-available,
.sender.active .not-available {
  opacity: 1;
  margin: -10px;
  width: 120%;
  border: 1px solid black;
}

.sender:focus .not-available,
.sender:hover .not-available,
.sender.active .not-available  {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.sender.active img {
  box-shadow: 0px 0px 10px 10px black;
}

.sender:focus, .sender:hover, .sender.active {
  padding: 0;
  outline: none;
}

.sender img {
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.8;
}

.sender.active.loading .loader {
  display: block;
}

.sender.error .not-available {
  display: block;
}

#button-stop {
  padding-left: 3rem;
  padding-right: 3rem;
  font-weight: bold;
}

#button-stop:focus {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .8);
}

#button-donate {
  position: absolute;
  left: 50%;
  width: 250px;
  margin-left: -125px;
}

#button-donate-cancel:focus {
  box-shadow: 0 0 0 3px rgba(0,123,255, .3);
}

.modal {
  display: block;
  font-size: 1.2rem;
  transition: opacity .15s linear;
}

.modal-donate {
  color: #000;
}

.loader,
.not-available {
  display: none;
}

.not-available {
  position: absolute;
  top: 3px;
  right: 3px;
  bottom: 3px;
  left: 3px;
  background: #000;
  position: absolute;
  opacity: 0.8;
  padding: 5px;
  line-height: 1;
  font-size: 0.8rem;
}

.loader, .loader:before, .loader:after {
  background: #ffffff;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 2em;
}

.loader {
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0.8;
  margin-left: -0.5em;
  margin-top: -1em;
  color: #ffffff;
  text-indent: -9999em;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

.loader:before, .loader:after {
  position: absolute;
  top: 0;
  content: '';
}

.loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.loader:after {
  left: 1.5em;
}

@-webkit-keyframes load1 {
  0%, 80%, 100% {
    box-shadow: 0 0;
    height: 2em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 3em;
  }
}

@keyframes load1 {
  0%, 80%, 100% {
    box-shadow: 0 0;
    height: 2em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 3em;
  }
}

/* clock component */

.clock {
  font-size: 8rem;
}


/* screen saver component */

.screen-saver {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99;
  background: black;
}

.screen-saver article {
  color: #262626;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80%;
  margin-left: -40%;
  margin-top: -8rem;
  text-align: center;

  animation-name: move;
  animation-duration: 120s;
  animation-iteration-count: infinite;
}

@keyframes move {
  0%   {transform: translate(0,0);}
  10%  {transform: translate(5%,20%);}
  20%  {transform: translate(10%,0%);}
  30%  {transform: translate(5%,-10%);}
  40%  {transform: translate(0%,-20%);}
  50%  {transform: translate(-5%,-10%);}
  60%  {transform: translate(0%,-20%);}
  70%  {transform: translate(-5%,-10%);}
  80%  {transform: translate(-10%,0%);}
  90%  {transform: translate(-5%,20%);}
  100% {transform: translate(0%,0%);}
}

.screen-saver p {
  font-size: 2rem;
}
