.loom-loader {
  background: rgba(0, 0, 0, .2);
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
}

.loom-loader__wrapper {
  display: block;
  height: 32px;
  width: 32px;
  -webkit-animation: loom-loader-1 3s linear infinite;
  animation: loom-loader-1 3s linear infinite;
}

@-webkit-keyframes loom-loader-1 {
  0%   { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes loom-loader-1 {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.loom-loader__wrapper .loom-loader__item {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 32px;
  width: 32px;
  clip: rect(16px, 32px, 32px, 0);
  -webkit-animation: loom-loader-2 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
  animation: loom-loader-2 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
}

@-webkit-keyframes loom-loader-2 {
  0%   { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes loom-loader-2 {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.loom-loader__wrapper .loom-loader__item::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 32px;
  width: 32px;
  border: 3px solid transparent;
  border-top: 3px solid #FFF;
  border-radius: 50%;
  -webkit-animation: loom-loader-3 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
  animation: loom-loader-3 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
  box-sizing: border-box;
}

@-webkit-keyframes loom-loader-3 {
  0%   { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes loom-loader-3 {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.loom-loader__wrapper .loom-loader__item::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 32px;
  width: 32px;
  border: 3px solid rgba(255, 255, 255, .5);
  border-radius: 50%;
  box-sizing: border-box;
}
