/* 
HEADER OVERLAY
================================================ */
/* body overlay */
.header-overlay .body-overlay.body-overlay-on {
	display: none;
}

.sidemenu-right,
.sidemenu-right #headerwrap {
	left: 0;
}

/* header */
body.page-loaded #headerwrap {
	position: fixed;
	-webkit-transition: all .3s linear !important;
	-moz-transition: all .3s linear !important;
	transition: all .3s linear !important;
	min-height: 0;
}
.mobile-menu-visible.header-overlay #headerwrap {
	min-height: 100%;
}
#header {
	text-align: left;
}

.admin-bar #headerwrap #menu-icon,
.admin-bar.mobile-menu-visible #headerwrap #menu-icon {
	top: 20px;
}
.admin-bar #slide-cart {
	top: 32px;
}

/* header site logo */
#site-logo,
#site-description {
	display: inline-block;
	vertical-align: middle;
	transition: all .2s ease-in-out;
}
#site-description {
	left: 3px;
	-webkit-transform: none;
	-moz-transform: none;
	transform: none;
	text-align: left;
}
#site-description:before {
	left: 0;
	margin-left: 15px;
}
.mobile-menu-visible #site-description {
	visibility: hidden;
	opacity: 0;
}

/* side menu */
.sidemenu {
	background: none;
	display: none;
	text-align: center;
	position: fixed;
	width: 100%;
	height: 100%;
	top: auto;
	bottom: 100%;
	left: 0;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	-webkit-transition: all .2s linear;
	-moz-transition: all .2s linear;
	transition: all .2s linear;
}
.mobile-menu-visible .sidemenu {
	bottom: 0;
}

/* using flex css ordering elements */
.sidemenu-on {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center; /* Safari 7.0+ */
	align-items: center;
}
.sidemenu .top-icon-wrap {
	-webkit-order: 1;
	order: 1;
	margin-top: auto;
}
.sidemenu .search-button {
	-webkit-order: 2;
	order: 2;
	margin-top: auto;
	margin-bottom: 1.4em;
}
.sidemenu #main-nav-wrap {
	-webkit-order: 3;
	order: 3;
	-webkit-flex: 1 100%; /* Safari 6.1+ */
	flex: 1 100%;
	margin-bottom: auto;
}

/* menu icon */
#menu-icon {
	display: block;
	text-decoration: none;
	position: absolute;
	width: 30px;
	height: 18px;
	top: 20px;
	right: 20px;
	border-bottom: 2px solid;
}
#headerwrap #menu-icon:before,
#headerwrap #menu-icon:after {
	content: '';
	display: block;
	border-top: 2px solid;
	position: absolute;
	left: 0;
	width: 100%;
	transition: all 1s ease;
	transition-property: transform;
}
#headerwrap #menu-icon:before {
	top: 0;
}
#headerwrap #menu-icon:after {
	top: 50%;
}
.mobile-menu-visible #headerwrap #menu-icon {
	border: none;
}
.mobile-menu-visible #headerwrap #menu-icon:before,
.mobile-menu-visible #headerwrap #menu-icon:after {
	top: 50%;
	border-top: 1px solid;
}
.mobile-menu-visible #headerwrap #menu-icon:before {
	transform: rotateZ(-45deg);
}
.mobile-menu-visible #headerwrap #menu-icon:after {
	transform: rotateZ(45deg);
}

/* slide menu icon close */
#headerwrap #menu-icon-close {
	display: none;
}
/* searchform */
#headerwrap .search-button {
	position: relative;
	-webkit-transform: none;
	transform: none;
	width: auto;
	height: auto;
	border: 1px solid #000;
	border-radius: 100%;
	top: auto;
	left: auto;
	right: auto;
	margin-left: 1.25em;
	font-size: .95em;
	margin-bottom: 1.5em;
	margin-top: auto;
}
#headerwrap .search-button:before {
	padding: .45em;
	line-height: normal;
}

/* top icon menu */
.top-icon-wrap {
	position: static;
	border: none;
	clear: both;
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: none;
	-moz-transform: none;
	transform: none;
	perspective: none;
	-webkit-perspective: none;
	will-change: inherit;
}
.icon-menu {
	float: none;
}
.icon-menu a {
	display: block;
	padding: 1.1em;
}
#headerwrap .top-icon-wrap li a .tooltip {
	background-color: transparent;
	color: inherit;
	display: block;
	font-size: inherit;
	position: static;
	padding: 0;
	margin: .4em 0 0 !important;
	opacity: 1;
	visibility: visible;
	-webkit-transform: none;
	-moz-transform: none;
	transform: none;
}
.top-icon-wrap li a .tooltip:before {
	display: none;
}
.icon-menu .icon-menu-count {
	left: 50%;
}
.top-icon-wrap .icon-menu .cart a .tooltip {
	display: block;
}
.sidemenu-on #cart-wrap {
	left: 50%;
	right: auto;
	transform: translateX(-50%);
}

