/************************************************************************/
/* Custom style-sheet stuffs for the Subversion book in HTML form.      */
/************************************************************************/

body
{
    background: white;
    margin: 0.5in;
    font-family: arial,helvetica,sans-serif;
}

h1.title
{
    font-size: 250%;
    font-style: normal;
    font-weight: bold;
    color: black;
}

h2.subtitle
{
    font-size: 150%;
    font-style: italic;
    color: black;
}

h2.title
{
    font-size: 150%;
    font-style: normal;
    font-weight: bold;
    color: black;
}

h3.title
{
    font-size: 125%;
    font-style: normal;
    font-weight: bold;
    color: black;
}

h4.title
{
    font-size: 100%;
    font-style: normal;
    font-weight: bold;
    color: black;
}

.toc b
{
    font-size: 125%;
    font-style: normal;
    font-weight: bold;
    color: black;
}

p,li,ul,ol,dd,dt
{
    font-style: normal;
    font-weight: normal;
    color: black;
}

tt,pre
{
    font-family: courier new,courier,fixed;
}

.command, .screen, .programlisting
{
    font-family: courier new,courier,fixed;
    font-style: normal;
    font-weight: normal;
}

.filename
{
    font-family: arial,helvetica,sans-serif;
    font-style: italic;
}

a
{
    color: blue;
    text-decoration: underline;
}    

a:hover 
{
    background: rgb(75%,75%,100%);
    color: blue;
    text-decoration: underline;
}

a:visited 
{
    color: purple;
    text-decoration: underline;
}

img
{
    border: none;
}

.figure, .example, .table
{
    margin: 0.125in 0.5in;
}

.table table
{
    border-width: 1px;
    border-style: solid;
    border-color: black;
    border-spacing: 0;
    background: rgb(240,240,240);
}

.table td
{
    border: none;
    border-right: 1px black solid;
    border-bottom: 1px black solid;
    padding: 2px;
}

.table th
{
    background: rgb(180,180,180);
    border: none;
    border-right: 1px black solid;
    border-bottom: 1px black solid;
    padding: 2px;
}

.table p.title, .figure p.title, .example p.title
{
    text-align: left !important;
    font-size: 100% !important;
}

.author
{
    font-size: 100%;
    font-style: italic;
    font-weight: normal;
    color: black;
}

.sidebar 
{
    border-top: dotted 1px black;
    border-left: dotted 1px black;
    border-right: solid 2px black;
    border-bottom: solid 2px black;
    background: rgb(240,220,170);
    padding: 0 0.12in;
    margin: 0.5in;
}

.note .programlisting, .note .screen, 
.tip .programlisting, .tip .screen, 
.warning .programlisting, .warning .screen, 
.sidebar .programlisting, .sidebar .screen
{
    border: none;
    background: none;
}

.sidebar p.title
{
    text-align: center;
    font-size: 125%;
}

.note
{
    border: black solid 1px;
    background: url(./images/note.png) no-repeat rgb(252,246,220);
    margin: 0.12in 0;
    padding: 0 55px;
}

.tip
{
    border: black solid 1px;
    background: url(./images/info.png) no-repeat rgb(224,244,255);
    margin: 0.12in 0;
    padding: 0 55px;
}

.warning
{
    border: black solid 1px;
    background: url(./images/warning.png) no-repeat rgb(255,210,210);
    margin: 0.12in 0;
    padding: 0 55px;
}

.programlisting, .screen
{
    font-size: 90%;
    color: black;
    margin: 1em 0.5in;
    padding: 0.5em;
    background: rgb(240,240,240);
    border-top: black dotted 1px;
    border-left: black dotted 1px;
    border-right: black solid 2px;
    border-bottom: black solid 2px;
}

.navheader, .navfooter
{
    border: black solid 1px;
    background: rgb(180,180,200);
}

.navheader hr, .navfooter hr
{
    display: none;
}
