.loader {
  position: relative;
  height: 70px;
  width: 70px;
  margin: 0 auto;
}
.loader-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.loader-wrapper--page {
  min-height: 30vh;
}
.loader-icons {
  width: 52px;
  height: 52px;
  position: absolute;
  left: 9px;
  top: 9px;
  overflow: hidden;
  border-radius: 50%;
}
.loader-icons .icon {
  display: inline-block;
  font-size: 36px;
  line-height: 52px;
  position: absolute;
  left: 8px;
  -webkit-animation: icon-up 1s 0.7s infinite ease;
  animation: icon-up 1s 0.7s infinite ease;
}
.inverted-color .loader-icons .icon {
  color: #fff;
}
.loader-icons .icon--one {
  top: 0;
}
.loader-icons .icon--two {
  top: 52px;
}
.loader-circle-out {
  height: 70px;
  width: 70px;
  border-radius: 50%;
  border: 2px solid transparent;
  border-top-color: #003c7f;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: rotate-circle-out 1s infinite linear;
  animation: rotate-circle-out 1s infinite linear;
}
.inverted-color .loader-circle-out {
  border-top-color: #fff;
}
.loader-circle-in {
  height: 58px;
  width: 58px;
  border-radius: 50%;
  border: 2px solid transparent;
  border-top-color: #870042;
  position: absolute;
  top: 6px;
  left: 6px;
  -webkit-transform: rotate(15deg);
  transform: rotate(15deg);
  -webkit-animation: rotate-circle-in 1s infinite cubic-bezier(0.25, 0.1, 0.7, 0.9);
  animation: rotate-circle-in 1s infinite cubic-bezier(0.25, 0.1, 0.7, 0.9);
}
.inverted-color .loader-circle-in {
  border-top-color: #fff;
}
@-webkit-keyframes rotate-circle-out {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotate-circle-out {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes rotate-circle-in {
  to {
    -webkit-transform: rotate(720deg);
    transform: rotate(720deg);
  }
}
@keyframes rotate-circle-in {
  to {
    -webkit-transform: rotate(720deg);
    transform: rotate(720deg);
  }
}
@-webkit-keyframes icon-up {
  50% {
    -webkit-transform: translate(0, -52px);
    transform: translate(0, -52px);
  }
  50.1% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes icon-up {
  50% {
    -webkit-transform: translate(0, -52px);
    transform: translate(0, -52px);
  }
  50.1% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

