/*
 * 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: #e8ecef
 * medium blue: #8ca1af
 * dark blue: #465158
 * dark grey: #444444
 *
 * white hover: #d1d9df;
 * medium blue hover: #697983;
 * green highlight: #8ecc4c
 * light blue (project bar): #e8ecef
 */

@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: #465158;
    padding: 0;
    margin: 0;
}

img {
    border: 0;
    max-width: 100%;
}

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

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

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

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

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


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

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

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

h3 {
    margin: 1em 0 -0.3em 0;
    font-size: 1.2em;
    color: #6c818f;
}

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: #aaa !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: #777;
    background-color: #eee;
}


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

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

/* Links in sidebar, TOC, index trees and tables have no underline */
.sphinxsidebar a,
.toctree-wrapper a,
.indextable a,
#indices-and-tables a {
    color: #444;
    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: #111;
    text-decoration: none;
    border-bottom: 1px solid #111;
}

/* Footer links */
div.footer a {
    color: #86989B;
    text-decoration: none;
    border: none;
}
div.footer a:hover {
    color: #a6b8bb;
    text-decoration: underline;
    border: none;
}

/* Permalink anchor (subtle grey with a red hover) */
div.body a.headerlink {
    color: #ccc;
    font-size: 1em;
    margin-left: 6px;
    padding: 0 4px 0 4px;
    text-decoration: none;
    border: none;
}
div.body a.headerlink:hover {
    color: #c60f0f;
    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: white; /* 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: #ffffff;
    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: #697983;
    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: #8ca1af;
    color: #ffffff;
    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: #e8ecef;
}

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

div.sphinxsidebar input[type="image"] {
    display: inline;
    float: none;
    border: 0;
}

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

div.sphinxsidebar h3 a {
    color: #444444;
}

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

/* 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: #ddd;
    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 #999;
    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: #444;
    background-color: #e8ecef;
    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: #ffffff;
    background-color: #8ecc4c;
}

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

/* Sidebar links are unusual */
div.sphinxsidebar li a,
div.sphinxsidebar p a {
    background: #e8ecef; /* 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: #111;
    text-decoration: none;
    border: 1px solid #888;
}
div.sphinxsidebar p.logo a {
    border: 0;
}

/* 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: #f2f2f2;
    color: #444;
}

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

hr {
    border: 1px solid #abc;
    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 #ccc;
    background-color: #eee;
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
}

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

td.linenos pre {
    margin: 1em 0em;
}

td.code pre {
    margin: 1em 0em;
}

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

div.topic {
    background-color: #f8f8f8;
}

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 #609060;
    background-color: #e9ffe9;
}
div.admonition p.admonition-title,
div.sidebar p.sidebar-title {
    background-color: #70A070;
    border-bottom: 1px solid #609060;
}


/* Warnings only */
div.warning {
    border: 1px solid #900000;
    background-color: #ffe9e9;
}
div.warning p.admonition-title {
    background-color: #b04040;
    border-bottom: 1px solid #900000;
}


/* Sidebars only */
div.sidebar {
  max-width: 30%;
}



div.versioninfo {
    margin: 1em 0 0 0;
    border: 1px solid #ccc;
    background-color: #DDEAF0;
    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: #f4debf;
    border-top: 1px solid #ac9;
    border-bottom: 1px solid #ac9;
}

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

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

div.footer {
    background-color: #465158;
    color: #eeeeee;
    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.math {
    margin: 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.25em;
    }

    div.bodywrapper a.headerlink, #indices-and-tables h1 a {
        color: #e6e6e6;
        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: #465158;
        padding: 0.2em 0;
    }

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

    div.related ul li a {
        color: #465158;
        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: #fff;
        padding-right: 0.8em;
    }

    div.related ul li.right a:hover {
        background-color: #8ca1af;
    }

    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 .rtd-badge {
        float: none;
        margin: 1em auto;
        position: static;
    }

    .rtd_doc_footer .rtd-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;
    }
}

.donate {
    text-align: center;
}

.donate .flattr {
    margin-top: 1.5em;
}


.highlight .hll { background-color: #ffffcc }
.highlight  { background: #eeffcc; }
.highlight .c { color: #408090; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #007020 } /* Comment.Preproc */
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #303030 } /* Generic.Output */
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0040D0 } /* Generic.Traceback */
.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #007020 } /* Keyword.Pseudo */
.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #902000 } /* Keyword.Type */
.highlight .m { color: #208050 } /* Literal.Number */
.highlight .s { color: #4070a0 } /* Literal.String */
.highlight .na { color: #4070a0 } /* Name.Attribute */
.highlight .nb { color: #007020 } /* Name.Builtin */
.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
.highlight .no { color: #60add5 } /* Name.Constant */
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #007020 } /* Name.Exception */
.highlight .nf { color: #06287e } /* Name.Function */
.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #bb60d5 } /* Name.Variable */
.highlight .nx { color: #111111 } /* Std */
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #208050 } /* Literal.Number.Float */
.highlight .mh { color: #208050 } /* Literal.Number.Hex */
.highlight .mi { color: #208050 } /* Literal.Number.Integer */
.highlight .mo { color: #208050 } /* Literal.Number.Oct */
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
.highlight .sc { color: #4070a0 } /* Literal.String.Char */
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
.highlight .sx { color: #c65d09 } /* Literal.String.Other */
.highlight .sr { color: #235388 } /* Literal.String.Regex */
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
.highlight .ss { color: #517918 } /* Literal.String.Symbol */
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */

/* https://github.com/n1k0/casperjs-docs/issues/2 */
#casperjs-documentation img {
    -webkit-filter: drop-shadow(0 1px 20px rgba(0,0,0,.5));
    -moz-filter: drop-shadow(0 1px 20px rgba(0,0,0,.5));
    -ms-filter: drop-shadow(0 1px 20px rgba(0,0,0,.5));
    -o-filter: drop-shadow(0 1px 20px rgba(0,0,0,.5));
    filter: drop-shadow(0 1px 20px rgba(0,0,0,.5));
}


/* Make sidebar fixed to keep it in window when scrolling */

div.related, div.footer { margin-left: 16rem; width: auto; }

div.sphinxsidebar {
	position: fixed;
	left: 0;
	top: 0px;
	height: 100%;
	margin: 0;
	float: none;
	right: auto;
	overflow: auto;
	border-left: 2px solid #ffffff;
}
