
/* 
The print-site banner
*/
#print-site-banner {
    border:2px; 
    border-style:solid; 
    border-color:#000000; 
    padding: 0em 1em 0em 1em; 
    margin-bottom: 2em;
}
#print-site-banner h3 {
    margin-top: 1rem;
}


/* 
Enumerate headings

Only displayed when set in mkdocs.yml

print-site:
    - print-site-enumerate_headings: true
*/

/* Reset all enumeration at start of page */
body {counter-reset: chapter sec-top toc-chapter toc-sec-chapter figurecounter;}

/* Enumerate headings of CHAPTERS,
that are part of an original included page */
.print-site-enumerate-headings .print-page h1 {counter-reset: section sub-section composite detail last; }
.print-site-enumerate-headings .print-page h2 {counter-reset: sub-section composite detail last; }
.print-site-enumerate-headings .print-page h3 {counter-reset: composite detail last; }
.print-site-enumerate-headings .print-page h4 {counter-reset: detail last; }
.print-site-enumerate-headings .print-page h5 {counter-reset: last; }
.print-site-enumerate-headings .print-page h1:before {
    counter-increment: chapter;
    content: counter(chapter) " " !important;
}
.print-site-enumerate-headings h1.print-page-toc-title:before,
#print-site-cover-page h1:before,
#print-site-cover-page h2:before,
#print-site-cover-page h3:before,
#print-site-cover-page h4:before,
#print-site-cover-page h5:before,
#print-site-cover-page h6:before {
    content: none !important;
    counter-increment: none;
}
.print-site-enumerate-headings .print-page h2:before {
  counter-increment: section;
  content: counter(chapter) "." counter(section) " " !important;
}
.print-site-enumerate-headings .print-page h3:before {
  counter-increment: sub-section;
  content: counter(chapter) "." counter(section) "." counter(sub-section) " " !important;
}
.print-site-enumerate-headings .print-page h4:before {
  counter-increment: composite;
  content: counter(chapter) "." counter(section) "." counter(sub-section) "." counter(composite) " " !important;
}
.print-site-enumerate-headings .print-page h5:before {
  counter-increment: detail;
  content: counter(chapter) "." counter(section) "." counter(sub-section) "." counter(composite) "." counter(detail) " " !important;
}
.print-site-enumerate-headings .print-page h6:before {
    counter-increment: last;
    content: counter(chapter) "." counter(section) "." counter(sub-section) "." counter(composite) "." counter(detail) "." counter(last) " " !important;
}

/* Enumerate headings of SECTIONS,
that are part of an original included page */
.print-site-enumerate-headings h1 {counter-reset: sec-section sec-sub-section sec-composite sec-detail sec-last; }
.print-site-enumerate-headings h2.nav-section-title {counter-reset: sec-sub-section sec-composite sec-detail sec-last; }
.print-site-enumerate-headings h3.nav-section-title {counter-reset: sec-composite sec-detail sec-last; }
.print-site-enumerate-headings h4.nav-section-title {counter-reset: sec-detail sec-last; }
.print-site-enumerate-headings h5.nav-section-title {counter-reset: sec-last; }
.print-site-enumerate-headings h1.nav-section-title:before {
    counter-increment: sec-top;
    content: counter(sec-top, upper-roman) ". " !important;
}
.print-site-enumerate-headings h2.nav-section-title:before {
  counter-increment: sec-section;
  content: counter(sec-top, upper-roman) "." counter(sec-section, upper-roman) " " !important;
}
.print-site-enumerate-headings h3.nav-section-title:before {
  counter-increment: sec-sub-section;
  content: counter(sec-top, upper-roman) "." counter(sec-section, upper-roman) "." counter(sec-sub-section, upper-roman) " " !important;
}
.print-site-enumerate-headings h4.nav-section-title:before {
  counter-increment: sec-composite;
  content: counter(sec-top, upper-roman) "." counter(sec-section, upper-roman) "." counter(sec-sub-section, upper-roman) "." counter(sec-composite, upper-roman) " " !important;
}
.print-site-enumerate-headings h5.nav-section-title:before {
  counter-increment: sec-detail;
  content: counter(sec-top, upper-roman) "." counter(sec-section, upper-roman) "." counter(sec-sub-section, upper-roman) "." counter(sec-composite, upper-roman) "." counter(sec-detail, upper-roman) " " !important;
}
.print-site-enumerate-headings h6.nav-section-title:before {
    counter-increment: sec-last;
    content: counter(sec-top, upper-roman) "." counter(sec-section, upper-roman) "." counter(sec-sub-section, upper-roman) "." counter(sec-composite, upper-roman) "." counter(sec-detail, upper-roman) "." counter(sec-last, upper-roman) " " !important;
}


