* {
  box-sizing: border-box;
}

html {
  background: #1e1e1e;
}

body {
  margin: 0;
  padding: 24px 16px 64px;
  background: #1e1e1e;
  color: #ececec;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.3;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media (min-width: 600px) {
  body {
    padding: 32px 36px 80px;
  }
}

/* Mobile: smaller text, more line spacing, and a little air between
   entries so a line that wraps isn't confused with the next one */
@media (max-width: 599px) {
  body {
    padding: 28px 20px 56px;
    line-height: 1.45;
  }

  main li + li {
    margin-top: 0.8em;
  }

  /* Live dates: city and year on their own line */
  .sep {
    display: none;
  }

  .where {
    display: block;
  }
}

h1,
h2,
p,
ul {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

ul {
  padding: 0;
  list-style: none;
}

/* One blank line between a heading and its lines, as in the text file */
h1,
h2,
header ul {
  margin-bottom: 1.3em;
}

/* Four blank lines between blocks */
header,
section {
  margin-bottom: 5.2em;
}

section:last-child {
  margin-bottom: 0;
}

a {
  color: #4c9bff;
  text-decoration: underline;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
}
