.loader-wrapper {
  position: relative;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.loader-wrapper .loader {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-block;
  border-top: 4px solid #fff;
  border-right: 4px solid transparent;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
.loader-wrapper .loader::after {
  content: "";
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  height: 100%;
  border-radius: 50%;
  border-left: 4px solid #fff;
  border-bottom: 4px solid transparent;
  animation: rotation 0.5s linear infinite reverse;
}
.loader-wrapper .loader-small {
  width: 20px;
  height: 20px;
}
.loader-wrapper .loader-small::after {
  width: 20px;
  height: 20px;
}
.loader-wrapper .loader-medium {
  width: 30px;
  height: 30px;
}
.loader-wrapper .loader-medium::after {
  width: 30px;
  height: 30px;
}
.loader-wrapper .loader-large {
  width: 40px;
  height: 40px;
}
.loader-wrapper .loader-large::after {
  width: 40px;
  height: 40px;
}

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