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

.cbp-spmenu h3 {
	color: #afdefa;
	font-size: 1.9em;
	padding: 20px;
	margin: 0;
	font-weight: 300;
	background: #0d77b6;
}

.cbp-spmenu a {
	/* display: block; */
	/* color: inherit; */
	/* font-size: 1.1em; */
	/* font-weight: 300; */
}

.cbp-spmenu a:hover {
	color: #FFFFFF;
	background: #444444;
}

.cbp-spmenu a:active {
	background: #afdefa;
	color: #47a3da;
}

/* Orientation-dependent styles for the content of the menu */

.cbp-spmenu-vertical {
	width: 300px;
	height: 100vh;
	top: 0;
	z-index: 1000;
	overflow-x: scroll;
}

.cbp-spmenu-vertical a {
	/* border-bottom: 1px solid #258ecd; */
	/* padding: 1em; */
}

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

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

.cbp-spmenu-horizontal a {
	float: left;
	width: 20%;
	padding: 0.8em;
	border-left: 1px solid #258ecd;
}

/* Vertical menu that slides from the left or right */

.cbp-spmenu-left {
	left: -300px;
}

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

.cbp-spmenu-left.cbp-spmenu-open {
	left: 0px;
	background: #ffffff;
}

.cbp-spmenu-right.cbp-spmenu-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.cbp-spmenu-open {
	top: 0px;
}

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

/* Push classes applied to the body */

.cbp-spmenu-push {
	overflow-x: hidden;
	position: relative;
	left: 0;
}

.cbp-spmenu-push-toright {
	left: 300px;
}

.cbp-spmenu-push-toleft {
	left: -300px;
}

/* Transitions */

.cbp-spmenu,
.cbp-spmenu-push {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.wrap-nav-mobile .close-pmenu {
    display: block;
    /* background: #ccc; */
    background-color: #ddd;
    color: #000;
    font-size: 12px;
    line-height: 1;
    /* padding: 14px 20px; */
    letter-spacing: 0.6px;
    /* text-transform: uppercase; */
    height: 30px;
    line-height: 31px;
    border-bottom: 1px solid #ddd;
    font-family: 'Roboto-Bold';
}

.wrap-nav-mobile .close-pmenu .icon {
    width: 20px;
    height: 20px;
    border: 1px solid #555;
    display: inline-block;
    line-height: 20px;
    text-align: center;
    border-radius: 50%;
    position: relative;
    margin-right: 5px;
}

.wrap-nav-mobile .close-pmenu .icon i {
    position: relative;
    margin: auto;
    text-align: center;
    font-size: 10px;
    font-weight: 300;
    top: -1px;
}
.nav-mobile {
    padding: 0;
    margin: 0;
    width: 100%;
    float: left;
}

.nav-mobile>li {
    display: block;
    width: 100%;
    position: relative;
}

.nav-mobile>li>a {
    display: block;
    padding: 12px 30px 10px 11px;
    border-bottom: 1px solid #dddddd;
    color: #555;
    font-size: 13px;
    line-height: 13px;
    /* text-transform: uppercase; */
}

.nav-mobile>li.has-children>ul.sub-menu {
    padding: 0;
    /* display: none; */
    position: relative;
    box-shadow: none;
    width: 100%;
}

.nav-mobile>li.has-children>ul.sub-menu>li.item-lv2 {
    display: block;
    position: relative;
}

.nav-mobile>li.has-children>ul.sub-menu>li.item-lv2>a {
    display: block;
    padding: 6px 30px 6px 15px;
    color: #555;
    text-transform: none;
    font-size: 12px;
    border-bottom: 1px solid #ebebeb;
    position: relative;
    background: #ffffff;
}

.nav-mobile>li.has-children>ul.sub-menu>li.item-lv2>a:before {
    content: '\f105';
    font-family: FontAwesome;
    position: relative;
    left: 0;
    margin-right: 5px;
}

.nav-mobile .icon-sub {
    width: 30px;
    height: 30px;
    line-height: 30px;
    position: absolute;
    top: 3px !important;
    right: 5px !important;
    text-align: center;
    z-index: 2;
    cursor: pointer;
}

.nav-mobile .icon-sub:before {
    content: '\f107';
    font-family: FontAwesome;
    font-size: 16px;
}
.nav-mobile .icon-sub.open:before {
    content: '\f106';
    font-family: FontAwesome;
    font-size: 16px;
}
.nav-mobile>li.has-children>ul.sub-menu>li.item-lv2>.sub-menu {
    padding: 0;
    margin: 0;
    display: none;
    width: 100%;
    position: relative;
    background: #ffffff;
    left: 0;
    top: 0;
}

.nav-mobile>li.has-children>ul.sub-menu>li.item-lv2>.sub-menu>li {
    display: block;
    position: relative;
    width: 100%;
}

.nav-mobile>li.has-children>ul.sub-menu>li.item-lv2>.sub-menu>li>a {
    position: relative;
    display: block;
    width: 100%;
    padding: 6px 25px;
    color: inherit;
    font-size: 12px;
    text-transform: none;
    border-bottom: 1px solid #eaeaea;
}

.nav-mobile>li.has-children>ul.sub-menu>li.item-lv2>.sub-menu>li>a:before {
    content: '\f105';
    font-family: FontAwesome;
    position: relative;
    margin-right: 5px;
}

.nav-mobile>li.has-children>ul.sub-menu>li.item-lv2>.sub-menu.open {
    display: block;
}

.nav-mobile .sub-menu.open {
    display: block !important;
    visibility: visible !important;
    opacity: 1;
    height: auto;
    transition: height 200ms;
}

.nav-mobile ul.sub-menu {
    /* visibility: hidden; */
    /* opacity: 0; */
    /* height: 0; */
    display: none;
}
.search-mobile {
    position: relative;
    width: 100%;
    display: block;
    padding: 20px;
}

.search-mobile .group-search {
    position: relative;
    width: 100%;
    display: block;
    height: 36px;
    line-height: 36px;
    border: 1px solid #d9d9d9;
    border-radius: 2px;
}

.search-mobile .group-search input {
    width: 100%;
    height: 100%;
    position: relative;
    display: block;
    border: 0;
    outline: none !important;
    padding: 0 10px;
    padding-right: 40px;
    font-size: 12px;
}

.search-mobile .group-search .btn-search-mobile {
    width: 40px;
    height: 36px;
    text-align: center;
    line-height: 30px;
    border: none;
    background: transparent;
    color: #555;
    outline: none !important;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0;
}

ul.social-mobile {
    display: block;
    position: relative;
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: center;
}

ul.social-mobile li {
    display: inline-block;
}

ul.social-mobile li a {
    display: block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    margin: 0 5px;
    border: 1px solid #555;
    color: #555;
    border-radius: 2px;
}
body.cbp-spmenu-push-toright {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: fixed;
}

body.cbp-spmenu-push-toright #overlay-page {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #000000ab;
    z-index: 99;
}
.nav-mobile .icon-sub.open {
    background: transparent;
    margin: 0;
    font-size: inherit;
    color: inherit;
    top: 3px;
    right: 5px;
}
/* Example media queries */

@media screen and (max-width: 55.1875em){

	.cbp-spmenu-horizontal {
		font-size: 75%;
		height: 110px;
	}

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

}

@media screen and (max-height: 26.375em){

	.cbp-spmenu-vertical {
		font-size: 90%;
		width: 190px;
	}

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

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

	.cbp-spmenu-push-toright {
		left: 190px;
	}
}