
/* common and top level styles */
#responsive-nav span {
    display: none;
}
#responsive-nav, #responsive-nav ul {
    list-style: none outside none;
    margin: 0;
    padding: 0;
}
#responsive-nav {
    background-color: #F5F5F5;
    border-bottom: 5px solid #333333;
    float: left;
    margin-left: 0;
    margin-right: 0;
    position: relative;
    width: 100%;
}
#responsive-nav ul.subs {
    background-color: #FFFFFF;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
    color: #333333;
    display: none;
    left: 0;
    padding: 2%;
    position: absolute;
    top: 54px;
    width: 96%;
}
#responsive-nav > li {
    border-bottom: 5px solid transparent;
    float: left;
    margin-bottom: -5px;
    text-align: left;
    -moz-transition: all 300ms ease-in-out 0s;
    -ms-transition: all 300ms ease-in-out 0s;
    -o-transition: all 300ms ease-in-out 0s;
    -webkit-transition: all 300ms ease-in-out 0s;
    transition: all 300ms ease-in-out 0s;
}
#responsive-nav li a {
    display: block;
    text-decoration: none;
    -moz-transition: color 450ms ease-in-out 0s, background-color 450ms ease-in-out 0s;
    -ms-transition: color 450ms ease-in-out 0s, background-color 450ms ease-in-out 0s;
    -o-transition: color 450ms ease-in-out 0s, background-color 450ms ease-in-out 0s;
    -webkit-transition: color 450ms ease-in-out 0s, background-color 450ms ease-in-out 0s;
    transition: color 450ms ease-in-out 0s, background-color 450ms ease-in-out 0s;
    white-space: normal;
}
#responsive-nav > li > a {
    color: #333333;
    display: block;
    font-size: 1.3em;
    line-height: 49px;
    padding: 0 15px;
    text-transform: uppercase;
}
#responsive-nav > li:hover > a, #responsive-nav > a:hover {
    background-color: #888;
    color: #FFFFFF!important;
}
#responsive-nav li.active > a {
    background-color: #333333;
    color: #FFFFFF;
}

/* submenu */
#responsive-nav li:hover ul.subs {
    display: block;
    background-color: white;
    z-index:4;
}
#responsive-nav ul.subs > li {
    display: inline-block;
    float: none;
    padding: 10px 1%;
    vertical-align: top;
    width: 33%;
}
#responsive-nav ul.subs > li a {
    color: #777777;
    line-height: 20px;
}
#responsive-nav ul li a:hover {
    color: #F55856;
}
#responsive-nav ul.subs > li > a {
    font-size: 1.3em;
    margin-bottom: 10px;
    text-transform: uppercase;
}
#responsive-nav ul.subs > li li {
    float: none;
    padding-left: 8px;
    -moz-transition: padding 150ms ease-out 0s;
    -ms-transition: padding 150ms ease-out 0s;
    -o-transition: padding 150ms ease-out 0s;
    -webkit-transition: padding 150ms ease-out 0s;
    transition: padding 150ms ease-out 0s;
}
#responsive-nav ul.subs > li li:hover {
    padding-left: 15px;
}

/* responsive rules */
@media all and (max-width : 980px) {
    #responsive-nav > li {
        float: none;
        border-bottom: 0;
        margin-bottom: 0;
    }
    #responsive-nav ul.subs {
        position: relative;
        top: 0;
    }
    #responsive-nav li:hover ul.subs {
        display: none;
    }

    #responsive-nav li #s0:target + ul.subs,
    #responsive-nav li #s1:target + ul.subs,
    #responsive-nav li #s2:target + ul.subs,
    #responsive-nav li #s3:target + ul.subs,
    #responsive-nav li #s4:target + ul.subs,
    #responsive-nav li #s5:target + ul.subs,
    #responsive-nav li #s6:target + ul.subs,
    #responsive-nav li #s7:target + ul.subs,
    #responsive-nav li #s8:target + ul.subs,
    #responsive-nav li #s9:target + ul.subs,
    #responsive-nav li #s10:target + ul.subs,
    #responsive-nav li #s11:target + ul.subs,
    #responsive-nav li #s12:target + ul.subs,
    #responsive-nav li #s13:target + ul.subs,
    #responsive-nav li #s14:target + ul.subs,
    #responsive-nav li #s15:target + ul.subs {
        display: block;        
    }

    #responsive-nav ul.subs > li {
        display: block;
        width: auto;
    }
}
