.loading {
  display: inline-block;
  position: absolute;
  width: 2rem;
  height: 2rem;
  top: 50vh;
  left: 50vw;
  transform: translate(-50%, -50%);
}

.loading > * {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 1.6rem;
  height: 1.6rem;
  margin: .2rem;
  border: .2rem solid rgb(121, 121, 134);
  border-radius: 50%;
  animation: loading 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: rgb(121, 121, 134) transparent transparent transparent;
}

.loading > *:nth-child(1) {
  animation-delay: -0.45s;
}

.loading > *:nth-child(2) {
  animation-delay: -0.3s;
}

.loading > *:nth-child(3) {
  animation-delay: -0.15s;
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
