@charset "iso-8859-1";

/*******************************************************************************
*  rmenu.css : 2007.06.07 : ruthsarian@gmail.com
* ------------------------------------------------------------------------------
* Ruthsarian Menus - A CSS-based dropdown menu system
*
* <insert long, boring ramble here>
*
* KNOWN BUGS
*	- Opera 7.23 and earlier have problems with absolutely positioned 
*	  elements positioned relative to a parent element. this causes a
*	  problem with right-aligned horizontal menus. stay away from those
*	  types of menus if you've got any reason to care about Opera 7.23 or
*	  earlier versions.
*
* DEV NOTES
*	- setting position: relative; to ul.rmenu triggers a bug in Netscape 7
*	  and earlier that makes content jump as menus pop
*	- need to remember that when assigning multiple classes to an element
*	  to list them left-to-right from most-specific to least-specific.
*	  Otherwise IE/Mac flips out
*	- IE/Mac needs whitespace before <UL> and </UL> tags in the markup
*	  otherwise very odd things can happen
*	- hasLayout should not be triggered on LI elements under IE7
*	- IE/Mac has a selector bug where rmenu-v* and rmenu-h* rules
*	  are applied to rmenu-v and rmenu-h elements. ie rmenu-vRight rules
*	  get applied to rmenu-v elements. This is incorrect.
*	- if any parent element of the menu is a float it (or the parent of
*	  the menu) needs to be relatively positioned. Otherwise the menu
*	  is not rendered on the page.
*	- z-indexing is all screwed up when you specify one menu's li
*	  elements background color ( div.rmenu-center ul.rmenu li )
*	  under IE/7. I don't know why. IE/7 sucks.
*
* EXAMPLE HTML
*	<ul class="rmenu-hor rmenu"
*	  ><li
*	    ><a href="">Menu Item</a
*	    > <ul class="rmenu-ver"
*	      ><li
*	        ><a href="">Menu Item</a
*	      ></li
*	      ><li
*	        ><a href="">Menu Item</a
*	      ></li
*	    > </ul
*	  ></li
*	  ><li
*	    ><a href="">Menu Item</a
*	  ></li
*	 > </ul>
*
* ------------------------------------------------------------------------------
*  This stylesheet is released into the public domain.
*******************************************************************************/

/*******************************************************************************
 * General Menu Mechanics
 *
 * Below is a set of rules which is applicable to any list used within
 * this dropdown menu system. You could apply just these rules and get
 * a basic dropdown menu system working just fine in FireFox, Opera,
 * Safari, and most other modern browsers.
 */
ul.rmenu, ul.rmenu-ver, ul.rmenu ul, ul.rmenu li, ul.rmenu a
{
	display: block;		/* make these objects blocks so they're easier
				   to deal with */
	margin: 0;
	padding: 0;		/* get rid of padding/margin values that these
				   elements may have by default */
	float: none;

	line-height: 28px;
	text-align:left;
	text-decoration: none;
	display: block; 
	font-size : 12px;
	font-weight : bold;
	color: #003F7D;
	font-family : Arial,  Verdana, Helvetica, sans-serif; 
}
ul.rmenu, ul.rmenu li, ul.rmenu ul
{
	list-style: none;	/* proper browsers don't require this because
				   block elements (see previous rule set) cannot
				   take any list-style property. meaning 
				   existing list-style properties are removed
				   when they are set to display: block. IE7 
				   seems to ignore this fact under certain
				   situations so we explicitly set it here
				   even though it's, technically, incorrect 
				   CSS (but it will validate). */
}
ul.rmenu ul
{
	display: none;		/* hide the sub-menus until needed */
}
ul.rmenu li
{
	position: relative;	/* so sub-menus position relative to their 
				   parent LI element */
	z-index: 1;
	margin: 0;

/*	padding-left: 0px;
*/}
ul.rmenu li li {
/*	padding-left: 0px;
*/}
ul.rmenu li:hover
{
	z-index: 999;		/* make sure this and any sub-menus that pop 
				   appear above everything else on the page */
}
ul.rmenu li:hover > ul
{
	display: block;		/* show the sub-menu */
	position: absolute;	/* remove the sub-menus from the flow of the
				   layout so when they pop they don't cause any
				   disfiguration of the layout.

				   NOTE: this value use to belong to the 
				         "ul.rmenu ul" selector, however it was
				         discovered that IE7 will muck up
				         z-indexing on the ULs under very
				         specific conditions unless the
				         position attribute is set ONLY as
				         they pop and not at all times.

				         the specific condition? setting a
				         background color on LI elements using
				         a selector other than "ul.rmenu li".
				         I have no idea why this is the case,
				         but it is. 

				         Also worth noting there's another fix
				         for this bug. Simply set
				         background-position: 0 0 
				         on the ul.rmenu li:hover class 
				         selector. The idea is that IE7 needs
				         an extra rule to give it something
				         to do, to give it a reason to notice
				         the element when it's display
				         state changes. Just odd.
				*/
}

