*,
*::before,
*::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
html {
  font-size: 20px;
  font-weight: 300;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
    Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  line-height: 1.5;
}
body {
    background-image: url(/images/SWbackground.jpg);
    background-size: contain;
  min-height: 100vh;
  color: #eee;
}
header,
main,
footer {
  width: 80vw;
  padding: 1rem 1rem;
  margin: 0 auto;
}
header h1 {
  color: goldenrod;
}
header h2 {
  color: blue;
}
p {
  line-height: 1.7;
  margin: 1.5rem 0;
}
#nav,
#footer {
  display: flex;
  flex-direction: row;
}
#nav a,
#footer a {
  color: silver;
  padding: 0.25rem 1rem;
}
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: hsla(0, 0%, 0%, 0.8);
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.overlay.active {
  display: flex;
  cursor: wait;
}
.loading {
  font-size: 5rem;
  color: #fff;
  text-transform: uppercase;
  animation-name: pulse;
  animation-duration: 1s;
  animation-direction: normal;
  animation-iteration-count: infinite;
}
@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.1;
  }
  100% {
    opacity: 1;
  }
}