/*
 * rtd.css
 * ~~~~~~~~~~~~~~~
 *
 * Sphinx stylesheet -- sphinxdoc theme.  Originally created by
 * Armin Ronacher for Werkzeug.
 *
 * Customized for ReadTheDocs by Eric Pierce & Eric Holscher
 *
 * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
 * :license: BSD, see LICENSE for details.
 *
 */

/* RTD colors
 * light blue: {{ theme_light_color }}
 * medium blue: {{ theme_medium_color }}
 * dark blue: {{ theme_dark_color }}
 * dark grey: {{ theme_grey_color }}
 *
 * medium blue hover: {{ theme_medium_color_hover }};
 * green highlight: {{ theme_green_highlight }}
 * light blue (project bar): {{ theme_light_color }}
 */

@import url("basic.css");

/* PAGE LAYOUT -------------------------------------------------------------- */

body {
    font: 100%/1.5 "ff-meta-web-pro-1","ff-meta-web-pro-2",Arial,"Helvetica Neue",sans-serif;
    text-align: center;
    color: black;
    background-color: {{ theme_background }};
    padding: 0;
    margin: 0;
}

div.document {
    text-align: left;
    background-color: {{ theme_light_color }};
}

div.bodywrapper {
    background-color: {{ theme_white }};
    border-left: 1px solid {{ theme_lighter_gray }};
    border-bottom: 1px solid {{ theme_lighter_gray }};
    margin: 0 0 0 16em;
}

div.body {
    margin: 0;
    padding: 0.5em 1.3em;
    max-width: 55em;
    min-width: 20em;
}

div.related {
    font-size: 1em;
    background-color: {{ theme_background }};
}

div.documentwrapper {
    float: left;
    width: 100%;
    background-color: {{ theme_light_color }};
}


/* HEADINGS --------------------------------------------------------------- */

h1 {
    margin: 0;
    padding: 0.7em 0 0.3em 0;
    font-size: 1.5em;
    line-height: 1.15;
    color: {{ theme_h1 }};
    clear: both;
}

h2 {
    margin: 2em 0 0.2em 0;
    font-size: 1.35em;
    padding: 0;
    color: {{ theme_h2 }};
}

h3 {
    margin: 1em 0 -0.3em 0;
    font-size: 1.2em;
    color: {{ theme_h3 }};
}

div.body h1 a, div.body h2 a, div.body h3 a, div.body h4 a, div.body h5 a, div.body h6 a {
    color: black;
}

h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor {
    display: none;
    margin: 0 0 0 0.3em;
    padding: 0 0.2em 0 0.2em;
    color: {{ theme_gray_a }} !important;
}

h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor,
h5:hover a.anchor, h6:hover a.anchor {
    display: inline;
}

h1 a.anchor:hover, h2 a.anchor:hover, h3 a.anchor:hover, h4 a.anchor:hover,
h5 a.anchor:hover, h6 a.anchor:hover {
    color: {{ theme_gray_7 }};
    background-color: {{ theme_dirty_white }};
}


/* LINKS ------------------------------------------------------------------ */

/* Normal links get a pseudo-underline */
a {
    color: {{ theme_link_color }};
    text-decoration: none;
    border-bottom: 1px solid {{ theme_link_color_decoration }};
}

/* Links in sidebar, TOC, index trees and tables have no underline */
.sphinxsidebar a,
.toctree-wrapper a,
.indextable a,
#indices-and-tables a {
    color: {{ theme_dark_gray }};
    text-decoration: none;
    border-bottom: none;
}

/* Most links get an underline-effect when hovered */
a:hover,
div.toctree-wrapper a:hover,
.indextable a:hover,
#indices-and-tables a:hover {
    color: {{ theme_black }};
    text-decoration: none;
    border-bottom: 1px solid {{ theme_black }};
}

/* Footer links */
div.footer a {
    color: {{ theme_background_text_link }};
    text-decoration: none;
    border: none;
}
div.footer a:hover {
    color: {{ theme_medium_color_link_hover }};
    text-decoration: underline;
    border: none;
}

/* Permalink anchor (subtle grey with a red hover) */
div.body a.headerlink {
    color: {{ theme_lighter_gray }};
    font-size: 1em;
    margin-left: 6px;
    padding: 0 4px 0 4px;
    text-decoration: none;
    border: none;
}
div.body a.headerlink:hover {
    color: {{ theme_negative_text }};
    border: none;
}


/* NAVIGATION BAR --------------------------------------------------------- */

div.related ul {
    height: 2.5em;
}

