/* ------------------------------------------------------------------------
 | Core styles
 +------------------------------------------------------------------------- */

body {
    font-family: apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    color: #212529;
    background-color: #FFFFFF;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #394986;
    font-weight: 600;
    margin-top: 1em;
    margin-bottom: 1em;
}

h1 {
    font-size: 1.33em;
    line-height: 1.13; /* 1.5/1.33 */
    margin-top: 0.75em; /* 1/1.33 */
    margin-bottom: 0.75em;
}

h2 {
    font-size: 1.25em;
    line-height: 1.2; /* 1.5/1.25 */
    margin-top: 0.8em; /* 1/1.25 */
    margin-bottom: 0.8em;
}

h3 {
    font-size: 1.17em;
    line-height: 1.28; /* 1.5/1.17 */
    margin-top: 0.85em; /* 1/1.17 */
    margin-bottom: 0.85em;
}

h4 {
    font-size: 1.08em;
    line-height: 1.39; /* 1.5/1.08 */
    margin-top: 0.92em; /* 1/1.08 */
    margin-bottom: 0.92em;
}

h5,
h6 {
    font-size: 1em;
    line-height: 1.5;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
    margin-top: 0;
}

p,
pre,
ol,
dl,
ul,
hr {
    margin-top: 1em; /* htmlhelp: "margin: 1em 0;" breaks li/p. */
    margin-bottom: 1em;
}

hr {
    height: 1px;
    border-style: none;
    background-color: #D0D0D0;
}

blockquote {
    margin: 2em 4em;
}

code,
tt,
kbd,
samp,
var,
pre {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.917em;
    line-height: 1.63;
}

kbd {
    font-weight: bold;
    background-color: #F0F0F0;
    border: 1px solid #808080;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    padding: 0.125em 0.25em;
}

samp {
    background-color: #F0F0F0;
    padding: 0.125em 0.25em;
}

var {
    font-style: italic;
}

abbr,
acronym {
    font-weight: bold;
    text-decoration: none;
}

cite {
    font-style: italic;
}

dfn {
    font-style: italic;
    border-bottom: 1px dotted #808080;
}

pre {
    white-space: pre;
    background-color: #F0F0F0;
    border: 1px dotted #D0D0D0;
    padding: 0.25em 0.5em;
    margin-top: 1.1em; /* 1/0.917 */
    margin-bottom: 1.1em;
}

ul {
    list-style-type: disc;
}

ul ul {
    list-style-type: square;
}

ul ul ul {
    list-style-type: circle;
}

ul ul ul ul {
    list-style-type: disc;
}

ul ul ul ul ul {
    list-style-type: square;
}

ul ul ul ul ul ul {
    list-style-type: circle;
}

ul ul ul ul ul ul ul {
    list-style-type: disc;
}

ol {
    list-style-image: none;
}

li {
    margin-top: 1em;
    margin-bottom: 1em;
}

ul[compact] > li,
ol[compact] > li {
    margin-top: 0;
    margin-bottom: 0;
}

dt {
    margin-top: 1em;
    margin-bottom: 0;
}

dt + dt {
    margin-top: 0;
}

dt > *:last-child { /* htmlhelp: not supported as CHM viewer emulates IE7 */
    margin-bottom: 0;
}

dd {
    margin-top: 0;
    margin-bottom: 1em;
}

dd > *:first-child {
    margin-top: 0;
}

dl[compact] > dt {
    margin-top: 0;
}

