
#nav {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    font-family: "CaviarDreamsBold", Arial;
}
#nav > a,
#nav > .li {
    display: none;
}
#nav li {
    position: relative;
}
#nav li a,
#nav li .li {
    color: rgb(68, 67, 67);
    display: block;
    text-decoration: none;
}

#nav span:after {
    width: 0;
    height: 0;
    content: '';
    vertical-align: middle;
    display: inline-block;
    position: relative;
    right: -0.313em; 
    border: 0.313em solid transparent;
    border-bottom: none;
    border-top-color: rgb(68, 67, 67);
}

/* first level */
#nav > ul {
    height: 3.75em; 
    background-color: #ededee;
    list-style: none;
    z-index: 1;
}
#nav > ul > li {
    width: 20%;
    height: 100%;
    float: left;
}
#nav > ul > li > a,
#nav > ul > li > .li {
    height: 100%;
    font-size: 1.3rem; 
    line-height: 2.8em;
    text-align: center;
}
#nav > ul > li:hover > a,
#nav > ul:not( :hover ) > li.active > a,
#nav > ul > li:hover > .li,
#nav > ul:not( :hover ) > li.active > .li {
    text-shadow: 1px 5px 2px rgba(150, 150, 150, 1); 
}


/* second level */
#nav li ul {
    background-color: #ededee;
    display: none;
    position: absolute;
    top: 100%;
    list-style: none;
    padding-left: 0;
    text-align: center;
    z-index: 3000;
}
#nav li:hover ul {
    display: block;
    left: 0;
    right: 0;
}
#nav li:not( :first-child ):hover ul {
    left: -1px;
}
#nav li ul a {
    font-size: 1.3rem;
    padding: 0.75em; 
}
#nav li ul li a:hover,
#nav li ul:not( :hover ) li.active a {
    text-shadow: 1px 5px 2px rgba(150, 150, 150, 1); 
}

/* Media Queries */
@media  ( max-width: 700px ) {
    #nav {
        position: relative;
        top: auto;
        left: auto;
    }
    #nav > a,
    #nav > .li {
        width: 3.125em; 
        height: 3.125em; 
        text-align: left;
        text-indent: -9999px;
        position: relative;
        background-color: #353535;
    }
    #nav > a:before,
    #nav > a:after,
    #nav > .li:before,
    #nav > .li:after {
        position: absolute;
        border: 2px solid #fff;
        top: 35%;
        left: 25%;
        right: 25%;
        content: '';
    }
    #nav > a:after,
    #nav > .li:after {
        top: 60%;
    }
    #nav:not( :target ) > a:first-of-type,
    #nav:target > a:last-of-type,
    #nav:not( :target ) > .li:first-of-type,
    #nav:target > .li:last-of-type {
        display: block;
    }

    /* first level */
    #nav > ul {
        height: auto;
        display: none;
        position: absolute;
        left: 0;
        right: 0;
    }
    #nav:target > ul {
        display: block;
    }
    #nav > ul > li {
        width: 100%;
        float: none;
    }
    #nav > ul > li > a ,
    #nav > ul > li > .li {
        height: auto;
        text-align: left;
        padding: 0 0.833em; 
    }

    /* second level */
    #nav li ul {
        position: static;
        padding: 0 1.25em 1.25em 2.25em; 
        text-align: left;
    }
}