/*** ESSENTIAL STYLES ***/
#main-menu, #main-menu * {
	margin:			0;
	padding:		0;
	list-style:		none;
}
#main-menu {
	line-height:	1.0;
}
#main-menu ul {
	position:		absolute;
	top:			-999em;
	width:			17em; /* left offset of submenus need to match (see below) */
}
#main-menu ul li {
	width:			100%;
}
#main-menu li:hover {
	visibility:		inherit; /* fixes IE7 'sticky bug' */
}
#main-menu li {
	position:		relative;
}
#main-menu a {
	display:		block;
	position:		relative;
}
#main-menu li:hover ul,
#main-menu li.sfHover ul {
	left:			-15px;
	top:			4.7em; /* match top ul list item height */
	z-index:		99;
}
ul#main-menu li:hover li ul,
ul#main-menu li.sfHover li ul {
	top:			-999em;
}
ul#main-menu li li:hover ul,
ul#main-menu li li.sfHover ul {
	left:			17em; /* match ul width */
	top:			0;
}
ul#main-menu li li:hover li ul,
ul#main-menu li li.sfHover li ul {
	top:			-999em;
}
ul#main-menu li li li:hover ul,
ul#main-menu li li li.sfHover ul {
	left:			17em; /* match ul width */
	top:			0;
}

/*** arrows (for all except IE7) **/
.sf-arrows .sf-with-ul {
	padding-right: 2.5em;
	*padding-right: 1em; /* no CSS arrows for IE7 (lack pseudo-elements) */
}
/* styling for both css and generated arrows */
.sf-arrows .sf-with-ul:after {
	content: '';
	position: absolute;
	top: 35%;
	right: 1em;
	margin-top: -3px;
	height: 0;
	width: 0;
	/* order of following 3 rules important for fallbacks to work */
	border: 5px solid transparent;
	border-top-color: #dFeEFF; /* edit this to suit design (no rgba in IE8) */
	border-top-color: rgba(255,255,255,.5);
}
.sf-arrows > li > .sf-with-ul:focus:after,
.sf-arrows > li:hover > .sf-with-ul:after,
.sf-arrows > .sfHover > .sf-with-ul:after {
	border-top-color: white; /* IE8 fallback colour */
}
/* styling for right-facing arrows */
.sf-arrows ul .sf-with-ul:after {
	margin-top: -5px;
	margin-right: -3px;
	border-color: transparent;
	border-left-color: #dFeEFF; /* edit this to suit design (no rgba in IE8) */
	border-left-color: rgba(255,255,255,.5);
}
.sf-arrows ul li > .sf-with-ul:focus:after,
.sf-arrows ul li:hover > .sf-with-ul:after,
.sf-arrows ul .sfHover > .sf-with-ul:after {
	border-left-color: white;
}