* {
    font-family: monospace;
    font-size: 10pt;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
}

html {
    width: 74ch !important;
}

body {
    position: relative;
    line-height: 12pt;
    margin: 1em 1ch 1em 1ch;
    padding: 0;
    width: 72ch;
    box-sizing: border-box;
}

section {
    height: 696pt; /* 12pt*58lines */
    width: 72ch;
    text-align: left;
    position: relative;
    margin-top: 12pt;
}

p {
    white-space: pre-wrap;
    -webkit-hyphens: none;
    hyphens: none;
    margin-left: 3ch;
    margin-bottom: 0;
}
p.sub1 {
    margin-top: 0;
    margin-left: 6ch;
}

h1, h2, h3 {
    margin-top: 12pt;
    margin-bottom: 12pt;
    font-weight: normal;
    text-align: left;
}
h1, h2[id], h3[id] {
    font-weight: bold;
}
h1 {
    margin-top: 24pt;
    text-align: center;
}

ul {
    list-style: none;
    padding-left: 3ch;
    overflow-x: hidden;
    position: relative;
}
ul > li:after {
    content: " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .";
    position: absolute;
    left: 6ch;
    right: 3ch;
    z-index: -1;
}
ul > li > span {
    background-color: white;
}
ul > li > span:nth-child(1) {
    padding-right: 2ch;
}
ul > li > span:nth-child(2) {
    float: right;
}
ul > li.sub1 {
    margin-left: 2ch;
}

footer {
    width: 100%;
    padding-top: 36pt;
    position: absolute;
    bottom: 0;
    background-color: white;
}
header {
    margin-bottom: 24pt;
}
footer, header {
    color: grey;
}
header > div, footer > div {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

section#front-page {
    margin-top: 0;
}
#front-page header {
    margin: 0;
    color: inherit;
}
#front-page header > div {
    margin-bottom: 0;
}

.profile {
    white-space: nowrap;
    width: 72ch !important;
    margin-top: 12pt;
    margin-bottom: 24pt;
}
