/*
 * Top-level components.
 */

html {
    font: normal 112.5%/1.65 serif;
    color: #444444;
}

body {
    display: grid;
    grid-template-columns: 1fr min(65em, 100%) 1fr;
    margin-left: 0px;
    margin-right: 0px;
    padding: 1ex;
}

body > * {
    grid-column: 2;
}

div.article {
    text-align: justify;
}

div.article > div.titlepage {
    text-align: center;
}

div.abstract {
    margin: 4ex 10% 0ex 10%;
    text-align: justify;
}

div.abstract > p.title {
    text-align: center;
}

div.footnotes {
    font-size: small;
}

div.footnote p {
    margin-top: 0px;
    margin-bottom: 0px;
}

/*
 * Sectionning.
 */

h1, h2, h3, h4, h5, h6 {
    color: #222222;
}

h2.title {
    border-left: solid 8px #222222;
    border-bottom: solid 2px #222222;
    padding-left: 8px;
}


/*
 * Block-level stuff.
 */

div.note, div.caution, div.warning {
    margin: 2ex 1em;
    padding: 2px;
    border: solid 1px #000000;
    background-color: #fff4c0;
    font-size: small;
}

pre.screen {
    margin-left: 3em;
    margin-right: 1em;
    padding: 2px 4px 2px 4px;
    background-color: #000000;
    color: #ffffff;
}

pre.programlisting {
    margin-left: 3em;
    margin-right: 1em;
    padding: 2px 4px 2px 4px;
    background-color: #eeeeee;
    border: solid 1px #000000;
}
