    html, body { font-size: 10px; }
    div, span, h1, h2, h3, h4, h5, h6, p, select, input, a, img, form, table, tr, th, td { font: inherit; }
    html, body, div, span, h1, h2, h3, h4, h5, h6, p, select, input, a, img, form, table, tr, th, td
      { margin: 0; padding: 0; border: 0; outline: 0; border-style: none; text-indent: 0; overflow: visible; white-space: normal;
        content: normal;vertical-align: top; text-align: left; text-decoration: none; height: auto; text-indent: 0;
        table-layout: auto; color: black; line-height: 120%; font-family: Arial; word-wrap: break-word; }
    table, div, form { height: auto; width: auto; background-color: transparent; vertical-align: top; margin: auto; }
    .clickable { cursor: pointer; }
    .clickable:hover, .clickable:active  { outline-style: dotted; outline-width: 1px; text-decoration: underline; }
    .highlight:hover { background: #EEE; }
    body { margin: 10px; width: calc(100% - 20px); background-color: white; }
    h1, h2, h3, h4, h5, h6, th, .colhead, .grand1, .grand2, .grand3, .grand4, .grand5 { font-weight: bold; vertical-align: bottom; }
    h1 { font-size: 20px; padding-top: 4px; }
    h2 { font-size: 14px; padding-top: 3px; }
    h3 { font-size: 12px; padding-top: 2px; }
    h4 { font-size: 10px; padding-top: 1px; }
    h5 { font-size: 10px; padding-top: 1px; }
    h6 { font-size: 10px; padding-top: 1px; }
    th { font-size: 10px; padding-top: 2px; }
    table.list { margin: 3px; width: calc(100% - 6px); border-collapse: collapse; border-spacing: 0; background: white; }
    table.list td, table.list th { min-width: 50px; }
    table.list .colhead  { padding: 2px 0 2px 0; border-bottom: 1px solid black; background: #EEE }
    table.list .colstart { border-left: 1px solid #9f9f9f; }
    table.list .colend   { border-right: 1px solid #9f9f9f; }
    table.list .totals   { background: #CCC; border-top: 1px solid black; border-bottom: 3px double black; font-weight: bold; }
    table.list .label    { text-align: right;  }
    table.list .num      { text-align: right;  }
    table.list .flag     { text-align: center; }
    table.list .time     { text-align: center; }
    table.list .pre      { white-space: pre-line; }
    table.list .criteria { font-weight: bold; width: 150px; }
    table.list .grand1   { background: #AAA; font-size: 10px; padding: 3px 2px 3px 2px; border-width: 4px 0 8px 0; border-color: #222; }
    table.list .grand2   { background: #BBB; font-size: 10px; padding: 3px 2px 3px 2px; border-width: 3px 0 6px 0; border-color: #444; }
    table.list .grand3   { background: #CCC; font-size: 10px; padding: 3px 2px 3px 2px; border-width: 2px 0 5px 0; border-color: #666; }
    table.list .grand4   { background: #DDD; font-size: 10px; padding: 3px 2px 3px 2px; border-width: 1px 0 3px 0; border-color: #888; }
    table.list .grand5   { background: #EEE; font-size: 10px; padding: 3px 2px 3px 2px; border-width:   0 0 1px 0; border-color: #888; }
    div.collapse_button { font-family: Arial; display: inline-flex; width: 1em; height: 1em; line-height: 1em; align-items: center; justify-content: center; box-sizing: border-box; border: 1px solid #888; border-radius: 0.125em; margin: 0.25em 0.5em 0.25em 0; user-select: none; }
    input { font-family: Arial; font-size: 14px; }
    input[type="button"] { padding: 3px 5px 3px 5px; text-align: center; vertical-align: middle; position: fixed; border: 1px outset; border-color: #CFDFEF #9FAFBF #9FAFBF #CFDFEF; background-image: linear-gradient(to bottom, #EEE, #BBB); }
    input[type="button"]:hover, input[type="button"]:active { text-decoration: underline; cursor: pointer; font-weight: bold; }
    input[type="button"]:active { border: 1px inset; background-image: linear-gradient(to top, #EEE, #BBB); }
    .fail { color: red; }
    .emphasize { font-weight: bold; color: red; }
    @media print { button, input, div.collapse_button { display: none; } }
    @media screen and (min-resolution: 192dpi) {
      html, body { font-size: 20px; }
      table.list { min-width: 1500px; }
      table.list .criteria { width: 300px; }
      h1 { font-size: 40px; }
      h2 { font-size: 28px; }
      h3 { font-size: 24px; }
      h4, h5, h6, th { font-size: 20px; }
    }