@media print {
  @page {
    size: portrait;
  }

  body, html {
    margin: 0;
  }

  h1 {
    margin-top: 0;
  }
}

@media screen {
  body {
    background: #ccc;
  }

  div.main {
    width: 7.5in;
    padding: 15px;
    margin: auto;
    background: white;
  }

  h1 {
    display: none; 
  }

  section:first-of-type h1 {
    display: block;
  }

  section {
    max-height: 9.5in;
    overflow: hidden;
  }
}

* {
  box-sizing: border-box;
}

h1 {
  text-align: center;
  font-size: 120%;
}

table {
  width: 100%;
  table-layout: fixed;
}

th {
  background: #eee;
}

td {
  vertical-align: top;
}

th {
  vertical-align: bottom;
}

.dupe {
  color: gray;
}

section {
  page-break-inside: avoid;
}

tr > *:nth-child(1) {width:  8%;}
tr > *:nth-child(2) {width: 10%;}
tr > *:nth-child(3) {width: 28%;}
tr > *:nth-child(4) {width: 15%;}
tr > *:nth-child(5) {width: 33%;}

td {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}