.loading_overlay_main {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, .8);
  z-index: 2147483647;
  animation: fadeIn 0.67s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
  display: none;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}


.loading_overlay_main .loading_overlay__loader {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  color: rgba(250, 250, 250, 1);
  font-size: 24px;
  text-align: center;
}

.loading_overlay_main .loading_overlay__loader--ring {
  height: 84px;
  width: 64px;
  vertical-align: middle;
  transform-origin: center;
  animation: rotate 2s linear infinite;
}

.loading_overlay_main .loading_overlay__loader--text {
  color: black;
  font-size: 13px;
  font-weight: bold;
  margin-top: 20px;
}

.loading_overlay_main .loading_overlay__loader--ring circle {
  fill: none;
  stroke: black;
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  stroke-linecap: round;
  animation: stretch calc(2s * 0.75) ease-in-out infinite;
}

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

@keyframes stretch {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 90, 200;
    stroke-dashoffset: -35px;
  }

  100% {
    stroke-dashoffset: -124px;
  }
}