
/* Works well with Microsoft Print To PDF (via Firefox) or "prince" <princexml.com> */
@page {
  size: A4;
  margin-top: 10mm;
  margin-bottom: 10mm;
  margin-left: 1mm;
  margin-right: 1mm;
}

/*.page_footer {
    display: none;
}

@media print {
    #page_footer {
        display: table-footer-group;
    }

    #page_footer:after {
        counter-increment: page;
        content: counter(page);
    }
}*/

@page :blank {
  @top-center { content: "This page is intentionally left blank." }
}

/*
@page { 
  @bottom-left {
    margin: 10pt 0 30pt 0;
    border-top: .25pt solid #666;
    content: "My book";
    font-size: 9pt;
    color: #333;
  }
}
*/

body {
    background-color: #11111128;
}

.body {
    margin-top: 0px;
    margin-bottom: 0px;
    margin-left: 2%;
    margin-right: 2%;
    padding-top: 1px;
    padding-left: 16px;
    padding-bottom: 6px;
    padding-right: 16px;
    font-family: arial;
    background-color: #ffffffff;
    border-radius: 15px; 
    -o-border-radius: 15px; 
    -moz-border-radius: 15px; 
}

@media print {
    body {
        background-color: #fff;
    }

    .body {
        border-radius: 0px;
    }
}

