/* General */

.ubermenu .ubermenu-nav a {
    color: #333;
    font: 600 18px 'Open Sans', sans-serif;
    letter-spacing: 0.02em;
}

.ubermenu-sub-indicators .ubermenu-has-submenu-drop > .ubermenu-target:after {
    color: #b52f37;
    right: 5px;
    font-size: 18px;
}

.ubermenu .ubermenu-submenu a {
    font-weight: 300;
    padding-top: 6px;
    padding-bottom: 6px;
}

.ubermenu .ubermenu-submenu li:hover > a,
.ubermenu .ubermenu-submenu li.ubermenu-current-menu-item > a,
.ubermenu .ubermenu-submenu li.ubermenu-current-menu-parent > a,
.ubermenu .ubermenu-submenu li.ubermenu-current-menu-ancestor > a { font-weight: 600; }

.ubermenu-submenu .ubermenu-has-submenu-drop > .ubermenu-target:after {
    color: #333;
    right: 25px;
}

.ubermenu-submenu .ubermenu-has-submenu-drop:hover > .ubermenu-target:after { color: #b42b33; }

/*.ubermenu .ubermenu-submenu-type-flyout > .ubermenu-item { position: unset; }*/


/* Menu Parent */

.ubermenu .ubermenu-nav .ubermenu-item-level-0 { margin-right: 4.9em; }

.ubermenu .ubermenu-nav > .ubermenu-item-level-0:first-child { margin-left: -1.5em; }

.ubermenu .ubermenu-nav > .ubermenu-item-level-0:last-child { margin-right: 0; }

.ubermenu .ubermenu-nav .ubermenu-item-level-0.ubermenu-item-has-children > a:before {
    content: '';
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 45%;
    height: 0;
    width: 0;
    opacity: 0;
    -webkit-transition: all .3s ease-in-out;
         -o-transition: all .3s ease-in-out;
            transition: all .3s ease-in-out;
}

.ubermenu .ubermenu-nav .ubermenu-item-level-0.ubermenu-item-has-children > a:before {
    border-left: 11px solid transparent;
    border-right: 11px solid transparent;
    border-bottom: 11px solid #b42b33;
    margin-left: -5px;
}

.ubermenu .ubermenu-nav .ubermenu-item-level-0:hover > a { color: #b42b33; }

.ubermenu .ubermenu-nav .ubermenu-item-level-0:hover > a:before { opacity: 1; }


/* Submenu Level 1 */

.ubermenu .ubermenu-nav .ubermenu-submenu {
    border-top: 4px solid #b42b33 !important;
    background-color: #f5f5f5;
    width: 258px !important;
}

.ubermenu-sub-indicators .ubermenu-has-submenu-drop > .ubermenu-target { padding-right: 35px; }

.ubermenu .ubermenu-nav .ubermenu-submenu a { font-size: 16px; }


/* Submenu Level 2 & up */

.ubermenu .ubermenu-retractor { text-align: left; }

.ubermenu .ubermenu-submenu .ubermenu-submenu {
    background-color: #fff;
    margin-top: -4px !important;
}

.ubermenu .ubermenu-submenu .ubermenu-submenu li { border-left: 1px solid #cacaca; }

.ubermenu .ubermenu-submenu .ubermenu-submenu li > span.ubermenu-item-layout-text_only {
    text-transform: uppercase;
    font-weight: 700;
    position: relative;
    font-size: 12px;
}

.ubermenu .ubermenu-submenu .ubermenu-submenu li > span.ubermenu-item-layout-text_only:after {
    content: "";
    position: absolute;
    left: 20px;
    bottom: 5px;
    width: 95px;
    height: 1px;
    background-color: #000;
}

.ubermenu .ubermenu-submenu .ubermenu-submenu a {
    padding: 5px 23px;
    font-size: 14px;
}

@media (max-width: 1355px) {
    .ubermenu .ubermenu-nav .ubermenu-item-level-0 { margin-right: 4.5em; }
}

@media (max-width: 1310px) {
    .ubermenu .ubermenu-nav .ubermenu-item-level-0 { margin-right: 4.2em; }
}

@media (max-width: 1285px) {
    .ubermenu .ubermenu-nav .ubermenu-item-level-0 { margin-right: 4em; }
}

@media (max-width: 1265px) {
    .ubermenu .ubermenu-nav .ubermenu-item-level-0 { margin-right: 3.8em; }
}

@media (max-width: 1248px) {
    .ubermenu .ubermenu-nav .ubermenu-item-level-0 { margin-right: 3.6em; }
}

@media (max-width: 1230px) {
    .ubermenu .ubermenu-nav .ubermenu-item-level-0 { margin-right: 3.4em; }
}

@media (max-width: 1212px) {
    .ubermenu .ubermenu-nav .ubermenu-item-level-0 { margin-right: 3.2em; }
}

@media (min-width: 1200px) {
    .fx-test .ubermenu .ubermenu-nav .ubermenu-item-level-0 { margin-right: 0 !important; }

    .fx-test .ubermenu-sub-indicators .ubermenu-has-submenu-drop > .ubermenu-target { padding-right: 24px !important; }
}

@media (min-width: 1366px) {
    .fx-test .ubermenu .ubermenu-nav .ubermenu-item-level-0 { margin-right: 0.5em !important; }

    .fx-test .ubermenu-sub-indicators .ubermenu-has-submenu-drop > .ubermenu-target { padding-right: 26px !important; }
}

@media (max-width: 1199px) {
    button.ubermenu-responsive-toggle-align-full {
        background-color: transparent;
        border: 0;
        color: #333;
        cursor: pointer;
        font: 700 8px 'Raleway', sans-serif;
        text-align: center;
        text-transform: uppercase;
        padding: 0;
        position: absolute;
        right: 2%;
        width: 24px;
        top: 21px;
    }

    .ubermenu-responsive-toggle .fa {
        width: 2.5em;
        display: block;
        margin-right: 0;
        margin-bottom: 2px;
    }

    .fa-navicon:before,
    .fa-reorder:before,
    .fa-bars:before {
        font-size: 28px;
        display: block;
        text-align: center;
    }

    .ubermenu-responsive {
        width: 500px !important;
        right: 0;
        top: 100%;
        position: absolute;
        background-color: #fff;
    }

    .ubermenu .ubermenu-nav li { border-top: 1px solid #ececec; }

    .ubermenu .ubermenu-nav li:first-child { border-top: none; }

    .ubermenu .ubermenu-nav > .ubermenu-item-level-0:first-child { margin-left: 0; }

    .ubermenu .ubermenu-nav .ubermenu-item-level-0.ubermenu-item-has-children > a:before,
    .ubermenu .ubermenu-nav .ubermenu-item-level-0 > a:before { display: none; }

    .ubermenu .ubermenu-nav a {
        font-size: 16px;
        background-color: #fff;
    }

    /* Sub-menu */

    .ubermenu .ubermenu-nav .ubermenu-submenu {
        -webkit-box-shadow: none !important;
                box-shadow: none !important;
        border-top: none !important;
        position: relative;
        top: 100%;
        margin-top: 0 !important;
    }

    .ubermenu .ubermenu-nav .ubermenu-submenu a { font-size: 14px; }

    .ubermenu-sub-indicators .ubermenu-has-submenu-drop > .ubermenu-target:after {
        right: 0;
        top: 12px;
        width: 45px;
        height: 45px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-line-pack: center;
            align-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);
                transform: rotate(-90deg);
        -webkit-transition: all .3s ease-in-out;
             -o-transition: all .3s ease-in-out;
                transition: all .3s ease-in-out;
    }

    .ubermenu-sub-indicators .ubermenu-has-submenu-drop.ubermenu-active > .ubermenu-target:after {
        -webkit-transform: rotate(-180deg);
            -ms-transform: rotate(-180deg);
                transform: rotate(-180deg);
    }

    .ubermenu .ubermenu-submenu .ubermenu-submenu li > span.ubermenu-item-layout-text_only:after { display: none; }

    /* Sub-menu 2nd level */
    .ubermenu .ubermenu-submenu .ubermenu-submenu li { border-left: none; }

    .ubermenu .ubermenu-submenu .ubermenu-submenu a { font-size: 12px; }

    .ubermenu .ubermenu-submenu .ubermenu-has-submenu-drop > .ubermenu-target:after { top: 3px; }

    /* Sub-menu 3rd Level */

    /* Item submenu is reversed */
    .ubermenu-sub-indicators .ubermenu-submenu .ubermenu-has-submenu-flyout.ubermenu-submenu-reverse > .ubermenu-target:after {
        right: 0;
        left: auto;
    }

    .ubermenu .ubermenu-submenu .ubermenu-submenu-type-flyout.ubermenu-submenu-align-right_edge_item {
        right: unset;
    }
}

@media (max-width: 767px) {
    button.ubermenu-responsive-toggle-align-full {
        left: 82px;
        right: auto;
        top: 14px;
    }

    .ubermenu-responsive {
        top: -30px;
        width: 270px !important;
        box-shadow: 0 0 20px 8px rgba(0,0,0,.07);
            -webkit-box-shadow: 0 0 20px 8px rgba(0,0,0,.07);
        height: 100vh;
        max-height: initial !important;
    }

    .ubermenu .ubermenu-nav a { padding: 10px 15px; }

    .ubermenu-sub-indicators .ubermenu-has-submenu-drop > .ubermenu-target:after { top: 6px; }
}

@media (max-width: 599px) {
    .ubermenu-responsive { width: 200px; }
}

@media (min-width: 1200px) {
    .fx-test .ubermenu .ubermenu-nav a { font-size: 15px !important; }
}

@media (min-width: 1366px) {
    .fx-test .ubermenu .ubermenu-nav a { font-size: 18px !important; }
}