/* Load Noto Sans for body and header text */
@font-face
{
    font-family: 'Noto Sans';
    src: url(../fonts/Noto_Sans/NotoSans-Regular.ttf);
}

@font-face
{
    font-weight: bold;
    font-family: 'Noto Sans';
    src: url(../fonts/Noto_Sans/NotoSans-Bold.ttf);
}

/* Load Inconsolata for monospace */
@font-face {
   font-family: 'Inconsolata';
   src: url(../fonts/Inconsolata/Inconsolata-Regular.ttf);
}

@font-face {
   font-weight: bold;
   font-family: 'Inconsolata';
   src: url(../fonts/Inconsolata/Inconsolata-Bold.ttf);
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary
{
    display: block;
}

audio,
canvas,
video
{
    display: inline-block;
}

audio:not([controls])
{
    display: none;
    height: 0;
}

[hidden],
template
{
    display: none;
}

script
{
    display: none!important;
}

html
{
    font-family: 'Noto Sans', sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body
{
    margin: 0;
}

body.DRAFT {
    background-image: url("../images/draft-background.png");
}

a
{
    background: transparent;
}

a:focus
{
    outline: thin dotted;
   outline-offset: -2px;
}

a:active,
a:hover
{
    outline: 0;
}

/* this part adds an icon after external links, using FontAwesome */
a[href^="http://"]:after,
a[href^="https://"]:after {
    content: "\f08e";
    font-family: FontAwesome;
    font-weight: normal;
    font-style: normal;
    display: inline-block;
    text-decoration: none;
    padding-left: 3px;
    font-size: 12pt;
}

/* Strip the outbound icon when this class is present */
a[href].noCrossRef::after,
a.no_icon:after
 {
    content:"" !important;
    padding-left: 0;
}

/* indent extra nav levels
   TODO: is there any easy way to do this that just incrementally applies to anything below sb-level2?
         ...w/o assuming sb-level4 is as deep as we go?
*/
ul#mysidebar li.sb-level3 a {
   padding-left: 20px;
}
ul#mysidebar li.sb-level4 a {
   padding-left: 40px;
}
/* we can style the 'current-tree' hierarchy in the sidebar independently of the 'active' page as
   the user clicks around expanding/collapsing the nav menus w/o clicking a link to load a diff page

   For now:
    - the 'current' page title is always bolder if 'active' (ie: visible)
    - if the 'current' page is not 'active'/visible, then the closest ancestor that *is* 'active'/visible
      will be bolded -- reminding the reader what section of the doc they are currently in.
*/
ul#mysidebar li.current-tree > a {
    font-weight: bolder;
}
ul#mysidebar li.current-tree.active > a {
    font-weight: inherit;
}
ul#mysidebar li.current.active > a {
    font-weight: bolder;
}


abbr[title]
{
    border-bottom: 1px dotted;
}

b,
strong
{
    font-weight: bold;
}

dfn
{
    font-style: italic;
}

hr
{
    -moz-box-sizing: content-box;
         box-sizing: content-box;
    height: 0;
}

mark
{
    background: #ff0;
    color: #000;
}

code,
kbd,
pre,
samp
{
    font-size: 1em;
    font-family: 'Inconsolata', monospace;
}

pre
{
    white-space: pre-wrap;
}

q
{
    quotes: '\201C' '\201D' '\2018' '\2019';
}

small
{
    font-size: 80%;
   line-height: inherit;
}

sub,
sup
{
    position: relative;
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
}

sup
{
    top: -.5em;
}

sub
{
    bottom: -.25em;
}

img
{
    border: 0;
}

svg:not(:root)
{
    overflow: hidden;
}

figure
{
    margin: 0;
}

fieldset
{
    margin: 0 2px;
    padding: .35em .625em .75em;
    border: 1px solid silver;
}

legend
{
    padding: 0;
    border: 0;
}

button,
input,
select,
textarea
{
    margin: 0;
    font-size: 100%;
    font-family: inherit;
}

button,
input
{
    line-height: normal;
}

button,
select
{
    text-transform: none;
}

button,
html input[type='button'],
input[type='reset'],
input[type='submit']
{
    cursor: pointer;

    -webkit-appearance: button;
}

button[disabled],
html input[disabled]
{
    cursor: default;
}

input[type='checkbox'],
input[type='radio']
{
    box-sizing: border-box;
    padding: 0;
}

input[type='search']
{
    -webkit-box-sizing: content-box;
       -moz-box-sizing: content-box;
            box-sizing: content-box;

    -webkit-appearance: textfield;
}