div.related ul li {
    margin: 0;
    padding: 0.65em 0;
    float: left;
    display: block;
    color: {{ theme_background_link_half }}; /* For the >> separators */
    font-size: 0.8em;
}

div.related ul li.right {
    float: right;
    margin-right: 5px;
    color: transparent; /* Hide the | separators */
}

/* "Breadcrumb" links in nav bar */
div.related ul li a {
    order: none;
    background-color: inherit;
    font-weight: bold;
    margin: 6px 0 6px 4px;
    line-height: 1.75em;
    color: {{ theme_background_link }};
    text-shadow: 0 1px rgba(0, 0, 0, 0.5);
    padding: 0.4em 0.8em;
    border: none;
    border-radius: 3px;
}
/* previous / next / modules / index links look more like buttons */
div.related ul li.right a {
    margin: 0.375em 0;
    background-color: {{ theme_medium_color_hover }};
    text-shadow: 0 1px rgba(0, 0, 0, 0.5);
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}
/* All navbar links light up as buttons when hovered */
div.related ul li a:hover {
    background-color: {{ theme_medium_color }};
    color: {{ theme_white }};
    text-decoration: none;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}
/* Take extra precautions for tt within links */
a tt,
div.related ul li a tt {
    background: inherit !important;
    color: inherit !important;
}


/* SIDEBAR ---------------------------------------------------------------- */

div.sphinxsidebarwrapper {
    padding: 0;
}

div.sphinxsidebar {
    margin: 0;
    margin-left: -100%;
    float: left;
    top: 3em;
    left: 0;
    padding: 0 1em;
    width: 14em;
    font-size: 1em;
    text-align: left;
    background-color: {{ theme_light_color }};
}

div.sphinxsidebar img {
    max-width: 12em;
}

div.sphinxsidebar h3, div.sphinxsidebar h4 {
    margin: 1.2em 0 0.3em 0;
    font-size: 1em;
    padding: 0;
    color: {{ theme_gray_2 }};
    font-family: "ff-meta-web-pro-1", "ff-meta-web-pro-2", "Arial", "Helvetica Neue", sans-serif;
}

div.sphinxsidebar h3 a {
    color: {{ theme_grey_color }};
}

div.sphinxsidebar ul,
div.sphinxsidebar p {
    margin-top: 0;
    padding-left: 0;
    line-height: 130%;
    background-color: {{ theme_light_color }};
}

/* No bullets for nested lists, but a little extra indentation */
div.sphinxsidebar ul ul {
    list-style-type: none;
    margin-left: 1.5em;
    padding: 0;
}

/* A little top/bottom padding to prevent adjacent links' borders
 * from overlapping each other */
div.sphinxsidebar ul li {
    padding: 1px 0;
}

/* A little left-padding to make these align with the ULs */
div.sphinxsidebar p.topless {
    padding-left: 0 0 0 1em;
}

/* Make these into hidden one-liners */
div.sphinxsidebar ul li,
div.sphinxsidebar p.topless {
    white-space: nowrap;
    overflow: hidden;
}
/* ...which become visible when hovered */
div.sphinxsidebar ul li:hover,
div.sphinxsidebar p.topless:hover {
    overflow: visible;
}

/* Search text box and "Go" button */
#searchbox {
    margin-top: 2em;
    margin-bottom: 1em;
    background: {{ theme_dirtier_white }};
    padding: 0.5em;
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
}
#searchbox h3 {
    margin-top: 0;
}

/* Make search box and button abut and have a border */
input,
div.sphinxsidebar input {
    border: 1px solid {{ theme_gray_9 }};
    float: left;
}

/* Search textbox */
input[type="text"] {
    margin: 0;
    padding: 0 3px;
    height: 20px;
    width: 144px;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    -moz-border-radius-topleft: 3px;
    -moz-border-radius-bottomleft: 3px;
    -webkit-border-top-left-radius: 3px;
    -webkit-border-bottom-left-radius: 3px;
}
/* Search button */
input[type="submit"] {
    margin: 0 0 0 -1px; /* -1px prevents a double-border with textbox */
    height: 22px;
    color: {{ theme_dark_gray }};
    background-color: {{ theme_light_color }};
    padding: 1px 4px;
    font-weight: bold;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    -moz-border-radius-topright: 3px;
    -moz-border-radius-bottomright: 3px;
    -webkit-border-top-right-radius: 3px;
    -webkit-border-bottom-right-radius: 3px;
}
input[type="submit"]:hover {
    color: {{ theme_white }};
    background-color: {{ theme_green_highlight }};
}

