body, html {
  margin:0;
  height:100%;
  background: #ffffff;
  background-size: 100% 100%;
}

.center {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* Brand-neutral boot spinner (no logo) shown while the app loads. */
.loader {
  width: 44px;
  height: 44px;
  border: 4px solid rgba(0, 0, 0, 0.12);
  border-top-color: rgba(0, 0, 0, 0.45);
  border-radius: 50%;
  animation: splash-spin 0.9s linear infinite;
}

@keyframes splash-spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

.contain {
  display:block;
  width:100%; height:100%;
  object-fit: contain;
}

.stretch {
  display:block;
  width:100%; height:100%;
}

.cover {
  display:block;
  width:100%; height:100%;
  object-fit: cover;
}

@media (prefers-color-scheme: dark) {
  body, html {
    margin:0;
    height:100%;
    background: #14151a;
    background-size: 100% 100%;
  }
  .loader {
    border: 4px solid rgba(255, 255, 255, 0.18);
    border-top-color: rgba(255, 255, 255, 0.7);
  }
}
