
/*body.print .container {max-width: 650px;}*/

body {
    font-size:14px;
}
.nav ul li a {border-top:0px; background-color:transparent; color: #808080; }
#navig a[href] {color: #595959 !important;}
table .table {max-width:650px;}

#navig li.sectionHead {font-weight: bold; font-size: 18px; color: #595959 !important; }
#navig li {font-weight: normal; }

#navig a[href]::after { content: leader(".") target-counter(attr(href), page); }

a[href]::after {
    content: " (page " target-counter(attr(href), page) ")"
}

a[href^="http:"]::after, a[href^="https:"]::after {
    content: " (" attr(href) ")";
}

a[href] {
    color: blue !important;
}
a[href*="mailto"]::after, a[data-toggle="tooltip"]::after, a[href].noCrossRef::after {
    content: "";
}


@page {
    margin: 60pt 90pt 60pt 90pt;
    font-family: sans-serif;
    font-style:none;
    color: gray;

}

.printTitle {
    line-height:30pt;
    font-size:27pt;
    font-weight: bold;
    letter-spacing: -.5px;
    margin-bottom:25px;
}

.printSubtitle {
    font-size: 19pt;
    color: #cccccc !important;
    front-family: "Grotesque MT Light";
    line-height: 22pt;
    letter-spacing: -.5px;
    margin-bottom:20px;
}
.printTitleArea hr {
    color: #999999 !important;
    height: 2px;
    width: 100%;
}

.printTitleImage {
    max-width:300px;
    margin-bottom:200px;
}


.printTitleImage {
    max-width: 250px;
}

#navig {
    /*page-break-before: always;*/
}

.copyrightBoilerplate {
    page-break-before:always;
    font-size:14px;
}

.lastGeneratedDate {
    font-style: italic;
    font-size:14px;
    color: gray;
}

.alert a {
    text-decoration: none !important;
}


body.title { page: title }

@page title {
    @top-left {
        content: " ";
    }
    @top-right {
        content: " "
    }
    @bottom-right {
        content: " ";
    }
    @bottom-left {
        content: " ";
    }
}

body.frontmatter { page: frontmatter }
body.frontmatter {counter-reset: page 1}


@page frontmatter {
    @top-left {
        content: prince-script(guideName);
    }
    @top-right {
        content: prince-script(datestamp);
    }
    @bottom-right {
        content: counter(page, lower-roman);
    }
    @bottom-left {
        content: "youremail@domain.com";   }
}

body.first_page {counter-reset: page 1}

h1 { string-set: doctitle content() }

@page {
    @top-left {
        content: string(doctitle);
        font-size: 11px;
        font-style: italic;
    }
    @top-right {
        content: prince-script(datestamp);
        font-size: 11px;
    }

    @bottom-right {
        content: "Page " counter(page);
        font-size: 11px;
    }
    @bottom-left {
        content: prince-script(guideName);
        font-size: 11px;
    }
}
.alert {
    background-color: #fafafa !important;
    border-color: #dedede !important;
    color: black;
}

pre {
    background-color: #fafafa;
}