/*******************************************************************************
 * Extended Menu Mechanics
 *
 * These rules exist only for specific menu types, such as horizontal or
 * vertical menus, right or left aligned menus.
 */
ul.rmenu-ver li,
ul.rmenu-ver li li
{
	float: none;		/* clear this so vertical sub-menus that are
				   children of horizontal menus won't have
				   their LI widths set to auto. */
}
		/* sub-menus need a defined width, especially
				   vertical sub-menus. salt to taste. */
ul.rmenu-ver
{
/*	width: 80%; */
}
ul.rmenu-ver ul
{
	width: 250px;
}
* html ul.rmenu-ver ul /* compensate for IE's extra padding in ul/li to a */
{
	width: 260px;
}
ul.rmenu
{
/*	margin-left: 0.7%; 
padding: 0;
margin: 0% 3% 1% 3%;*/
}
ul.rmenu-wide
{
	width: 100%;		/* apply this rule if you want the top-level
				   menu to go as wide as possible. this is 
				   something you might want if your top-level
				   is a vertical menu that spans the width
				   of a column which has its width 
				   pre-defined. IE/Win 5 seems to prefer
				   a value of 100% over auto. */
}


/*******************************************************************************
 * DROP POSITIONS
 *
 * This handles where sub-menus drops relative to the parent element. The same
 * attributes should be set in all rule sets in this section so that cascading
 * rules don't create problems.
 *
 * NOTE: The suckerfish/form fields hack found towards the bottom of this
 *       stylesheet overwrites a few of these rules for IE 6 and earlier. If
 *       you change any of the LEFT attributes here you need to also make the
 *       same changes to the * html <selector> rule set down below. 
 */
ul.rmenu-ver ul
{
	left: 65%; /* menu position for non-ie6 */
	right: auto;
	top: auto;
	margin-top: -1.3em;	/* i prefer top: 80% but this creates a problem
				   in iCab so negative top margin must be used.
				   salt to taste. */
}
* html ul.rmenu-ver ul
{
	margin-left: -40px; /* for ie6 */
}
/*******************************************************************************
 * PRESENTATION : General
 *
 * This is where the visual presentation of the menu is handled. If you try to
 * alter the borders width or location of placement pay close attention to the
 * notes provided with the existing CSS rules in this section. There are key
 * reasons behind borders and negative margins being placed where they are.
 */
ul.rmenu li /* a */ 
{
	border: solid 1px #bbb;	/* border around all anchor tags */
	background : transparent url(./images/menu_left.gif) no-repeat 2% 50%;
	width: auto;
	padding: 0 0 0 36px;
}

#menu ul.rmenu#menu-01 li a.menu_sub:active,
#menu ul.rmenu#menu-01 li a.menu_sub:link,
#menu ul.rmenu#menu-01 li a.menu_sub {
	text-decoration: none;
	font-weight:bold;
	color: #003F7D;
}
#menu ul.rmenu#menu-01 li a.menu_sub:hover {
	text-decoration: none;
	font-weight:bold;
	color: #E31C23;
}

