.loader {
  @include flex-c;
  z-index: 100;
  pointer-events: none;
  opacity: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  background: rgba(255, 255, 255, 0.8);
  @include transition-std;

  &.active {
    pointer-events: all;
    opacity: 1;
    @include transition-std;
  }
}

.spinner {
  width: 9rem;
  height: 9rem;
}

.calendar-spinner {
  margin: 2rem 0;
  width: 100%;
  height: 100%;
  align-items: flex-end;
  position: relative;

  svg {
    width: 4rem;
    height: 4rem;
  }
}

.spinner-white {
  animation: rotate 2s linear infinite;
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -25px 0 0 -25px;
  width: 50px;
  height: 50px;

  & .path {
    stroke: hsl(210, 70, 75);
    stroke-linecap: round;
    animation: dash 1.5s ease-in-out infinite;
  }
}

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

@keyframes dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
  }
}