/* main navigation */
.header-overlay #headerwrap #main-nav {
	position: static;
	padding: 0;
	float: none;
	font-size: 1.3em;
	max-width: 330px;
	margin: 1.375em auto 3em;
	border: none;
}
#main-nav ul li,
#main-nav li {
	display: block;
	float: none;
	padding: 0;
	
}
#main-nav a {
	display: block;
	font-weight: 300;
	padding: .85em 0 .62em;
}
#headerwrap #main-nav ul {
	border: none;
	background: none;
	margin: 0;
	padding: 0 0 0 1.25em;
	position: static;
	opacity: 1;
	visibility: visible;
}
#main-nav ul a {
	display: block;
	width: auto;
	font-size: .9em;
	font-weight: 300;
	padding: .75em 0 .5em;
}
#main-nav ul ul {
	margin: auto;
}
#main-nav > li > a:before {
	display: none;
}

/* sub level */
#headerwrap #main-nav ul {
	position: static;
	width: auto;
	height: auto;		
	display: block;
	border: none;
	margin: 0;
	padding: 0 0 0 2.8em;
	background: none;
	opacity: 1;
	visibility: visible;
	clear: both;
}
#headerwrap #main-nav ul ul {
	padding-left: 1.25em;
}

/* menu link */
#headerwrap #main-nav > li {
	position: relative;
}
#headerwrap #main-nav a, 
#headerwrap #main-nav ul a {
	background: none;
	border: none;
	border-top: solid 1px rgba(0,0,0,.1);
	color: #030301;
	display: block;
	font-size: 100%;
	width: auto;
	margin: 0;
	line-height: 1.5em;
	text-decoration: none;
}

/* Mega menu */
#main-nav .has-mega-column > .sub-menu,
#main-nav .has-mega-sub-menu .mega-sub-menu {
	display: block;
	position: static;
	box-shadow: none;
	border: none;
	background-color: transparent;
	min-height: inherit;
	max-height: inherit;
	opacity: 1;
	-webkit-transform: none;
	-moz-transform: none;
	transform: none;
	margin: auto;
	padding: 0;
}
.header-overlay #main-nav .has-mega-column > .sub-menu,
.header-overlay #main-nav .has-mega-sub-menu .mega-sub-menu {
	max-width: 100%;
}
#main-nav .has-mega-sub-menu .mega-sub-menu ul,
#main-nav .has-mega-column .sub-menu li {
	display: block;
	float: none;
	width: auto !important;
	margin: 0;
	padding: 0;
}
#main-nav li:not(.has-mega-column).dropdown-columns-2 > .sub-menu > li,
#main-nav li:not(.has-mega-column).dropdown-columns-3 > .sub-menu > li,
#main-nav li:not(.has-mega-column).dropdown-columns-4 > .sub-menu > li {
	float: none;
	width: 100%;
}
#main-nav .has-mega-column > .sub-menu > .columns-sub-item > a,
#main-nav .has-mega-column > .sub-menu a {
	font-size: .9em;
	font-weight: 300;
	text-transform: none;
	padding: .6em 0;
	margin: 0;
}
.header-overlay #main-nav .has-mega-column .widgettitle,
.header-overlay #main-nav .has-mega-column > .sub-menu > .columns-sub-item > a,
.header-overlay #main-nav .has-mega-column > .sub-menu a {
	font-size: inherit;
	font-weight: normal;
	text-transform: none;
	border-top: 1px solid rgba(0,0,0,.05);
	margin: 0;
	padding: .6em 1em .6em 0;
	letter-spacing: inherit;
	font-family: inherit;
}
#main-nav li.mega-link.loading .themify_spinner,
#main-nav li.mega-link.loading:before,
#main-nav .mega-sub-menu li:hover a:after,
#main-nav .mega-menu-posts {
	display: none;
}
#main-nav .has-mega-column > .sub-menu .widget {
	margin-top: .5em;
	margin-bottom: .5em;
}
#main-nav .has-mega-sub-menu .mega-sub-menu,
#main-nav .has-mega-column > .sub-menu {
	color: inherit;
}
#main-nav .has-mega-column > .sub-menu {
	padding: 0 0 0 2.8em;
}
#main-nav .woocommerce .product_list_widget li {
	padding: .6em 0;
	border-bottom: 1px solid rgba(0,0,0,.1);
}
#headerwrap #main-nav .woocommerce .product_list_widget li a {
	border: none;
	padding: 0;
	line-height: normal;
}
#main-nav .woocommerce .product_list_widget li:last-child {
	border-bottom: none;
}
#main-nav .has-mega-column .product-categories li .count {
	top: 0;
	margin: 0;
	margin-top: .9em;
}
#main-nav .has-mega-column .product-categories li li .count {
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	margin: 0;
}
#main-nav li.mega-link.loading .themify_spinner {
	display: none;
}

