/* SWIM2.0 :: Simple website menu
****************************************************************
* DOM scripting by brothercake -- http://www.brothercake.com/
* Licensed under GPL -- http://www.gnu.org/copyleft/gpl.html
****************************************************************
* For professional menu solutions visit -- http://www.udm4.com/
****************************************************************
*/





/* tame the lists */
ul.horizontal, ul.horizontal li {
	margin:0;
	padding:0;
	list-style-type:none;
	font-size:100%; /* fix for win/ie's "non-linear text scaling" bug */
	}


/* navbar list */
ul.horizontal {
	position:absolute;
	cursor:default;
	z-index:2000;
	}


/* navbar list-items */
ul.horizontal li {
	width:auto;
	float:left;
	position:relative;
	cursor:pointer;
	cursor:hand;

	text-align:left;


	/* shift list-items to collapse borders horizontally */
	margin:0 0 0 -1px;
	}

/* we have to use a different positioning trick for ie, so:
   - set the two values below to reflect the navbar items' left position,
   - then reduce the margin-left value by 1px (approx 0.05em)
     to re-apply the list-item border-collapse */
* html ul.horizontal li {
	margin:0 0 0 0;
	}

/* we also need to use the same trick for safari < 1.2, so
   - apply the same values again
   we're also increasing the border-collapse and compensation slightly
   to cover for a float-related rounding-error in mozilla and safari
   this is using a substring-matching attribute selector
   which is also visible to safari 1.2, konqueror, mozilla and osx/msn
   but that's okay, because it still works
   we can't do that for everybody, because it breaks in opera */
ul[class^="horizontal"] li {
	margin:0 0 0 0;
	}


/* menu lists */
ul.horizontal ul {
	border: 1px solid #f0f0f0;
	border-bottom: 0px none;
	z-index:2020;
	padding:0;
	cursor:default;
	position:absolute;
	top:auto;

	/* menu width */
	width:150px;

	/* menu offset, which already includes 1px compensation
	   for list-item border collapse */
	margin:0 0 0 0;

	/*
	position menus off the screen to hide
	because using display, visibility, overflow or clip,
	would hide them from browser-based screenreaders as well
	using left this time because top doesn't work correctly in safari
	and using px because left:-Nem causes a horizontal scrollbar in some opera builds
	it also has the advantage that menus which might extend beyond the window
	won't create a horizontal scrollbar unless they're open
	*/
	left:-10000px;
	}


/* menu list-items */
ul.horizontal ul li {
	border-top: 1px solid #f0f0f0;
	border-bottom: 1px solid #f0f0f0;

	/* duplicate menu width */
	width:150px;

	/* compensate for navbar positioning */
	left:auto;

	/* shift list-items to collapse borders vertically */
	margin:-1px 0 0 0;
	}


/* you can use <ul> classes to specify different menu widths */
ul.horizontal ul.wider, ul.horizontal ul.wider li {
	width:12.2em;
	}


/* further child-menu offset */
ul.horizontal ul ul {
	/* this DOES NOT already include 1px compensation
	   on TOP and LEFT, for list-item border collapse
	   (1px defaults to around 0.05em) */
	margin:-1px 0 0 150px;
	/* overlapping the menus improves usability */
	}


/* menu triggers -- position menus back on the screen to show
   hide these from safari < 1.2 because of it's "sticky hover" bug
   and because the menu positioning doesn't work
   using the "@media with Media Type in Mixed Case" hack
   http://www.dithered.com/css_filters/css_only/media_mixed_case.html */
@media Screen, Projection {
	ul.horizontal li:hover > ul { left:auto; }
	ul.horizontal ul li:hover > ul { top:0; }
	}


/* links */
ul.horizontal a, ul.horizontal a:visited {
	display:block;
	cursor:pointer;
	cursor:hand;
	background-color:#000000;
	border-right:1px solid #ffffff;
	padding:5px 0px;
	font:normal normal bold 0.8em tahoma, verdana, sans-serif;
	color:#ffffff;
	text-decoration:none;
	text-align: center;
	letter-spacing:1px;
	width: 113px;
	}

ul.horizontal ul a, ul.horizontal ul a:visited {
	background-color: #ffffff;
	background-repeat: no-repeat;
	background-position: 5px 8px;
	color: #0093C5;
	font-weight: normal;
	text-align: left;
	padding-left:15px;
	width: 135px;
}

/* rollover pseudo-classes, and scriptable persistence class */
ul.horizontal a:hover, ul.horizontal a:focus, ul.horizontal a.rollover, ul.horizontal a.rollover:visited {
	color:#F1A849;
}

ul.horizontal ul a:hover, ul.horizontal ul a:focus, ul.horizontal ul a.rollover, ul.horizontal ul a.rollover:visited {
	color: #006FA2;
}

/* opera 5 and 6, and mac/ie5, need float on the links */
ul.horizontal a { float:left; }

/* but it would break other browsers, so we need to negate it
   using a rule that's hidden from them with the "@media with Media Type in Mixed Case" hack
   http://www.dithered.com/css_filters/css_only/media_mixed_case.html */
@media Screen, Projection { ul.horizontal a { float:none; } }

/* msn/osx can see through that, but needs the float as well,
   so re-apply it using the "not my child" hack
   http://www.jasonkarldavis.com/articles/notmychild/ */
ul.horizontal a:not(:nth-child(n)) { float:left; }

/* compensate submenus, using !important to increase specificity for osx/msn */
ul.horizontal ul a { float:none !important; }

/* hacks for win/ie to cure 'excess hidden margins' and 'double margin float' bugs */
@media screen, projection {
	* html ul.horizontal li {
		/* for ie5.0 */
		display:inline;
		/* for ie5.5+ */
		f\loat:left;
		/* this cures 'events fall through the menu' bug in ie6
		   you can can change the color, but don't remove it or use an image */
		background:#ffffff;
		}
	}

/* use different comparative positioning for ie,
   to avoid problems with virtual z-ordering */
* html ul.horizontal li { position:static; }
* html ul.horizontal a { position:relative; }

/* hide menus from konqueror < 3.2 */
ul[class^="horizontal"] ul { display:none; }
ul[class^="horizontal"] ul { displa\y:block; }
