:root {
  --viking-royal-blue: #142640;
  --viking-white: #ffffff;
}

html {
  height: 100%;
}

body.loading {
  align-content: center;
  background-color: var(--viking-royal-blue);
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin: 0;
}

body.loading > #root,
body.loading > .ReactModalPortal {
  display: none !important;
}

body > .loading-content {
  display: none;
}

body.loading > .loading-content {
  background-color: var(--viking-royal-blue);
  display: block !important;
  padding-top: 30vh;
  position: absolute;
  width: 100%;
  height: 100%;
}

body.loading > .loading-content > svg#logo {
  display: block;
  height: 80px;
  margin-bottom: 0;
  margin-bottom: 32px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  body.loading > .loading-content > svg#logo {
    background-size: auto 120px;
    height: 120px;
    margin-bottom: 100px;
  }
}

body.loading > .loading-content > svg.icon {
  animation: spin 3s linear infinite;
  color: var(--viking-white);
  display: block;
  fill: currentColor;
  font-size: 32px;
  margin: 0 auto;
  stroke-width: 0;
  width: 1em;
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
