
/*=============================================================================
Copyright (c) 2004 Joel de Guzman
http://spirit.sourceforge.net/

Copyright 2013 Niall Douglas additions for colors and alignment.
Copyright 2013 Paul A. Bristow additions for more colors and alignments.
Copyright 2017 Tom Westerhout font fixes to support Sphinx

Distributed under the Boost Software License, Version 1.0. (See accompany-
ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/

/*=============================================================================
Body defaults
=============================================================================*/

    body
    {
        margin: 1em;
        font-size: 16px;
        font-family: sans-serif;
    }

/*=============================================================================
Paragraphs
=============================================================================*/

    p, div.document, div.footer
    {
        text-align: left;
        font-size: 10pt;
        line-height: 1.15;
    }

/*=============================================================================
Program listings
=============================================================================*/

    /* Code on paragraphs */
    p tt.computeroutput
    {
        font-size: 9pt;
    }

    pre.synopsis
    {
        font-size: 9pt;
        margin: 1pc 4% 0pc 4%;
        padding: 0.5pc 0.5pc 0.5pc 0.5pc;
    }

    div.highlight,
    .programlisting,
    .screen
    {
        font-size: 9pt;
        display: block;
        margin: 1pc 4% 0pc 4%;
        padding: 0.5pc 0.5pc 0.5pc 0.5pc;
    }

    /* Program listings in tables don't get borders */
    td .programlisting,
    td .screen
    {
        margin: 0pc 0pc 0pc 0pc;
        padding: 0pc 0pc 0pc 0pc;
    }

/*=============================================================================
Headings
=============================================================================*/

    h1, h2, h3, h4, h5, h6
    {
        text-align: left;
        margin: 1em 0em 0.5em 0em;
        font-weight: bold;
    }

    h1 { font-size: 140%; }
    h2 { font-weight: bold; font-size: 140%; }
    h3 { font-weight: bold; font-size: 130%; }
    h4 { font-weight: bold; font-size: 120%; }
    h5 { font-weight: normal; font-style: italic; font-size: 110%; }
    h6 { font-weight: normal; font-style: italic; font-size: 100%; }

    /* Top page titles */
    title,
    h1.title,
    h2.title
    h3.title,
    h4.title,
    h5.title,
    h6.title,
    .refentrytitle
    {
        font-weight: bold;
        margin-bottom: 1pc;
    }

    h1.title { font-size: 140% }
    h2.title { font-size: 140% }
    h3.title { font-size: 130% }
    h4.title { font-size: 120% }
    h5.title { font-size: 110% }
    h6.title { font-size: 100% }

    .section h1
    {
        margin: 0em 0em 0.5em 0em;
        font-size: 140%;
    }

    .section h2 { font-size: 140% }
    .section h3 { font-size: 130% }
    .section h4 { font-size: 120% }
    .section h5 { font-size: 110% }
    .section h6 { font-size: 100% }

    /* Code on titles */
    h1 tt.computeroutput { font-size: 140% }
    h2 tt.computeroutput { font-size: 140% }
    h3 tt.computeroutput { font-size: 130% }
    h4 tt.computeroutput { font-size: 130% }
    h5 tt.computeroutput { font-size: 130% }
    h6 tt.computeroutput { font-size: 130% }


/*=============================================================================
Author
=============================================================================*/

    h3.author
    {
        font-size: 100%
    }

/*=============================================================================
Lists
=============================================================================*/

    li
    {
        font-size: 10pt;
        line-height: 1.3;
    }

    /* Unordered lists */
    ul
    {
        text-align: left;
    }

    /* Ordered lists */
    ol
    {
        text-align: left;
    }

/*=============================================================================
Links
=============================================================================*/

    a
    {
        text-decoration: none; /* no underline */
    }

    a:hover
    {
        text-decoration: underline;
    }

/*=============================================================================
Spirit style navigation
=============================================================================*/

    .spirit-nav
    {
        text-align: right;
    }

    .spirit-nav a
    {
        color: white;
        padding-left: 0.5em;
    }

    .spirit-nav img
    {
        border-width: 0px;
    }

/*=============================================================================
Copyright footer
=============================================================================*/
    .copyright-footer
    {
        text-align: right;
        font-size: 70%;
    }

    .copyright-footer p
    {
        text-align: right;
        font-size: 80%;
    }

/*=============================================================================
Table of contents
=============================================================================*/

    div.toc
    {
       margin: 1pc 4% 0pc 4%;
       padding: 0.1pc 1pc 0.1pc 1pc;
       font-size: 80%;
       line-height: 1.15;
    }

    .boost-toc
    {
       float: right;
       padding: 0.5pc;
    }

    /* Code on toc */
    .toc .computeroutput { font-size: 120% }

    /* No margin on nested menus */

    .toc dl dl { margin: 0; }

