/*
** reset
*/

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, th, td {
  margin  : 0;
  padding : 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size : 100%;
}

ol, ul {
  list-style : none;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style  : normal;
  font-weight : normal;
}

table {
  border-collapse : collapse;
  border-spacing  : 0;
}

fieldset, img {
  border : 0;
}

caption, th {
  text-align : left;
}

q:before, q:after {
  content :'';
}

/*
** body
*/

body { 
  margin      : 1em;
  
  background  : white;
  color       : black;
  
  font-family : Arial, Helvetica, sans-serif;
  font-size   : 10pt;
  text-align  : justify;
}

/*
** headings
*/

h1, h2, h3, h4 {
  font-variant   : small-caps;
  letter-spacing : 1px;
  color          : #5B852E;
  font-weight    : bold;
}
h1 { font-size   : 16pt; }
h2 { font-size   : 14pt; }
h3 { font-size   : 12pt; }
h4 { font-size   : 10pt; }

h1, h2, h3 {
  margin-top    : .5em;
  margin-bottom : .5em;
}

/*
** inlines
*/

q        { font-style : italic; }
q:before { content    : '"';    }
q:after  { content    : '"';    }

p {
  padding : .5em 1em 0    1em;
  margin  : 0    0   .5em 0;
}

/*
** lists
*/

ul, ol {
  margin  : 0 0 0 1em;
  padding : 0 0 0 1em;
}

ul li, ol li {
  margin  : 0 0 0 1em;
  padding : 0;
}

ul {
  list-style-type  : disc;
/*list-style-type  : none;
  list-style-image : url("/images/bullet.png");*/
}
ol {
  list-style-type : lower-roman;
}

ul li p, ol li p {
  margin  : 0;
  padding : 0;
}

ol li ul {
  margin  : 0 0 0 1em;
  padding : 0;
}

/*
** tables
*/

table {
  margin              : 1em;
  
  color               : #666;
  
  empty-cells         : show;
  
  border              : 2px solid gray;
  
  text-align          : left;
}
table caption {
  margin              : 1em 1em 0 1em; /* TRouBLe! */
  text-align          : left;
  color               : #5B852E;
}
table thead tr th, table tfoot tr th, table tbody tr td {
  padding             : 2px .2em;
}
table th, table td {
  border              : 1px dotted gray;
}
table thead tr th {
  border-bottom       : 2px solid gray;
  font-weight         : bold;
}
table tfoot tr th {
  border-top          : 2px solid gray;
  font-weight         : bold;
}
table th {
  background          : #666; /* party official: E1EDC5 or 999 */
  color               : white;
}

table tr.odd {
  background          : #FFFAF0; /* FloralWhite */
}
table tr.even {
  background-color    : #FEF1E1; /* Dusty Trail */
}
table td.odd {
  background          : #FFFAF0; /* FloralWhite */
}
table td.even {
  background-color    : #FEF1E1; /* Dusty Trail */
}

table.registers a[href]:before {
  content             : normal;
}
table.registers td.address {
  font-family         : "Lucida Console", "Andale Mono", "Courier New", monospace;
}
table.registers td.odd_middle {
  background          : #FFFAF0; /* FloralWhite */
  vertical-align      : middle;
  text-align          : center;
}
table.registers td.even_middle {
  background-color    : #FEF1E1; /* Dusty Trail */
  vertical-align      : middle;
  text-align          : center;
}
table.registers tr.even_new_component, table.registers tr.odd_new_component {
  border-top          : thin solid gray;
}
table.registers tr.odd_new_component {
  background          : inherit; /* FloralWhite */
}
table.registers tr.even_new_component {
  background-color    : #FEF1E1; /* Dusty Trail */
}

table.fields {
  border              : none;
}
table.fields td {
  text-align          : center;
  width               : 6em;
}
table.fields tr.offsets td {
  border              : none;
}
table.fields tr.fields td {
  border              : 2px solid gray;
  background-color    : #FEF1E1; /* Dusty Trail */
}

table.values td.value {
  text-align          : center;
}

table.products th {
  padding             : 0 .2em 0 .2em;
}
table.products td {
  text-align          : center;
}

ul.values ul {
  margin              : 0;
  padding             : 0 0 1em 1em;
}

/*
** links
*/

a {
  text-decoration  : none;
  color            : #0A5CA6;
}

a:hover {
  border-color     : #0A5CA6;
  text-decoration  : underline;
}

*:link, *:visited, *:link:hover, *:visited:hover {
  color            : #0A5CA6; /* DarkSlateBlue (483D8B) */
}

/*
** code
*/

pre[class='programlisting'] {
  white-space      : pre;
  display          : block;
  border           : 1px dashed #708090; /* SlateGray */
  padding          : .5em;
  margin           : 1em 1em 0 1em; /* TRouBLe! */
  background-color : #DCDCDC; /* Gainsboro */
  font-family      : "Lucida Console", "Andale Mono", "Courier New", monospace;
  font-size        : 9pt;
}

