#cssmenu, #cssmenu ul, #cssmenu ul li, #cssmenu ul li a, #cssmenu #menu-button {
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 0;
    display: block;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

    #cssmenu ul {
        margin-bottom: 6px;
        margin-top: 10px;
    }

    #cssmenu:after,
    #cssmenu > ul:after {
        content: '.';
        display: block;
        clear: both;
        visibility: hidden;
        line-height: 0;
        height: 0;
    }

    #cssmenu #menu-button {
        display: none;
    }

    #cssmenu > ul > li {
        display: inline-block;
        border-left: 1px dotted #666;
    }

    #cssmenu ul li:first-child {
        border-left: none;
    }

    #cssmenu > ul > li > a {
        color: #fff;
        font-size: 12px;
        text-transform: uppercase;
        font-family: Verdana, Geneva, sans-serif;
        font-weight: 800;
        padding: 10px;
        padding-left: 14px;
        padding-right: 46px;
    }

        #cssmenu > ul > li:hover > a,
        #cssmenu > ul > li > a:hover,
        #cssmenu > ul > li.active > a {
            text-decoration: none;
            color: #093;
        }
        
        #cssmenu > ul > li.has-sub > a::after {
            content: '';
            position: absolute;
            width: 0;
            height: 0;
            border: 6px solid transparent;
            border-top-color: #093;
            right: 20px;
            top: 8px;
        }

    #cssmenu ul ul {
        position: absolute;
        left: -9999px;
        top: 60px;
        padding-top: 18px;
        font-size: 13px;
        opacity: 0;
        -webkit-transition: top 0.2s ease, opacity 0.2s ease-in;
        -moz-transition: top 0.2s ease, opacity 0.2s ease-in;
        -ms-transition: top 0.2s ease, opacity 0.2s ease-in;
        -o-transition: top 0.2s ease, opacity 0.2s ease-in;
        transition: top 0.2s ease, opacity 0.2s ease-in;
    }
    #cssmenu > ul > li > ul::after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        border: 5px solid transparent;
        border-bottom-color: #C6C2C2;
        top: 8px;
        left: 20px;
    }

    #cssmenu ul ul ul::after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        border: 5px solid transparent;
        border-right-color: #ffffff;
        top: 11px;
        left: -4px;
    }

    #cssmenu > ul > li:hover > ul {
        top: 0px;
        left: 65px;
        opacity: 1;
    }

    #cssmenu ul ul ul {
        padding-top: 0;
        padding-left: 6px;
    }
    #cssmenu ul ul > li:hover > ul {
        left: 180px;
        top: 0;
        opacity: 1;
    }
    #cssmenu ul ul li a {
        text-decoration: none;
        font-weight: 800;
        padding: 19px 25px;
        z-index: 999;
        width: 300px;
        color: #fff;
        background: #333333;
        border-top: 1px solid #C6C2C2;
        box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1), 1px 1px 1px rgba(0, 0, 0, 0.1), -1px 1px 1px rgba(0, 0, 0, 0.1);
    }

    #cssmenu ul ul li:hover > a,
    #cssmenu ul ul li.active > a {
        color: #093;
    }

    #cssmenu ul ul li:first-child > a {
        border-top-left-radius: 3px;
        border-top-right-radius: 3px;
    }

    #cssmenu ul ul li:last-child > a {
        border-bottom-left-radius: 3px;
        border-bottom-right-radius: 3px;
    }

    #cssmenu > ul > li > ul::after {
        position: absolute;
        display: block;
    }

    #cssmenu ul ul li.has-sub > a::after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        border: 4px solid transparent;
        border-left-color: #777777;
        right: 17px;
        top: 14px;
    }

    #cssmenu ul ul li.has-sub.active > a::after,
    #cssmenu ul ul li.has-sub:hover > a::after {
        border-left-color: #333333;
    }
