/* No default margins. */
* {
    padding: 0;
    margin: 0;
}

/* Global font settings. */
html {
    font: normal 112.5%/1.65 serif;
    color: #2e3436;
}

/* 3-columns grid. */
body {
    display: grid;
    grid-template-columns: 1fr min(65em, 100%) 1fr;
}

body > * {
    grid-column: 2;
}


/*
 * Top-level header.
 */
body > header {
    grid-column: 1 / -1;
    border-bottom: solid 1px #000088;
    font-family: sans-serif;
    font-size: small;
    background-color: #c0c0c0;
}

body > header::before {
    content: url("imgs/incenp-logo.png");
    float: left;
}

body > header h1 {
    color: #202a87;
    padding-left: .2em;
}

body > header nav ul {
    list-style-type: none;
}

body > header nav li {
    display: inline;
    padding: 0 .4em 0 .4em;
}

body > header nav a {
    text-decoration: none;
    color: #202a87;
}

body > header nav#breadcrumb li:last-child {
    font-weight: bold;
}


/*
 * Top-level footer.
 */
body > footer {
    margin-top: 4ex;
    border-top: solid 1px #202a87;
    text-align: center;
    font-size: small;
}


/*
 * Main section.
 */

body > section {
    margin: 2ex 0 2ex 0;
    padding: 1ex;
    text-align: justify;
    hyphens: auto;
    position: relative;
}

body > section header, body > section h1:first-child {
    margin-bottom: 4ex;
}

body > section h1,
body > section h2,
body > section h3,
body > section h4,
body > section h5,
body > section h6 {
    color: #2e3436;
    margin: 1ex 0 .2ex 0;
}

body > section ol,
body > section ul {
    margin-left: 2em;
}

body > section dt {
    margin-top: 2ex;
}

body > section dd {
    margin-left: 2em;
}

body > section p {
    margin: .8ex 0 .8ex 0;
}

ul:lang(fr) {
    list-style-type: '— ';
}

sub, sup {
    line-height: 1;
    font-size: 60%;
}

a {
    color: #202a87;
}

p.pubdate {
    position: absolute;
    top: -2ex;
    right: 0px;
    font-size: x-small;
}


/*
 * Note indexes.
 */

article {
    border-bottom: solid 1px #2e3436;
}

article h1 {
    text-transform: uppercase;
    margin: 1ex 0 .2ex 0;
    color: #2e3436;
}

article p {
    margin: .8ex 0 .8ex 0;
}

article p.note-info {
    font-size: 70%;
    font-style: italic;
}

/*
 * Special blocks.
 */

div.download {
    margin-left: 1em;
    margin-right: 1em;
    background: #c0c0c0;
    font-family: monospace;
}

div.note, div.caution {
    margin: 2ex 0 2ex 3em;
    padding: 0 .5em 0 .5em;
    border-top: solid 1px #0085ff;
    border-left: solid 8px #0085ff;
    font-size: small;
}

pre {
    margin: 1.5ex 1em;
    font-family: monospace;
}

pre.console {
    background-color: #2e3436;
    color: #c0c0c0;
}

pre.file, div.input_area pre {
    border-top: dashed 1px #2e3436;
    border-bottom: dashed 1px #2e3436;
    background-color: #c0c0c0;
}

blockquote {
    margin-left: 3em;
    padding: 0 .2em 0 .2em;
    background-color: #c0c0c0;
    font-style: italic;
}

p.quoteattr {
    font-size: small;
    text-align: right;
}

p.quoteattr:before {
    content: "—";
}

span.link-extra {
    font-size: 60%;
}

p.reference, ul.references {
    font-size: 70%;
}

div.header-notes {
    font-size: 60%;
    padding: 0 2em 0 2em;
}

figure {
    margin-top: 2ex;
    margin-bottom: 2ex;
}

figure img {
    float: left;
    margin-right: .5em;
}

figure figcaption {
    font-size: 70%;
}

figure + p {
    clear: both;
}


/*
 * Tables.
 */

table {
    border-collapse: collapse;
    border-bottom: solid .2ex #2e3436;
    margin: 2ex auto 3ex auto;
    text-align: left;
}

table td {
    padding: .2ex .5em .2ex .5em;
}

thead tr {
    font-weight: bold;
    border-top: solid .2ex #2e3436;
    border-bottom: solid .2ex #2e3436;
}

th {
    border-top: solid .1ex #2e3436;
    border-bottom: solid .1ex #2e3436;
}

table.figures {
    font-size: 70%;
}


/* Link icons. */

a[hreflang=en]:after {
    content: url('imgs/en.png');
    bottom: .6ex;
    position: relative;
}

a[hreflang=fr]:after {
    content: url('imgs/fr.png');
    bottom: .6ex;
    position: relative;
}

a[href^=mailto]:after {
    content: url('imgs/mailto.png');
    bottom: .6ex;
    left: .2em;
    position: relative;
}

a[href^=xmpp]:after {
    content: url('imgs/xmpp.png');
    bottom: .6ex;
    left: .2em;
    position: relative;
}

a[href^=sip]:after {
    content: url('imgs/sip.png');
    bottom: .6ex;
    left: .2em;
    position: relative;
}

a[href$=atom]:before {
    content: url('imgs/atom.png');
    margin-right: .2em;
}

a.dfrn:before {
    content: url('imgs/friendica.png');
    margin-right: .2em;
}

a.cloud:before {
    content: url('imgs/nextcloud.png');
    margin-right: .2em;
}

a.fred:before {
    content: url('imgs/fred.png');
    margin-right: .2em;
}


/* Footnotes. */

a.footnote-call {
    text-decoration: none;
}

ol.footnotes {
    margin: 2ex 0 1ex 0;
    padding-left: 2em;
    border-top: solid 1px #2e3436;
    font-size: 70%;
}


/* Federated comments. */

div#comments {
    border-top: solid 3px #000000;
}

div.federated-comment {
    border: solid 1px #0085ff;
    margin-bottom: 1ex;
    padding-right: 5px;
    background-color: #ffcc00;
}

div.federated-comment div.avatar {
    float: left;
}

p.federated-comment-meta {
    padding-left: 70px;
    font-size: 70%;
}

div.federated-comment-content {
    padding-left: 70px;
}

div.federated-comment-media {
    padding-left: 65px;
}
