/*** ESSENTIAL STYLES ***/
.sf-menu, .sf-menu * {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sf-menu {
    line-height: 1.0;
}

.sf-menu ul {
    position: absolute;
    bottom: -999em;
    width: 100%;
    border: 1px solid #000;
    border-bottom: 0;
}

.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: 0px;
    bottom: 2.4em;
    z-index: 99;
}

ul.sf-menu li:hover li ul,
ul.sf-menu li.sfHover li ul {
    bottom: -999em;
}

ul.sf-menu li li:hover ul,
ul.sf-menu li li.sfHover ul {
    left: 100%;
    bottom: 0;
}

ul.sf-menu li li:hover li ul,
ul.sf-menu li li.sfHover li ul {
    bottom: -999em;
}

ul.sf-menu li li li:hover ul,
ul.sf-menu li li li.sfHover ul {
    left: 10em; /* match ul width */
    bottom: 0;
}

/*** SKIN ***/
.sf-menu {
    float: left;
}

.sf-menu a {
    padding: .75em 1em;
    text-decoration: none;
    background: #fff;
    z-index: 100;
}

.sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour */
    color: #000;
}

.sf-menu li {
    background: #eee;
}

.sf-menu li li {
    background: #eee;
}

.sf-menu li li li {
    background: #eee;
}

.sf-menu li:hover, .sf-menu li.sfHover,
.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
    color: #2c96aa;
    outline: 0;
}
