html {
  font-family: sans-serif;
  background: #eee;
  padding: 0rem;
}


/* ### BODY ###################################### */
/* ############################################### */
/* body contains:
    - header
    - main
    - footer */
body {
  max-width: 100%;
  margin: 0; /* margin outside element */
  padding: 0; /* An element's padding area is the space between its content and its border */
  background: white;
  display: flex;
  flex-direction: column;
  min-height: 100Vh;
}



/* ### HEADER ################################### */

header {
  padding-top: 2%;
  padding-bottom: 2%;
  display: flex;
  flex-direction: column;
  background: white;
  color: black;
  position: sticky;
  top: 0;
  z-index: 1000;
}



/* ### MAIN ##################################### */

main {
  flex-grow: 1;
  align-self: center;
  max-width: 500px;
  margin-bottom: 2%;
  text-align: center;
}



/* ### FOOTER ############################################ */

footer {
  width: 100vw;
  padding: .5% 0% .5% 0%;
  text-align: center;
  font-size: .75em;
  background: white;
}

