

/* ==================== aural ============================ */

@media aural {
  h1, h2, h3, h4, h5, h6 { voice-family: paul, male; stress: 20; richness: 90 }
  h1 { pitch: x-low; pitch-range: 90 }
  h2 { pitch: x-low; pitch-range: 80 }
  h3 { pitch: low; pitch-range: 70 }
  h4 { pitch: medium; pitch-range: 60 }
  h5 { pitch: medium; pitch-range: 50 }
  h6 { pitch: medium; pitch-range: 40 }
  li, dt, dd { pitch: medium; richness: 60 }
  dt { stress: 80 }
  pre, code, tt { pitch: medium; pitch-range: 0; stress: 0; richness: 80 }
  em { pitch: medium; pitch-range: 60; stress: 60; richness: 50 }
  strong { pitch: medium; pitch-range: 60; stress: 90; richness: 90 }
  dfn { pitch: high; pitch-range: 60; stress: 60 }
  s, strike { richness: 0 }
  i { pitch: medium; pitch-range: 60; stress: 60; richness: 50 }
  b { pitch: medium; pitch-range: 60; stress: 90; richness: 90 }
  u { richness: 0 }

  :link { voice-family: harry, male }
  :visited { voice-family: betty, female }
  :active { voice-family: betty, female; pitch-range: 80; pitch: x-high }
}

a.external  {
  padding: 0 20px 0px 0px;
    display:inline;
  background-repeat: no-repeat;
    background-position: center right;
    background-image: url(images/external-link.gif);
}

#top          { background-color: #FFFFFF;}

#top .header .current { background-color: #a5b6c6;}
#top .header .current a:link {  color: #000000;  }
#top .header .current a:visited { color: #000000; }
#top .header .current a:hover { color: #000000; }

#tabs li      { background-color: #F7F7F7 ;}
#tabs li a:link {  color: #000000;  }
#tabs li a:visited { color: #000000; }
#tabs li a:hover { color: #000000; }

#level2tabs a.selected      { background-color: #a5b6c6 ;}
#level2tabs a:link {  color: #000000;  }
#level2tabs a:visited { color: #000000; }
#level2tabs a:hover { color: #000000; }

#level2tabs { background-color: #a5b6c6;}
#level2tabs a.unselected:link {  color: #000000;  }
#level2tabs a.unselected:visited { color: #000000; }
#level2tabs a.unselected:hover { color: #000000; }

.heading { background-color: #a5b6c6;}

.boxed { background-color: #CFDCED;}
.underlined_5 	{border-bottom: solid 5px #CFDCED;}
.underlined_10 	{border-bottom: solid 10px #CFDCED;}
table caption {
background-color: #CFDCED;
color: #000000;
}

#top .searchbox {
background-color: #FFFFFF ;
color: #000000;
}

#publishedStrip {
color: #000000;
background: #CFDCED;
}

#menu .menupagetitle  { background-color: #a5b6c6;
  color: #000000;}

#menu           { border-color: #a5b6c6;}
#menu .menupagetitle  { border-color: #a5b6c6;}
#menu .menupageitemgroup  { border-color: #a5b6c6;}

#menu      { background-color: #F7F7F7;}
#menu  {  color: #000000;}
#menu a:link {  color: #000000;}
#menu a:visited {  color: #000000;}
#menu a:hover {
background-color: #F7F7F7;
color: #000000;}

#menu .menupageitemgroup     {
background-color: #F7F7F7;
}
#menu .menupageitem {
color: #000000;
}
#menu .menupageitem a:link {  color: #0000ff;}
#menu .menupageitem a:visited {  color: #009999;}
#menu .menupageitem a:hover {
background-color: #F7F7F7;
color: #6587ff;
}

body{
background-color: #ffffff;
color: #000000;
}
a:link { color:#0F3660}
a:visited { color:#009999}
a:hover { color:#000066}


.ForrestTable      { background-color: #a5b6c6;}

.ForrestTable td   { background-color: #ffffff;}

/* .highlight        { background-color: #ffff00;} */
.highlight        { background-color: #ffffcc;}

.fixme        { border-color: #cc6600;}

.note         { border-color: #006699;}

.warning         { border-color: #990000;}

.code         { border-color: #a5b6c6;}

#footer       { background-color: #a5b6c6;}

#feedback {
color: #FFFFFF;
background: #4C6C8F;
text-align: center;
}
#feedback #feedbackto {
color: #FFFFFF;
}

#publishedStrip {
color: #FFFFFF;
background: #4C6C8F;
}

#menu h1 {
color: #000000;
background-color: #cfdced;
}

/* extra-css */
#content { font-size: 100%; }

p.quote {
      margin-left: 2em;
      padding: .5em;
      background-color: #f0f0f0;
      font-family: monospace;
}
/* for batik satus tables and fop compliance table */
.yes      { background-color: #99FF99; text-align: center; }
.no       { background-color: #FF9999; text-align: center; }
.partial  { background-color: #FFFFCC; text-align: center; }
.na       { text-align: center; }
.basic,
.extended,
.complete { text-align: center; }
.category { font-size: 1.2em }
.tableSectionHeader { font-weight: bold; }
.tableSubSectionHeader { font-style: italic; padding-left: 2em !important; }
.ForrestTable td.basic      { text-align: center; }
.ForrestTable td.extended   { text-align: center; }
.ForrestTable td.complete   { text-align: center; }
.ForrestTable td.na         { text-align: center; }
.ForrestTable td.yes        { background-color: #99FF99; text-align: center; }
.ForrestTable td.no         { background-color: #FF9999; text-align: center; }
.ForrestTable td.partial    { background-color: #FFFFCC; text-align: center; }
.ForrestTable td.category   { /*background-color: #CFDCED;*/
                                   font-size: 1.2em }
.menuitemgroup{ display: block;}


