@import url("https://use.fontawesome.com/releases/v5.2.0/css/all.css");

@page {
    size: A4; /* DIN A4 standard, Europe */
    margin-top: 25mm;
    margin-bottom: 25mm;
}

body {
    font-size: 12pt !important;
    color: #000 !important;
    font-family: "Muli", sans-serif;
    width: 680px;
    margin: auto;
    counter-reset: section;
}

/* Front matter */

img[title="word-cloud"] {
    width: 95%;
    padding-top: 100px;
}

/* Table of contents *.keep-together */

#toc {
    counter-reset: toc-h1;
}

#toc div.h1::before {
    counter-increment: toc-h1;
    content: counter(toc-h1) " ";
    color: #2c64ad;
    margin-left: -2em;
    width: 2em;
    position: absolute;
}

#toc div.h1.bijlage::before {
    counter-reset: toc-h1;
    content: "";
}

#toc div.h1 {
    margin-top: 1em;
    margin-left: 2em;
    counter-reset: toc-h2;
}

#toc div.h1.bijlage {
    margin-left: 0em;
}

#toc div.h2.bijlage::before {
    counter-increment: toc-h2;
    content: counter(toc-h2, upper-alpha) " ";
    color: #2c64ad;
    margin-left: -2.8em;
    width: 2em;
    position: absolute;
}

#toc div.h2::before {
    counter-increment: toc-h2;
    content: counter(toc-h1) "." counter(toc-h2) " ";
    color: #2c64ad;
    margin-left: -2.8em;
    width: 2em;
    position: absolute;
}

#toc div.h2 {
    margin-left: 4.8em;
}

/* Headers */

h1:not(toc)::before {
    counter-increment: section;
    content: counter(section) " ";
    color: #2c64ad;
}

h1 {
    line-height: 150%;
    color: #2c64ad;
    font-size: 20pt;
    font-weight: bold;
    page-break-before: always;
    counter-reset: subsection;
}

h1.toc::before {
    content: ""; /* The table of contents title has no counter */
}

h1.toc {
    counter-reset: section;
}

h2.bijlage::before {
    counter-increment: subsection;
    content: counter(subsection, upper-latin) " ";
}

h2::before {
    counter-increment: subsection;
    content: counter(section) "." counter(subsection) " ";
}

h2 {
    margin-top: 20px;
    color: #db1778;
    font-size: 16pt;
    font-weight: bold;
}

h3 {
    margin-top: 10px;
    color: black;
    font-size: 14pt;
    font-weight: bold;
    margin-bottom: -15px; /* Remove vertical space between header and next element */
}

h4 {
    font-size: 12pt;
    color: #b500c7;
    margin-bottom: -15px; /* Remove vertical space between header and next element */
}

h4.risk {
    background-color: #4c76ba;
    color: white;
    padding: 1em;
}

h5 {
    color: black;
    font-size: 12pt;
    font-weight: bold;
}

#bijlagen::before {
    content: ""; /* The Bijlagen section has no counter */
}

/* Paragraphs */

p.title {
    margin-top: 30px;
    color: #2c64ad;
    font-size: 42pt;
    font-weight: bold;
    line-height: 130%;
}

.keep-together {
    page-break-inside: avoid;
}

/* Tables */

tr {
    page-break-inside: avoid;
}

th,
td {
    text-align: left;
    vertical-align: top;
    background-color: #e6f6fd;
    padding: 5px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 10pt;
}

th {
    background-color: #83d0f5;
}

/* Numbered lists */

ol {
    list-style-type: none;
    counter-reset: ol-item;
    margin: 0;
    margin-left: 3em;
    padding: 0;
}

ol > li::before {
    counter-increment: ol-item;
    content: counter(ol-item) ". ";
    margin-left: -3em;
    position: absolute;
    color: #4c76ba;
}

ol ol > li:before {
    content: counters(item, ".") " "; /* Use nested counters when ol's are nested */
}

ol > li {
    margin: 0;
    margin-top: 0.1em;
}

li > ol {
    color: black;
    font-weight: normal;
    margin-left: 0em;
}

ol.bijlage {
    font-weight: bold;
    margin-top: 0.1em;
}

