/*=============================================================================
    Copyright (c) 2002 2004 Joel de Guzman, Eric Niebler, Rene Rivera
    http://spirit.sourceforge.net/

    Use, modification and distribution is subject to the Boost Software
    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
    http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/

/* CSS based on w3c documentation which I like a lot, and the classic Spirit
documentation. */

/* Body defaults */
body 
{
    padding: 2em 1em 2em 1em;
    margin: 1em 1em 1em 1em;
    font-family: sans-serif;
}

/* Paragraphs */
p 
{
    text-align: justify;
}

pre.synopsis
{
    margin: 1pc 4% 0pc 4%;
    padding: 0.5pc 0.5pc 0.5pc 0.5pc;
}

/* Headings */
h1, h2, h3, h4, h5, h6 { text-align: left; margin-top: 2pc; }
h1 { font: 170% sans-serif }
h2 { font: bold 140% sans-serif }
h3 { font: 120% sans-serif }
h4 { font: bold 100% sans-serif }
h5 { font: italic 100% sans-serif }
h6 { font: italic 100% sans-serif }

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

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

a:hover
{
    text-decoration: underline;
}

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

/* Spirit style navigation */
.spirit-nav
{
    text-align: right;
}

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

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

/* Program listing box */
.programlisting, .screen
{
    display: block;
    margin-left:  4%;
    margin-right: 4%;
    padding: 0.5pc 0.5pc 0.5pc 0.5pc;
}

/* Table of contents */
.toc
{
   margin: 1pc 4% 0pc 4%;
   padding: 0.5pc 0.5pc 0.5pc 0.5pc;
}

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

/* Tables */
.table-title, div.table p.title
{
    margin-left: 4%;
    padding-right: 0.5em; 
    padding-left: 0.5em;
    font-size: 120%;
}

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

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

div.informaltable table tr td, div.table table tr td
{
    padding: 0.5em 0.5em 0.5em 0.5em;
    text-align: justify;
}

div.informaltable table tr th, div.table table tr th
{
    padding: 0.5em 0.5em 0.5em 0.5em;
    border: 1pt solid white;
}

/* screen & programlisting, when used in a table cell, do not
   need the extra padding and margin normally used */

td .screen, td .programlisting
{
    display: block;
    margin-left: 0%;
    margin-right: 0%;
    padding: 0.5pc 0.5pc 0.5pc 0.5pc;
}

/* inlined images */
.inlinemediaobject
{
    padding: 0.5em 0.5em 0.5em 0.5em;
}

/* Variable lists as tables, as used by Doxygen-generated
   reference docs */
span.term
{
    font-weight: bold;
}

div.variablelist table tbody tr td
{
    text-align: left;
    vertical-align: top;
    padding: 0em 2em 0em 0em;
}

div.variablelist table tbody tr td p
{
    margin: 0em 0em 0.5em 0em;
}

/* tone down the title of Parameter lists */
div.variablelist p.title
{
    font-weight: bold;
    font-size: 100%;
    text-align: left;
}

/* Make the terms in definition lists bold */
div.variablelist dl dt
{
    font-weight: bold;
}

div.variablelist dl dd
{
    margin: 1em 0em 1em 2em;
}

/* In Doxygen-generaged parameter lists, the parameter descriptions
   are wrapped in <p>...</p> for some reason. Ignore that. */
div.variablelist dl dd p
{
    display: inline;
}

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

/* tips, notes and warnings done in Spirit style */
div.tip, div.note, div.warning
{
    position: relative;
    padding: 0.5em;
    border: 0.5pt solid white;
}

div.tip .title, div.note .title, div.warning .title
{
    display: block;
    font: bold xx-small sans-serif;
    margin: 0;
    padding: 0;
    position: absolute;
    left: -4em;
    top: 0em;
    height: 25px;
    width: 24px;
    text-indent: 32px;
    overflow: hidden;
    z-index: 2;
}

div.tip .title
{
    background: url(images/tip.png);
}

div.note .title
{
    background: url(images/note.png);
}

div.warning .title
{
    background: url(images/caution.png);
}

@media screen
{
    a
    {
        color: #005a9c;
    }

    a:visited
    {
        color: #9c5a9c;
    }

    /* Syntax Highlighting */
    .keyword        { color: #0000AA; font-weight: bold; }
    .identifier     {}
    .special        { color: #707070; }
    .preprocessor   { color: #402080; font-weight: bold; }
    .char           { color: teal; }
    .comment        { color: #800000; }
    .string         { color: teal; }
    .number         { color: teal; }
    .copyright      { color: #666666; font-size: small; }
    .white_bkd      { background-color: #FFFFFF; }
    .dk_grey_bkd    { background-color: #999999; }

    pre.synopsis
    {
        background-color: #f3f3f3;
    }

    .programlisting, .screen
    {
        background-color: #f3f3f3;
    }

    /* Table of contents */
    .toc
    {
        background-color: #f3f3f3;
    }

    div.informaltable table tr td, div.table table tr td
    {
        background-color: #F3F3F3;
        border: 1pt solid white;
    }

    div.informaltable table tr th, div.table table tr th
    {
        background-color: #e4e4e4;
    }

    div.tip, div.note, div.warning
    {
        background-color: #F3F3F3;
    }

    span.highlight
    {
        color: #00A000;
    }
}

@media print
{
    a
    {
        color: black;
    }

    a:visited
    {
        color: black;
    }

    .spirit-nav
    {
        display: none;
    }

    /* Syntax Highlighting */
    .keyword
    {
        font-weight: bold;
    }

    pre.synopsis
    {
        border: 1px solid gray;
    }

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

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

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

    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;
    }

    div.tip, div.note, div.warning
    {
        border: 1px solid gray;
    }

    span.highlight
    {
        font-weight: bold;
    }
}