ul.rmenu-ver li
{
	margin-left: 0;
	margin-top: -1px;	/* same thing above except for vertical
				   menus */
}

ul.rmenu
{
/*	border-top: solid 1px #bbb;	/* ditto*/ 
	margin: 0 3% 0 3%;
	margin-top: -9px;
	padding: 0;
}
* html ul.rmenu
{
/*	border-top: solid 1px #bbb;	/* ditto*/ 
	margin: 0 3% 0% 3%;
	margin-top: -6px;
	padding: 0;
}
ul.rmenu li a
{
/*	padding: 2px 5px 3px;	/* 2px top, 3px bottom always seems to
				   provide the most visually balanced 
				   padding */
}
ul.rmenu li a:link, ul.rmenu li a:hover, ul.rmenu li a:visited, ul.rmenu li a:active
{
	text-decoration: none;
}


ul.rmenu li.sfhover a:active,
ul.rmenu li:hover a:active
{
	background-color: #c00;
}
ul.rmenu li
{
	background-color: #fafafa;	/* default background color of menu items */
} 
ul.rmenu li:hover,
ul.rmenu li.sfhover
{
	background-color: #f6f6f6;	/* background color for parent menu items of
				   the current sub-menu. includes the sfhover
				   class which is used in the suckerfish hack
				   detailed later in this stylesheet. */
}
ul.rmenu li a:hover
{
	background-color: #f6f6f6;
}


/*******************************************************************************
 * HACKS : General
 *
 * These are rules specifically targeted to resolve bugs/quirks that some
 * browser exhibit.
 */
* html ul.rmenu
{
	display: inline-block;	/* this is for IE/Mac. it forces IE/Mac to 
				   expand the element's dimensions to contain 
				   its floating child elements without a 
				   clearing element. */
	/* \*/ display: block;	/* override above rule for every other 
				   browser using IE/Mac backslash hack */
	position: relative;	/* IE 5.0/Mac needs this or it may clip the
				   dropdown menus */
	/* \*/ position: static;/* reset position attribute for IE/Win as it
				   causes z-index problems */
}
* html ul.rmenu ul
{
	float: left;		/* IE/Mac 5.0 needs this, otherwise hidden 
				   menus are not completely removed from the
				   flow of the document. */
	/* \*/ float: none;	/* reset the rule for non-Macs */
}
ul.rmenu ul
{
	background-color: #fff;	/* IE/Win (including 7) needs this on an object 
				   that hasLayout so that it doesn't "look through"
				   the menu and let any object (text) below the 
				   menu to gain focus, causing the menu to 
				   disappear. application of this rule does not
				   cause any rendering problems with other browsers
				   as the background color his covered by the
				   menu itself. */
}
* html ul.rmenu-ver li
{
				/* the second selector above is there 
				   because of problems IE/Mac has with 
				   inheritance and what rules should take
				   precedence. and to serve as a reminder on
				   how to work around the issue if it's 
				   encountered again down the road. */
	width: 100%;
	float: left;
	clear: left;
	/* not IE/WIN \*/
	width: auto;
	float: none;
				/* IE6 (and earlier?) stick space below any LI
				   in :hover state with a sub-menu. floating
				   the LIs seems to work around this issue. But
				   note that this also triggers hasLayout 
				   because we need a width of 100% on floats.
				   But hasLayout on LIs breaks the menu in IE7.
				   So we really need to be careful not to let
				   floats get into anything other than IE6
				   and earlier. IE Mac seems to need this
				   too for some other reason. */
}
ul.rmenu li a
{
	position: relative;	/* trigger hasLayout for IE on anchor 
				   elements. without hasLayout on anchors
				   they would not expand the full width 
				   of the menu. this rule may not trigger
				   hasLayour in later versions of IE and
				   if you find this system broken in new
				   versions of IE, this is probably the
				   source. */
}

