
:root {
    font-family: "Times New Roman", serif;
    line-height: 1;
    --border-thickness: 0.5pt;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
}

table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

table td,
table th {
    padding: 0.5mm 1mm;
}

table th {
    text-align: center;
}

header {
    height: 45mm;
    padding: 10mm 0 0 0;
    position: absolute;
    top: -25mm;
    left: 0;
    right: 0;
    text-align: center;
    overflow: hidden;
}

header .name {
    font-size: 18pt;
    margin-top: 8mm;
    font-weight: bold;
}

header .suffix {
    font-size: 14pt;
    font-weight: bold;
}

header .type {
    font-size: 12pt;
    font-weight: normal;
}

.footer-wrapper {
    position: running(page-footer);
    width: 165mm;
    /* for some reason the position without the following statement changes on the second page */
    border: var(--border-thickness) solid #00000000;
}

.footer-wrapper.left {
    position: running(page-footer-left);
}

.pre-footer {
    margin: 1em 0;
    font-size: 10pt;
}

.pre-footer > * {
    display: inline-block;
    width: 33%;
}

.pre-footer > *:first-child {
    text-align: left;
}

.pre-footer > *:nth-child(2) {
    text-align: center;
    font-style: italic;
}

.pre-footer > *:last-child {
    text-align: right;
    float: right;
}

.pre-footer .page::after {
    content: "Seite 1 von 1";
}

footer {
    font-size: 10pt;
    border-top: var(--border-thickness) solid black;
    height: 25mm;
    padding-top: 1mm;
    text-align: center;
}

.hidden {
    visibility: hidden;
}

hr {
    border: none;
    border-top: var(--border-thickness) solid black;
    margin: 5mm 0;
}
