ul.flexnav, ul.flexnav ul { margin: 0; padding: 0; }

.menu-button { display: block; text-align: center; width: 100%; position: relative; content: ""; background: #223c77 url('../images/graphics/nav-icon.png') no-repeat 12px center; height: 47px; line-height: 47px; color: #fff; text-decoration: none; font-weight:700; }
    .menu-button .touch-button { display: none; }

/* Flexnav Base Styles */
.flexnav { -webkit-transition: none; -moz-transition: none; -ms-transition: none; transition: none; -webkit-transform-style: preserve-3d; overflow: hidden; margin: 0 auto; width: 100%; max-height: 0; }
    .flexnav.opacity { opacity: 0; }
    .flexnav.flexnav-show { max-height: 20000px; opacity: 1; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -ms-transition: all .5s ease-in-out; transition: all .5s ease-in-out; }
    .flexnav.one-page { position: fixed; top: 50px; right: 5%; max-width: 200px; }
    .flexnav li { font-size: 100%; position: relative; overflow: hidden; padding:0; margin:0; list-style:none; }
        .flexnav li a { position: relative; display: block; padding: .96em; z-index: 2; /*overflow: hidden;*/ color: #fff; background: #060606; border-bottom: 1px solid rgba(255, 255, 255, 0.15); }
            .flexnav li a:hover { text-decoration: none; }
        .flexnav li ul { width: 100%; }
            .flexnav li ul li { font-size: 100%; position: relative; overflow: hidden; }
            .flexnav li ul.flexnav-show li { overflow: visible; }
            .flexnav li ul li a { display: block; background: #2c2c2c; }
    .flexnav ul li ul li a { background: #464646; }
    .flexnav ul li ul li ul li a { background: #666666; }
    .flexnav .touch-button { position: absolute; z-index: 999; top: 0; right: 0; width: 47px; height: 47px; display: inline-block; background: #aaa; background: rgba(255, 255, 255, 0.15); text-align: center; }
        .flexnav .touch-button.active { background: rgba(255, 255, 255, 0.3); }
        .flexnav .touch-button:hover { cursor: pointer; }
        .flexnav .touch-button .navicon { position: relative; top: 0.6em; font-size: 22px; font-weight: 700; color: #888; font-style: normal; }
        .flexnav .touch-button.active .navicon { color: #fff; }

@media all and (min-width: 770px) {

    .menu-button { display: none; }

    .flexnav { overflow: visible; }
        .flexnav.opacity { opacity: 1; }
        .flexnav.one-page { top: 0; right: auto; max-width: 1080px; }
        .flexnav li { position: relative; list-style: none; float: left; display: block; background-color: #a6a6a2; overflow: visible; width: 20%; }
            .flexnav li a { border-left: 1px solid #acaca1; border-bottom: none; }
            .flexnav li > ul { position: absolute; top: auto; left: 0; }
                .flexnav li > ul li { width: 100%; }
            .flexnav li ul li > ul { margin-left: 100%; top: 0; }
            .flexnav li ul li a { border-bottom: none; }
            .flexnav li ul.open { display: block; opacity: 1; visibility: visible; z-index: 1; }
                .flexnav li ul.open li { overflow: visible; max-height: 100px; }
                .flexnav li ul.open ul.open { margin-left: 100%; top: 0; }
}