/*******************************************************************************
 * HACKS : Suckerfish w/Form Field Support (for IE 5.5 & 6.x)
 *
 * IE6 and earlier do not support the :hover pseudoclass and so javascript is 
 * used to add the "sfhover" class of any LI element that the mouse is currently 
 * over. This method is called suckerfish and you can read up on it at:
 * http://www.htmldog.com/articles/suckerfish/dropdowns/
 *
 * One problem with this approach is IE6 and earlier versions have a bug where
 * form fields appear over the dropdown menus regardless of z-index values.
 * The fix is to generate and stick an IFRAME element under the dropdown menus
 * as they pop. The JavaScript used to do this requires that we hide menus off
 * to the side of the screen ( left: -100000px; ), but normal rmenu operation
 * is to hide menus with the DISPLAY property ( display: none; ). So also
 * included in the set of rules below are rules to overwrite this original
 * functionality of rmenu and utilize the LEFT property to move menus off-
 * screen until needed. Any other rules that use the LEFT property in the
 * normal rmenu system will also have to be ovewriten here as well. This
 * includes the dropdown positions.
 *
 * NOTE: this allows for support of dropdown menus up to 3 levels deep. if you 
 *	 want to support greather menu depth you need to alter these selectors. 
 *	 read the above mentioned website for more info on how to do that.
 *
 *       The fix to get dropdowns to appear over form fields requires we 
 *       position menus off screen rather than simply hiding them with
 *       display:none. So you might think we should not be using the display
 *       property in the fields below. However we can because these display
 *       properties are only being set when a parent LI is being hovered, so
 *       the JavaScript used to operate on these LIs will already have the
 *       dimensions they need before these display rules are activated.
 */
* html ul.rmenu ul
{
	display: block;
	position: absolute;	/* ovewrite original functionality of hiding
				   element so we can hide these off screen */
}
* html ul.rmenu ul,
* html ul.rmenu-ver ul
{
	left: -10000px;		/* move menus off screen. note we're ovewriting
				   the dropdown position rules that use the 
				   LEFT property, thus all the selectors. */
}
* html ul.rmenu li.sfhover
{
	z-index: 999;		/* not totally needed, but keep the menu 
				   that pops above all other elements within
				   it's parent menu system */
}
* html ul.rmenu li.sfhover ul
{
	left: auto;		/* pull the menus that were off-screen back 
				   onto the screen */
}
* html ul.rmenu li.sfhover ul ul, 
* html ul.rmenu li.sfhover ul ul ul
{ 
	display: none;		/* IE/Suckerfish alternative for browsers that
				   don't support :hover state on LI elements */
}
* html ul.rmenu li.sfhover ul, 
* html ul.rmenu li li.sfhover ul, 
* html ul.rmenu li li li.sfhover ul
{
	display: block;		/* ^ ditto ^ */
}

* html ul.rmenu-ver li.sfhover ul
{
	left: 60%;		/* dropdown positioning uses the left attribute
				   for horizontal positioning. however we can't
				   use this property until the menu is being
				   displayed.

				   note that all ULs beneath the menu item 
				   currently in the hover state will get this
				   value through inheritance. however all sub-
				   menus still won't display because
				   two rule sets up we're setting the 
				   DISPLAY property to none.
				 */
}
* html ul.rmenu iframe
{
	filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;		/* this is the IFRAME that's placed behind
				   dropdown menus so that form elements don't
				   show through the menus.

				   these values can be assigned programatically
				   via the javascript used to create this
				   element, but that creates lag in the display
				   of the dropdown menus. */
}

/*******************************************************************************
 * HACKS : Clearfix
 *
 * Clearfix provides a means to for an element to contain all it's floated 
 * children even if it's not normally tall enough to do so. For more information
 * on clearfix please see:
 * http://www.positioniseverything.net/easyclearing.html
 */
.clearfix:after
{
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
    padding-bottom: 1px;
    margin-bottom: -1px;	/* fix to get rid of a 1px overlap in FireFox */
}
.clearfix
{
	min-width: 0;		/* trigger hasLayout for IE7 */
	display: inline-block;
	/* \*/	display: block;	/* Hide from IE Mac */
}
* html .clearfix
{
	/* \*/  height: 1%;	/* Hide from IE Mac */ 
}

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