.loader {
  flex: 1 1 0%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.progressBars {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 20rem;
  min-height: 4.5rem; /* 3 bars, to avoid layout shift when bars disappear */
  margin-bottom: 0.75rem;
}

.progress {
  width: 100%;
  height: 1rem;
  margin-bottom: 0.5rem;
  background-color: var(--primary-dark-bg);
  border: none;
  border-radius: 0.75rem;
  overflow: hidden;
}

.progress::-webkit-progress-value {
  background-color: var(--primary);
}

.progress::-moz-progress-bar {
  background-color: var(--primary);
}

.loader > p {
  margin: 0 0 0.25rem;
}

.cancelBtn {
  composes: btnClean btnLink from global;
}

.grid {
  --w: 2rem;
  display: grid;
  grid: var(--w) var(--w) var(--w) / var(--w) var(--w) var(--w);
  width: calc(var(--w) * 3);
  height: calc(var(--w) * 3);
  margin-bottom: 1rem;
}

.grid > div {
  background-color: var(--primary-dark-bg);
  animation: scaleDelay 1.3s infinite ease-in-out;
}

.grid > div:nth-child(1) {
  animation-delay: 0.2s;
}
.grid > div:nth-child(2) {
  animation-delay: 0.3s;
}
.grid > div:nth-child(3) {
  animation-delay: 0.4s;
}
.grid > div:nth-child(4) {
  animation-delay: 0.1s;
}
.grid > div:nth-child(5) {
  animation-delay: 0.2s;
}
.grid > div:nth-child(6) {
  animation-delay: 0.3s;
}
.grid > div:nth-child(7) {
  animation-delay: 0s;
}
.grid > div:nth-child(8) {
  animation-delay: 0.1s;
}
.grid > div:nth-child(9) {
  animation-delay: 0.2s;
}

@keyframes scaleDelay {
  0%,
  70%,
  100% {
    transform: scale3D(1, 1, 1);
  }
  35% {
    transform: scale3D(0, 0, 1);
  }
}