input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration
{
    -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner
{
    padding: 0;
    border: 0;
}

textarea
{
    overflow: auto;
    vertical-align: top;
}

table
{
    border-spacing: 0;
    border-collapse: collapse;
}

*,
*:after,
*:before
{
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

body,
html
{
    font-size: 100%;
}

body
{
    position: relative;
    margin: 0;
    padding: 0;
    background: #fff;
    color: rgba(0,0,0,.8);
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    cursor: auto;
}

a:hover
{
    cursor: pointer;
}

embed,
img,
object
{
    max-width: 100%;
    height: auto;
}

embed,
object
{
    height: 100%;
}

img
{
    -ms-interpolation-mode: bicubic;
}

#map_canvas embed,
#map_canvas img,
#map_canvas object,
.map_canvas embed,
.map_canvas img,
.map_canvas object
{
    max-width: none!important;
}

.left
{
    float: left!important;
}

.right
{
    float: right!important;
}

.text-left
{
    text-align: left!important;
}

.text-right
{
    text-align: right!important;
}

.text-center
{
    text-align: center!important;
}

.text-justify
{
    text-align: justify!important;
}

.hide
{
    display: none;
}

.antialiased,
body
{
    -webkit-font-smoothing: antialiased;
}

img
{
    display: inline-block;
    vertical-align: middle;
}

textarea
{
    min-height: 50px;
    height: auto;
}

select
{
    width: 100%;
}

#preamble > .sectionbody > .paragraph:first-of-type p,
.paragraph.lead > p,
p.lead
{
    font-size: 1.21875em;
    line-height: 1.6;
}

.admonitionblock td.content > .title,
.audioblock > .title,
.dlist > .title,
.exampleblock > .title,
.hdlist > .title,
.imageblock > .title,
.listingblock > .title,
.literalblock > .title,
.olist > .title,
.openblock > .title,
.paragraph > .title,
.qlist > .title,
.quoteblock > .title,
.stemblock > .title,
.subheader,
.ulist > .title,
.verseblock > .title,
.videoblock > .title,
table.tableblock > .title
{
    margin-top: 0;
    margin-bottom: .25em;
    color: #7a2518;
    font-weight: 400;
    line-height: 1.45;
}

#toctitle,
.sidebarblock > .content > .title,
blockquote,
dd,
div,
dl,
dt,
form,
li,
ol,
p,
pre,
td,
th,
ul
{
    margin: 0;
    padding: 0;
    direction: ltr;
}

a
{
    color: #2156a5;
    text-decoration: underline;
    line-height: inherit;
}

a:focus,
a:hover
{
    color: #1d4b8f;
}

a img
{
    border: none;
}

p
{
    margin-bottom: 1.25em;
    font-weight: 400;
    font-size: 1em;
    font-family: inherit;
    line-height: 1.6;
}

p aside
{
    font-style: italic;
    font-size: .875em;
    line-height: 1.35;
}

#toctitle,
.sidebarblock > .content > .title,
h1,
h2,
h3,
h4,
h5,
h6
{
    color: #d9411e;
    font-weight: 300;
    font-style: normal;
    font-family: 'Noto Sans', sans-serif;
   margin: 40px 0 0 0;
   padding: 0;
   direction: ltr;
   word-spacing: -.05em;
   line-height: 1.2;
   letter-spacing: -.01em;
    page-break-after: avoid;
}

#toctitle small,
.sidebarblock > .content > .title small,
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small
{
    color: #e99b8f;
    font-size: 60%;
    line-height: 0;
}

/* Pad the page title and sidebar header */
h1.post-title-main,
li.sidebarTitle {
  padding-top: 20px;
}

h1
{
    font-size: 2.125em;
}

h2
{
    font-size: 1.6875em;
}

#toctitle,
.sidebarblock > .content > .title,
h3
{
    font-size: 1.375em;
}

h4,
h5
{
    font-size: 1.125em;
}

h6
{
    font-size: 1em;
}

hr
{
    clear: both;
    margin: 1.25em 0 1.1875em;
    height: 0;
    border: solid #ddddd8;
    border-width: 1px 0 0;
}

em,
i
{
    font-style: italic;
    line-height: inherit;
}

b,
strong
{
    font-weight: bold;
    line-height: inherit;
}

code
{
    color: rgba(0,0,0,.9);
    font-weight: 400;
    font-family: 'Inconsolata', monospace;
}

dl,
ol,
ul
{
    margin-bottom: 1.25em;
    list-style-position: outside;
    font-size: 1em;
    font-family: inherit;
    line-height: 1.6;
}

ol,
ol.no-bullet,
ul,
ul.no-bullet
{
    margin-left: 1.5em;
}

ul li ol,
ul li ul
{
    margin-bottom: 0;
    margin-left: 1.25em;
    font-size: 1em;
}

ul.circle li ul,
ul.disc li ul,
ul.square li ul
{
    list-style: inherit;
}

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

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

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

ul.no-bullet
{
    list-style: none;
}

ol li ol,
ol li ul
{
    margin-bottom: 0;
    margin-left: 1.25em;
}

dl dt,
dl dt code
{
    margin-bottom: .3125em;
    font-weight: bold;
}

dl dd
{
    margin-bottom: 1.25em;
}

abbr,
acronym
{
    border-bottom: 1px dotted #ddd;
    color: rgba(0,0,0,.8);
    text-transform: uppercase;
    font-size: 90%;
    cursor: help;
}

abbr
{
    text-transform: none;
}

blockquote
{
    margin: 0 0 1.25em;
    padding: .5625em 1.25em 0 1.1875em;
    border-left: 1px solid #ddd;
}

blockquote cite
{
    display: block;
    color: rgba(0,0,0,.6);
    font-size: .9375em;
}

blockquote cite:before
{
    content: '\2014 \0020';
}

blockquote cite a,
blockquote cite a:visited
{
    color: rgba(0,0,0,.6);
}

blockquote,
blockquote p
{
    color: rgba(0,0,0,.85);
    line-height: 1.6;
}

@media only screen
       and (min-width : 768px)
{
    #toctitle,
    .sidebarblock > .content > .title,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6
    {
        line-height: 1.2;
    }

    h1
    {
        font-size: 2.75em;
    }

    h2
    {
        font-size: 2.3125em;
    }

    #toctitle,
    .sidebarblock > .content > .title,
    h3
    {
        font-size: 1.6875em;
    }

    h4
    {
        font-size: 1.4375em;
    }
}

table
{
    margin-bottom: 1.25em;
    border: solid 1px #dedede;
    background: #fff;
}

table tfoot,
table thead
{
    background: #f7f8f7;
    font-weight: bold;
}

table tfoot tr td,
table tfoot tr th,
table thead tr td,
table thead tr th
{
    padding: .5em .625em .625em;
    color: rgba(0,0,0,.8);
    text-align: left;
    font-size: inherit;
}

table tr td,
table tr th
{
    padding: .5625em .625em;
    color: rgba(0,0,0,.8);
    font-size: inherit;
}

table tr.alt,
table tr.even,
table tr:nth-of-type(even)
{
    background: #f8f8f7;
}

table tbody tr td,
table tfoot tr td,
table tfoot tr th,
table thead tr th,
table tr td
{
    display: table-cell;
    line-height: 1.6;
}

#toctitle strong,
.sidebarblock > .content > .title strong,
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong
{
    font-weight: 400;
}

.clearfix:after,
.clearfix:before,
.float-group:after,
.float-group:before
{
    display: table;
    content: ' ';
}

.clearfix:after,
.float-group:after
{
    clear: both;
}

*:not(pre) > code
{
    padding: .1em .5ex;
    -webkit-border-radius: 4px;
            border-radius: 4px;
    background-color: #f7f7f8;
    word-spacing: -.15em;
    letter-spacing: 0;
    font-style: normal!important;
    font-size: 1em;
    line-height: 1.45;
}

pre,
pre > code
{
    color: rgba(0,0,0,.9);
    font-weight: 400;
    font-family: 'Inconsolata', monospace;
    line-height: 1.45;
   white-space: pre-wrap;
}

.keyseq
{
    color: rgba(51,51,51,.8);
}

kbd
{
    display: inline-block;
    margin: -.15em .15em 0 .15em;
    padding: .2em .6em .2em .5em;
    border: 1px solid #ccc;
    -webkit-border-radius: 3px;
            border-radius: 3px;
    background-color: #f7f7f7;
    -webkit-box-shadow: 0 1px 0 rgba(0,0,0,.2),
    0 0 0 .1em white inset;
            box-shadow: 0 1px 0 rgba(0,0,0,.2),
    0 0 0 .1em #fff inset;
    color: rgba(0,0,0,.8);
    vertical-align: middle;
    white-space: nowrap;
    font-size: .75em;
    line-height: 1.4;
}

.keyseq kbd:first-child
{
    margin-left: 0;
}

.keyseq kbd:last-child
{
    margin-right: 0;
}

.menu,
.menuseq
{
    color: rgba(0,0,0,.8);
}

b.button:after,
b.button:before
{
    position: relative;
    top: -1px;
    font-weight: 400;
}

b.button:before
{
    padding: 0 3px 0 2px;
    content: '[';
}

b.button:after
{
    padding: 0 2px 0 3px;
    content: ']';
}

p a > code:hover
{
    color: rgba(0,0,0,.9);
}

#content,
#footer,
#footnotes,
#header
{
    margin: 0 auto 0 auto;
    max-width: 62.5em;
    width: 100%;
}

#content:after,
#content:before,
#footer:after,
#footer:before,
#footnotes:after,
#footnotes:before,
#header:after,
#header:before
{
    display: table;
    content: ' ';
}

#content:after,
#footer:after,
#footnotes:after,
#header:after
{
    clear: both;
}

#content
{
    margin-top: 1.25em;
}

#content:before
{
    content: none;
}

span.projectTitle
{
    font-weight: bold;
    font-family: 'Noto Sans', sans-serif;
    font-size: 14pt;
}

#header > h1:first-child
{
    margin-top: 2.25rem;
    margin-bottom: 0;
    color: rgba(0,0,0,.85);
}

#header > h1:first-child + #toc
{
    margin-top: 8px;
    border-top: 1px solid #ddddd8;
}

#header > h1:only-child,
body.toc2 #header > h1:nth-last-child(2)
{
    padding-bottom: 8px;
    border-bottom: 1px solid #ddddd8;
}

#header .details
{
    display: -ms-flexbox;
    display: -webkit-flex;
    display:         flex;
    padding-top: .25em;
    padding-bottom: .25em;
    padding-left: .25em;
    border-bottom: 1px solid #ddddd8;
    color: rgba(0,0,0,.6);
    line-height: 1.45;
}

#header .details span:first-child
{
    margin-left: -.125em;
}

#header .details span.email a
{
    color: rgba(0,0,0,.85);
}

#header .details br
{
    display: none;
}

#header .details br + span:before
{
    content: '\00a0\2013\00a0';
}

#header .details br + span.author:before
{
    color: rgba(0,0,0,.85);
    content: '\00a0\22c5\00a0';
}

#header .details br + span#revremark:before
{
    content: '\00a0|\00a0';
}

#header #revnumber
{
    text-transform: capitalize;
}

#header #revnumber:after
{
    content: '\00a0';
}

#content > h1:first-child:not([class])
{
    margin-top: 0;
    margin-bottom: 1.25rem;
    padding-top: 1rem;
    padding-bottom: 8px;
    border-bottom: 1px solid #ddddd8;
    color: rgba(0,0,0,.85);
}

#toc
{
    padding-bottom: .5em;
    border-bottom: 1px solid #efefed;
}

@media only screen
       and (min-width : 768px)
{
    #toc.toc-right
    {
        float: right;
        margin-left: 1em;
        border: none;
        max-width: 300px;
    }
}
.toc > ul
{
    margin-left: .125em;
}

.toc ul.sectlevel0 > li > a
{
    font-weight: bold;
}

.toc ul.sectlevel0 ul.sectlevel1
{
    margin: .5em 0;
}

.toc ul
{
    list-style-type: none;
    font-family: 'Noto Sans', sans-serif;
}

.toc a
{
    text-decoration: none;
}

.toc a:active
{
    text-decoration: underline;
}

.toctitle
{
    color: #7a2518;
    font-size: 1.2em;
}

div.toc ul li {
    margin: 8px 0 8px 22px;
    list-style: square;
    line-height: 1.25;
}

div.toc ul {
    background-color: whitesmoke;
    padding: 5px;
    border-radius: 5px;
    color: gray;
}

div.toc ul li ul {
    padding-left:8px;

}

div.toc ul li ul li::before {
    content: "–  ";
}

div.toc.section-toc >ul::before {
    content: "In this section";
}
div.toc >ul::before {
    content: "On this Page";
    font-weight: bold;
    color: #555;
    text-align:center;
    margin-left:auto;
    margin-right:auto;
    width:70px;
    padding-top:20px;
    padding-bottom:20px;
    padding-left:10px;
}

@media only screen
       and (min-width : 768px)
{
    #toctitle
    {
        font-size: 1.375em;
    }

    body.toc2
    {
        padding-right: 0;
        padding-left: 15em;
    }

    #toc.toc2
    {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1000;
        overflow: auto;
        margin-top: 0!important;
        padding: 1.25em 1em;
        width: 15em;
        height: 100%;
        border-top-width: 0!important;
        border-right: 1px solid #efefed;
        border-bottom-width: 0!important;
        background-color: #f8f8f7;
    }

    #toc.toc2 #toctitle
    {
        margin-top: 0;
        font-size: 1.2em;
    }

    #toc.toc2 > ul
    {
        margin-bottom: 0;
        font-size: .9em;
    }

    #toc.toc2 ul ul
    {
        margin-left: 0;
        padding-left: 1em;
    }

    #toc.toc2 ul.sectlevel0 ul.sectlevel1
    {
        margin-top: .5em;
        margin-bottom: .5em;
        padding-left: 0;
    }

    body.toc2.toc-right
    {
        padding-right: 15em;
        padding-left: 0;
    }

    body.toc2.toc-right #toc.toc2
    {
        right: 0;
        left: auto;
        border-right-width: 0;
        border-left: 1px solid #efefed;
    }
}

@media only screen
       and (min-width : 1280px)
{
    body.toc2
    {
        padding-right: 0;
        padding-left: 20em;
    }

    #toc.toc2
    {
        width: 20em;
    }

    #toc.toc2 #toctitle
    {
        font-size: 1.375em;
    }

    #toc.toc2 > ul
    {
        font-size: .95em;
    }

    #toc.toc2 ul ul
    {
        padding-left: 1.25em;
    }

    body.toc2.toc-right
    {
        padding-right: 20em;
        padding-left: 0;
    }
}

#content #toc
{
    margin-bottom: 1.25em;
    padding: 1.25em;
    border-width: 1px;
    border-style: solid;
    border-color: #e0e0dc;
    -webkit-border-radius: 4px;
            border-radius: 4px;
    background: #f8f8f7;
}

#content .toc > :first-child
{
    margin-top: 0;
}

#content .toc > :last-child
{
    margin-bottom: 0;
}

#footer
{
    margin: 30px 0;
    padding: 1.25em;
    max-width: 100%;
    background-color: none;
}

#footer-text
{
    color: rgba(255,255,255,.8);
    line-height: 1.44;
}

.sect1
{
    padding-bottom: .625em;
}

@media only screen
       and (min-width : 768px)
{
    .sect1
    {
        padding-bottom: 1.25em;
    }
}

.sect1 + .sect1
{
    border-top: 1px solid #efefed;
}

#content h1 > a.anchor,
#toctitle > a.anchor,
.sidebarblock > .content > .title > a.anchor,
h2 > a.anchor,
h3 > a.anchor,
h4 > a.anchor,
h5 > a.anchor,
h6 > a.anchor
{
    position: absolute;
    z-index: 1001;
    display: block;
    visibility: hidden;
    margin-left: -1.5ex;
    width: 1.5ex;
    text-align: center;
    text-decoration: none!important;
    font-weight: 400;
}

#content h1 > a.anchor:before,
#toctitle > a.anchor:before,
.sidebarblock > .content > .title > a.anchor:before,
h2 > a.anchor:before,
h3 > a.anchor:before,
h4 > a.anchor:before,
h5 > a.anchor:before,
h6 > a.anchor:before
{
    display: block;
    padding-top: .1em;
    content: '\00A7';
    font-size: .85em;
}

#content h1:hover > a.anchor,
#content h1 > a.anchor:hover,
#toctitle:hover > a.anchor,
#toctitle > a.anchor:hover,
.sidebarblock > .content > .title:hover > a.anchor,
.sidebarblock > .content > .title > a.anchor:hover,
h2:hover > a.anchor,
h2 > a.anchor:hover,
h3:hover > a.anchor,
h3 > a.anchor:hover,
h4:hover > a.anchor,
h4 > a.anchor:hover,
h5:hover > a.anchor,
h5 > a.anchor:hover,
h6:hover > a.anchor,
h6 > a.anchor:hover
{
    visibility: visible;
}

#content h1 > a.link,
#toctitle > a.link,
.sidebarblock > .content > .title > a.link,
h2 > a.link,
h3 > a.link,
h4 > a.link,
h5 > a.link,
h6 > a.link
{
    color: #d9411e;
    text-decoration: none;
}

#content h1 > a.link:hover,
#toctitle > a.link:hover,
.sidebarblock > .content > .title > a.link:hover,
h2 > a.link:hover,
h3 > a.link:hover,
h4 > a.link:hover,
h5 > a.link:hover,
h6 > a.link:hover
{
    color: #a53221;
}

.audioblock,
.imageblock,
.listingblock,
.literalblock,
.stemblock,
.videoblock
{
    margin-bottom: 1.25em;
    overflow: auto;
}



table.tableblock > caption.title
{
    overflow: visible;
    max-width: 0;
    white-space: nowrap;
}

#preamble > .sectionbody > .paragraph:first-of-type p,
.paragraph.lead > p
{
    color: rgba(0,0,0,.85);
}

table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p
{
    font-size: inherit;
}

.admonitionblock > table
{
    width: auto;
    border: 0;
    border-collapse: separate;
    background: none;
}

.admonitionblock > table td.icon
{
    width: 80px;
    text-align: center;
}

.admonitionblock > table td.icon img
{
    max-width: none;
}

.admonitionblock > table td.icon .title
{
    text-transform: uppercase;
    font-weight: bold;
    font-family: 'Noto Sans', sans-serif;
}

.admonitionblock > table td.content
{
    padding-right: 1.25em;
    padding-left: 1.125em;
    border-left: 1px solid #ddddd8;
    color: rgba(0,0,0,.6);
}

.admonitionblock > table td.content > :last-child > :last-child
{
    margin-bottom: 0;
}

.exampleblock > .content
{
    margin-bottom: 1.25em;
    padding: 1.25em;
    border-width: 1px;
    border-style: solid;
    border-color: #e6e6e6;
    -webkit-border-radius: 4px;
            border-radius: 4px;
    background: #fff;
}

.exampleblock > .content > :first-child
{
    margin-top: 0;
}

.exampleblock > .content > :last-child
{
    margin-bottom: 0;
}

.sidebarblock
{
    margin-bottom: 1.25em;
    padding: 1.25em;
    border-width: 1px;
    border-style: solid;
    border-color: #e0e0dc;
    -webkit-border-radius: 4px;
            border-radius: 4px;
    background: #f8f8f7;
}

.sidebarblock > :first-child
{
    margin-top: 0;
}

.sidebarblock > :last-child
{
    margin-bottom: 0;
}

.sidebarblock > .content > .title
{
    margin-top: 0;
    color: #7a2518;
    text-align: center;
}

.exampleblock > .content > :last-child>:last-child,
.exampleblock > .content .olist > ol > li:last-child>:last-child,
.exampleblock > .content .qlist > ol > li:last-child>:last-child,
.exampleblock > .content .ulist > ul > li:last-child>:last-child,
.sidebarblock > .content > :last-child>:last-child,
.sidebarblock > .content .olist > ol > li:last-child>:last-child,
.sidebarblock > .content .qlist > ol > li:last-child>:last-child,
.sidebarblock > .content .ulist > ul > li:last-child>:last-child
{
    margin-bottom: 0;
}

.listingblock pre,
.listingblock pre.CodeRay,
.listingblock pre.prettyprint,
.listingblock pre:not(.highlight),
.listingblock pre[class='highlight'],
.listingblock pre[class^='highlight '],
.literalblock pre
{
    background: #f7f7f8;
}

.sidebarblock .listingblock pre.CodeRay,
.sidebarblock .listingblock pre.prettyprint,
.sidebarblock .listingblock pre:not(.highlight),
.sidebarblock .listingblock pre[class='highlight'],
.sidebarblock .listingblock pre[class^='highlight '],
.sidebarblock .literalblock pre
{
    background: #f7f7f8;
}

.listingblock pre,
.listingblock pre[class],
.literalblock pre,
.literalblock pre[class]
{
    padding: 1em;
    -webkit-border-radius: 4px;
            border-radius: 4px;
    word-wrap: break-word;
    font-size: .8125em;
}

.listingblock pre.nowrap,
.listingblock pre[class].nowrap,
.literalblock pre.nowrap,
.literalblock pre[class].nowrap
{
    overflow-x: auto;
    white-space: pre;
    word-wrap: normal;
}

@media only screen
       and (min-width : 768px)
{
    .listingblock pre,
    .listingblock pre[class],
    .literalblock pre,
    .literalblock pre[class]
    {
        font-size: .90625em;
    }
}

@media only screen
       and (min-width : 1280px)
{
    .listingblock pre,
    .listingblock pre[class],
    .literalblock pre,
    .literalblock pre[class]
    {
        font-size: 1em;
    }
}

.literalblock.output pre
{
    background-color: rgba(0,0,0,.9);
    color: #f7f7f8;
}

.listingblock pre.highlightjs
{
    padding: 0;
}

.listingblock pre.highlightjs > code
{
    padding: 1em;
    -webkit-border-radius: 4px;
            border-radius: 4px;
}

.listingblock pre.prettyprint
{
    border-width: 0;
}

.listingblock > .content
{
    position: relative;
}

.listingblock code[data-lang]:before
{
    position: absolute;
    top: .425rem;
    right: .5rem;
    display: none;
    color: #999;
    content: attr(data-lang);
    text-transform: uppercase;
    font-size: .75em;
    line-height: 1;
}

.listingblock:hover code[data-lang]:before
{
    display: block;
}

.listingblock.terminal pre .command:before
{
    padding-right: .5em;
    color: #999;
    content: attr(data-prompt);
}

.listingblock.terminal pre .command:not([data-prompt]):before
{
    content: '$';
}

table.pyhltable
{
    margin-bottom: 0;
    border: 0;
    border-collapse: separate;
    background: none;
}

table.pyhltable td
{
    padding-top: 0;
    padding-bottom: 0;
    vertical-align: top;
}

table.pyhltable td.code
{
    padding-right: 0;
    padding-left: .75em;
}

pre.pygments .lineno,
table.pyhltable td:not(.code)
{
    padding-right: .5em;
    padding-left: 0;
    border-right: 1px solid #ddddd8;
    color: #999;
}

pre.pygments .lineno
{
    display: inline-block;
    margin-right: .25em;
}

table.pyhltable .linenodiv
{
    padding-right: 0!important;
    background: none!important;
}

.quoteblock
{
    display: table;
    margin: 0 1em 1.25em 1.5em;
}

.quoteblock > .title
{
    margin-bottom: .75em;
    margin-left: -1.5em;
}

.quoteblock blockquote,
.quoteblock blockquote p
{
    color: rgba(0,0,0,.85);
    text-align: justify;
    word-spacing: .1em;
    letter-spacing: 0;
    font-style: italic;
    font-size: inherit;
    line-height: 1.75;
}

.quoteblock blockquote
{
    margin: 0;
    padding: 0;
    border: 0;
}

.quoteblock blockquote:before
{
    float: left;
    margin-left: -.6em;
    color: #7a2518;
    content: '\201c';
    text-shadow: 0 1px 2px rgba(0,0,0,.1);
    font-weight: bold;
    font-size: 2.75em;
    line-height: .6em;
}

.quoteblock blockquote > .paragraph:last-child p
{
    margin-bottom: 0;
}

.quoteblock .attribution
{
    margin-top: .5em;
    margin-right: .5ex;
    text-align: right;
}

.quoteblock .quoteblock
{
    margin-right: 0;
    margin-left: 0;
    padding: .5em 0;
    border-left: 3px solid rgba(0,0,0,.6);
}

.quoteblock .quoteblock blockquote
{
    padding: 0 0 0 .75em;
}

.quoteblock .quoteblock blockquote:before
{
    display: none;
}

.verseblock
{
    margin: 0 1em 1.25em 1em;
}

.verseblock pre
{
    color: rgba(0,0,0,.85);
    font-weight: 300;
    font-size: 1.15rem;
    font-family: 'Noto Sans', sans-serif;
}

.verseblock pre strong
{
    font-weight: 400;
}

.verseblock .attribution
{
    margin-top: 1.25rem;
    margin-left: .5ex;
}

.quoteblock .attribution,
.verseblock .attribution
{
    font-style: italic;
    font-size: .9375em;
    line-height: 1.45;
}

.quoteblock .attribution br,
.verseblock .attribution br
{
    display: none;
}

.quoteblock .attribution cite,
.verseblock .attribution cite
{
    display: block;
    color: rgba(0,0,0,.6);
    letter-spacing: -.05em;
}

.quoteblock.abstract
{
    display: block;
    margin: 0 0 1.25em 0;
}

.quoteblock.abstract blockquote,
.quoteblock.abstract blockquote p
{
    text-align: left;
    word-spacing: 0;
}

.quoteblock.abstract blockquote:before,
.quoteblock.abstract blockquote p:first-of-type:before
{
    display: none;
}

table.tableblock
{
    max-width: 100%;
    border-collapse: separate;
}

table.tableblock td > .paragraph:last-child p > p:last-child,
table.tableblock td > p:last-child,
table.tableblock th > p:last-child
{
    margin-bottom: 0;
}

table.spread
{
    width: 100%;
}

table.tableblock,
td.tableblock,
th.tableblock
{
    border: 0 solid #dedede;
}

table.grid-all td.tableblock,
table.grid-all th.tableblock
{
    border-width: 0 1px 1px 0;
}

table.grid-all tfoot > tr > td.tableblock,
table.grid-all tfoot > tr > th.tableblock
{
    border-width: 1px 1px 0 0;
}

table.grid-cols td.tableblock,
table.grid-cols th.tableblock
{
    border-width: 0 1px 0 0;
}

table.grid-all * > tr > .tableblock:last-child,
table.grid-cols * > tr > .tableblock:last-child
{
    border-right-width: 0;
}

table.grid-rows td.tableblock,
table.grid-rows th.tableblock
{
    border-width: 0 0 1px 0;
}

table.grid-all tbody > tr:last-child > td.tableblock,
table.grid-all tbody > tr:last-child > th.tableblock,
table.grid-all thead:last-child > tr > th.tableblock,
table.grid-rows tbody > tr:last-child > td.tableblock,
table.grid-rows tbody > tr:last-child > th.tableblock,
table.grid-rows thead:last-child > tr > th.tableblock
{
    border-bottom-width: 0;
}

table.grid-rows tfoot > tr > td.tableblock,
table.grid-rows tfoot > tr > th.tableblock
{
    border-width: 1px 0 0 0;
}

table.frame-all
{
    border-width: 1px;
}

table.frame-sides
{
    border-width: 0 1px;
}

table.frame-topbot
{
    border-width: 1px 0;
}

td.halign-left,
th.halign-left
{
    text-align: left;
}

td.halign-right,
th.halign-right
{
    text-align: right;
}

td.halign-center,
th.halign-center
{
    text-align: center;
}

td.valign-top,
th.valign-top
{
    vertical-align: top;
}

td.valign-bottom,
th.valign-bottom
{
    vertical-align: bottom;
}

td.valign-middle,
th.valign-middle
{
    vertical-align: middle;
}

table tfoot th,
table thead th
{
    font-weight: bold;
}

tbody tr th
{
    display: table-cell;
    background: #f7f8f7;
    line-height: 1.6;
}

tbody tr th,
tbody tr th p,
tfoot tr th,
tfoot tr th p
{
    color: rgba(0,0,0,.8);
    font-weight: bold;
}

p.tableblock > code:only-child
{
    padding: 0;
    background: none;
}

td > div.verse
{
    white-space: pre;
}

ol
{
    margin-left: 1.75em;
}

ul li ol
{
    margin-left: 1.5em;
}

dl dd
{
    margin-left: 1.125em;
}

dl dd:last-child,
dl dd:last-child > :last-child
{
    margin-bottom: 0;
}

.olist .olist,
.olist .ulist,
.ulist .olist,
.ulist .ulist,
ol > li p,
ol dd,
ul > li p,
ul dd
{
    margin-bottom: .625em;
}

ol.unnumbered,
ul.checklist,
ul.none,
ul.unstyled
{
    list-style-type: none;
}

ol.unnumbered,
ul.checklist,
ul.unstyled
{
    margin-left: .625em;
}

ul.checklist li > p:first-child > .fa-check-square-o:first-child,
ul.checklist li > p:first-child > input[type='checkbox']:first-child
{
    margin-right: .25em;
}

ul.checklist li > p:first-child > input[type='checkbox']:first-child
{
    position: relative;
    top: 1px;
}

ul.inline
{
    margin: 0 auto .625em auto;
    margin-right: 0;
    margin-left: -1.375em;
    padding: 0;
}

ul.inline > li
{
    display: block;
    float: left;
    margin-left: 1.375em;
    list-style: none;
}

ul.inline > li > *
{
    display: block;
}

.unstyled dl dt
{
    font-weight: 400;
    font-style: normal;
}

ol.arabic
{
    list-style-type: decimal;
}

ol.decimal
{
    list-style-type: decimal-leading-zero;
}

ol.loweralpha
{
    list-style-type: lower-alpha;
}

ol.upperalpha
{
    list-style-type: upper-alpha;
}

ol.lowerroman
{
    list-style-type: lower-roman;
}

ol.upperroman
{
    list-style-type: upper-roman;
}

ol.lowergreek
{
    list-style-type: lower-greek;
}

.colist > table,
.hdlist > table
{
    border: 0;
    background: none;
}

.colist > table > tbody>tr,
.hdlist > table > tbody > tr
{
    background: none;
}

td.hdlist1
{
    padding-right: .75em;
    font-weight: bold;
}

td.hdlist1,
td.hdlist2
{
    vertical-align: top;
}

.listingblock + .colist,
.literalblock + .colist
{
    margin-top: -.5em;
}

.colist > table tr > td:first-of-type
{
    padding: 0 .75em;
    line-height: 1;
}

.colist > table tr > td:last-of-type
{
    padding: .25em 0;
}

.th,
.thumb
{
    display: inline-block;
    border: solid 4px #fff;
    -webkit-box-shadow: 0 0 0 1px #ddd;
            box-shadow: 0 0 0 1px #ddd;
    line-height: 0;
}

.imageblock.left,
.imageblock[style*='float: left']
{
    margin: .25em .625em 1.25em 0;
}

.imageblock.right,
.imageblock[style*='float: right']
{
    margin: .25em 0 1.25em .625em;
}

.imageblock > .title
{
    margin-bottom: 0;
}

.imageblock.th,
.imageblock.thumb
{
    border-width: 6px;
}

.imageblock.th > .title,
.imageblock.thumb > .title
{
    padding: 0 .125em;
}

.image.left,
.image.right
{
    display: inline-block;
    margin-top: .25em;
    margin-bottom: .25em;
    line-height: 0;
}

.image.left
{
    margin-right: .625em;
}

.image.right
{
    margin-left: .625em;
}

a.image
{
    text-decoration: none;
}

span.footnote,
span.footnoteref
{
    vertical-align: super;
    font-size: .875em;
}

span.footnote a,
span.footnoteref a
{
    text-decoration: none;
}

span.footnote a:active,
span.footnoteref a:active
{
    text-decoration: underline;
}

#footnotes
{
    margin-bottom: .625em;
    padding-top: .75em;
    padding-bottom: .75em;
}

#footnotes hr
{
    margin: -.25em 0 .75em 0;
    min-width: 6.25em;
    width: 20%;
    border-width: 1px 0 0 0;
}

#footnotes .footnote
{
    margin-bottom: .2em;
    margin-left: 1.2em;
    padding: 0 .375em;
    text-indent: -1.2em;
    font-size: .875em;
    line-height: 1.3;
}

#footnotes .footnote a:first-of-type
{
    text-decoration: none;
    font-weight: bold;
}

#footnotes .footnote:last-of-type
{
    margin-bottom: 0;
}

#content #footnotes
{
    margin-top: -.625em;
    margin-bottom: 0;
    padding: .75em 0;
}

.gist .file-data > table
{
    margin-bottom: 0;
    width: 100%;
    border: 0;
    background: #fff;
}

.gist .file-data > table td.line-data
{
    width: 99%;
}

div.unbreakable
{
    page-break-inside: avoid;
}

.big
{
    font-size: larger;
}

.small
{
    font-size: smaller;
}

.underline
{
    text-decoration: underline;
}

.overline
{
    text-decoration: overline;
}

.line-through
{
    text-decoration: line-through;
}

.aqua
{
    color: #00bfbf;
}

.aqua-background
{
    background-color: #00fafa;
}

.black
{
    color: #000;
}

.black-background
{
    background-color: #000;
}

.blue
{
    color: #0000bf;
}

.blue-background
{
    background-color: #0000fa;
}

.fuchsia
{
    color: #bf00bf;
}

.fuchsia-background
{
    background-color: #fa00fa;
}

.gray
{
    color: #606060;
}

.gray-background
{
    background-color: #7d7d7d;
}

.green
{
    color: #006000;
}

.green-background
{
    background-color: #007d00;
}

.lime
{
    color: #00bf00;
}

.lime-background
{
    background-color: #00fa00;
}

.maroon
{
    color: #600000;
}

.maroon-background
{
    background-color: #7d0000;
}

.navy
{
    color: #000060;
}

.navy-background
{
    background-color: #00007d;
}

.olive
{
    color: #606000;
}

.olive-background
{
    background-color: #7d7d00;
}

.purple
{
    color: #600060;
}

.purple-background
{
    background-color: #7d007d;
}

.red
{
    color: #bf0000;
}

.red-background
{
    background-color: #fa0000;
}

.silver
{
    color: #909090;
}

.silver-background
{
    background-color: #bcbcbc;
}

.teal
{
    color: #006060;
}

.teal-background
{
    background-color: #007d7d;
}

.white
{
    color: #bfbfbf;
}

.white-background
{
    background-color: #fafafa;
}

.yellow
{
    color: #bfbf00;
}

.yellow-background
{
    background-color: #fafa00;
}

span.icon > .fa
{
    cursor: default;
}


.admonitionblock td.icon [class^='fa icon-']
{
    text-shadow: 1px 1px 2px rgba(0,0,0,.5);
    font-size: 2.5em;
    cursor: default;
}

/* font awesome icon info-circle: http://fontawesome.io/icon/info-circle/ */
.admonitionblock td.icon .icon-note:before
{
    color: #19407c;
    content: '\f05a';
}

/* font awesome icon lightbulb-o: http://fontawesome.io/icon/lightbulb-o/ */
.admonitionblock td.icon .icon-tip:before
{
    color: #428b30;
    content: '\f0eb';
    text-shadow: 1px 1px 2px rgba(155,155,0,.8);
}

/* font awesome icon exclamation-triangle: http://fontawesome.io/icon/exclamation-triangle/ */
.admonitionblock td.icon .icon-warning:before
{
    color: #bf0000;
    content: '\f071';
}

/* font awesome icon fire: http://fontawesome.io/icon/fire/ */
.admonitionblock td.icon .icon-caution:before
{
    color: #bf6900;
    content: '\f06d';
}

/* font awesome icon bolt: http://fontawesome.io/icon/bolt/ */
.admonitionblock td.icon .icon-important:before
{
    color: #eeea74;
    content: '\f0e7';
}

.conum[data-value]
{
    display: inline-block;
    width: 1.67em;
    height: 1.67em;
    -webkit-border-radius: 100px;
            border-radius: 100px;
    background-color: rgba(0,0,0,.8);
    color: #fff!important;
    text-align: center;
    font-weight: bold;
    font-style: normal;
    font-size: .75em;
    font-family: 'Noto Sans', sans-serif;
    line-height: 1.67em;
}

.conum[data-value] *
{
    color: #fff!important;
}

.conum[data-value] + b
{
    display: none;
}

.conum[data-value]:after
{
    content: attr(data-value);
}

pre .conum[data-value]
{
    position: relative;
    top: -.125em;
}

b.conum *
{
    color: inherit!important;
}

.conum:not([data-value]):empty
{
    display: none;
}


p,
td.content
{
    letter-spacing: -.01em;
}

p strong,
td.content strong
{
    letter-spacing: -.005em;
}

blockquote,
dt,
p,
td.content
{
    font-size: 1.0625rem;
}

p
{
    margin-bottom: 1.25rem;
}

.sidebarblock dt,
.sidebarblock p,
.sidebarblock td.content,
p.tableblock
{
    font-size: 1em;
}

.exampleblock > .content
{
    border-color: #e0e0dc;
    background-color: #fffef7;
    -webkit-box-shadow: 0 1px 4px #e0e0dc;
            box-shadow: 0 1px 4px #e0e0dc;
}

.print-only
{
    display: none!important;
}

@media print
{
    @page
    {
        margin: 1.25cm .75cm;
    }

    *
    {
        -webkit-box-shadow: none!important;
                box-shadow: none!important;
        text-shadow: none!important;
    }

    a
    {
        color: inherit!important;
        text-decoration: underline!important;
    }

    a.bare,
    a[href^='#'],
    a[href^='mailto:']
    {
        text-decoration: none!important;
    }

    a[href^='http:']:not(.bare):after,
    a[href^='https:']:not(.bare):after
    {
        display: inline-block;
        padding-left: .25em;
        content: '(' attr(href) ')';
        font-size: .875em;
    }

    abbr[title]:after
    {
        content: ' (' attr(title) ')';
    }

    blockquote,
    img,
    pre,
    tr
    {
        page-break-inside: avoid;
    }

    thead
    {
        display: table-header-group;
    }

    img
    {
        max-width: 100%!important;
    }

    blockquote,
    dt,
    p,
    td.content
    {
        font-size: 1em;
        orphans: 3;
        widows: 3;
    }

    #toc,
    .exampleblock > .content,
    .sidebarblock
    {
        background: none!important;
    }

    #toc
    {
        padding-bottom: 0!important;
        border-bottom: 1px solid #ddddd8!important;
    }

    .sect1
    {
        padding-bottom: 0!important;
    }

    .sect1 + .sect1
    {
        border: 0!important;
    }

    #header > h1:first-child
    {
        margin-top: 1.25rem;
    }

    body.book #header
    {
        text-align: center;
    }

    body.book #header > h1:first-child
    {
        margin: 2.5em 0 1em 0;
        border: 0!important;
    }

    body.book #header .details
    {
        display: block;
        padding: 0!important;
        border: 0!important;
    }

    body.book #header .details span:first-child
    {
        margin-left: 0!important;
    }

    body.book #header .details br
    {
        display: block;
    }

    body.book #header .details br + span:before
    {
        content: none!important;
    }

    body.book #toc
    {
        margin: 0!important;
        padding: 0!important;
        border: 0!important;
        text-align: left!important;
    }

    body.book #preamble,
    body.book #toc,
    body.book .sect1 > h2,
    body.book h1.sect0
    {
        page-break-before: always;
    }

    .listingblock code[data-lang]:before
    {
        display: block;
    }

    #footer
    {
        padding: 0 .9375em;
        background: none!important;
    }

    #footer-text
    {
        color: rgba(0,0,0,.6)!important;
        font-size: .9em;
    }

    .hide-on-print
    {
        display: none!important;
    }

    .print-only
    {
        display: block!important;
    }

    .hide-for-print
    {
        display: none!important;
    }

    .show-for-print
    {
        display: inherit!important;
    }
}