dl[compact] > dd {
    margin-bottom: 0;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

a:link {
    text-decoration: none;
    color: #004668;
}

a:visited {
    text-decoration: none;
    color: #135678;
}

a img {
    border-style: none;
}

/* 
 * No need to style table borders and alignments more than this.
 * The DocBook XSL stylesheets add attributes to the table elements for this.
 */

table {
    font-size: 1em; /* Required if "quirks mode"? */
    line-height: 1.5;
    border-collapse: collapse;
    border-color: #808080;
    margin-top: 1em;
    margin-bottom: 1em;
}

thead,
tfoot {
    background-color: #F0F0F0;
}

th,
td {
    font-size: 1em; /* Required if "quirks mode"? */
    line-height: 1.5;
    vertical-align: baseline;
    border-color: #808080;
    padding: 0.25em 0.5em;
}

th > *:first-child,
td > *:first-child {
    margin-top: 0;
}

th > *:last-child,
td > *:last-child {
    margin-bottom: 0;
}

th[valign = "top"],
td[valign = "top"] {
    vertical-align: top;
}

th[valign = "middle"],
td[valign = "middle"] {
    vertical-align: middle;
}

th[valign = "bottom"],
td[valign = "bottom"] {
    vertical-align: bottom;
}

/* ------------------------------------------------------------------------
 | Specific to DocBook
 +------------------------------------------------------------------------- */

div.navheader table,
div.navfooter table {
    font-size: 0.917em;
    line-height: 1.63;
    margin: 0;
}

div.navheader th,
div.navheader td,
div.navfooter th,
div.navfooter td {
    vertical-align: middle;
    padding: 0;
}

div.navheader hr,
div.navfooter hr {
    background-color: #E1E6F7;
    margin: 0;
}

div.navheader hr {
    margin-bottom: 2em;
}

div.navfooter hr {
    margin-top: 2em;
}

div.titlepage {
    margin-top: 1em;
    margin-bottom: 1em;
}

div.book > div.titlepage,
div.article > div.titlepage {
    border-top: 0.5ex solid #ADB6D9;
    padding-top: 1em;
}

div.titlepage > hr {
    background-color: #ADB6D9;
    height: 0.5ex;
    margin-top: 0;
    margin-bottom: 2em;
}

div.toc,
div.index,
div.list-of-figures,
div.list-of-tables,
div.list-of-examples,
div.list-of-equations,
div.list-of-procedures {
    margin-top: 1em;
    margin-bottom: 1em;
}

div.toc dl,
div.index dl,
div.list-of-figures dl,
div.list-of-tables dl,
div.list-of-examples dl,
div.list-of-equations dl,
div.list-of-procedures dl {
    margin-top: 0;
    margin-bottom: 0;
}

div.toc ul,
div.index ul,
div.list-of-figures ul,
div.list-of-tables ul,
div.list-of-examples ul,
div.list-of-equations ul,
div.list-of-procedures ul {
    list-style-type: none;
    margin-top: 0;
    margin-bottom: 0;
}

div.toc li,
div.index li,
div.list-of-figures li,
div.list-of-tables li,
div.list-of-examples li,
div.list-of-equations li,
div.list-of-procedures li,
div.toc dt,
div.index dt,
div.list-of-figures dt,
div.list-of-tables dt,
div.list-of-examples dt,
div.list-of-equations dt,
div.list-of-procedures dt {
    margin-top: 0.125em;
    margin-bottom: 0.125em;
}

div.toc dd,
div.index dd,
div.list-of-figures dd,
div.list-of-tables dd,
div.list-of-examples dd,
div.list-of-equations dd,
div.list-of-procedures dd {
    margin-top: 0;
    margin-bottom: 0;
}

div.toc-title, /*make.clean.html=1, xhtml5*/
div.toc > p:first-child,
div.index > p:first-child,
div.list-of-figures > p:first-child,
div.list-of-tables > p:first-child,
div.list-of-examples > p:first-child,
div.list-of-equations > p:first-child,
div.list-of-procedures > p:first-child,
div.toc-title > p:first-child {
    font-size: 1.08em;
    line-height: 1.39; /* 1.5/1.08 */
    font-weight: 600;
    color: #394986;
    margin-top: 0.93em;
    margin-bottom: 0.93em;
}

div.toc span.part,
div.toc span.chapter,
div.toc span.appendix {
    font-weight: 600;
}

tbody.footnotes {
    border-top: 1px dotted #808080;
}

hr.footnote-hr, /*make.clean.html=1, xhtml5*/
div.footnotes > hr {
    width: 100px;
    margin-top: 2em;
    margin-bottom: 0.25em;
    margin-left: 0;
    margin-right: auto;
}

div.footnote {
    font-size: 0.917em;
    line-height: 1.63;
    font-weight: normal;
    font-style: normal;
    text-decoration: none;
}

div.footnote > * { /*A footnote is compact.*/
    margin-top: 0;
    margin-bottom: 0;
}

div.important,
div.caution,
div.warning,
div.tip,
div.note {
    font-size: 0.917em;
    line-height: 1.63;
    padding: 1em;
    margin: 1.10em 4em;
}

div.important,
div.caution,
div.warning {
    background-color: #FFFBF0;
    border-left: 1ex solid #E6CD8A;
}

div.tip {
    background-color: #F8FFF5;
    border-left: 1ex solid #A6E68A;
}

div.note {
    background-color: #F4F8FC;
    border-left: 1ex solid #8AB8E6;
}

div.caution > .title, /*.title is a hN*/
div.important > .title,
div.note > .title,
div.tip > .title,
div.warning > .title {
    margin-top: 0;
}

div.caution > table, /* Layout when the note has an icon */
div.important > table,
div.note > table,
div.tip > table,
div.warning > table {
    margin: 0;
}

div.sidebar {
    background-color: #F4F8FC;
    border-top: 0.5ex solid #8AB8E6;
    border-bottom: 0.5ex solid #8AB8E6;
    padding: 1em 2em;
    margin-top: 1em;
    margin-bottom: 1em;
}

div.sidebar-title, /*make.clean.html=1, xhtml5*/
div.example-title,
div.procedure-title,
div.figure-title,
div.table-title,
div.equation-title,
div.abstract-title,
div.task-title,
div.screenshot-title,
div.bibliolist-title,
div.itemizedlist-title,
div.orderedlist-title,
div.variablelist-title,
div.calloutlist-title,
div.glosslist-title,
div.sidebar p.title,
div.example p.title,
div.procedure p.title,
div.figure p.title,
div.table p.title,
div.equation p.title,
div.abstract p.title,
div.task p.title,
div.screenshot p.title,
div.bibliolist p.title,
div.itemizedlist p.title,
div.orderedlist p.title,
div.variablelist p.title,
div.calloutlist p.title,
div.glosslist p.title {
    color: #394986;
    font-weight: 600;
    margin-top: 1em;
    margin-bottom: 1em;
}

div.attribution {
    text-align: right;
}

div.mediaobject {
    margin-top: 1em;
    margin-bottom: 1em;
}

div.figure-contents > div.mediaobject {
    margin: 0;
}

div.orderedlist,
div.calloutlist {
    margin-top: 1em;
    margin-bottom: 1em;
}

div.orderedlist > table,
div.calloutlist > table {
    margin: 0;
}

div.orderedlist > table td,
div.calloutlist > table td {
    vertical-align: baseline;
}

div.orderedlist > table td > *:first-child,
div.calloutlist > table td > *:first-child {
    margin-top: 0;
}

div.orderedlist > table td > *:last-child,
div.calloutlist > table td > *:last-child {
    margin-bottom: 0;
}

ul.compact > li,
ul.compact > li > *:first-child,
ol.compact > li,
ol.compact > li > *:first-child {
    margin-top: 0;
}

ul.compact > li,
ul.compact > li > *:last-child,
ol.compact > li,
ol.compact > li > *:last-child {
    margin-bottom: 0;
}

dl.compact > dt,
dl.compact > dt > *:first-child,
dl.compact > dd,
dl.compact > dd > *:first-child {
    margin-top: 0;
}

dl.compact > dt,
dl.compact > dt > *:last-child,
dl.compact > dd,
dl.compact > dd > *:last-child {
    margin-bottom: 0;
}

span.bold-italic {
    font-style: italic;
    font-weight: bold;
    text-decoration: none;
}

span.underline {
    font-style: normal;
    font-weight: normal;
    text-decoration: underline;
}

span.strikethrough {
    font-style: normal;
    font-weight: normal;
    text-decoration: line-through;
}

span.highlight {
    font-style: normal;
    font-weight: normal;
    background-color: #F0F080;
}

span.term {
    font-weight: bold;
}

span.keycap,
span.keycode,
span.keysym,
span.mousebutton {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.917em;
    line-height: 1.63;
    font-weight: bold;
    font-style: normal;
    text-decoration: none;
    background-color: #F0F0F0;
    border: 1px solid #808080;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    padding: 0.125em 0.25em;
}

span.guimenu,
span.guisubmenu,
span.guimenuitem,
span.guibutton,
span.guiicon,
span.interface,
span.guilabel {
    font-weight: bold;
}

/* ------------------------------------------------------------------------
 | Syntax highlighting
 +------------------------------------------------------------------------- */

.hl-keyword {
    font-weight: bold;
    color: #602060;
}

.hl-string {
    color: #A00000;
}

.hl-number {
    color: #B08000;
}

.hl-comment {
    font-style: italic;
    color: #808080;
}

.hl-doccomment {
    color: #008080;
}

.hl-directive {
    color: #00A000;
}

.hl-annotation {
    font-weight: bold;
    color: #808080;
}

/*
 * XML
 */

.hl-tag {
    font-weight: bold;
    color: #602060;
}

.hl-attribute {
    color: #0050A0;
}

.hl-value {
    color: #A00000;
}

.hl-doctype {
    color: #008080;
}