#navbar
{
  position: absolute; /* Only works if parent width is set. */
  line-height: 1.5em;
  width: 160px;
  top: 25px;
  left: 15px;
  margin: 0;
  border-style: dashed;
  border-color: rgb(0,0,0);
  border-width: 1px;
  padding: 15px;
  color: rgb(0,0,0);
  background-color: rgb(210,210,210);
  font-size: 10pt;

  /*
     The following is taken from ESR's website style sheet:
     http://www.catb.org/~esr/sitestyle.css

     Here is the ugly brilliant hack that protects IE5/Win from its own
     stupidity.  Thanks to Tantek Celik for the hack and to Eric Costello
     for publicizing it.  IE5/Win incorrectly parses the "\"}"" value,
     prematurely closing the style declaration. The incorrect IE5/Win value
     is above, while the correct value is below. See
     http://glish.com/css/hacks.asp for details.
  */
  voice-family: "\"}\"";
  voice-family: inherit;
}

/*
   Again, more taken from ESR's website style sheet:
   http://www.catb.org/~esr/sitestyle.css

   I've heard this called the "be nice to Opera 5" rule. Basically, it
   feeds correct length values to user agents that exhibit the parsing
   error exploited above yet get the CSS box model right and understand
   the CSS2 parent-child selector. ALWAYS include a "be nice to Opera 5"
   rule every time you use the Tantek Celik hack (above).
   */
body>#navbar
{
  width: 160px;
}

#top-menu
{ 
  border-top: 1px rgb(0,0,0) solid;
  border-right: 1px rgb(0,0,0) solid;
  border-left: 1px rgb(0,0,0) solid;
  border-bottom: none;
}

#navbar ul li
{
  list-style-type: none;
  display: inline; /* This stops gaps appearing between list items in IE. */
  margin: 0;
  padding: 0;
}

/************************/

#navbar ul
{
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#navbar ul li a
{
  display: block;
  color: rgb(0,0,0);
  background-color: rgb(170,220,238);
  /*background-color: rgb(103,182,225);*/
  text-decoration: none;
  font-weight: bold;
  /*border-bottom: solid rgb(170,170,170) 1px;*/
  /*border-right: solid rgb(170,170,170) 1px;*/
  padding-top: 3px;
  padding-bottom: 3px;
  padding-left: 10px;
  border-bottom: 1px rgb(0,0,0) solid;
}

#navbar ul li a:link
{
  color: rgb(0,0,0);
}

#navbar ul li a:visited
{
  color: rgb(102,102,102);
}

#navbar ul li a:hover
{
  color: rgb(102,102,102);
  background-color: rgb(255,255,200);
  /*background-color: rgb(203,229,255);*/
  text-decoration: none;
}

/************************/

#navbar ul ul
{ 
  display: none;
}

#navbar ul ul li
{
  list-style-type: none;
  display: inline; /* This stops gaps appearing between list items in IE. */
}

#navbar ul ul li a
{
  color: rgb(0,0,0);
  background-color: rgb(170,170,238);
  /*background-color: rgb(253,255,81);*/
  padding-left: 20px;
}

#navbar ul ul li a:hover
{
  /*background-color: rgb(254,255,180);*/
}

/************************/

#navbar ul ul ul
{ 
  display: none;
}

#navbar ul ul ul li a
{
  color: rgb(0,0,0);
  background-color: rgb(170,120,238);
  /*background-color: rgb(145,224,145);*/
  padding-left: 30px;
}

/************************/

#navbar ul ul ul ul
{ 
  display: none;
}

#navbar ul ul ul ul li a
{
  color: rgb(0,0,0);
  background-color: rgb(170,70,238);
  /*background-color: rgb(255,144,144);*/
  padding-left: 40px;
}
