@import url("documentation.css");
@import url("docnav.css");
@import url("reports.css");
@import url("extensions.css");
@import url("codehighlight.css");

body {
    background-image:url(../images/community/bkg_gradient.gif);
    background-repeat:repeat-x;
    margin:0 auto;
    font-family:'Lucida Grande', Geneva, Verdana, Arial, sans-serif;
    font-size:12px;
    max-width:55em;
    padding:0em 2em;
    color:#333;
    line-height:150%;
    text-align:justify;
}

/* Links */

a:link {color:#0066cc;}

a:visited {color:#6699cc;}

div.longdesc-link {
    float:right;
    color:#999;
}

/* Headings */

h1, h2, h3, h4, h5, h6 {
    color:#4a5d75;
    line-height:130%;
    margin-top:0em;
    font-family:'Lucida Grande', Geneva, Verdana, Arial, sans-serif;
    background-color:transparent;
}

h1 {
    background-image:url(../images/community/title_hdr.png);
    background-repeat:no-repeat;
    border-top:1px dotted #CCCCCC;
    line-height:1.2em;
    color:#182737;
    font-size:2em;
    padding:1.5em;
}

h2 {font-size:1.6em;}

h3 {
    font-size:1.3em;
    padding-top:0em;
    padding-bottom:0em;
}

h4 {
    font-size:1.1em;
    padding-top:0em;
    padding-bottom:0em;
}

h5.formalpara {
    font-size:1em;
    margin-top:2em;
    margin-bottom:.8em;
}

/* Element rules */

hr {
    border-collapse:collapse;
    border-style:none;
    border-top:1px dotted #ccc;
    width:100% !important;
}

sup {color:#999;}
