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

div.container {
    display: grid;
    grid-template-columns: repeat(18, 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/19;
    border-top: none;

    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    grid-gap: 0.5em;
    padding: 0.5em;
}

div.container>div.spacer>dt {
    justify-self: end;
}

div.container>div.spacer>dd {
    justify-self: start;
    margin: 0;
}

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

div.container>div.spacer>img:first-child {
    justify-self: end;
}

div.container>div.spacer>img:last-child {
    justify-self: start;
}

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

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;
    font-size: 0.8em;
}

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

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

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

div.container>div.row>div.catalog {
    justify-items: start;
}

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

div.container div.denom {
    grid-column: 4/5;
}

div.container div.variety {
    grid-column: 5/6;
}

div.container>div.row>div.variety {
    font-size: 0.8em;
    justify-items: start;
}

div.container>div.row>div.variety>span>span.smallcaps {
    font-variant: small-caps;
}

div.container>div.header>div.sig {
    grid-column: 6/8;
}

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

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

div.container div.printer {
    grid-column: 8/9;
}

div.container>div.row>div.printer {
    font-size: 0.8em;
}

div.container>div.header>div.serial {
    grid-column: 9/11;
}

div.container>div.header>div.serial_pp {
    grid-column: 9/12;
}

div.container>div.row>div.series {
    grid-column: 9/10;
    font-size: 1.0em;
    justify-content: end;
    align-content: center;

    justify-items: stretch;
    grid-gap: 0
}

div.container>div.row>div.series>span {
    min-width: 1em;
    text-align: center;
}

div.container>div.row>div.series>span:last-child {
    border-top: 1px solid black;
    align-content: center;
}

div.container>div.row>div.serial {
    grid-column: 10/11;
    font-size: 1.0em;
    justify-items: end;
    border-left: none;
}

div.container>div.row>div.serial_pp {
    grid-column: 10/12;
    font-size: 1.2em;
    justify-items: end;
    border-left: none;
    padding-right: 0.5em;
}

div.container>div.row>div.serial_suffix {
    grid-column: 9/11;
    font-size: 1.0em;
    justify-items: end;
}

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

div.container>div.row>div.fpn {
    grid-column: 12/13;
    font-size: 0.8em;
    justify-items: end;
    padding: 0.5em;
}

div.container>div.row>div.bpn {
    grid-column: 13/14;
    font-size: 0.8em;
    justify-items: end;
    padding: 0.5em;
}

div.container>div.row>div.descr {
    font-size: 0.8em;
    justify-items: start;
}

div.container>div.row>div.grade {
    font-size: 0.8em;
    justify-items: start;
}

div.container>div.row>div.price {
    font-size: 0.8em;
    justify-items: end;
}

div.container>div.row>div.front,
div.container>div.row>div.back {
    padding: 0.1em;
}

div.container>div.row>div.front>a,
div.container>div.row>div.back>a {
    display: grid;
}

div.container>h1,
div.container>h2,
div.container>h3
{
    grid-column: 1/19;
    justify-self: center;
}

div.container>h1.spacer,
div.container>h2.spacer,
div.container>h3.spacer {
    border-top: 1px solid black;
}

div.container>hr {
    grid-column: 1/19;
    justify-self: stretch;
    align-self: stretch;
    min-width: 75%
}

div.container>h3 {
    margin: 0.25em;
}
