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

.sf-menu li {
    position: relative;
}

.sf-menu ul {
    position: absolute;
    display: none;
    top: 100%;
    left: 0;
    z-index: 99;
}

.sf-menu > li {
    float: left;
}

.sf-menu li:hover > ul,
.sf-menu li.sfHover > ul {
    display: block;
}

.sf-menu a {
    display: block;
    position: relative;
    padding: 0 1em;
}

.sf-menu ul ul {
    top: 0;
    left: 100%;
}

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

.sf-menu ul {
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
    min-width: 12em; /* allow long menu items to determine submenu width */
    *width: 12em; /* no auto sub width for IE7, see white-space comment below */
}

.sf-menu a {
    width: 100%;
    zoom: 1; /* IE7 */
}

.sf-menu li {
    height: 2.5em;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;

    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;

    white-space: nowrap; /* no need for Supersubs plugin */
    *white-space: normal; /* ...unless you support IE7 (let it wrap) */

    -webkit-transition: background 0.2s;
    transition: background 0.2s;
}

.sf-menu li:hover,
.sf-menu li.sfHover {
    /* only transition out, not in */
    -webkit-transition: none;
    transition: none;
}

/* Arrows - essentials */
.sf-arrows.sf-menu li a {
    padding-right: 1.5em;
}

.sf-arrows.sf-menu li a.sf-with-ul::after {
    font-family: FontAwesome;
    margin-left: 1em;
    right: 0.5em;
    position: absolute;
}

/* Arrows - main items */
.sf-arrows.sf-menu > li > a.sf-with-ul {
    padding-right: 1.5em;
}

.sf-arrows.sf-menu > li > a.sf-with-ul::after {
    content: "\f0d7";
}

/* Arrows - sub items */
.sf-arrows.sf-menu li li a.sf-with-ul {
}

.sf-arrows.sf-menu li li a.sf-with-ul::after {
    content: "\f0da";
}

/* RTL overrides */
.sf-menu-rtl ul {
    left: auto;
    right: 0;
}

.sf-menu-rtl ul ul {
    right: 100%;
    left: auto;
}

/* Arrows */
.sf-arrows.sf-menu-rtl.sf-arrows li li a {
    padding-left: 2em;
    padding-right: 1em;
}

.sf-arrows.sf-menu-rtl li li a.sf-with-ul::after {
    content: "\f0d9";
    margin-left: 1em;
    left: 0em;
    right: auto;
}