/*=============================================================================
Tables
=============================================================================*/

    .table-title,
    div.table p.title
    {
        margin-left: 4%;
        padding-right: 0.5em;
        padding-left: 0.5em;
    }

    .informaltable table,
    .table table
    {
        width: 92%;
        margin-left: 4%;
        margin-right: 4%;
    }

    div.informaltable table,
    div.table table
    {
        padding: 4px;
    }

    /* Table Cells */
    div.informaltable table tr td,
    div.table table tr td
    {
        padding: 0.5em;
        text-align: left;
        font-size: 9pt;
    }

    div.informaltable table tr th,
    div.table table tr th
    {
        padding: 0.5em 0.5em 0.5em 0.5em;
        border: 1pt solid white;
        font-size: 80%;
    }

    table.simplelist
    {
        width: auto !important;
        margin: 0em !important;
        padding: 0em !important;
        border: none !important;
    }
    table.simplelist td
    {
        margin: 0em !important;
        padding: 0em !important;
        text-align: left !important;
        font-size: 9pt !important;
        border: none !important;
    }

/*=============================================================================
Suppress margins in tables
=============================================================================*/

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

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

/*=============================================================================
Blurbs
=============================================================================*/

    div.note,
    div.tip,
    div.important,
    div.caution,
    div.warning,
    div.blurb,
    p.blurb
    {
        font-size: 9pt; /* A little bit smaller than the main text */
        line-height: 1.2;
        display: block;
        margin: 1pc 4% 0pc 4%;
        padding: 0.5pc 0.5pc 0.5pc 0.5pc;
    }

    div.blurb img,
    p.blurb img
    {
        padding: 1pt;
    }

/*=============================================================================
Variable Lists
=============================================================================*/

    div.variablelist
    {
        margin: 1em 0;
    }

    /* Make the terms in definition lists bold */
    div.variablelist dl dt,
    span.term
    {
        font-weight: bold;
        font-size: 10pt;
    }

    div.variablelist table tbody tr td
    {
        text-align: left;
        vertical-align: top;
        padding: 0em 2em 0em 0em;
        font-size: 10pt;
        margin: 0em 0em 0.5em 0em;
        line-height: 1;
    }

    div.variablelist dl dt
    {
        margin-bottom: 0.2em;
    }

    div.variablelist dl dd
    {
        margin: 0em 0em 0.5em 2em;
        font-size: 10pt;
    }

    div.variablelist table tbody tr td p,
    div.variablelist dl dd p
    {
        margin: 0em 0em 0.5em 0em;
        line-height: 1;
    }

/*=============================================================================
Misc
=============================================================================*/

    /* Title of books and articles in bibliographies */
    span.title
    {
        font-style: italic;
    }

    span.underline
    {
        text-decoration: underline;
    }

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

    /* Copyright, Legal Notice */
    div div.legalnotice p
    {
        text-align: left
    }