/* Bulleted lists */

ul {
    padding-left: 1.2em;
    list-style: none;
}

ul > li::before {
    content: "●";
    color: #4c76ba;
    display: inline-block;
    width: 1.2em;
    margin-left: -1.2em;
}

/* Domain specific styles */

.maatregel {
    background-color: #e6f6fd;
    border-style: solid;
    border-width: 1px;
    padding: 1em;
}

.risk {
    background-color: #4c76ba;
    color: white;
    padding: 1em;
}

/* Pygments styles for code block highlighting.
   Generate with uvx --with pygments python -c "from pygments.formatters import HtmlFormatter; print(HtmlFormatter().get_style_defs('.highlight'))"
*/

pre {
    line-height: 125%;
}
td.linenos .normal {
    color: inherit;
    background-color: transparent;
    padding-left: 5px;
    padding-right: 5px;
}
span.linenos {
    color: inherit;
    background-color: transparent;
    padding-left: 5px;
    padding-right: 5px;
}
td.linenos .special {
    color: #000000;
    background-color: #ffffc0;
    padding-left: 5px;
    padding-right: 5px;
}
span.linenos.special {
    color: #000000;
    background-color: #ffffc0;
    padding-left: 5px;
    padding-right: 5px;
}
.highlight .hll {
    background-color: #ffffcc;
}
.highlight {
    background: #f8f8f8;
}
.highlight .c {
    color: #3d7b7b;
    font-style: italic;
} /* Comment */
.highlight .err {
    border: 1px solid #f00;
} /* Error */
.highlight .k {
    color: #008000;
    font-weight: bold;
} /* Keyword */
.highlight .o {
    color: #666;
} /* Operator */
.highlight .ch {
    color: #3d7b7b;
    font-style: italic;
} /* Comment.Hashbang */
.highlight .cm {
    color: #3d7b7b;
    font-style: italic;
} /* Comment.Multiline */
.highlight .cp {
    color: #9c6500;
} /* Comment.Preproc */
.highlight .cpf {
    color: #3d7b7b;
    font-style: italic;
} /* Comment.PreprocFile */
.highlight .c1 {
    color: #3d7b7b;
    font-style: italic;
} /* Comment.Single */
.highlight .cs {
    color: #3d7b7b;
    font-style: italic;
} /* Comment.Special */
.highlight .gd {
    color: #a00000;
} /* Generic.Deleted */
.highlight .ge {
    font-style: italic;
} /* Generic.Emph */
.highlight .ges {
    font-weight: bold;
    font-style: italic;
} /* Generic.EmphStrong */
.highlight .gr {
    color: #e40000;
} /* Generic.Error */
.highlight .gh {
    color: #000080;
    font-weight: bold;
} /* Generic.Heading */
.highlight .gi {
    color: #008400;
} /* Generic.Inserted */
.highlight .go {
    color: #717171;
} /* Generic.Output */
.highlight .gp {
    color: #000080;
    font-weight: bold;
} /* Generic.Prompt */
.highlight .gs {
    font-weight: bold;
} /* Generic.Strong */
.highlight .gu {
    color: #800080;
    font-weight: bold;
} /* Generic.Subheading */
.highlight .gt {
    color: #04d;
} /* Generic.Traceback */
.highlight .kc {
    color: #008000;
    font-weight: bold;
} /* Keyword.Constant */
.highlight .kd {
    color: #008000;
    font-weight: bold;
} /* Keyword.Declaration */
.highlight .kn {
    color: #008000;
    font-weight: bold;
} /* Keyword.Namespace */
.highlight .kp {
    color: #008000;
} /* Keyword.Pseudo */
.highlight .kr {
    color: #008000;
    font-weight: bold;
} /* Keyword.Reserved */
.highlight .kt {
    color: #b00040;
} /* Keyword.Type */
.highlight .m {
    color: #666;
} /* Literal.Number */
.highlight .s {
    color: #ba2121;
} /* Literal.String */
.highlight .na {
    color: #687822;
} /* Name.Attribute */
.highlight .nb {
    color: #008000;
} /* Name.Builtin */
.highlight .nc {
    color: #00f;
    font-weight: bold;
} /* Name.Class */
.highlight .no {
    color: #800;
} /* Name.Constant */
.highlight .nd {
    color: #a2f;
} /* Name.Decorator */
.highlight .ni {
    color: #717171;
    font-weight: bold;
} /* Name.Entity */
.highlight .ne {
    color: #cb3f38;
    font-weight: bold;
} /* Name.Exception */
.highlight .nf {
    color: #00f;
} /* Name.Function */
.highlight .nl {
    color: #767600;
} /* Name.Label */
.highlight .nn {
    color: #00f;
    font-weight: bold;
} /* Name.Namespace */
.highlight .nt {
    color: #008000;
    font-weight: bold;
} /* Name.Tag */
.highlight .nv {
    color: #19177c;
} /* Name.Variable */
.highlight .ow {
    color: #a2f;
    font-weight: bold;
} /* Operator.Word */
.highlight .w {
    color: #bbb;
} /* Text.Whitespace */
.highlight .mb {
    color: #666;
} /* Literal.Number.Bin */
.highlight .mf {
    color: #666;
} /* Literal.Number.Float */
.highlight .mh {
    color: #666;
} /* Literal.Number.Hex */
.highlight .mi {
    color: #666;
} /* Literal.Number.Integer */
.highlight .mo {
    color: #666;
} /* Literal.Number.Oct */
.highlight .sa {
    color: #ba2121;
} /* Literal.String.Affix */
.highlight .sb {
    color: #ba2121;
} /* Literal.String.Backtick */
.highlight .sc {
    color: #ba2121;
} /* Literal.String.Char */
.highlight .dl {
    color: #ba2121;
} /* Literal.String.Delimiter */
.highlight .sd {
    color: #ba2121;
    font-style: italic;
} /* Literal.String.Doc */
.highlight .s2 {
    color: #ba2121;
} /* Literal.String.Double */
.highlight .se {
    color: #aa5d1f;
    font-weight: bold;
} /* Literal.String.Escape */
.highlight .sh {
    color: #ba2121;
} /* Literal.String.Heredoc */
.highlight .si {
    color: #a45a77;
    font-weight: bold;
} /* Literal.String.Interpol */
.highlight .sx {
    color: #008000;
} /* Literal.String.Other */
.highlight .sr {
    color: #a45a77;
} /* Literal.String.Regex */
.highlight .s1 {
    color: #ba2121;
} /* Literal.String.Single */
.highlight .ss {
    color: #19177c;
} /* Literal.String.Symbol */
.highlight .bp {
    color: #008000;
} /* Name.Builtin.Pseudo */
.highlight .fm {
    color: #00f;
} /* Name.Function.Magic */
.highlight .vc {
    color: #19177c;
} /* Name.Variable.Class */
.highlight .vg {
    color: #19177c;
} /* Name.Variable.Global */
.highlight .vi {
    color: #19177c;
} /* Name.Variable.Instance */
.highlight .vm {
    color: #19177c;
} /* Name.Variable.Magic */
.highlight .il {
    color: #666;
} /* Literal.Number.Integer.Long */

/* BetterHtmlFormatter styles, copied from https://pypi.org/project/pygments_better_html/ */
.highlight table,
.highlight tr,
.highlight td {
    border-spacing: 0;
    border-collapse: separate;
    padding: 0;
}
.highlight pre {
    white-space: pre-wrap;
    line-height: normal;
}
.highlighttable td.linenos {
    vertical-align: top;
    padding-left: 10px;
    padding-right: 10px;
    user-select: none;
    -webkit-user-select: none;
}
.highlighttable td.linenos code:before {
    content: attr(data-line-number);
}
.highlighttable td.code {
    overflow-wrap: normal;
    border-collapse: collapse;
}
.highlighttable td.code code {
    overflow: unset;
    border: none;
    padding: 0;
    margin: 0;
    white-space: pre-wrap;
    line-height: unset;
    background: none;
}
.highlight .lineno.nonumber {
    list-style: none;
}

/* Our own additions for the highlight style */
.highlight {
    font-size: 90%;
}
