#cssmenu {
    margin: 0;
    width: auto;
    padding: 0;
    line-height: 1;
    display: block;
    position: relative;
    box-sizing: content-box;
}

#cssmenu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block;
}

#cssmenu ul:after,
#cssmenu:after {
    content: " ";
    display: block;
    font-size: 0;
    height: 0;
    clear: both;
    visibility: hidden;
}

#cssmenu ul li {
    margin: 0;
    padding: 0;
    display: block;
    position: relative;
}

#cssmenu ul li a {
    text-decoration: none;
    display: block;
    margin: 0;
    -webkit-transition: color .2s ease;
    -moz-transition: color .2s ease;
    -ms-transition: color .2s ease;
    -o-transition: color .2s ease;
    transition: color .2s ease;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#cssmenu ul li ul {
    position: absolute;
    left: -9999px;
    top: auto;
    z-index: 999;
}

#cssmenu ul li ul li {
    max-height: 0;
    position: absolute;
    -webkit-transition: max-height 0.4s ease-out;
    -moz-transition: max-height 0.4s ease-out;
    -ms-transition: max-height 0.4s ease-out;
    -o-transition: max-height 0.4s ease-out;
    transition: max-height 0.4s ease-out;
    background: #fff;
}



#cssmenu.align-right ul li ul li.has-sub:after {
    right: auto;
    left: 15px;
}

#cssmenu ul li ul li.has-sub:before {
    display: block;
    position: absolute;
    z-index: 2;
    top: 12px;
    right: 15px;
    font-family: 'icomoon' !important;
    content: "\e902";
    font-size: 10px;
    color: #fff;
}

#cssmenu.align-right ul li ul li.has-sub:before {
    right: auto;
    left: 15px;
    border-left-color: transparent;
    border-right-color: #fff;
}

#cssmenu ul li ul li a {
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
    color: #fff;
    letter-spacing: 0;
    display: block;
    width: 210px;
    padding: 11px 10px 11px 20px;
    transition: all 0.4s ease-in-out;
}

#cssmenu ul li ul li:hover > a,
#cssmenu ul li ul li.active > a {
    color: #fff;
}

#cssmenu ul li ul li:hover:after,
#cssmenu ul li ul li.active:after {
    background: #4cb6ea;
}

#cssmenu ul li ul li:hover > ul {
    left: 100%;
    top: 0;
}

#cssmenu ul li ul li:hover > ul > li {
    max-height: 72px;
    position: relative;
}

#cssmenu > ul > li {
    float: left;
}

#cssmenu.align-center > ul > li {
    float: none;
    display: inline-block;
}

#cssmenu.align-center > ul {
    text-align: center;
    font-size: 0;
}

#cssmenu.align-center ul ul {
    text-align: left;
}

#cssmenu.align-right > ul {
    float: right;
}

#cssmenu.align-right > ul > li:hover > ul {
    left: auto;
    right: 0;
}

#cssmenu.align-right ul ul li:hover > ul {
    right: 100%;
    left: auto;
}

#cssmenu.align-right ul ul li a {
    text-align: right;
}

#cssmenu > ul > li:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 0;
    top: 0;
    z-index: 0;
    -webkit-transition: height .2s;
    -moz-transition: height .2s;
    -ms-transition: height .2s;
    -o-transition: height .2s;
    transition: height .2s;
}

#cssmenu > ul > li.has-sub > a {
    padding-right: 30px;
}



#cssmenu > ul > li.has-sub > a:before {
    display: block;
    content: "";
    z-index: 2;
    position: absolute;
    right: 16px;
    top: 14px;
    font-family: 'icomoon' !important;
    content: "\e903";
    font-size: 8px
}

#cssmenu > ul > li > a {
    color: #fff;
    padding: 11px 30px;
    font-weight: 700;
    letter-spacing: 1px;
    font-size: 14px;
    z-index: 2;
    position: relative;
}

#cssmenu > ul > li:hover:after,
#cssmenu > ul > li.active:after {
    height: 100%;
}

#cssmenu > ul > li:hover > a,
#cssmenu > ul > li.active > a {
    color: #fff;
}

#cssmenu > ul > li:hover > a:after,
#cssmenu > ul > li.active > a:after {
    background: #000;
}

