

/* Epydoc CSS Stylesheet
 *
 * This stylesheet can be used to customize the appearance of epydoc's
 * HTML output.
 *
 */

/* Adapted for Pocoo API docs by Georg Brandl */

/* Default Colors & Styles
 *   - Set the default foreground & background color with 'body'; and 
 *     link colors with 'a:link' and 'a:visited'.
 *   - Use bold for decision list terms.
 *   - The heading styles defined here are used for headings *within*
 *     docstring descriptions.  All headings used by epydoc itself use
 *     either class='epydoc' or class='toc' (CSS styles for both
 *     defined below).
 */
body                        { background: #ffffff; color: #000000;
                              font-family: Trebuchet MS,Tahoma,sans-serif;
                              font-size: 0.9em; line-height: 140%;
                              margin: 0; padding: 0 1.2em 1.2em 1.2em; }
a:link                      { color: #C87900; text-decoration: none;
                              border-bottom: 1px solid #C87900; }
a:visited                   { color: #C87900; text-decoration: none;
                              border-bottom: 1px dotted #C87900; }
a:hover                     { color: #F8A900; border-bottom-color: #F8A900; }
dt                          { font-weight: bold; }
h1                          { font-size: +180%; font-style: italic;
                              font-weight: bold; margin-top: 1.5em; }
h2                          { font-size: +140%; font-style: italic;
                              font-weight: bold; }
h3                          { font-size: +110%; font-style: italic;
                              font-weight: normal; }
p                           { margin-top: .5em; margin-bottom: .5em; }
hr                          { margin-top: 1.5em; margin-bottom: 1.5em;
                              border: 1px solid #BBB; }
tt.literal                  { background: #F5FFD0; padding: 2px;
                              font-size: 110%; }
table.rst-docutils          { border: 0; }
table.rst-docutils td       { border: 0; padding: 5px 20px 5px 0px; }

/* Page Header & Footer
 *   - The standard page header consists of a navigation bar (with
 *     pointers to standard pages such as 'home' and 'trees'); a
 *     breadcrumbs list, which can be used to navigate to containing
 *     classes or modules; options links, to show/hide private
 *     variables and to show/hide frames; and a page title (using
 *     <h1>).  The page title may be followed by a link to the
 *     corresponding source code (using 'span.codelink').
 *   - The footer consists of a navigation bar, a timestamp, and a
 *     pointer to epydoc's homepage.
 */ 
h1.epydoc                   { margin-top: .4em; margin-bottom: .4em;
                              font-size: +180%; font-weight: bold;
                              font-style: normal; }
h2.epydoc                   { font-size: +130%; font-weight: bold;
                              font-style: normal; }
h3.epydoc                   { font-size: +115%; font-weight: bold;
                              font-style: normal; }
table.navbar                { background: #E6F8A0; color: #000000;
                              border-top: 1px solid #c0d0d0;
                              border-bottom: 1px solid #c0d0d0;
                              margin: -1px -1.2em 1em -1.2em; }
table.navbar th             { padding: 2px 7px 2px 0px; }
th.navbar-select            { background-color: transparent; }
th.navbar-select:before     { content: ">" }
th.navbar-select:after      { content: "<" }
table.navbar a              { border: 0; }  
span.breadcrumbs            { font-size: 95%; font-weight: bold; }
span.options                { font-size: 80%; }
span.codelink               { font-size: 85%; }
td.footer                   { font-size: 85%; }

/* Table Headers
 *   - Each summary table and details section begins with a 'header'
 *     row.  This row contains a section title (marked by
 *     'span.table-header') as well as a show/hide private link
 *     (marked by 'span.options', defined above).
 *   - Summary tables that contain user-defined groups mark those
 *     groups using 'group header' rows.
 */
td.table-header             { background: #B6C870; color: #000000;
                              border-bottom: 1px solid #FFF; }
span.table-header           { font-size: 110%; font-weight: bold; }
th.group-header             { text-align: left; font-style: italic; 
                              font-size: 110%; }
td.spacer { width: 5%; }

/* Summary Tables (functions, variables, etc)
 *   - Each object is described by a single row of the table with
 *     two cells.  The left cell gives the object's type, and is
 *     marked with 'code.summary-type'.  The right cell gives the
 *     object's name and a summary description.
 *   - CSS styles for the table's header and group headers are
 *     defined above, under 'Table Headers'
 */
table.summary               { border-collapse: collapse;
                              background: #E6F8A0; color: #000000;
                              margin: 1em 0 .5em 0;
                              border: 0; }
table.summary tr            { border-bottom: 1px solid #BBB; }
td.summary a                { font-weight: bold; }
code.summary-type           { font-size: 85%; }

/* Details Tables (functions, variables, etc)
 *   - Each object is described in its own single-celled table.
 *   - A single-row summary table w/ table-header is used as
 *     a header for each details section (CSS style for table-header
 *     is defined above, under 'Table Headers').
 */

table.detsummary            { margin-top: 2em; }

table.details               { border-collapse: collapse;
                              background: #E6F8A0; color: #000000;
                              border-bottom: 1px solid #BBB;
                              margin: 0; }
table.details td            { padding: .2em .2em .2em .5em; }
table.details table td      { padding: 0; }
table.details h3            { margin: 5px 0 5px 0; font-size: 105%;
                              font-style: normal; }

table.details dd            { display: inline; margin-left: 5px; }
table.details dl            { margin-left: 5px; }


/* Index tables (identifier index, term index, etc)
 *   - link-index is used for indices containing lists of links
 *     (namely, the identifier index & term index).
 *   - index-where is used in link indices for the text indicating
 *     the container/source for each link.
 *   - metadata-index is used for indices containing metadata
 *     extracted from fields (namely, the bug index & todo index).
 */
table.link-index            { border-collapse: collapse;
                              background: #F6FFB0; color: #000000;
                              border: 1px solid #608090; }
td.link-index               { border-width: 0px; }
span.index-where            { font-size: 70%; }
table.metadata-index        { border-collapse: collapse;
                              background: #F6FFB0; color: #000000;
                              border: 1px solid #608090; 
                              margin: .2em 0 0 0; }
td.metadata-index           { border-width: 1px; border-style: solid; }

/* Function signatures
 *   - sig* is used for the signature in the details section.
 *   - .summary-sig* is used for the signature in the summary 
 *     table, and when listing property accessor functions.
 * */
.sig-name                   { color: #006080; }
.sig-arg                    { color: #008060; }
.sig-default                { color: #602000; }
.summary-sig-name           { font-weight: bold; }
.summary-sig-arg            { color: #006040; }
.summary-sig-default        { color: #501800; }

/* Variable values
 *   - In the 'variable details' sections, each varaible's value is
 *     listed in a 'pre.variable' box.  The width of this box is
 *     restricted to 80 chars; if the value's repr is longer than
 *     this it will be wrapped, using a backslash marked with
 *     class 'variable-linewrap'.  If the value's repr is longer
 *     than 3 lines, the rest will be ellided; and an ellipsis
 *     marker ('...' marked with 'variable-ellipsis') will be used.
 *   - If the value is a string, its quote marks will be marked
 *     with 'variable-quote'.
 *   - If the variable is a regexp, it is syntax-highlighted using
 *     the re* CSS classes.
 */
pre.variable                { padding: .5em; margin: 0;
                              background-color: #dce4ec;
                              border: 1px solid #708890; }
.variable-linewrap          { display: none; }
.variable-ellipsis          { color: #604000; font-weight: bold; }
.variable-quote             { color: #604000; font-weight: bold; }
.re                         { color: #000000; }
.re-char                    { color: #006030; }
.re-op                      { color: #600000; }
.re-group                   { color: #003060; }
.re-ref                     { color: #404040; }

/* Base tree
 *   - Used by class pages to display the base class hierarchy.
 */
pre.base-tree               { font-size: 90%; margin: 1em 0 2em 0;
                              line-height: 100%;}

/* Frames-based table of contents headers
 *   - Consists of two frames: one for selecting modules; and
 *     the other listing the contents of the selected module.
 *   - h1.toc is used for each frame's heading
 *   - h2.toc is used for subheadings within each frame.
 */
h1.toc                      { text-align: center; font-size: 105%;
                              margin: 0; font-weight: bold;
                              padding: 0; }
h2.toc                      { font-size: 100%; font-weight: bold; 
                              margin: 0.5em 0 0 -0.3em; }

/* Syntax Highlighting for Source Code
 *   - doctest examples are displayed in a 'pre.py-doctest' block.
 *     If the example is in a details table entry, then it will use
 *     the colors specified by the 'table pre.py-doctest' line.
 *   - Source code listings are displayed in a 'pre.py-src' block.
 *     Each line is marked with 'span.py-line' (used to draw a line
 *     down the left margin, separating the code from the line
 *     numbers).  Line numbers are displayed with 'span.py-lineno'.
 *     The expand/collapse block toggle button is displayed with
 *     'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
 *     modify the font size of the text.)
 *   - If a source code page is opened with an anchor, then the
 *     corresponding code block will be highlighted.  The code
 *     block's header is highlighted with 'py-highlight-hdr'; and
 *     the code block's body is highlighted with 'py-highlight'.
 *   - The remaining py-* classes are used to perform syntax
 *     highlighting (py-string for string literals, py-name for names,
 *     etc.)
 */
pre.rst-literal-block,
pre.py-doctest              { margin-left: 1em; margin-right: 1.5em;
                              line-height: 150%;
                              background-color: #F5FFD0; padding: .5em;
                              border: 1px solid #B6C870; 
                              font-size: 110%; }
pre.py-src                  { border: 1px solid #BBB; margin-top: 3em;
                              background: #f0f0f0; color: #000000;
                              line-height: 150%; }
span.py-line                { margin-left: .2em; padding-left: .4em; }
span.py-lineno              { border-right: 1px solid #BBB; 
                              padding: .3em .5em .3em .5em;
                              font-style: italic; font-size: 90%; }
a.py-toggle                 { text-decoration: none; }
div.py-highlight-hdr        { border-top: 1px solid #BBB;
                              background: #d0e0e0; }
div.py-highlight            { border-bottom: 1px solid #BBB;
                              background: #d0e0e0; }
.py-prompt                  { color: #005050; font-weight: bold;}
.py-string                  { color: #006030; }
.py-comment                 { color: #003060; }
.py-keyword                 { color: #600000; }
.py-output                  { color: #404040; }
.py-name                    { color: #000050; }
.py-name:link               { color: #000050; }
.py-name:visited            { color: #000050; }
.py-number                  { color: #005000; }
.py-def-name                { color: #000060; font-weight: bold; }
.py-base-class              { color: #000060; }
.py-param                   { color: #000060; }
.py-docstring               { color: #006030; }
.py-decorator               { color: #804020; }
/* Use this if you don't want links to names underlined: */
/*a.py-name                   { text-decoration: none; }*/

/* Graphs & Diagrams
 *   - These CSS styles are used for graphs & diagrams generated using
 *     Graphviz dot.  'img.graph-without-title' is used for bare
 *     diagrams (to remove the border created by making the image
 *     clickable).
 */
img.graph-without-title     { border: none; }
img.graph-with-title        { border: 1px solid #000000; }
span.graph-title            { font-weight: bold; }
span.graph-caption          { }

/* General-purpose classes
 *   - 'p.indent-wrapped-lines' defines a paragraph whose first line
 *     is not indented, but whose subsequent lines are.
 *   - The 'nomargin-top' class is used to remove the top margin (e.g.
 *     from lists).  The 'nomargin' class is used to remove both the
 *     top and bottom margin (but not the left or right margin --
 *     for lists, that would cause the bullets to disappear.)
 */
p.indent-wrapped-lines      { padding: 0 0 0 7em; text-indent: -7em; 
                              margin: 0; }
.nomargin-top               { margin-top: 0; }
.nomargin                   { margin-top: 0; margin-bottom: 0; }
