/* Display a loading spinner on the page while javascript executes in the background. */
body:not([class*="mvpd-loaded"]) {
  min-height: 100vh;
  justify-content: center;
}

/* Full-page overlay that blocks content until loaded */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-color: white;
  z-index: 9999998;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.25s ease-in-out;
}

body::after {
  content: '';
  width: 48px;
  height: 48px;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-left-color: #333;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  position: fixed;
  background-color: white;
  z-index: 99999999;
  opacity: 1;
  transition: opacity 0.25s ease-in-out;
  align-self: center;
}

body[class*="mvpd-loaded"]::before {
  opacity: 0;
  pointer-events: none;
}

body[class*="mvpd-loaded"]::after {
  opacity: 0;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
