.nav {
    position: fixed;
    top:0; bottom:0;
    z-index: 999;
    background-color: #746DA5;
    color: #fff;
    height: 100%;
    width: 5.428em;
}
    .header, .main, .footer {
        margin-left: 5.428em; /* Compensate for navigation */
    }
    .nav-link {
        display: block;
        padding: .4em .2em;
    }
    .nav-link, .nav-item {
        transition: background-color .4s;
    }
    .nav-item > .nav-list {
        /*display: none; !* Hide submenus before hover *!*/
        position: absolute;
        z-index: 1;
        background-color: #2F2D41;
    }
    .nav-active > .nav-link {
        color: #FFCC00; /* Show active links in yellow */
    }
    /* Show submenus on hover */
    .nav-item:hover > .nav-list {
        /*display: block;*/
    }
    .nav-caret {
        font-size: .7rem;
        padding-left: .5rem;
    }
    .nav-back {
        display: none;
        font-size: 1.5em;
        position: absolute;
        padding: 1em;
        top: .25em;
        left: .75em;
    }
        .nav-back:hover, .nav-back:focus {
            color: #FFCC00;
        }


    /* lvl1 styles (icons) */
    .nav-lvl1 {
        display: flex;
        flex-direction: column;
        height: 100%;
        overflow-y: auto;
    }
        .nav-lvl1 > .nav-item {
            flex-grow: 1;
            flex-shrink: 1;
            text-align: center;
            display: flex;
            height: 100%;
            min-height: 3rem;
        }
        .nav-lvl1 > .nav-item > .nav-link {
            height: 100%;
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .nav-lvl1 .nav-active .nav-icon:after {
            display: block;
            content: '';
            position: absolute;
            background-color: #FFCC00;
            width: .2857rem;
            height: .2857rem;
            border-radius: 50%;
            top: 50%;
            right: .5rem;
        }
        .nav-lvl1 .nav-icon {
            display: block;
            font-size: 1.57em;
            margin-bottom: .25em;
            position: relative;
        }
        .nav-lvl1 .nav-title {
            font-size: .52em;
            width: 10em;
            margin: 0 auto;
            letter-spacing: .1204rem;
            text-transform: uppercase;
        }
        /* Hover States */
        .nav-lvl1 > .nav-item:hover {
            background-color: #2F2D41;
            transition: background-color .4s;
        }
        .nav-lvl1 > .sfHover { /* Continue showing hover state for as long as superfish keeps the menu open */
            background-color: #494763;
            transition: background-color .4s;
        }


    /* lvl2 & above styles */
    .nav-lvl2 {
        display: block;
        top:0; left:100%; bottom:0;
        width: 24em;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
        /* This extra inner div lets us show/hide the menu without the content shifting around as the width resizes */
        .nav-lvl2 > .nav-listInner {
            width: 24em;
            position: absolute;
            top:0; right:0; bottom:0;
            padding: 1.5em;
        }
        .nav-lvl1 .nav-list { /* Styles to apply to all list elements lvl2+ */
            /*padding-bottom: 1.5em;*/
        }
        .nav-lvl2 .nav-lvlHeading {
            border-bottom: 1px solid #979797;
            letter-spacing: .1905em;
            text-align: right;
            text-transform: uppercase;
            font-weight: 600;
            font-size: .76em;
            padding-bottom: .5em;
            margin-bottom: 1em;
        }
        .nav-lvl2 .nav-lvlHeading i {
            font-size: 1.15em;
        }
        .nav-lvl2 .nav-title {
            font-size: .95em;
            font-weight: 600;
            text-transform: none;
            letter-spacing: normal;
            width: auto;
        }
        .nav-lvl2 .nav-item {
            display: block;
            text-align: left;
        }
        .nav-lvl2 .nav-link {
            display: block;
            padding: .4em;
        }
        .nav-lvl2 .nav-link:hover,
        .nav-lvl2 .nav-link:focus {
            color: #FFCC00;
        }
            .nav .nav-lvl2 .nav-list {
                position: relative;
                width: 100%;
                margin-left: 1.15em;
            }
            .nav-lvl3 .nav-title {
                font-size: .8em;
                font-weight: 400;
            }


    /* Responsive breakpoints */
    @media (max-width: 1023px) {
        .nav {
            display: none;
        }
        .header, .main, .footer {
            margin-left: 0;
        }
    }
    @media (max-height: 45rem) {
        .nav_desktop .nav-lvl1 .nav-icon {
            font-size: 1.3em;
        }
    }
    @media (max-height: 40rem) {
        .nav_desktop .nav-lvl1 .nav-icon {
            font-size: 1.2em;
        }
    }