/* dropdown icon */
#headerwrap #main-nav .menu-item-has-children > a,
#headerwrap #main-nav .page_item_has_children > a {
	padding-right: 2.5em;
}
#main-nav .menu-item-has-children .child-arrow,
#main-nav .page_item_has_children .child-arrow {
	position: absolute;
	right: 6px;
	top: 7px;
	padding: .45em .5em;
	z-index: 1;
	cursor: pointer;
	font-size: .75em;
	-webkit-transition: all .5s ease-in-out;
	-moz-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
}
#main-nav .menu-item-has-children .child-arrow:before,
#main-nav .page_item_has_children .child-arrow:before {
	content: "\e64b";
	font-family: themify;
	display: block;
}
#main-nav .menu-item-has-children .child-arrow.toggle-on:before,
#main-nav .page_item_has_children .child-arrow.toggle-on:before {
	content: "\e646";
	-webkit-transform: rotate(-90deg);
	-moz-transform: rotate(-90deg);
	transform: rotate(-90deg);		
}
#main-nav .menu-item-has-children .child-arrow:hover,
#main-nav .page_item_has_children .child-arrow:hover {
	-webkit-transform: rotate(-180deg);
	-moz-transform: rotate(-180deg);
	transform: rotate(-180deg);
}
#main-nav .menu-item-has-children .child-arrow.toggle-on,
#main-nav .page_item_has_children .child-arrow.toggle-on {
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	-webkit-transform-origin: center;
	-moz-transform-origin: center;
	transform-origin: center;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-perspective: 1000;
	-moz-perspective: 1000;
	-ms-perspective: 1000;
	perspective: 1000;
}
#main-nav .menu-item-has-children .child-arrow.toggle-on:hover,
#main-nav .page_item_has_children .child-arrow.toggle-on:hover {
	-webkit-transform: rotate(-90deg);
	-moz-transform: rotate(-90deg);
	transform: rotate(-90deg);		
}
#headerwrap #main-nav .has-mega-column > .sub-menu,
#headerwrap #main-nav .has-mega-sub-menu .mega-sub-menu,
#headerwrap #main-nav .has-mega-column > .sub-menu > li > ul {
	opacity: 1;
	-webkit-transform: none;
	-moz-transform: none;
	transform: none;
}
#headerwrap #main-nav .has-sub-menu > .sub-menu > li > ul.sub-menu,
#headerwrap #main-nav .has-mega-column > .sub-menu > li > ul.sub-menu,
#headerwrap #main-nav > li > div.sub-menu,
#headerwrap #main-nav > li > ul.sub-menu {
	height: 100%;
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.5s ease-in-out;
	-moztransition: max-height 0.5s ease-in-out;
	transition: max-height 0.5s ease-in-out;
	width: auto !important;
}
#headerwrap #main-nav > li .toggle-on + ul,
#headerwrap #main-nav .has-sub-menu > .sub-menu > li > .toggle-on + ul.sub-menu,
#headerwrap #main-nav .has-mega-column > .sub-menu > li > .toggle-on + ul.sub-menu,
#headerwrap #main-nav > li > .toggle-on + div.sub-menu,
#headerwrap #main-nav > li > .toggle-on + ul.sub-menu {
	max-height: 2000px;
	min-height: initial;
}
#main-nav .sub-arrow {
	display: none;
}

/* MOBILE MENU ACTIVE */
.mobile_menu_active.sidemenu-right,
.mobile_menu_active.sidemenu-right #headerwrap {
	left: 0;
}
.mobile_menu_active.sidemenu-active .sidemenu {
	display: none;
}
.mobile_menu_active.sidemenu-active #headerwrap .sidemenu-on {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center; /* Safari 7.0+ */
	align-items: center;
	width: 100%;
	border: none;
	z-index: auto;
}
.mobile_menu_active #main-nav {
	max-width: 320px;
	margin-left: auto;
	margin-right: auto;
	border: none;
	font-size: 100%;
}
.mobile_menu_active #main-nav a {
	padding-left: 0;
}
.mobile_menu_active .top-icon-wrap {
	background-color: transparent;
	margin: 0;
	margin-top: auto;
	border: none;
}
.mobile_menu_active .top-icon-wrap ul {
	display: inline-block;
}
.mobile_menu_active .top-icon-wrap ul li {
	width: auto;
	margin: 0;
}
body:not(.mobile_menu_active).mobile-menu-visible #headerwrap #menu-icon {
	z-index: 1;
}
.mobile_menu_active #headerwrap .search-button {
	margin-bottom: 2.75em;
}

/* NICESCROLL */
.nicescroll-rails {
	z-index: 10000 !important;
}
.nicescroll-rails > div {
	background-color: rgba(221,221,221,.3) !important;
	border-color: rgba(196,196,196,.7) !important;
	z-index: 10000;
}

/* ADMIN BAR */
.mobile_menu_active.admin-bar #slide-cart,
.mobile_menu_active.admin-bar #headerwrap {
	top: 32px;
}
.mobile_menu_active.admin-bar #headerwrap #menu-icon,
.mobile_menu_active.admin-bar.mobile-menu-visible #headerwrap #menu-icon {
	top: 50px;
}

/* MEDIA QUERIES */
@media screen and (max-width: 760px) {
	.mobile_menu_active.admin-bar #slide-cart,
	.mobile_menu_active.admin-bar #headerwrap {
		top: 46px;
	}
	.mobile_menu_active.admin-bar #headerwrap #menu-icon,
	.mobile_menu_active.admin-bar.mobile-menu-visible #headerwrap #menu-icon {
		top: 65px;
	}
}