#nav, #nav ul { /* all lists */
	padding: 0;
	margin: 0;
	list-style: none;
	line-height: 1;
}

#nav a {
	display: block;
	text-decoration: none;
	padding: 4px;
	color: white;
}

#nav a:hover {
	background-color: white;
	color: #29A2C6;
}

#nav table:hover {
	background-color: white;
	color: #29A2C6;
}

#nav li { /* all list items */
	float: left;
	width: auto; /* width needed or else Opera goes nuts */
}

#nav li li {
	width: 100%;
}

#nav li ul { /* second-level lists */
	position: absolute;
	background: #29A2C6;
	border: 1px solid white;
	width: 260px;
	left: -999em; /* using left instead of display to hide menus because display: none isn't read by screen readers */
}

#nav li ul ul { /* third-and-above-level lists */
	margin: -2em 0 0 195px;
}

#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul {
	left: -999em;
}

#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul { /* lists nested under hovered list items */
	left: auto;
}