/* ------- Font ------- */
body {
  color: black;
  font-size: 18px;
  font-family: system-ui, sans-serif;
}

@media only screen and (max-width: 680px) {
  body {
    font-size: 16px;
  }
}

/* ------- Single page structure ------- */
/* Be really carrefull modifying following lines, you could break the site */
body {
  position: relative;
  width: 64em;
  max-width: 100%;
  margin: 0 auto;
}

section {
  padding: calc(2em + 5vw) 5vw 8vw 5vw;
  display: none; /* Hidden by default */
  position: absolute;
  top: 0;
  min-height: 300dvh; /* Need when #home too big will appear at the bottom */
  width: 100%;
  background: white; /* color set need to avoid transparency */
}

section:target {
  /* Show section selected */
  display: block;
}

section#home {
  /* Show #home by default */
  display: block;
}

/* ------- Header ------- */
header {
  box-sizing: border-box;
  padding: 1rem 5vw;

  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;

  position: absolute;
  width: 100%;
  z-index: 2;
}

header > * {
  flex: 1 1 auto;
}

header h1 {
  margin: 0;
  font-size: 1em;
  white-space: nowrap;
}

nav {
  gap: 1rem;
  display: flex;
  align-items: center;
}

nav a {
  flex: 1 1 auto;
  height: 1.5rem;

  text-align: center;
}