.p {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

@media print {
  .col {
    column-count: 2;
    -webkit-column-count: 2;
    -moz-column-count: 2;
  }
}

/* p preceded by p */
.p ~ .p {
    margin-top: 0.75em;
}

.br {
    margin-bottom: 0.25em;
}

.h1 {
    margin-top: 1.5em;
    margin-bottom: 0px;
}

.h1_enum {
    color: #999;
}

@media print { .h1 { page-break-before:always; } }

.h2 {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

.h2_enum {
    color: #999;
}

.h3 {
    margin-top: 1em;
}

.h3_enum {
    color: #999;
}

.h4 {
}

.h4_enum {
    color: #999;
}

.h5 {
}

.h5_enum {
    color: #999;
}

.h6 {
}

.h6_enum {
    color: #999;
}

.h7 {
    color: rgba(0,0,0,0.8);
}

.h7_enum {
    color: #999;
}

.h8 {
    color: rgba(0,0,0,0.6);
}

.h8_enum {
    color: #aaa;
}

.h9 {
    color: rgba(0,0,0,0.4);
}

.h9_enum {
    color: #bbb;
}

a:link {
    color: #08d;
    text-decoration: none;
}

a:visited {
    color: #46b;
}

a:hover {
    color: #f00;
}

a:active {
    color: #f36;
}

.em {
    font-style: italic;
    font-weight: normal;
    text-decoration: none;
}

.em2 {
    font-style: normal;
    font-weight: normal;
    font-size: larger;
    text-decoration: underline;
}

.strong {
    font-style: normal;
    font-weight: bold;
    text-decoration: none;
}

.strong2 {
    font-style: normal;
    font-weight: bold;
    text-decoration: underline;
}

.code {
    background-color: #ffff1120;
    color: #321;
    font-size: larger;
    font-weight: normal;
    font-family: monospace;
    border: 1px solid #eeeecc;
    padding-top: 0px;
    padding-left: 1px;
    padding-bottom: 0px;
    padding-right: 1px;
}

.code2 {
    background-color: #ffff1120;
    color: #321;
    font-size: larger;
    font-weight: bold;
    font-family: monospace;
    border: 1px solid #eeeecc;
    padding-left: 2px;
}

.td > .code {
    background: none;
    border: 0;
}

.pre {
    display: inline-block;
    margin-left: 1em;
    margin-top: 0em;
    margin-bottom: 0.05em;
    padding: 4px 8px 4px 8px;
    padding-top: 6px;
    padding-bottom: 6px;
    background-color: #ffffd8;
    color: #000;
    font-size: larger;
    font-weight: normal;
    font-family: monospace;
    border: 2px dotted #000;
    border-left-width: 4px;
    border-left-style: solid;
    /*border-left-color: #442;*/
    border-left-color: #111111a8;
    white-space: pre-wrap;       /* css-3 */
    white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
    white-space: -pre-wrap;      /* Opera 4-6 */
    white-space: -o-pre-wrap;    /* Opera 7 */
    word-wrap: break-word;       /* Internet Explorer 5.5+ */
}


@media print {
    .pre {
        border: 1.5px solid #000; /* print*/
        background-color: #ffffd8 !important;
        -webkit-print-color-adjust: exact; 
        box-shadow: inset 0 0 0 1000px #ffffd8; /* hack to fix background color */
    }

    li {
        page-break-inside: avoid;
    }
}

.ulroot {
    margin-top: 10px;
    margin-left: 0.25em;
    margin-bottom: 1.5em;
}

.olroot {
    margin-top: 10px;
    margin-left: 0.25em;
    margin-bottom: 1.5em;
}

.liroot {
    margin-top: 4px;
    margin-bottom: 4px;
    /*font-size: larger;
    font-weight: bold;
    color: #555;*/
}

.lirootwithsub {
    margin-top: 8px;
    margin-bottom: 4px;
}

.lirootlast {
    margin-bottom: 10px;
}

.lisub {
    margin-top: 4px;
    margin-bottom: 4px;
}

.lisubwithsub {
    margin-top: 2px;
    margin-bottom: 4px;
}

.lisublast {
    margin-bottom: 10px;
}


.hr {
    width: 100%;
    height: 4px;
    background: #eee;
    border: 0;
}

.hr_pagebreak {
    border: 0;
    height: 0px;
}

@media print { .hr_pagebreak { page-break-after:always; } }

.hr_asterisk {
    width: 100%;
    height: 8px;
    background: #eee;
    border: 0;
}

.hr_spaced_asterisk {
    width: 100%;
    text-align: center;
    border: 0;
}

.hr_spaced_asterisk_inner {
    margin: auto;
    width: 0%;
    font-size: larger;
    border: 10;
}

.img {
    display: inline-block;
    /*vertical-align: center;*/
    border: 1px;
    padding-top: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    padding-right: 0px;
    margin-top: 0em;
    margin-left: 0em;
    margin-bottom: 0em;
    margin-right: 0em;
}

.imgnowhitespace {
    /* special case when paragraph contains only an image */
    font-size: 0;
}

.oimg {
    border-color: #888;
}

.subdiv_outer {
    display: inline-block;
    vertical-align: top;
    margin-top: 0em;
    margin-left: 1em;
    margin-bottom: 0em;
    margin-right: 0em;
    /*border: 1px solid #000;*/
    margin-bottom: 0.75em;
    padding-top: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    padding-right: 0px;
}

.subdiv_inner .pre {
    margin-top: 0em;
    margin-left: 0em;
    margin-bottom: 0em;
    margin-right: 0em;
}

.subdiv_inner .ulroot {
    margin-top: 0em;
    margin-left: 1em;
    margin-bottom: 0em;
    padding-top: 6px;
    padding-left: 4px;
    padding-bottom: 6px;
}

.subdiv_inner {
    /*display: block;*/
    /*vertical-align: text-bottom;*/
    margin-top: 0em;
    margin-left: 0em;
    margin-bottom: 0em;
    margin-right: 0em;
    padding-top: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    padding-right: 0px;
    background-color: #11111108;
}

.subdiv_title {
    display: inline-block;
    display: block;
    vertical-align: top;
    margin-top: 0.15em;
    margin-left: 0em;
    margin-bottom: 0em;
    margin-right: 0em;
    padding-top: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    padding-right: 0px;
    font-size: small;
    font-style: italic;
    font-weight: normal;
    color: #000;
    /*background-color: #eee;*/
}

.table_div {
}

.table {
    border: 1px solid black;
}

.thtr {
    border: 1px solid black;
}

.thtd {
    border-bottom: 1px solid black;
    /*border-right: 1px solid black;*/
    padding-left: 8px;
    padding-right: 8px;
}

.tr {
}

.tr:nth-child(even) {
    background-color: #11111118;
}

.tr:nth-child(odd) {
    background-color: #11111108;
}

.td {
    vertical-align: text-top;
}

.blockquote {
    margin-left: 1em;
    padding-left: 10px;
    border-left: 4px solid #ddd;
}

.blockquote_cite {
    display: inline-block;
    /*font-style: normal;*/
    font-style: italic;
    font-size: large;
    font-family: monospace;
    color: #222;
    border-radius: 20px;
    border: 5px solid #f2f2f2;
    background-color: #f2f2f2;
    margin-top: 0em;
    margin-left: 0em;
    margin-right: 0em;
    margin-bottom: 0em;
    padding-top: 0em;
    padding-left: 0px;
    padding-bottom: 0px;
    padding-right: 0px;
    line-height: 0.9 !important;
    z-index: 100;
}

@media print {
    .blockquote_cite {
        border: 0px;
    }
}

.blockquote_cite > .p {
    margin-top: -80px;
    margin-left: 50px;
    line-height: 1.3 !important;
    background-color: #f2f2f2;
}

.blockquote_cite::before {
    /*content: "«";*/
    content: '\201C';
    display: block;
    font-family: Georgia, serif;
    color: #a55;
    margin-right: 0.5em;
    font-size: 100px;
}

.blockquote_cite_begin {
}
.blockquote_cite_end {
}

.blockquote_cite_end::before {
    /*content: "»";*/
    /*content: '\201D';*/
    display: inline-block;
    position: absolute;
    z-index: -100;
    top: -2em;
    left: -1em;
    color: #a55;
    margin-left: 0.5em;
    font-size: 40px;
}

.footer_cite {
    display: inline-block;
    font-family: arial;
    /*font-style: italic;*/
    font-style: normal;
    font-weight: bold;
    font-size: small;
    color: #444;
    border-radius: 20px;
    border: 5px solid #f2f2f2;
    background-color: #f2f2f2;
    float: right;
    margin-top: -1em;
    margin-left: 0em;
    margin-right: 0em;
    margin-bottom: 0em;
    padding-top: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    padding-right: 0px;
}

@media print {
    .blockquote_cite {
        padding-right: 8px;
    }
    .footer_cite {
        border: 0px;
        padding-bottom: 4px;
    }
}

.blockquote > .blockquote {
    margin-left: 0.0em;
    padding-left: 10px;
    border-left: 4px solid #ddd;
}

.blockquote > .ulroot {
    margin-left: 1em;
    padding-left: 0px;
}

.blockquote > .olroot {
    margin-left: 0em;
    padding-left: 0px;
}

.blockquote > pre {
    margin-left: 0em;
    padding-left: 0px;
}

.note_s_div_outer {
    margin-top: 0.5em;
    margin-left: 0em;
    margin-bottom: 0.5em;
    margin-right: 0em;
}

.note_l_div_outer {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.important_s_div_outer {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.important_l_div_outer {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.tip_s_div_outer {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.tip_l_div_outer {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.caution_s_div_outer {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.caution_l_div_outer {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.warning_s_div_outer {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.warning_l_div_outer {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.todo_s_div_outer {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.todo_l_div_outer {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.note_s_div_table {
    border: 0px solid black;
    border-collapse: collapse;
}

.note_l_div_table {
    border: 0px solid black;
    border-collapse: collapse;
}

.important_s_div_table {
    border: 0px solid black;
    border-collapse: collapse;
}

.important_l_div_table {
    border: 0px solid black;
    border-collapse: collapse;
}

.tip_s_div_table {
    border: 0px solid black;
    border-collapse: collapse;
}

.tip_l_div_table {
    border: 0px solid black;
    border-collapse: collapse;
}

.caution_s_div_table {
    border: 0px solid black;
    border-collapse: collapse;
}

.caution_l_div_table {
    border: 0px solid black;
    border-collapse: collapse;
}

.warning_s_div_table {
    border: 0px solid black;
    border-collapse: collapse;
}

.warning_l_div_table {
    border: 0px solid black;
    border-collapse: collapse;
}

.todo_s_div_table {
    border: 0px solid black;
    border-collapse: collapse;
}

.todo_l_div_table {
    border: 0px solid black;
    border-collapse: collapse;
}

.note_s_div_tr {
    margin: 0px;
    padding: 0px;
    border: 0px solid black;
}

.note_l_div_tr {
    margin: 0px;
    padding: 0px;
    border: 0px solid black;
}

.important_s_div_tr {
    margin: 0px;
    padding: 0px;
    border: 0px solid black;
}

.important_l_div_tr {
    margin: 0px;
    padding: 0px;
    border: 0px solid black;
}

.tip_s_div_tr {
    margin: 0px;
    padding: 0px;
    border: 0px solid black;
}

.tip_l_div_tr {
    margin: 0px;
    padding: 0px;
    border: 0px solid black;
}

.caution_s_div_tr {
    margin: 0px;
    padding: 0px;
    border: 0px solid black;
}

.caution_l_div_tr {
    margin: 0px;
    padding: 0px;
    border: 0px solid black;
}

.warning_s_div_tr {
    margin: 0px;
    padding: 0px;
    border: 0px solid black;
}

.warning_l_div_tr {
    margin: 0px;
    padding: 0px;
    border: 0px solid black;
}

.todo_s_div_tr {
    margin: 0px;
    padding: 0px;
    border: 0px solid black;
}

.todo_l_div_tr {
    margin: 0px;
    padding: 0px;
    border: 0px solid black;
}

.note_s_div_td_icon {
    margin: 0;
    padding: 0px;
    border: 0px solid black;
}

.note_l_div_td_icon {
    margin: auto;
    padding: 0px;
    border: 0px solid black;
}

.important_s_div_td_icon {
    margin: 0;
    padding: 0px;
    border: 0px solid black;
}

.important_l_div_td_icon {
    margin: auto;
    padding: 0px;
    border: 0px solid black;
}

.tip_s_div_td_icon {
    margin: 0;
    padding: 0px;
    border: 0px solid black;
}

.tip_l_div_td_icon {
    margin: auto;
    padding: 0px;
    border: 0px solid black;
}

.caution_s_div_td_icon {
    margin: 0;
    padding: 0px;
    border: 0px solid black;
}

.caution_l_div_td_icon {
    margin: auto;
    padding: 0px;
    border: 0px solid black;
}

.warning_s_div_td_icon {
    margin: 0;
    padding: 0px;
    border: 0px solid black;
}

.warning_l_div_td_icon {
    margin: auto;
    padding: 0px;
    border: 0px solid black;
}

.todo_s_div_td_icon {
    margin: 0;
    padding: 0px;
    border: 0px solid black;
}

.todo_l_div_td_icon {
    margin: auto;
    padding: 0px;
    border: 0px solid black;
}

.note_s_div_td_text {
    margin-left: 0;
    padding: 0;
    border: 0px solid black;
}

.note_l_div_td_text {
}

.important_s_div_td_text {
}

.important_l_div_td_text {
}

.tip_s_div_td_text {
    /*background-color: #fff;*/
    /*background: none;*/
}

.tip_l_div_td_text {
}

.caution_s_div_td_text {
}

.caution_l_div_td_text {
}

.warning_s_div_td_text {
}

.warning_l_div_td_text {
}

.todo_s_div_td_text {
}

.todo_l_div_td_text {
}

.note_s_div_inner {
    margin: 0em;
    margin-left: 0.5em;
    padding: 0px;
    border: 0px solid black;
    border-top: 2px solid #eee;
    border-bottom: 2px solid #eee;
    line-height: 0.7em;
}

.note_l_div_inner {
    margin: 0.5em;
    padding: 0px;
    border: 0px solid black;
    border-top: 4px solid #eee;
    border-bottom: 4px solid #eee;
}

.important_s_div_inner {
    margin: 0em;
    margin-left: 0.5em;
    padding: 0px;
    border: 0px solid black;
    border-top: 2px dotted #eee;
    border-bottom: 2px dotted #eee;
    line-height: 0.7em;
}

.important_l_div_inner {
    margin: 0.5em;
    padding: 0px;
    border: 0px solid black;
    border-top: 4px solid #eee;
    border-bottom: 4px solid #eee;
}

.tip_s_div_inner {
    margin: 0em;
    margin-left: 0.5em;
    padding: 0px;
    border: 0px solid black;
    border-top: 2px dotted #eee;
    border-bottom: 2px dotted #eee;
    line-height: 0.7em;
}

.tip_l_div_inner {
    margin: 0.5em;
    padding: 0px;
    border: 0px solid black;
    border-top: 4px solid #eee;
    border-bottom: 4px solid #eee;
}

.caution_s_div_inner {
    margin: 0em;
    margin-left: 0.5em;
    padding: 0px;
    border: 0px solid black;
    border-top: 2px dotted #eee;
    border-bottom: 2px dotted #eee;
    line-height: 0.7em;
}

.caution_l_div_inner {
    margin: 1.4em;
    padding: 0px;
    border: 0px solid black;
    border-top: 4px solid #eee;
    border-bottom: 4px solid #eee;
}

.warning_s_div_inner {
    margin: 0em;
    margin-left: 0.5em;
    padding: 0px;
    border: 0px solid black;
    border-top: 2px dotted #eee;
    border-bottom: 2px dotted #eee;
    line-height: 0.7em;
}

.warning_l_div_inner {
    margin: 0.5em;
    padding: 0px;
    border: 0px solid black;
    border-top: 4px solid #eee;
    border-bottom: 4px solid #eee;
}

.todo_s_div_inner {
    margin: 0em;
    margin-left: 0.5em;
    padding: 0px;
    border: 0px solid black;
    border-top: 2px dotted #eee;
    border-bottom: 2px dotted #eee;
    line-height: 0.7em;
}

.todo_l_div_inner {
    margin: 0.5em;
    padding: 0px;
    border: 0px solid black;
    border-top: 4px solid #eee;
    border-bottom: 4px solid #eee;
}

.toc_div {
    border: 0px solid black;
    border-top: 2px solid #ccc;
    border-bottom: 2px solid #ccc;
    background-color: #fcfcfc;
    font-size: larger;
}

.toc_ulroot {
    margin-top: 10px;
    margin-left: 0.0em;
    margin-bottom: 1.5em;
    list-style-type: none;
}

.toc_ulsub {
    list-style-type: none;
    margin-top: 4px;
}

.toc_lisub {
    /*display: flex;*/
    /*background-color: #eee;*/
}

.toc_lisub > .toc_enum {
    /*order: 1;
    flex-grow: 0;*/
}

.toc_lisub > a {
    /*order: 2;
    flex-grow: 0;*/
}

/*.toc_lisub > .toc_pagedots {
    border-bottom: 2px dotted;
    height: 1em;
    order: 3;
    flex-grow: 1;
}*/

.toc_div a::after {
    /* prince-only: */
    content: leader('.') target-counter(attr(href), page);
    /*order: 3;*/
}

.toc_liroot {
    margin-top: 4px;
    margin-bottom: 4px;
    /*font-size: larger;
    font-weight: bold;
    color: #555;*/
}

.toc_lirootwithsub {
    margin-top: 8px;
    margin-bottom: 4px;
}

.toc_lirootlast {
    margin-bottom: 10px;
}

.toc_lisub {
    margin-top: 4px;
    margin-bottom: 4px;
}

.toc_lisubwithsub {
    margin-top: 2px;
    margin-bottom: 4px;
}

.toc_lisublast {
    margin-bottom: 10px;
}

.toc_enum {
    display: inline-block;
    margin: auto;
    margin-right: 0.5em;
}

.toc_a::after {
    /*content: leader(dotted) "bla"*/
    /*content: "(page " target-counter(attr(href, url), page) ")";*/
    /*content: "(page " target-counter(attr(href), page) ")";*/
}

.footnote_nr {
    vertical-align: super;
    font-size: smaller;
    color: #0f0;
}

.footnote_table_local {
    /* display: block;*/
    display: inline-block;
    margin-left: 1em;
    border: 0px solid black;
    border-top: 2px solid #eee;
    border-left: 2px solid #eee;
    border-bottom: 2px solid #eee;
    border-right: 2px solid #eee;
    background-color: #fcfcfc;
}

.footnote_table_global {
    /* display: block;*/
    display: inline-block;
    margin-top: 2em;
    margin-left: 1em;
    border: 0px solid black;
    border-top: 2px solid #eee;
    border-bottom: 2px solid #eee;
}

.footnote_tr {
}

.footnote_td_nr {
    vertical-align: super;
    font-size: smaller;
}

.footnote_td_link {
}

.footnote_a {
    padding-right: 0.5em;
}

.footnote_title {
    /*font-size: larger;*/
}

.lf {
    margin: 0em;
    padding: 0px;
}

.header > .table {
    border: 0px solid #eeeeee;
    margin-top: 1em;
    margin-left: 0em;
    margin-bottom: -1.5em;
    font-size: 20;
}

.header .td {
    background-color: #fff;
}

.header .td:nth-child(1) {
    padding-left: 0.5em;
    color: #999;
}

.header .td:nth-child(2) {
    padding-left: 0.5em;
}

@media print {
    .header {
        margin-top: 19em;
        font-size: 20;
    }

    .header td:nth-child(1) {
        padding-top: 1em;
        font-size: 30;
    }

    .header td:nth-child(2) {
        padding-top: 1em;
        font-size: 40;
    }
}


/* User defined CSS classes (used in test.md) */

.cmdline {
    margin-left: 2em;
    padding: 0;
}

.cmdline > .table {
    border: 0px solid black;
}

.cmdline .td:nth-child(1) {
    padding-top: 1em;
    font-size: larger;
    font-weight: bold;
    font-family: monospace;
    background-color: #fff;
}

.cmdline .td:nth-child(2) {
    padding-top: 0.5em;
    background-color: #fff;
    padding-left: 1em;
}

.myclass {
    display: block;
    font-size: larger;
    background-color: #000;
    color: #fff;
    padding: 1px 2px 1px 4px;
}

.none {
    float: none;
    clear: both;
}

.left  {
    float: left;
    margin-top: 0px;
    margin-right: 1.5em;
}

.right  {
    float: right;
    margin-top: 0px;
    margin-left: 1.5em;
}

.noheader_table_example > .table {
    border: 0px solid black;
    margin-left: 2em;
    border-collapse: collapse;
}

.noheader_table_example .td:nth-child(1) {
    font-size: 20;
    font-weight: normal;
    background-color: #eee;
    padding-left: 0.25em;
    padding-right: 0.25em;
    border: 0px;
}

.noheader_table_example .td:nth-child(2) {
    font-size: 30;
    font-weight: normal;
    background-color: #ccc;
    padding-left: 0.25em;
    padding-right: 0.25em;
    border: 0px;
}

.tip_l_div_inner .pre {
    margin-bottom: 0.5em;
}

.subdiv_outer.csstable {
    width: 50%;
}

@media print {
    .subdiv_outer.csstable {
        width: 80%;
    }
}

.subdiv_inner.csstable {
    border: 0px solid black;
}

.csstable > .table {
    width: 100%;
}

.create {
    font-size: small;
    font-family: monospace;
    float: left;
    color: #aaa;
    padding-top: 4px;
}
