/* General styles for all menus */
.cbp-spmenu {
    background: #222;
    position: fixed;
}

.cbp-spmenu ul {
	margin: 0;
	list-style: none;
}

.cbp-spmenu ul.sub-menu li a {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.075em;
	padding: 3px 2.5em;
    color: #999;
}

.cbp-spmenu ul.sub-menu {
	background: #333; 
}

.cbp-spmenu ul li {
	position: relative;
	float: left;
	width: 100%;
}

.cbp-spmenu h3 {
    color: #ededed;
    font-size: 15px;
    padding: 14px 20px;
    margin: 0;
    font-weight: 600;
    background: #000;
	cursor: pointer;
}

.cbp-spmenu h3 .fa { 
	font-size: 16px;
	margin-right: 5px;
}

.cbp-spmenu a {
    display: block;
    color: #ccc;
    font-size: 15px;
    font-weight: 300;
}

.cbp-spmenu a:hover {
    background: #000;
}

.cbp-spmenu a:active {
    background: #111;
    color: #fff;
}

/* Orientation-dependent styles for the content of the menu */
.cbp-spmenu-vertical {
    width: 240px;
    height: 100%;
    top: 0;
    z-index: 1000;
    overflow-y: scroll;
}

.cbp-spmenu-vertical a {
    padding: 8px 1em;
}

.cbp-spmenu-horizontal {
    width: 100%;
    height: 50px;
    left: 0;
    z-index: 1000;
    overflow: visible;
}

.cbp-spmenu-horizontal h3 {
    height: 100%;
    width: 150px;
    float: left;
}

.cbp-spmenu-horizontal a {
    float: left;
    width: auto;
    padding: 0.9em;
}

/* Vertical menu that slides from the left or right */
.cbp-spmenu-left {
    left: -240px;
}

.cbp-spmenu-right {
    right: -240px;
}

.cbp-spmenu-left.menu-open {
    left: 0px;
}

.cbp-spmenu-right.menu-open {
    right: 0px;
}

/* Horizontal menu that slides from the top or bottom */

.cbp-spmenu-top {
    top: -150px;
}

.cbp-spmenu-bottom {
    bottom: -150px;
}

.cbp-spmenu-top.menu-open {
    top: 0px;
}

.cbp-spmenu-bottom.menu-open {
    bottom: 0px;
}

/* Push classes applied to the body */
.push-body {
    overflow-x: hidden;
    position: relative;
    left: 0;
}

.push-body-toright {
    left: 240px;
}

.push-body-toleft {
    left: -240px;
}

/* Transitions */
.cbp-spmenu,
.push-body {
    -webkit-transition: all 0.3s ease;
       -moz-transition: all 0.3s ease;
            transition: all 0.3s ease;
}

/* Example media queries */
@media screen and (max-width: 55.1875em) {
    .cbp-spmenu-horizontal {
        font-size: 75%;
        height: 100%;
    }

    .cbp-spmenu-top {
        top: -100%;
    }

    .cbp-spmenu-bottom {
        bottom: -110px;
    }
}

@media screen and (max-height: 26.375em) {
    .cbp-spmenu-vertical {
        font-size: 90%;
        width: 190px;
    }

    .cbp-spmenu-left,
    .push-body-toleft {
        left: -190px;
    }

    .cbp-spmenu-right {
        right: -190px;
    }

    .push-body-toright {
        left: 190px;
    }
}
