#catmenu {
 margin: 0px ;
 padding: 0px;
 margin-top: 10px;
 width: 100px;  
}

#catmenu ul {
 list-style: none;
 padding: 1px;   /* padding to buttons */
 margin: 0px ;   /* indent from outside div */
 width:100px;
}

#catmenu li {
 margin: 0px ;
 padding: 0px;
 display: block;
 width: 100px;   
}

#catmenu a , #catmenu a:visited {
 text-align: center;  /* position text within li button */
 text-decoration: none; /* remove typical underline */
 font-size: 9pt;    /* menu text size */
 display: block;    /* treats layout of buttons like they're table cells rather than list items */
 width: 100px;   /* button outside dimensions */
 color: white;  /* link text colour */
 background-color: #333;
 padding:2px;   /* padding of text within button */
 margin: 1px;   /* padding of button within list item */
}

#catmenu a:hover, #catmenu a:visited:hover {  /* override as neccesary for mouse over effects */
 color: white; 
 background-color: #666;
}


/* hide the sub levels and give them a positon absolute so that they take up no room */
#catmenu ul ul {
 display: none;   /* removes the anoying space between buttons where popupmenus exist.*/
 visibility:hidden;  /* dropdowns hidden by default, until hovered over */
 position:absolute;
 background-color: #666;  /* prevents loss of scope with gaps between hover buttons */
 top:0px;
 left:101px; 
 width: 130px;  /* width of the entire dropdown */
 margin: 0px;  /* relative position of the menu to the button... 0=tight on bottom.. */
 padding: 0px;
}


#catmenu ul ul a, #catmenu ul ul a:visited  {  /* override colours for drop down buttons */
 background-color: #666;
 color:white;
 width: 130px;
 height: 20px;
 text-align:center;
 font-size: 9pt;
 border-top: 1px  solid white;
 border-left: 1px  solid white;
 border-right: 0px ;
 border-bottom: 1px  solid #000000;
 padding:2px;
 margin: 0px; 
}


#catmenu ul ul ul {
 position: absolute;
 display: none;   /* removes the anoying space between buttons where popupmenus exist.*/
 top: auto;  /* auto means that it will be in the typically indented list position below the first menu */
 background-color: #666;  /* prevents loss of scope with gaps between hover buttons */
 left: 0px;   /* 0 */
 margin: -20px 80px;      /* adjust the margins to position the 2nd level popout menu to the right*/
 width: 130px;   /* width is based on the containing block */
}


#catmenu ul ul a:hover {  /* override colours for drop down buttons */
 color: white;
 background-color: #999;
}

#catmenu ul li:hover, #catmenu ul li.sfhover {
 color: blue;
}


#catmenu li:hover ul ul, 
#catmenu li:hover ul ul ul, 
#catmenu li.sfhover ul ul, 
#catmenu li.sfhover ul ul ul 
{
 left: -999em;
}

#catmenu li:hover ul, 
#catmenu li.sfhover ul 
{ 
  visibility:visible;
  display: block;  /* anoyingly restores the anoying space between buttons where popupmenus exist.*/
}

#catmenu li li:hover ul, 
#catmenu li li li:hover ul, 
#catmenu li li.sfhover ul, 
#catmenu li li li.sfhover ul {
  visibility:visible;
  left: auto;
  display: block;  /* anoyingly restores the anoying space between buttons where popupmenus exist.*/
}}