body { margin: 0; padding: 0; }
body, th, td { font: 14px/1.4em sans-serif; }

/* Links/Anchors */
a { text-decoration: none; color: #000088; }
a:visited { text-decoration: none; color: #000088; }
a:active { text-decoration: none; color: #ff0000; }
a img { border: none; }

/* Basic classes */
.invisible { margin: 0; border: 0; padding: 0; height: 0; visibility: hidden; }
.left { margin: 0 10px; padding: 0px; float: left; }
.right {  margin: 0 10px; padding: 0px; float: right; }
.center { text-align: center; }

/* Small/Quiet */
.small { font-size:90%; }
.really-small { font-size:70%; }
h3 .small { font-size:80%; }
.quiet { font-weight:normal; }
.clear { clear:both; }


/* Multi-Column */
#subwrap { width:73%; float:left; }
#content-main { width:60%; float:left; background:white; color:black; padding: 8px 0 0 30px; }
#content-extra { float:right; width:27%; padding: 8px 0; }
#content-related { float:right; width:30%; padding: 0 1em 0 0; }
#content-secondary { clear:both; margin: 0; padding: 5px 0 0 0; }

/* Sidebar */
.sidebar { font-size:92%; }
.sidebar * { margin-left:14px; margin-right:14px; }
.sidebar * * { margin-left:0; margin-right:0; }
.sidebar p.date { color: #880000;/*#90ba9e;*/ }
.sidebar h2 { color: #ab5603; margin-top: 1.2em; }
.sidebar h2:first-child {
    margin-top: 8px;
}

/*  Headers, Paragraphs */
h1,h2,h3 { margin-top:.8em; font-weight:normal; }
h1 { font-size: 1.5em; margin-top:.6em; margin-bottom:.6em; line-height:1.1em; }
h2 { font-size:1.2em; margin-top:1em; margin-bottom:.2em; line-height:1.2em; }
h3 { font-size:1.0em; font-weight:bold; margin-bottom:.1em; color: #3f3f3f; }
h4 { font-size:1.0em; font-weight:bold; margin-bottom:-3px; margin-top:1.2em; text-transform:uppercase; letter-spacing:1px; }
h4 pre, h4 tt, h4 .literal { text-transform:none; }
h5 { font-size:1.0em; font-weight:bold; margin-top:1.5em; margin-bottom:3px; }
/*h2, h3, h4, h5, h6 { color: #0f0f0f; }*/
p, ul, dl { margin-top:.6em; margin-bottom:.8em; }
hr { color:#ccc; /*background-color:#ccc; */ height:2px; border:0; }
p.date { color: #4f4f4f;/*#487858;*/ }
p.more { margin-top:-.1em; }
.deck { margin-bottom:.6em; color: #880000; }
h2.nonblack, h1.nonblack { color: #ab5603; }

h2 a, h2 a:visited, h3 a, h3 a:visited { color: #ab5603; }


/* Lists */
ul { padding-left:2em; }
ol { padding-left:30px; }
ul li { list-style-type:square; margin-bottom:.4em; }
ul ul { padding-left:1.2em; }
ul ul ul { padding-left:1em; }
ul.linklist, ul.toc { padding-left:0; }
ul.toc ul { margin-left:.6em; }
ul.toc ul li { list-style-type:square; }
ul.toc ul ul li { list-style-type:disc; }
ul.linklist li, ul.toc li { list-style-type:none; }
dt { font-weight:bold; margin-top:.5em; font-size:1.1em; }
dd { margin-bottom:.8em; }
dl.index dt { font-weight: normal; }

ul.linedlinklist { padding-left: 0; float: right; margin: 0 3ex 0 0; }
ul.linedlinklist li { list-style-type: none; float: left; margin-left: 12px; }

/*  RSS Links */
a.rss { vertical-align: middle; }
/*
a.rss { font: sans-serif; padding:0 .2em; border: 1px solid; text-decoration:none; background: #f60; color: #fff; border-color:#ffc8a4 #7d3302 #3f1a01 #ff9a57; margin:0 3px; vertical-align:middle; }
#content-main a.rss { color:#fff; text-decoration:none; }
a.rss:hover, a.rss:link, a.rss:visited { color:#fff; text-decoration:none; }
*/

/* Code Blocks */
.literal { white-space:nowrap; }
.literal, .literal-block { color:#4f3223; }
.sidebar .literal { background:transparent; font-size:11px; }
pre, .literal-block { font-size:medium; background:#ffd; border:1px solid #ab5603; border-width:1px 0; margin: 1em 0; padding: .3em .4em; overflow: auto; }
dt .literal, table .literal { background:none; }
textarea.codedump { font-size:10px; color:#234f32; width:100%; background:#E0FFB8; border:1px solid #94da3a; border-width:1px 0; padding: .3em .4em; }

.emph-block { background:#ffd; border:1px solid #ab5603; border-width:1px 0; margin: 1em 0; padding: .3em .4em; overflow: auto; }

/* Notes & Admonitions */
.note, .admonition, .caution { padding:.8em 1em .8em; margin: 1em 0; border:1px solid #94da3a; }
.admonition-title { font-weight:bold; margin-top:0 !important; margin-bottom:0 !important;}
.admonition .last { margin-bottom:0 !important; }
.admonition, .admonition-note, .caution { padding-left:65px; background:url(/static/images/docicons-note.png) .8em .8em no-repeat;}
div.admonition-philosophy { padding-left:65px; background:url(/static/images/docicons-philosophy.gif) .8em .8em no-repeat;}
div.admonition-behind-the-scenes { padding-left:65px; background:url(/static/images/docicons-internals.png) .8em .8em no-repeat;}

#billboard { clear: both; padding: 4px 30px; }
#billboard h1 { font-size: 200%; color: #880000; margin: 8px 0 0 0; }
#billboard h1 a { color: #880000; }
#homepage #billboard { display:none; }

/* Footer */
#footer {
    margin: 0 0 1em 0; padding: 0em 30px; 
    border-top: 1px solid #880000;
    clear: both;
    /* this is crucial for appbox to work properly, i.e. absolute positioning
       in relative position block */
    position: relative;
}
#footertext { font-size: 80%; }

#footer #copyright { float: left; font-size: 2ex; }
#footer #copyright a { color: #555555; }

#footer #footernav { float: right; font-size: 2ex; }
#footernav ul.linedlinklist li a { color: #555555; padding: 0 12px; }
#footernav ul.linedlinklist { margin: 0; padding: 0; }
#footernav ul.linedlinklist li { border-right: 1px solid #D7D7D7; margin: 0; }
#footernav ul.linedlinklist li.last { border-right: none; }
#footernav ul.linedlinklist li a:hover { text-decoration: underline; border: none; }

/* Comments */
.comment { margin:15px 0; }
div.comment p { margin-left:1em; }

/* Forms */
form.wide label { display: block; font-weight: bold; margin-top: 1.5em; margin-bottom: 0;}
form.wide label span { font-weight: normal; color: #555; }
form.wide input, 
form.wide textarea, 
form.wide select { width: 99%; padding: 1px; }
form.wide p { margin: 0; }
form.wide p.submit { text-align: right; margin-top: 1em; margin-right: 0;}
form.wide p.submit input { width: 10em; font-size: 1.5em; }
form.wide p.errors { margin: 0; padding: 0; font-weight: bold; color: red; }

/*  Clearing */
#columnwrap:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
#columnwrap { display: inline-block; }

/* Hides from IE-mac \*/
* html #columnwrap { height: 1%; }
#columnwrap { display: block; }
/* End hide from IE-mac */

#subwrap:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
#subwrap { display: inline-block; }

/* Hides from IE-mac \*/
* html #subwrap { height: 1%; }
#subwrap { display: block; }
/* End hide from IE-mac */

body { margin: 0px; padding: 0px; font-family: sans-serif; height: 101%; }

#header {
    background: #F7F7F7 url(/static/images/header-bg2.png) repeat-x;
    width: 100%;
    height: 80px;
    font-size: 75%;
    border-bottom: 1px solid #880000;
    position: relative;
}
#header h1 {
    margin: 0;
    position: absolute;
    left: 28px;
    top: 20px;
    font-size: 200%;
}

#navlist { position: absolute; right: 0; bottom: 2px; margin: 0; white-space: nowrap; }
#navlist li { list-style-type: none; float: left; margin: 0 0 0 0.2ex; padding: 0; font-size: 2ex; }
#navlist li a:hover { color: #111111; border-bottom: solid 2px #880000; }
#navlist li a { float: left; text-decoration: none; color: #555555; border-bottom: solid 2px transparent; padding: 8px 12px 0px 12px; }
#navlist li.active a { color: #880000; font-weight:bold; }

#breadcrumbs { margin: 0 0 0 30px; padding: 0; white-space: nowrap; display: inline-block; }
#breadcrumbs li { list-style-type: none; float: left; padding: 0; font-size: 1.2ex; }
#breadcrumbs li.sep { padding: 0 1ex 0 1ex; }
#breadcrumbs li a:hover { color: #111111; }
#breadcrumbs li a { float: left; text-decoration: none; color: #555555; }
#homepage #breadcrumbs { visibility: hidden; height: 0; }

.applogo { opacity: 0.3; padding: 0; }
.applogo:hover { opacity: 1; }

ul#applogos { float: right; margin: 0; }
ul#applogos li { list-style-type: none; float: left; border: none !important; }
ul#applogos li a { padding: 0 !important; }

.appbox {
    display: none;
    position: absolute;
    right: 16px;
    bottom: 16px;
    background-color: #ffffff;
    border: solid 1px #aaaaaa;
    padding: 8px;
}

#twitterbox { width: 400px; }
.twitterlist { padding: 0; }
.twitterlist li { list-style-type: none; border-bottom: solid 1px #aaaaaa; margin-bottom: 8px; padding-bottom: 8px; }
.twitterlist li.last { border-bottom: none; margin-bottom: 0; }
.twittername, .twittertag { color: #ab5603; }
/* .twitterlink { color: #880000; } */