div.sphinxsidebar p.searchtip {
    clear: both;
    padding: 0.5em 0 0 0;
    background: {{ theme_dirtier_white }};
    color: {{ theme_gray }};
    font-size: 0.9em;
}

/* Sidebar links are unusual */
div.sphinxsidebar li a,
div.sphinxsidebar p a {
    background: {{ theme_light_color }}; /* In case links overlap main content */
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border: 1px solid transparent; /* To prevent things jumping around on hover */
    padding: 0 5px 0 5px;
}
div.sphinxsidebar li a:hover,
div.sphinxsidebar p a:hover {
    color: {{ theme_black }};
    text-decoration: none;
    border: 1px solid {{ theme_light_gray }};
}

/* Tweak any link appearing in a heading */
div.sphinxsidebar h3 a {
}




/* OTHER STUFF ------------------------------------------------------------ */

cite, code, tt {
    font-family: 'Consolas', 'Deja Vu Sans Mono',
                 'Bitstream Vera Sans Mono', monospace;
    font-size: 0.95em;
    letter-spacing: 0.01em;
}

tt {
    background-color: {{ theme_code_background }};
    color: {{ theme_dark_gray }};
}

tt.descname, tt.descclassname, tt.xref {
    border: 0;
}

hr {
    border: 1px solid {{ theme_ruler }};
    margin: 2em;
}

pre, #_fontwidthtest {
    font-family: 'Consolas', 'Deja Vu Sans Mono',
                 'Bitstream Vera Sans Mono', monospace;
    margin: 1em 2em;
    font-size: 0.95em;
    letter-spacing: 0.015em;
    line-height: 120%;
    padding: 0.5em;
    border: 1px solid {{ theme_lighter_gray }};
    background-color: {{ theme_code_background }};
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
}

pre a {
    color: inherit;
    text-decoration: underline;
}

td.linenos pre {
    padding: 0.5em 0;
}

div.quotebar {
    background-color: {{ theme_almost_white }};
    max-width: 250px;
    float: right;
    padding: 2px 7px;
    border: 1px solid {{ theme_lighter_gray }};
}

div.topic {
    background-color: {{ theme_almost_white }};
}

table {
    border-collapse: collapse;
    margin: 0 -0.5em 0 -0.5em;
}

table td, table th {
    padding: 0.2em 0.5em 0.2em 0.5em;
}


/* ADMONITIONS AND WARNINGS ------------------------------------------------- */

/* Shared by admonitions, warnings and sidebars */
div.admonition,
div.warning,
div.sidebar {
    font-size: 0.9em;
    margin: 2em;
    padding: 0;
    /*
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    */
}
div.admonition p,
div.warning p,
div.sidebar p {
    margin: 0.5em 1em 0.5em 1em;
    padding: 0;
}
div.admonition pre,
div.warning pre,
div.sidebar pre {
    margin: 0.4em 1em 0.4em 1em;
}
div.admonition p.admonition-title,
div.warning p.admonition-title,
div.sidebar p.sidebar-title {
    margin: 0;
    padding: 0.1em 0 0.1em 0.5em;
    color: white;
    font-weight: bold;
    font-size: 1.1em;
    text-shadow: 0 1px rgba(0, 0, 0, 0.5);
}
div.admonition ul, div.admonition ol,
div.warning ul, div.warning ol,
div.sidebar ul, div.sidebar ol {
    margin: 0.1em 0.5em 0.5em 3em;
    padding: 0;
}


/* Admonitions and sidebars only */
div.admonition, div.sidebar {
    border: 1px solid {{ theme_positive_dark }};
    background-color: {{ theme_positive_light }};
}
div.admonition p.admonition-title,
div.sidebar p.sidebar-title {
    background-color: {{ theme_positive_medium }};
    border-bottom: 1px solid {{ theme_positive_dark }};
}


/* Warnings only */
div.warning {
    border: 1px solid {{ theme_negative_dark }};
    background-color: {{ theme_negative_light }};
}
div.warning p.admonition-title {
    background-color: {{ theme_negative_medium }};
    border-bottom: 1px solid {{ theme_negative_dark }};
}


/* Sidebars only */
div.sidebar {
  max-width: 200px;
}



div.versioninfo {
    margin: 1em 0 0 0;
    border: 1px solid {{ theme_lighter_gray }};
    background-color: {{ theme_light_medium_color }};
    padding: 8px;
    line-height: 1.3em;
    font-size: 0.9em;
}

.viewcode-back {
    font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
                 'Verdana', sans-serif;
}

