div.wrapper {
    display: grid;
    align-items: center;
    justify-items: center;
}

div.container {
    display: grid;
    grid-template-columns: repeat(17, auto);
    align-items: stretch;
    justify-items: stretch;
    grid-auto-flow: row;
}

div.container div {
    display: grid;
    align-items: center;
    justify-items: center;
    white-space: nowrap;
    padding: 2px;
    background-color: white;
}

div.container>div.row,
div.container>div.header {
    display: contents;
}

div.h1 {
    font-size: 9px;
}

div.container>div.spacer {

    grid-column: 1/18;
    border-top: 1px solid black;

    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: space-evenly;
    grid-gap: 0.5em;
    padding: 0.5em;
}

div.container>div.spacer:first-child {
    border-top: none;
}

div.container>div>div {
    border-left: 1px solid black;
    border-top: 1px solid black;
}

div.container>div>div:last-child {
    border-right: 1px solid black;
}

div.container>div:last-child>div {
    border-bottom: 1px solid black;
}

div.container div.link {
    outline: 5px solid #F00;
    font-family: monospace;
}

div.container>div.header>div {
    font-weight: bold;
}

div.container div.ref {
    grid-column: 1/2;
}

div.container div.denom {
    grid-column: 2/3;
}

div.container div.year {
    grid-column: 3/4;
}

div.container>div.header>div.serial {
    grid-column: 4/7;
}

div.container>div.header>div.pp {
    grid-column: 7/8;
    font-size: 0.8em;
}

div.container>div.header>div.grade {
    grid-column: 8/9;
    font-size: 0.8em;
}

div.container>div.header>div.descr {
    grid-column: 9/10;
    font-size: 0.8em;
}

div.container>div.header>div.catalog {
    grid-column: 10/11;
    font-size: 0.8em;
}

div.container>div.header>div.district {
    grid-column: 11/12;
    font-size: 0.8em;
}

div.container>div.header>div.sig {
    grid-column: 12/14;
    font-size: 0.8em;
}

div.container>div.header>div.printer {
    grid-column: 14/15;
    font-size: 0.8em;
}

div.container>div.row>div.prefix {
    grid-column: 4/5;
    font-size: 1.0em;
    justify-items: end;
}

div.container>div.row>div.serial {
    grid-column: 5/6;
    font-size: 1.2em;
    border-left: none;
}

div.container>div.row>div.suffix {
    grid-column: 6/7;
    font-size: 1.0em;
    border-left: none;
    justify-items: start;
}

div.container>div.row>div.pp {
    grid-column: 7/8;
    font-size: 0.8em;
}

div.container>div.row>div.grade {
    grid-column: 8/9;
    font-size: 0.8em;
}

div.container>div.row>div.descr {
    grid-column: 9/10;
    font-size: 0.8em;
}

div.container>div.row>div.catalog {
    grid-column: 10/11;
    font-size: 0.8em;
}

div.container>div.row>div.district {
    grid-column: 11/12;
    font-size: 0.8em;
}

div.container>div.row>div.sig1 {
    grid-column: 12/13;
    font-size: 0.8em;
    justify-items: start;
}

div.container>div.row>div.sig2 {
    grid-column: 13/14;
    font-size: 0.8em;
    justify-items: start;
}

div.container>div.row>div.printer {
    grid-column: 14/15;
    font-size: 0.8em;
    justify-items: start;
}

div.container>div.row>div.price {
    grid-column: 15/16;
    font-size: 1.0em;
}

div.container>div.row>div.front {
    grid-column: 16/17;
    font-size: 1.0em;
}

div.container>div.row>div.back {
    grid-column: 17/18;
    font-size: 1.0em;
}

div.wrapper>div.footer {
    padding: 0.5em;
}
