/* https://projects.lukehaas.me/css-loaders/ */

.loader,
.loader:after {
  border-radius: 50%;
  width: 6em;
  height: 6em;
}
.loader {
  /* margin: 30px auto; */
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(255, 255, 255, 0.6);
  border-right: 1.1em solid rgba(255, 255, 255, 0.6);
  border-bottom: 1.1em solid rgba(255, 255, 255, 0.6);
  border-left: 1.1em solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* Justin additions */
.loader {
  opacity: 0;
  position: fixed;
  top: 55%;
  left: 50%;
  margin-left: -3rem;
  margin-top: -3rem;
  filter: drop-shadow( 0 0 0.6rem rgba(0,0,0,0.65) );
  pointer-events: none;
}
.ready .loader {
  transition: opacity 0.15s linear;
}
body.page-loading .loader,
body.data-loading .loader {
  opacity: 1;
}