/*=============================================================================
Colors
=============================================================================*/

    @media screen
    {
        body {
            background-color: #FFFFFF;
            color: #000000;
        }

    /* Syntax Highlighting */
        .property,
        .highlight .k,
        .highlight .kc,
        .highlight .kd,
        .highlight .kn,
        .highlight .kp,
        .highlight .kr,
        .highlight .kt,
        .keyword { color: #0000AA; }

        .highlight .n,
        .highlight .na,
        .highlight .nb,
        .highlight .bp,
        .highlight .nc,
        .highlight .no,
        .highlight .nd,
        .highlight .ni,
        .highlight .ne,
        .highlight .nf,
        .highlight .py,
        .highlight .nl,
        .highlight .nn,
        .highlight .nx,
        .highlight .nt,
        .highlight .nv,
        .highlight .vc,
        .highlight .vg,
        .highlight .vi,
        .identifier { color: #000000; }

        .special { color: #707070; }

        .highlight .cp,
        .preprocessor { color: #402080; }

        .highlight .sc
        .char { color: teal; }

        .highlight .c,
        .highlight .ch,
        .highlight .cm,
        .highlight .cp,
        .highlight .cpf,
        .highlight .c1,
        .highlight .cs,
        .highlight .sd,
        .highlight .sh,
        .comment { color: #800000; }

        .highlight .s,
        .highlight .sa,
        .highlight .sb,
        .highlight .dl,
        .highlight .s2,
        .highlight .se,
        .highlight .si,
        .highlight .sx,
        .highlight .sr,
        .highlight .s1,
        .highlight .ss,
        .string { color: teal; }

        .highlight .m,
        .highlight .mf,
        .highlight .mh,
        .highlight .mi,
        .highlight .mo,
        .number { color: teal; }

        .highlight,
        .white_bkd { background-color: #FFFFFF; }

        .highlight .hll,
        .dk_grey_bkd { background-color: #999999; }

    /* Links */
        a, a .keyword, a .identifier, a .special, a .preprocessor
        a .char, a .comment, a .string, a .number
        {
            color: #005a9c;
        }

        a:visited, a:visited .keyword, a:visited .identifier,
        a:visited .special, a:visited .preprocessor a:visited .char,
        a:visited .comment, a:visited .string, a:visited .number
        {
            color: #9c5a9c;
        }

        h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
        h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
        h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
        {
            text-decoration: none; /* no underline */
            color: #000000;
        }

    /* Copyright, Legal Notice */
        .copyright
        {
            color: #666666;
            font-size: small;
        }

        div div.legalnotice p
        {
            color: #666666;
        }

    /* Program listing */
        pre.synopsis
        {
            border: 1px solid #DCDCDC;
        }

        div.highlight,
        .programlisting,
        .screen
        {
            border: 1px solid #DCDCDC;
        }

        td .programlisting,
        td .screen
        {
            border: 0px solid #DCDCDC;
        }

    /* Blurbs */
        div.note,
        div.tip,
        div.important,
        div.caution,
        div.warning,
        div.blurb,
        p.blurb
        {
            border: 1px solid #DCDCDC;
        }

    /* Table of contents */
        div.toc
        {
            border: 1px solid #DCDCDC;
        }

    /* Tables */
        div.informaltable table tr td,
        div.table table tr td
        {
            border: 1px solid #DCDCDC;
        }

        div.informaltable table tr th,
        div.table table tr th
        {
            background-color: #F0F0F0;
            border: 1px solid #DCDCDC;
        }

        .copyright-footer
        {
            color: #8F8F8F;
        }

    /* Misc */
        span.highlight
        {
            color: #00A000;
        }
    }

    @media print
    {
    /* Links */
        a
        {
            color: black;
        }

        a:visited
        {
            color: black;
        }

        .spirit-nav
        {
            display: none;
        }

    /* Program listing */
        pre.synopsis
        {
            border: 1px solid gray;
        }

        div.highlight,
        .programlisting,
        .screen
        {
            border: 1px solid gray;
        }

        td .programlisting,
        td .screen
        {
            border: 0px solid #DCDCDC;
        }

    /* Table of contents */
        div.toc
        {
            border: 1px solid gray;
        }

        .informaltable table,
        .table table
        {
            border: 1px solid gray;
            border-collapse: collapse;
        }

    /* Tables */
        div.informaltable table tr td,
        div.table table tr td
        {
            border: 1px solid gray;
        }

        div.informaltable table tr th,
        div.table table tr th
        {
            border: 1px solid gray;
        }

        table.simplelist tr td
        {
            border: none !important;
        }

    /* Misc */
        span.highlight
        {
            font-weight: bold;
        }
    }

/*=============================================================================
Images
=============================================================================*/

    span.inlinemediaobject img
    {
        vertical-align: middle;
    }

/*==============================================================================
Super and Subscript: style so that line spacing isn't effected, see
http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=1&postId=5341
==============================================================================*/

sup,
sub {
height: 0;
line-height: 1;
vertical-align: baseline;
position: relative;

}

/* For internet explorer: */

* html sup,
* html sub {
vertical-align: bottom;
}

sup {
bottom: 1ex;
}

sub {
top: .5ex;
}

/*==============================================================================
Indexes: pretty much the same as the TOC.
==============================================================================*/

    .index
    {
       font-size: 80%;
       padding-top: 0px;
       padding-bottom: 0px;
       margin-top: 0px;
       margin-bottom: 0px;
       margin-left: 0px;
    }

    .index ul
    {
       padding-left: 3em;
    }

    .index p
    {
       padding: 2px;
       margin: 2px;
    }

    .index-entry-level-0
    {
        font-weight: bold;
    }

    .index em
    {
        font-weight: bold;
    }


/*==============================================================================
Alignment and coloring use 'role' feature, available from Quickbook 1.6 up.
Added from Niall Douglas for role color and alignment.
http://article.gmane.org/gmane.comp.lib.boost.devel/243318
*/

/* Add text alignment (see http://www.w3schools.com/cssref/pr_text_text-align.asp) */
span.aligncenter
{
  display: inline-block; width: 100%; text-align: center;
}
span.alignright
{
  display: inline-block; width: 100%; text-align: right;
}
/* alignleft is the default. */
span.alignleft
{
  display: inline-block; width: 100%; text-align: left;
}

/* alignjustify stretches the word spacing so that each line has equal width
within a chosen fraction of page width (here arbitrarily 20%).
*Not* useful inside table items as the column width remains the total string width.
Nor very useful, except to temporarily restrict the width.
*/
span.alignjustify
{
  display: inline-block; width: 20%; text-align: justify;
}

/* Text colors.
Names at http://www.w3.org/TR/2002/WD-css3-color-20020219/ 4.3. X11 color keywords.
Quickbook Usage: [role red Some red text]

*/
span.red { inline-block; color: red; }
span.green { color: green; }
span.lime { color: #00FF00; }
span.blue { color: blue; }
span.navy { color: navy; }
span.yellow { color: yellow; }
span.magenta { color: magenta; }
span.indigo { color: #4B0082; }
span.cyan { color: cyan; }
span.purple { color: purple; }
span.gold { color: gold; }
span.silver { color: silver; } /* lighter gray */
span.gray { color: #808080; } /* light gray */
