.loader-carousel {
  position: relative;
  width: 5em;
  height: 5em;
  margin: auto auto;
}
.loader-carousel div {
  position: absolute;
  top: 1.25em;
  left: 50%;
  width: 1em;
  height: 2.5em;
  border-radius: 0.335em;
  background: var(--c-bright-dim);
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.loader-carousel div:nth-child(1) {
  left: 0.5em;
  animation: loader-carousel1 0.6s infinite;
}
.loader-carousel div:nth-child(2) {
  left: 0.5em;
  animation: loader-carousel2 0.6s infinite;
}
.loader-carousel div:nth-child(3) {
  left: 2em;
  animation: loader-carousel2 0.6s infinite;
}
.loader-carousel div:nth-child(4) {
  left: 3.5em;
  animation: loader-carousel3 0.6s infinite;
}
@keyframes loader-carousel1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes loader-carousel3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes loader-carousel2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(1.5em, 0);
  }
}

div.loaders.small,
div.loaders.chart.top,
div.loaders.chart.middle {
  display: flex;
  flex-wrap: wrap;
}

div.loaders.centered {
  justify-content: center;
  align-items: center;
}

span.loader.small-rectangle,
span.loader.big-rectangle {
  border-radius: 3px;
  overflow: hidden;
  margin: 3px;
  width: 17px;
}

span.loader.small-rectangle {
  height: 22px;
}

span.loader.big-rectangle {
  height: 35px;
}

span.loader.grey-line {
  border-radius: 3px;
  overflow: hidden;
  width: 100%;
  height: 4px;
  flex-grow: 1;
  margin-top: 45px;
  margin-right: 30px;
}

span.loader.pie-chart {
  display: flex;
  width: 200px;
  overflow: hidden;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 200px;
  border-radius: 50%;
  margin: auto;
}

span.circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  position: absolute;
  background-color: white;
}

span.loader::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  animation: pulse 0.66s infinite alternate;
}

@keyframes pulse {
  0% {
    background-color: white;
  }
  100% {
    background-color: #f2f2f2;
  }
}