/*
** inlines
*/

span.filename, span.markup, span.prompt, span.token {
  color       : #483D8B; /* DarkSlateBlue */
  font-family : "Lucida Console", "Andale Mono", "Courier New", monospace;
}

span.code {
  font-family : "Lucida Console", "Andale Mono", "Courier New", monospace;
  font-style  : normal;
  color       : #778899; /* LightSlateGray */
  font-size   : inherit;
}

span.command {
  font-weight : bold;
  font-family : "Lucida Console", "Andale Mono", "Courier New", monospace;
}

span.prompt {
  font-weight : bold;
}

span.remark {
  color      : #708090; /* SlateGray */
  font-style : italic;
}

span.FIXME {
  color      : red;
  background : yellow;
}

acronym {
  font-weight  : bold;
  font-variant : small-caps;
}

/*
** embedded
*/

object {
  margin : 1em;
}

/*
** admonitions
*/

div.warning, div.caution, div.tip, div.note, div.important {
  border  : 1px dashed #708090; /* SlateGray */
  padding : 0 .5em 0 .5em;
  margin  : .5em 1em 0 1em; /* TRouBLe! */
}

div.warning:before, div.caution:before, div.tip:before, div.note:before, div.important:before {
  font-weight  : bolder;
  display      : block;
  font-variant : small-caps;
}

div.warning:before   { content: "Warning"   }
div.caution:before   { content: "Caution"   }
div.tip:before       { content: "Tip"       }
div.note:before      { content: "Note"      }
div.important:before { content: "Important" }

div.note             { background-color: #FFFACD; } /* LemonChiffon */ 
div.important        { background-color: #FFFACD; } /* LemonChiffon */ 
div.tip              { background-color: #FAFAD2; } /* LightGoldenRodYellow */
div.warning          { background-color: #E9967A; } /* DarkSalmon */

#content {
  position            : relative;
  left                : 260px;
}

#header, #footer {
  display             : none;
}

#header {
  display             : block;
  position            : fixed;
  width               : 220px;
  
  display             : none;
}

#header h1 {
  padding             : 0 0 0 1em;
  
  text-align          : center;
}

/*
** navigation
*/

#navigation {
  padding             : 0 0 0 1em;
  
  position            : fixed;
  top                 : 6em;
  left                : 0%;
  width               : 16em;
  
  display             : none;
}

#navigation ul {
  padding-left        : 1em;
  padding-right       : 1em;
  
  display             : block;
  list-style-type     : none;
  list-style-position : outside;
}

#navigation li {
}

#navigation h1 {
  font-size           : 14pt;
  display             : none; /* FIXME */
}

#navigation a:link {
}
#navigation a:visited {
}
#navigation a:hover {
  display             : block;
  background-color    : #EEFFCC;
  text-decoration     : none;
}
#navigation a:active {
}

/*
** menu
*/

#menu {
  position            : fixed;
  font-size           : 9pt;
  text-align          : left;
}

#menu ul {
  padding             : 0;
  margin              : 0;
  
  width               : 120px;
  border              : 1px solid;
  background-color    : transparent; /* IE sucks */
  
  z-index             : 10;
}

#menu > ul {
  background-color    : white; /* IE sucks */
}

#menu li span {
  display             : block;
  
  padding             : 0 0 0 4px;
  border-left         : 4px solid #BBB;
  width               : 112px;
  letter-spacing      : normal;
}

#menu span:hover, #menu li:hover {
  background          : #EFC;
}

#menu li.sub_menu {
  background          :      url(../images/menu-sub_menu-right.png)       95% 50% no-repeat;
}
#menu li.sub_menu:hover {
  background          : #EFC url(../images/menu-sub_menu-right-hover.png) 95% 50% no-repeat;
}

#menu ul li {
  padding             : 0;
  margin              : 0;
  
  position            : relative;
  list-style          : none;
  border-bottom       : 1px solid;
  z-index             : 10;
}
#menu ul ul {
  display             : none;
  
  position            : absolute;
  top                 : -1px;
  left                : 120px;
  
  background-color    : white; /* IE sucks */
  
  z-index             : 10;
}

#menu li a {
  display             : block;
  
  text-decoration     : none;
  padding             : 0 0 0 4px;
  border-left         : 4px solid #BBB;
  width               : 112px;
}

#menu ul.level_1 li.sub_menu:hover ul.level_2, 
#menu ul.level_2 li.sub_menu:hover ul.level_3 {
  display             : block;
}

#menu       ul li span:hover,
#menu    ul ul li    a:hover,
#menu ul ul ul li    a:hover {
  border-left-color   : #5B852E;
}

#menu .address {
  font-family         : "Lucida Console", "Andale Mono", "Courier New", monospace;
}
#menu .non_applicable {
  text-decoration     : line-through;
  color               : gray;
  font-weight         : normal;
  letter-spacing      : normal;
}
#menu .one_click_away {
  background          : url(../images/one_click_away.png) 95% 50% no-repeat;
}
