html {
    -webkit-transition: background-color 1s;
    transition: background-color 1s;
}
html, body {
    /* For the loading indicator to be vertically centered ensure */
    /* the html and body elements take up the full viewport */
    min-height: 100%;
}

body {
    -webkit-transition: opacity 1s ease-in;
    transition: opacity 1s ease-in;
}


.loader {
  position: absolute;
  top: calc(50% - 32px);
  left: calc(50% - 32px);
  width: 128px;
  height: 128px;
  border-radius: 50%;
  perspective: 800px;
}

.inner {
  position: absolute;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border-radius: 50%;  
}

.inner.one {
  left: 0%;
  top: 0%;
  animation: rotate-one 1s linear infinite;
  border-bottom: 6px solid #005da7;
}

.inner.two {
  right: 0%;
  top: 0%;
  animation: rotate-two 1s linear infinite;
  border-right: 6px solid #ff9e00;
}

.inner.three {
  right: 0%;
  bottom: 0%;
  animation: rotate-three 1s linear infinite;
  border-top: 6px solid #005da7;
}

.inner.four {
  right: 0%;
  bottom: 0%;
  animation: rotate-four 1s linear infinite;
  border-top: 6px solid #ff9e00;
}

@keyframes rotate-one {
  0% {
    transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
  }
}

@keyframes rotate-two {
  0% {
    transform: rotateX(50deg) rotateY(20deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(50deg) rotateY(20deg) rotateZ(360deg);
  }
}

@keyframes rotate-three {
  0% {
    transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
  }
  }
  @keyframes rotate-four {
  0% {
    transform: rotateX(50deg) rotateY(-30deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(50deg) rotateY(-30deg) rotateZ(360deg);
  }
}