.menu, .menu * {
    font-family: 'Open Sans', sans-serif;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    outline: 0
}

.menu {
    min-width: 260px;
    float: left;
    position: relative;
    box-shadow: 0 20px 50px #333
}

.menu .menu-footer, .menu .menu-header {
    width: 100%;
    height: 50px;
    padding-left: 22px;
    float: left;
    line-height: 50px;
    font-weight: 600;
    color: #f0f0f0;
    background: #414956
}

.menu ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.menu ul li {
    width: 100%;
    display: block;
    float: left;
    position: relative
}

.menu ul li a {
    width: 100%;
    padding: 14px 22px;
    float: left;
    text-decoration: none;
    color: #f0f0f0;
    font-size: 13px;
    background: #414956;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    -o-transition: color .2s linear, background .2s linear;
    -moz-transition: color .2s linear, background .2s linear;
    -webkit-transition: color .2s linear, background .2s linear;
    transition: color .2s linear, background .2s linear
}

.menu > ul > li.active > a, .menu > ul > li:hover > a {
    color: #fff;
    background: #3b424d
}

.menu > ul > li > a {
    border-bottom: solid 1px #3b424d
}

.menu ul li a i {
    width: 34px;
    float: left;
    line-height: 18px;
    font-size: 16px;
    text-align: left
}

.menu .submenu-indicator {
    float: right;
    right: 22px;
    position: absolute;
    line-height: 19px;
    font-size: 20px;
    -o-transition: transform .3s linear;
    -moz-transition: transform .3s linear;
    -webkit-transition: transform .3s linear;
    transition: transform .3s linear;
}

.menu ul ul.submenu .submenu-indicator {
    line-height: 16px
}

.menu .submenu-indicator-minus > .submenu-indicator {
    -ms-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.menu ul ul.submenu, .menu ul ul.submenu li ul.submenu {
    width: 100%;
    display: none;
    position: static
}

.menu ul ul.submenu li {
    clear: both;
    width: 100%
}

.menu ul ul.submenu li a {
    width: 100%;
    float: left;
    font-size: 11px;
    background: #383838;
    border-top: none;
    position: relative;
    border-left: solid 6px transparent;
    -o-transition: border .2s linear;
    -moz-transition: border .2s linear;
    -webkit-transition: border .2s linear;
    transition: border .2s linear
}

.menu ul ul.submenu li:hover > a {
    border-left-color: #414956
}

.menu ul ul.submenu > li > a {
    padding-left: 30px
}

.menu ul ul.submenu > li > ul.submenu > li > a {
    padding-left: 45px
}

.menu ul ul.submenu > li > ul.submenu > li > ul.submenu > li > a {
    padding-left: 60px
}

.menu ul li .menu-label, .menu ul ul.submenu li .menu-label {
    min-width: 20px;
    padding: 1px 2px 1px 1px;
    position: absolute;
    right: 18px;
    top: 14px;
    font-size: 11px;
    font-weight: 800;
    color: #555;
    text-align: center;
    line-height: 18px;
    background: #f0f0f0;
    border-radius: 100%
}

.menu ul ul.submenu li .menu-label {
    top: 12px
}

.ink {
    display: block;
    position: absolute;
    background: rgba(255, 255, 255, .3);
    border-radius: 100%;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0)
}

.animate-ink {
    -webkit-animation: ripple .5s linear;
    -moz-animation: ripple .5s linear;
    -o-animation: ripple .5s linear;
    animation: ripple .5s linear
}

@-webkit-keyframes ripple {
    100% {
        opacity: 0;
        -webkit-transform: scale(2.5)
    }
}

@-moz-keyframes ripple {
    100% {
        opacity: 0;
        -moz-transform: scale(2.5)
    }
}

@-o-keyframes ripple {
    100% {
        opacity: 0;
        -o-transform: scale(2.5)
    }
}

@keyframes ripple {
    100% {
        opacity: 0;
        transform: scale(2.5)
    }
}

.blue.menu .menu-footer, .blue.menu .menu-header, .blue.menu ul li a {
    background: #4A89DC
}

.blue.menu > ul > li.active > a, .blue.menu > ul > li:hover > a {
    background: #3e82da
}

.blue.menu > ul > li > a {
    border-bottom-color: #3e82da
}

.blue.menu ul ul.submenu li:hover > a {
    border-left-color: #3e82da
}

.green.menu .menu-footer, .green.menu .menu-header, .green.menu ul li a {
    background: #03A678
}

.green.menu > ul > li.active > a, .green.menu > ul > li:hover > a {
    background: #049372
}

.green.menu > ul > li > a {
    border-bottom-color: #049372
}

.green.menu ul ul.submenu li:hover > a {
    border-left-color: #049372
}

.red.menu .menu-footer, .red.menu .menu-header, .red.menu ul li a {
    background: #ED5565
}

.red.menu > ul > li.active > a, .red.menu > ul > li:hover > a {
    background: #DA4453
}

.red.menu > ul > li > a {
    border-bottom-color: #DA4453
}

.red.menu ul ul.submenu li:hover > a {
    border-left-color: #DA4453
}

.white.menu .menu-footer, .white.menu .menu-header, .white.menu ul li a {
    background: #fff;
    color: #555
}

.white.menu > ul > li.active > a, .white.menu > ul > li:hover > a {
    background: #f0f0f0
}

.white.menu > ul > li > a {
    border-bottom-color: #f0f0f0
}

.white.menu ul ul.submenu li:hover > a {
    border-left-color: #f0f0f0
}

.white.menu ul ul.submenu li a {
    color: #f0f0f0
}

.white.menu > ul > li > a > .ink {
    background: rgba(0, 0, 0, .1)
}

.black.menu .menu-footer, .black.menu .menu-header, .black.menu ul li a {
    background: #292929
}

.black.menu > ul > li.active > a, .black.menu > ul > li:hover > a {
    background: #222
}

.black.menu > ul > li > a {
    border-bottom-color: #222
}

.black.menu ul ul.submenu li:hover > a {
    border-left-color: #222
}
