/* Style et animation inspirés de mat-spinner. On ne peut pas utiliser
   un mat-spinner directement comme material n'est pas chargé */

body {
  margin: 0
}

.full-page-spinner {
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(236, 236, 236, 0.7);
}

.spinner-svg {
  animation: spinner-rotate 2s linear infinite;
  display: block;
  width: 65px;
  height: 65px;
}

.spinner-circle {
  animation-duration: 4s;
  animation-timing-function: cubic-bezier(0.35, 0, 0.25, 1);
  animation-iteration-count: infinite;
  animation-name: spinner-dashoffset;
  fill: transparent;
  transform-origin: center;
  transition: stroke-dashoffset 225ms linear;
  stroke: #00874e;
  stroke-dashoffset: 34;
  stroke-dasharray: 172.788px;
  stroke-width: 3.07692%;
}

@keyframes spinner-rotate {
  0% {
    transform: rotate(0);
  }

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

@keyframes spinner-dashoffset {
  0% {
    stroke-dashoffset: 164.1482161500667;
    transform: rotate(0);
  }

  12.5% {
    stroke-dashoffset: 34.55751918948773;
    transform: rotate(0);
  }

  12.5001% {
    stroke-dashoffset: 34.55751918948773;
    transform: rotateX(180deg) rotate(72.5deg);
  }

  25% {
    stroke-dashoffset: 164.1482161500667;
    transform: rotateX(180deg) rotate(72.5deg);
  }

  25.0001% {
    stroke-dashoffset: 164.1482161500667;
    transform: rotate(270deg);
  }

  37.5% {
    stroke-dashoffset: 34.55751918948773;
    transform: rotate(270deg);
  }

  37.5001% {
    stroke-dashoffset: 34.55751918948773;
    transform: rotateX(180deg) rotate(161.5deg);
  }

  50% {
    stroke-dashoffset: 164.1482161500667;
    transform: rotateX(180deg) rotate(161.5deg);
  }

  50.0001% {
    stroke-dashoffset: 164.1482161500667;
    transform: rotate(180deg);
  }

  62.5% {
    stroke-dashoffset: 34.55751918948773;
    transform: rotate(180deg);
  }

  62.5001% {
    stroke-dashoffset: 34.55751918948773;
    transform: rotateX(180deg) rotate(251.5deg);
  }

  75% {
    stroke-dashoffset: 164.1482161500667;
    transform: rotateX(180deg) rotate(251.5deg);
  }

  75.0001% {
    stroke-dashoffset: 164.1482161500667;
    transform: rotate(90deg);
  }

  87.5% {
    stroke-dashoffset: 34.55751918948773;
    transform: rotate(90deg);
  }

  87.5001% {
    stroke-dashoffset: 34.55751918948773;
    transform: rotateX(180deg) rotate(341.5deg);
  }

  100% {
    stroke-dashoffset: 164.1482161500667;
    transform: rotateX(180deg) rotate(341.5deg);
  }
}
