body {
  background-color: white;
  max-width: 72em;
  margin: auto;
  font-family: 'Open Sans', sans-serif;
  line-height: 1.25;
  text-align: left;
  font-size: 1.4em;
  color: #222;
  padding: 0 10px;
  padding-top: 20px;
}

img#logo {
  width: 8em;
  float: right;
}

a {
  color: #0aa;
  font-size: 1em;
}


* {
  box-sizing: border-box;
}

.wrapper {
  overflow: scroll;
}

table {
  border-collapse: collapse;
  width: max(65rem, 100%);
  table-layout: fixed;
}

th,
caption {
  text-align: start;
}

caption {
  margin-block: 0.75rem;
}

thead th:not(:first-child),
td {
  text-align: start;
}

thead {
  border-block-end: 2px solid;
  background: whitesmoke;
}

tfoot {
  border-block: 2px solid;
  background: whitesmoke;
}

th,
td {
  border: 1px solid lightgrey;
  padding: 0.25rem 0.75rem;
  vertical-align: baseline;
}

th:first-child {
  position: sticky;
  inset-inline-start: 0;
  border-inline-end: none;
}

tbody th {
  background: white;
}

thead th,
tfoot th {
  background: whitesmoke;
}

thead th {
  vertical-align: bottom;
}

td:first-of-type,
:where(thead, tfoot) th:nth-child(2) {
  border-inline-start: none;
}

th:first-of-type {
  width: 15rem;
}

th:first-child::after {
  content: '';
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  width: 1px;
  height: 100%;
  background: lightgrey;
}