div.viewcode-block:target {
    background-color: {{ theme_viewcode_bg }};
    border-top: 1px solid {{ theme_viewcode_border }};
    border-bottom: 1px solid {{ theme_viewcode_border }};
}

dl {
    margin: 1em 0 2.5em 0;
}

/* Highlight target when you click an internal link */
dt:target {
    background: {{ theme_highlight }};
}
/* Don't highlight whole divs */
div.highlight {
    background: transparent;
}
/* But do highlight spans (so search results can be highlighted) */
span.highlight {
    background: {{ theme_highlight }};
}

div.footer {
    background-color: {{ theme_background }};
    color: {{ theme_background_text }};
    padding: 0 2em 2em 2em;
    clear: both;
    font-size: 0.8em;
    text-align: center;
}

p {
    margin: 0.8em 0 0.5em 0;
}

.section p img {
    margin: 1em 2em;
}


/* MOBILE LAYOUT -------------------------------------------------------------- */

@media screen and (max-width: 600px) {

    h1, h2, h3, h4, h5 {
        position: relative;
    }

    ul {
        padding-left: 1.75em;
    }

    div.bodywrapper a.headerlink, #indices-and-tables h1 a {
        color: {{ theme_almost_dirty_white }};
        font-size: 80%;
        float: right;
        line-height: 1.8;
        position: absolute;
        right: -0.7em;
        visibility: inherit;
    }

    div.bodywrapper h1 a.headerlink, #indices-and-tables h1 a {
        line-height: 1.5;
    }

    pre {
        font-size: 0.7em;
        overflow: auto;
        word-wrap: break-word;
        white-space: pre-wrap;
    }

    div.related ul {
        height: 2.5em;
        padding: 0;
        text-align: left;
    }

    div.related ul li {
        clear: both;
        color: {{ theme_dark_color }};
        padding: 0.2em 0;
    }

    div.related ul li:last-child {
        border-bottom: 1px dotted {{ theme_medium_color }};
        padding-bottom: 0.4em;
        margin-bottom: 1em;
        width: 100%;
    }

    div.related ul li a {
        color: {{ theme_dark_color }};
        padding-right: 0;
    }

    div.related ul li a:hover {
        background: inherit;
        color: inherit;
    }

    div.related ul li.right {
        clear: none;
        padding: 0.65em 0;
        margin-bottom: 0.5em;
    }

    div.related ul li.right a {
        color: {{ theme_white }};
        padding-right: 0.8em;
    }

    div.related ul li.right a:hover {
        background-color: {{ theme_medium_color }};
    }

    div.body {
        clear: both;
        min-width: 0;
        word-wrap: break-word;
    }

    div.bodywrapper {
        margin: 0 0 0 0;
    }

    div.sphinxsidebar {
        float: none;
        margin: 0;
        width: auto;
    }

    div.sphinxsidebar input[type="text"] {
        height: 2em;
        line-height: 2em;
        width: 70%;
    }

    div.sphinxsidebar input[type="submit"] {
        height: 2em;
        margin-left: 0.5em;
        width: 20%;
    }

    div.sphinxsidebar p.searchtip {
        background: inherit;
        margin-bottom: 1em;
    }

    div.sphinxsidebar ul li, div.sphinxsidebar p.topless {
        white-space: normal;
    }

    .bodywrapper img {
        display: block;
        margin-left: auto;
        margin-right: auto;
        max-width: 100%;
    }

    div.documentwrapper {
        float: none;
    }

    div.admonition, div.warning, pre, blockquote {
        margin-left: 0em;
        margin-right: 0em;
    }

    .body p img {
        margin: 0;
    }

    #searchbox {
        background: transparent;
    }

    .related:not(:first-child) li {
        display: none;
    }

    .related:not(:first-child) li.right {
        display: block;
    }

    div.footer {
        padding: 1em;
    }

    .rtd_doc_footer .badge {
        float: none;
        margin: 1em auto;
        position: static;
    }

    .rtd_doc_footer .badge.revsys-inline {
        margin-right: auto;
        margin-bottom: 2em;
    }

    table.indextable {
        display: block;
        width: auto;
    }

    .indextable tr {
        display: block;
    }

    .indextable td {
        display: block;
        padding: 0;
        width: auto !important;
    }

    .indextable td dt {
        margin: 1em 0;
    }

    ul.search {
        margin-left: 0.25em;
    }

    ul.search li div.context {
        font-size: 90%;
        line-height: 1.1;
        margin-bottom: 1;
        margin-left: 0;
    }

}
