/*** ESSENTIAL STYLES ***/
 .sf-menu, .sf-menu * {
	margin: 0;
	padding: 0;
	list-style: none;
}
.sf-menu {
	line-height: 1.0;
}
.sf-menu ul {
	position: absolute;
	top: -999em;
	width: 150px;
	/* left offset of submenus need to match (see below) */
	background: #fff;
}
.sf-menu ul:after {
	position: absolute;
	border-style: solid;
	border-width: 0 5px 5px;
	border-color: #FFFFFF transparent;
	display: block;
	width: 0;
	z-index: 1;
	margin-left: -5px;
	top: -5px;
	left: 30px;
}

.sf-menu ul:before {
	position: absolute;
	border-style: solid;
	border-width: 0 7px 7px;
	border-color: #dcdcdc transparent;
	display: block;
	width: 0;
	z-index: 0;
	margin-left: -7px;
	top: -10px;
	left: 30px;
}
.sf-menu ul ul:before,
.sf-menu ul ul:after {
	display:none;
}
.sf-menu ul li {
	width: 100%;
}
.sf-menu li:hover {
	visibility: inherit;
	/* fixes IE7 'sticky bug' */
}
.sf-menu li {
	float: left;
	position: relative;
}
.sf-menu a {
	display: block;
	position: relative;
}
.sf-menu li:hover ul, .sf-menu li.sfHover ul {
	left: 0;
	top: 2.9em;
	/* match top ul list item height */
	z-index: 101;
	padding: 10px 5px;
	border: 3px solid #e3e3e3;
	border: 3px solid rgba(0,0,0,0.1);
}
.sf-menu li li:hover ul, .sf-menu li li.sfHover ul {
	margin-top:0;
}
ul.sf-menu li:hover li ul, ul.sf-menu li.sfHover li ul {
	top: -999em;
}
ul.sf-menu li li:hover ul, ul.sf-menu li li.sfHover ul {
	left: 139px;
	top: -1em;
}
ul.sf-menu li li:hover li ul, ul.sf-menu li li.sfHover li ul {
	top: -999em;
}
ul.sf-menu li li li:hover ul, ul.sf-menu li li li.sfHover ul {
	left: 139px;
	/* match ul width */
	top: -1em;
}