#cssmenu > ul > li:hover > a:before,
#cssmenu > ul > li.active > a:before {
    border-top-color: #fff;
}

#cssmenu > ul > li:hover > ul {
    left: 0;
}

#cssmenu > ul > li:hover > ul > li {
    max-height: 72px;
    position: relative;
}

#cssmenu #menu-button {
    display: none;
}

#cssmenu > ul > li > a {
    display: block;
}

#cssmenu > ul > li {
    width: auto;
}

#cssmenu > ul > li > ul {
    width: 210px;
    display: block;
}

#cssmenu > ul > li > ul > li {
    width: 210px;
    display: block;
}

@media (max-width: 1200px) {
    #cssmenu > ul li.has-sub ul{
        display: none;
    }
    #cssmenu > ul li.has-sub ul.active{
        display: block;
    }
    #cssmenu > ul li.has-sub{
        position: relative;
    }
    #cssmenu > ul li.has-sub:after{
        content: '\eb13';
        font-family: 'icomoon' !important;
        float: right;
        color: #fff;
        display: block;
        text-align: right;
    }
    
    #cssmenu > ul {
        max-height: 0;
        overflow: hidden;
        -webkit-transition: max-height 0.35s ease-out;
        -moz-transition: max-height 0.35s ease-out;
        -ms-transition: max-height 0.35s ease-out;
        -o-transition: max-height 0.35s ease-out;
        transition: max-height 0.35s ease-out;
    }

    #cssmenu > ul > li > ul {
        width: 100%;
        display: block;
    }

    #cssmenu.align-right ul li a {
        text-align: left;
    }

    #cssmenu > ul > li > ul > li {
        width: 100%;
        display: block;
    }

    #cssmenu.align-right ul ul li a {
        text-align: left;
    }

    #cssmenu > ul > li > ul > li > a {
        width: 100%;
        display: block;
    }

    #cssmenu ul li ul li a {
        width: 100%;
    }

    #cssmenu.align-center > ul {
        text-align: left;
    }

    #cssmenu.align-center > ul > li {
        display: block;
    }

    #cssmenu > ul.open {
        max-height: 2000px;
        border-top: 1px solid rgba(110, 110, 110, 0.25);
    }

    #cssmenu ul {
        width: 100%;
    }

    #cssmenu ul > li {
        float: none;
        width: 100%;
    }

    #cssmenu ul li a {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        padding: 12px 20px;
    }

    #cssmenu ul > li:after {
        display: none;
    }

    #cssmenu ul li.has-sub > a:after,
    #cssmenu ul li.has-sub > a:before,
    #cssmenu ul li ul li.has-sub:after,
    #cssmenu ul li ul li.has-sub:before {
        display: none;
    }

    #cssmenu ul li ul,
    #cssmenu ul li ul li ul,
    #cssmenu ul li ul li:hover > ul,
    #cssmenu.align-right ul li ul,
    #cssmenu.align-right ul li ul li ul,
    #cssmenu.align-right ul li ul li:hover > ul {
        left: 0;
        position: relative;
        right: auto;
    }

    #cssmenu ul li ul li,
    #cssmenu ul li:hover > ul > li {
        max-height: 999px;
        position: relative;
        background: none;
    }

    #cssmenu ul li ul li a {
        padding: 8px 20px 8px 35px;
        color: #fff;
    }

    #cssmenu ul li ul ul li a {
        padding: 8px 20px 8px 50px;
    }

    #cssmenu ul li ul li:hover > a {
        color: #000;
    }

    #cssmenu #menu-button {
        display: block;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        padding: 15px 0px 2px 0;
        font-weight: 700;
        font-size: 14px;
        letter-spacing: 1px;
        color: #fff;
        cursor: pointer;
    }

    #cssmenu #menu-button:after {
        display: block;
        content: '';
        position: absolute;
        height: 3px;
        width: 22px;
        border-top: 2px solid #fff;
        border-bottom: 2px solid #fff;
        right: 0px;
        top: 16px;
        box-sizing: content-box;
    }

    #cssmenu #menu-button:before {
        display: block;
        content: '';
        position: absolute;
        height: 3px;
        width: 22px;
        border-top: 2px solid #fff;
        right: 0px;
        top: 26px;
        box-sizing: content-box;
    }
}