/* Enumerate CHAPTERS in table of contents also */
.print-site-enumerate-headings .print-site-toc-level-1 > ul { counter-reset: toc-section; }
.print-site-enumerate-headings .print-site-toc-level-2 > ul { counter-reset: toc-sub-section; }
.print-site-enumerate-headings .print-site-toc-level-3 > ul { counter-reset: toc-composite; }
.print-site-enumerate-headings .print-site-toc-level-4 > ul { counter-reset: toc-detail; }
.print-site-enumerate-headings .print-site-toc-level-5 > ul { counter-reset: toc-last; }
.print-site-enumerate-headings .print-site-toc-level-1 > li a:before {
    counter-increment: toc-chapter;
    content: counter(toc-chapter) " "; 
}
.print-site-enumerate-headings .print-site-toc-level-2 > li a:before {
    counter-increment: toc-section; 
    content: counter(toc-chapter) "." counter(toc-section) " ";
}
.print-site-enumerate-headings .print-site-toc-level-3 > li a:before {
    counter-increment: toc-sub-section;
    content: counter(toc-chapter) "." counter(toc-section) "." counter(toc-sub-section) " ";
}
.print-site-enumerate-headings .print-site-toc-level-4 > li a:before {
    counter-increment: toc-composite;
    content: counter(toc-chapter) "." counter(toc-section) "." counter(toc-sub-section) "." counter(toc-composite) " ";
}
.print-site-enumerate-headings .print-site-toc-level-5 > li a:before {
    counter-increment: toc-detail;
    content: counter(toc-chapter) "." counter(toc-section) "." counter(toc-sub-section) "." counter(toc-composite) "." counter(toc-detail) " ";
}
.print-site-enumerate-headings .print-site-toc-level-6 > li a:before {
    counter-increment: toc-last;
    content: counter(toc-chapter) "." counter(toc-section) "." counter(toc-sub-section) "." counter(toc-composite) "." counter(toc-detail) "." counter(toc-last) " ";
}

/* Enumerate SECTIONS in table of contents also */
.print-site-enumerate-headings li.toc-nav-section-title-level-1 { counter-reset: toc-sec-section; }
.print-site-enumerate-headings li.toc-nav-section-title-level-2 { counter-reset: toc-sec-sub-section; }
.print-site-enumerate-headings li.toc-nav-section-title-level-3 { counter-reset: toc-sec-composite; }
.print-site-enumerate-headings li.toc-nav-section-title-level-4 { counter-reset: toc-sec-detail; }
.print-site-enumerate-headings li.toc-nav-section-title-level-5 { counter-reset: toc-sec-last; }
.print-site-enumerate-headings li.toc-nav-section-title-level-1:before {
    counter-increment: toc-sec-chapter;
    content: counter(toc-sec-chapter, upper-roman) " "; 
}
.print-site-enumerate-headings li.toc-nav-section-title-level-2:before {
    counter-increment: toc-sec-section; 
    content: counter(toc-sec-chapter, upper-roman) "." counter(toc-sec-section, upper-roman) " ";
}
.print-site-enumerate-headings li.toc-nav-section-title-level-3:before {
    counter-increment: toc-sec-sub-section;
    content: counter(toc-sec-chapter, upper-roman) "." counter(toc-sec-section, upper-roman) "." counter(toc-sec-sub-section, upper-roman) " ";
}
.print-site-enumerate-headings li.toc-nav-section-title-level-4before {
    counter-increment: toc-sec-composite;
    content: counter(toc-sec-chapter, upper-roman) "." counter(toc-sec-section, upper-roman) "." counter(toc-sec-sub-section, upper-roman) "." counter(toc-sec-composite, upper-roman) " ";
}
.print-site-enumerate-headings li.toc-nav-section-title-level-5:before {
    counter-increment: toc-detail;
    content: counter(toc-sec-chapter, upper-roman) "." counter(toc-sec-section, upper-roman) "." counter(toc-sec-sub-section, upper-roman) "." counter(toc-sec-composite, upper-roman) "." counter(toc-sec-detail, upper-roman) " ";
}
.print-site-enumerate-headings li.toc-nav-section-title-level-6:before {
    counter-increment: toc-sec-last;
    content: counter(toc-sec-chapter, upper-roman) "." counter(toc-sec-section, upper-roman) "." counter(toc-sec-sub-section, upper-roman) "." counter(toc-sec-composite, upper-roman) "." counter(toc-sec-detail, upper-roman) "." counter(toc-last, upper-roman) " ";
}

#print-page-toc li a.headerlink:before {
    content: none !important;
    counter-increment: none;
}


/* Enumerate figures */
.print-site-enumerate-figures figcaption:before {
    counter-increment: figurecounter;
    content: "Figure " counter(figurecounter) ": ";
}


/* Print URLS: 
Change a 'link' to 'link (target)' */
div.print-site-add-full-url section.print-page a[href^="http"]::after{
    content: " (" attr(href) ") ";
}


/* Do some nice animations when clicking on a ToC link */
#print-site-page h1:target, 
#print-site-page h2:target, 
#print-site-page h3:target, 
#print-site-page h4:target, 
#print-site-page h5:target, 
#print-site-page h6:target {
    animation: highlight 1.5s ease;
}
#print-site-page .print-page:target h1 {
    animation: highlight 1.5s ease;
}
@keyframes highlight {
    from { color: orange; }
    to { color: none; }
}


/* 
Print site table of contents styling
 */
/* Don't display the table of contents in HTML version */
#print-page-toc { display: none }


.print-page-toc-nav {
    padding-bottom: 2em;
}

#print-page-toc ul {
    /* margin-left: 1.6em; */
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
    list-style-position: inside;
}
#print-page-toc ul.print-site-toc-level-2,
#print-page-toc ul.print-site-toc-level-3,
#print-page-toc ul.print-site-toc-level-4,
#print-page-toc ul.print-site-toc-level-5,
#print-page-toc ul.print-site-toc-level-6 {
    margin-left: 1.6em;
}
#print-page-toc ul li {
    margin-left: 0;
    margin-bottom: 0.2em;
}
ul.print-site-toc-level-1 {
    list-style-type: none;
}
ul.print-site-toc-level-1 li a {
    font-weight: bold;
    font-size: 120%;
}
ul.print-site-toc-level-2 li a {
    font-weight: normal;
    font-size: 100%;
    margin-bottom: 0em;
}
#print-site-page ul li.toc-nav-section-title {
    padding-top: 1em;
    padding-bottom: 0em;
    font-size: 110%;
    letter-spacing: 1px;
}
#print-site-page ul.toc-section-line-border { 
    border-left: 5px solid grey;
    padding-left: 1.5em;
    margin-top: 0.5em;
    margin-bottom: 1em;
}


#print-site-page ul {
    margin-left: 0em;
}




/* Don't display the section headings that we added
For now, we added them for use only in the table of contents */
#print-site-page h1.nav-section-title,
#print-site-page h2.nav-section-title,
#print-site-page h3.nav-section-title,
#print-site-page h4.nav-section-title,
#print-site-page h5.nav-section-title,
#print-site-page h6.nav-section-title { 
    padding-top: 1.5em;
    padding-bottom: 1em;
    padding-left: 1em;
    font-size: 2.2em;
    font-weight: 300;
    line-height: 1.3;
    color: var(--md-default-fg-color--light);
}
#print-site-page h1.nav-section-title-end,
#print-site-page h2.nav-section-title-end,
#print-site-page h3.nav-section-title-end,
#print-site-page h4.nav-section-title-end,
#print-site-page h5.nav-section-title-end,
#print-site-page h6.nav-section-title-end { display: none; }

/* In the TOC, we want lines that are children of a section to be displayed with a left margin */
#print-site-page ul li.toc-nav-section-child { padding-left: 1em; }

/* Be able to not print certain elements */
#print-site-page .print-site-plugin-ignore { display: none;}



@media print {    

    /* included bookmarks on h1 and h2
    Doesn't work, but included In case Chrome gets support 
    for these experimental CSS features that define PDF bookmarks */
    /* #print-site-page h1 {
        bookmark-level: 1;
        bookmark-label: content(); 
        -ah-bookmark-level: 1;
        -ro-pdf-bookmark-level: 1;
    }
    #print-site-page h2 {
        bookmark-level: 2;
        bookmark-label: content(); 
        -ah-bookmark-level: 2;
        -ro-pdf-bookmark-level: 2;
    } */

    /* Be able to not print certain elements */
    .print-site-plugin-ignore { display: none; }

    /* Remove print site banner */
    #print-site-banner { display: none; }

    /* display the table of contents in print version */
    #print-page-toc { display: block }


    /* Ensure all tabbed content is displayed and printed
    https://squidfunk.github.io/mkdocs-material/reference/content-tabs/ */
    /* #print-site-page div.tabbed-content { display: block !important; } */

    /* PDF page breaks on each MkDocs page, except the first one */
    #print-site-page section.print-page {
        page-break-before: always;
    }
    #print-site-page section.print-page:first-of-type {
        page-break-before: avoid;
    }
    /* PDF page breaks - separate title page for each section */
    #print-site-page .nav-section-title {
        page-break-before: always;
        page-break-after: always;
        align-content: center;
        text-align: center;
        vertical-align: middle;
        padding-top: 150px !important;
        padding-bottom: 0em;
        padding-left: 0em;
        font-size: 2.5em;
    }

    #print-site-page p, 
    #print-site-page pre, 
    #print-site-page blockquote, 
    #print-site-page .tabbed-set {
        page-break-inside: avoid;
    }

    /* Avoid a page break immediately after a heading */
    /* Credits https://stackoverflow.com/a/9238898/5525118 */
    #print-site-page h1 {
        page-break-inside: avoid;
    }
    #print-site-page h1::after {
        content: "";
        display: block;
        height: 100px;
        margin-bottom: -100px;
    }

    #print-site-page footer { display : none; }

    
    #print-site-cover-page {
        display: block;
        width:100%; 
        text-align: center;
    }
    #print-site-cover-page h1 {
        font-size: 300%;
    }

}


/* @page { */

    /* 
        Note this CSS file is added to all MkDocs pages
        So this @page logic will affect print of all pages
    */

    /* Prevent image page overflow */
    /* img { max-width:500px !important; } */

/* } */