﻿/* CSS For Accessibility Friendly Dynamic Navigation Menu */
/* Developled by PrismRBS */

#menu {
	display:inline-block;
	clear:both;
}

nav {
	list-style:none;
	font-size:1.25em;
	text-align:left;
	margin: 0 1% 0 0;
	padding: 0;
	float: left;
	width:auto;
	position:relative;
	z-index:20;
	color:#646569;
	border:0;
}

nav a {
	text-decoration:none;
}

nav div {
	width:auto;
	padding:.25em .75em .25em 0;
	position:relative;
	float:left;
	cursor:pointer;
}

nav div > a {
	color:inherit;
}

nav #sitenav {
	width:auto;
	position:relative;
	border:none;
	margin:10px 0 0 0;
	padding:0;
	height:auto;
/*	
	-webkit-transition:all .5s ease;
	-moz-transition:all .5s ease;
	-o-transition:all .5s ease;	
	-ms-transition:all .5s ease;
*/
	transition:all .5s ease;
	cursor:default;
	background:transparent;
	white-space:nowrap;
}

@-moz-document url-prefix() { /* FIX DISPLAY ISSUE IN FIREFOX BROWSERS */
  nav #sitenav {
     white-space:normal;
  }
}

#sitenav > ul > li > span,
#sitenav > ul > li > a {
	padding:1em 1em 1em .5em;
	display:block;
	text-decoration:none;
	width: auto;
    padding: .25em .75em .25em 0;
    float: left;
}

#sitenav > ul > li > span:focus,
#sitenav > ul > li > a:focus {
	color:#000;
	outline:0;
}

#sitenav > ul > li > span:after {
    font-family: 'icomoon';
    content: "\f078";
    font-weight: normal;
    speak: none;
    font-size: .7em;
    margin: 5px .75em 0 .75em;
    transition: all .1s linear;
    display: inline-block;
    float: right;
}

nav li.active > span:after {
    transform: rotate(180deg);
    transform-origin: 50% 55%;
}

#sitenav > ul > li {
	display:inline-block;
	padding:0;
	margin:0;
	position:relative;
}

#sitenav > ul > li > ul {
	position:absolute;
	min-width:230px;
	left:-100000em;
    margin: 0;
    padding: .25em 0;
    width: 100%;
    clear: both;
    position: absolute;
    top: 50px;
    background: #000;
    border: 1px #e1e1e1 solid;
    z-index: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,.4), inset 0px -90px 75px -30px rgba(0,0,0,.2);
}

#sitenav > ul > li.active > ul {
	left:-2px;
}

#sitenav > ul > li > ul > li > ul {
	position:absolute;
	min-width:200px;
	left:-100000em;
	margin: -2.5em 0 0 0;
	margin-top:-2.5em;
    padding: .25em 0;
    width: 100%;
    clear: both;
    position: absolute;
    top: 50px;
    background: #000;
    border: 1px #e1e1e1 solid;
    z-index: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,.4), inset 0px -90px 75px -30px rgba(0,0,0,.2);
}

#sitenav > ul > li > ul > li.active > ul {
	left:100%;
}

#sitenav li li a,
#sitenav ul li li span {
	padding: .5em 0;
    display: block;
    text-decoration: none;
    color: #fff;
    font-size: .8em;
}

#sitenav li li a:focus,
#sitenav ul li li span:focus {
	background: rgba(0,0,0,.2);
	outline:0;
}

#sitenav ul li li > span:after {
    font-family: 'icomoon';
    content: "\f054";
    float: right;
    margin-left: .75em;
    padding-right: 3px;
    color: #ccc;
    font-weight: normal;
    font-size: .6em;
    margin-top: .4em;
    speak: none;
    transition: .5s all ease;
}

nav ul li li.active > span:after {
    transform: rotate(0);
    transform-origin: 0;
}

#sitenav li li li a,
#sitenav ul li li li span {
    font-size: 1em;
}

#sitenav ul {
	list-style: none;
    margin: 0;
    padding: 0;
    outline:transparent;
    border:0;
}

#sitenav li {
	list-style:none;
	cursor:pointer;
}

#sitenav > ul > li:focus {
	outline:0;
}

#sitenav li li,
#sitenav li li li {
	margin: 0;
    padding: .25em .5em .25em .75em;
    float: left;
    font-size: .8em;
    letter-spacing: 1px;
    transition: .5s all ease;
    background: rgba(100,101,105,0);
    position: relative;
    width:100%;
}

#sitenav li li:hover,
#sitenav li li li:hover {
    background: rgba(100,101,105,1);
}

#sitenav li li a:before,
#sitenav li li span:before {
    font-family: 'icomoon';
    content: "\f054";
    float: left;
    margin-right: 0;
    color: #ccc;
    font-weight: normal;
    font-size: .6em;
    margin-top: .5em;
    speak: none;
    transition: .5s all ease;
    opacity: 0;
}

#sitenav li li a:hover:before,
#sitenav li li span:hover:before {
    padding-left: 3px;
    opacity: 1;
    margin-right: .75em;
}

#sitenav li li.arrow-up {
	width: 0;
	height: 0;
	padding: 0;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-bottom: 12px solid #000;
	border-top:0;
	position: absolute !important;
	top: -9px;
	left: 8px;
	z-index:1;
}

#sitenav li li.arrow-up:hover {
	background:transparent;
}

.mobile-menu-overlay {
	display:none;
}

#sitenav > ul > li.nav-home-link {
	display:none;
}

nav div.mobile-menu-open,
nav div.mobile-menu-close {
	display:none;
}

nav div.mobile-menu-open a:before {
	font-family: 'icomoon';
	content: "\f0c9";
	float: left;
	margin-right: .25em;
	font-weight:normal;
	font-size:1.1em;
	speak:none;
}

nav div.mobile-login {
	display:none;
}

nav div.mobile-login:before {
	font-family: 'icomoon';
    content: "\f007";
    margin: 0;
    font-weight: normal;
    font-size: 2.65em;
    speak: none;
    color: #000;
    background: rgba(255,255,255,.3);
    position: absolute;
    padding: 0;
    left: 0;
    top: 0;
    width: 62px;
    height: 61px;
    text-align: center;
    line-height: 62px;
}

.nav-back-one,
#sitenav > ul > li > ul.mega > li.active > ul > li.nav-back-one {
	display:none;
}


/* Mega menu updates */

#sitenav > ul > li > ul.mega > li.active > ul {
	padding: 0;
    margin: 0;
    background: transparent;
    display: block;
    width: 200%;
    top: 0;
    border:0;
}

#sitenav > ul > li > ul.mega li.active > ul li ul {
	display:inline-block;
}

#sitenav > ul > li > ul.mega ul li {
	color:#444;
	padding:0;
	font-size:1em;
}

#sitenav > ul > li > ul.mega > ul li,
#sitenav > ul > li > ul.mega > ul li:hover {
	position:relative;
	width:auto;
	box-shadow: 0 2px 4px rgba(0,0,0,.4);
	background: #fff;
	border-top: 3px #000 solid;
}

#sitenav > ul > li > ul.mega > ul li li,
#sitenav > ul > li > ul.mega > ul li li:hover {
	position:static;
	display:block;
	clear:both;
	box-shadow: 0 0 0;
	background:transparent;
	border-top:0;
}

#sitenav > ul > li > ul.mega > ul li:last-child:after {
	content: " ";
    background: #fff url(../images/shopping-bags.jpg) 98% 94% no-repeat scroll;
    background-size: 43% auto;
    display: inline-block;
    position: absolute;
    width: 100%;
    bottom: 0;
    right: 0;
    height: 100%;
    opacity:1;
}

#sitenav > ul > li > ul.mega > ul li li:last-child:after {
	display:none;
}

#sitenav > ul > li > ul.mega > li.active > ul > li {
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -moz-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    border-top: 3px #000 solid;
    box-shadow: 0 2px 4px rgba(0,0,0,.4);
    background:#fff;
    width:655px;
    transition:none;
}

#sitenav > ul > li > ul.mega > li.active > ul > li > ul {
	-webkit-flex: 0 1 200px;
    -ms-flex: 0 1 200px;
    flex: 0 1 200px;
}

#sitenav > ul > li > ul.mega > ul li li {
	display:block;
}

#sitenav > ul > li > ul.mega ul li ul li {
	padding:0 .5em;
}

#sitenav > ul > li > ul.mega ul li ul li.heading {
	padding: 1em 1em .5em 1em;
    color: #000;
    font-size: .85em;
    text-transform: uppercase;
    cursor:default;
}

#sitenav > ul > li > ul.mega ul li ul li a {
	padding:.15em 0;
	font-size:.9em;
}

#sitenav > ul > li > ul.mega ul li ul li a:focus {
	background:rgba(0,0,0,.1);
}

#sitenav > ul > li > ul.mega ul li ul li.heading:focus {
	text-decoration:underline;
	outline:0;
}

#sitenav > ul > li > ul.mega ul li ul li a:before {
	color:#777;
}

#sitenav > ul > li > ul.mega ul li ul li a:hover:before {
	padding-left:0;
}

#sitenav > ul > li > ul.mega ul li:hover {
	background:transparent;
}

#sitenav > ul > li > ul.mega ul li a {
	color:#000;
}

#sitenav > ul > li > ul.mega li {
	position:static;
}

#sitenav > ul > li > ul.mega li ul li ul {
	position:static;
	width:auto;
	vertical-align:top;
	background:transparent;
	color:#444;
	box-shadow:0 0 0;
	border:0;
	margin:0 .5em;
    padding: 0 0 .75em 0;
}



/*  ::::::::::::::::::::::::::::::::::::::::::::::::
	     CSS FOR MOBILE NAVIGATION MENU
::::::::::::::::::::::::::::::::::::::::::::::::::::  */


@media screen and (max-width: 1170px) {

#sitenav > ul > li.nav-home-link {
	display:block;
}

nav #sitenav {
	background: #222;
    position: fixed;
    top: 0;
    bottom:0;
    margin: 0;
    left: -110%;
    z-index: 100;
    max-width: 100%;
    width:550px;
    overflow-y: auto;
    display: block;
    box-shadow: rgba(0,0,0,.4) 3px 0 20px;
    padding: 0;
    opacity:1;
    transition:all .5s ease;
}

nav.open #sitenav {
	left: 0;
}

#sitenav li {
	display:block !important;
	clear:both;
	padding: 0 !important;
	font-size:1em
}

#sitenav > ul > li.active > ul {
    left: 0;
    position: relative;
}

#sitenav > ul > li > ul {
    top: 0;
    border: 0;
    display: inline-block;
    width: 100%;
    float: left;
    font-size:.8em;
    padding: 4px 0 0 0;
}

#sitenav > ul > li > span:focus, #sitenav > ul > li > a:focus {
    color: #fff;
    background: rgba(255,255,255,.1);
}

#sitenav li li:hover, #sitenav li li li:hover {
    background: transparent;
}

#sitenav li li.arrow-up {
    left: 2em;
}

#sitenav ul li li > span:after {
    padding-right: 1em;
    font-size: 1em;
    margin-top: .2em;
}

#sitenav > ul > li > ul,
#sitenav > ul > li > ul > li > ul {
	position:fixed;
}

#sitenav > ul > li > ul > li > ul,
#sitenav > ul > li > ul.mega > li > ul {
    margin: 0;
    padding:0;
    top: 0;
    bottom: 0;
    max-width: 100%;
    width: 550px;
    border: 0;
    overflow-y:auto;
    transition:left .5s ease;
    left:-555px;
}

#sitenav > ul > li > ul > li.active > ul,
#sitenav > ul > li > ul.mega > li.active > ul {
    left: 0;
}

#sitenav li li li {
	font-size:1em;
}

/* MEGA MENU ADJUSTMENTS */

#sitenav > ul > li > ul.mega > li > ul,
#sitenav > ul > li > ul.mega > li.active > ul {
	width:100%;
	max-width:550px;
	background: #000;
}

#sitenav > ul > li > ul.mega > li > ul > li,
#sitenav > ul > li > ul.mega > li.active > ul > li {
	width:100%;
	border-top:0;
	box-shadow:0 0 0;
	background:transparent;
}

#sitenav > ul > li > ul.mega > li.active > ul > li > ul {
	display:block;
	clear:both;
	float:none;
	-webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    padding:0;
    margin:0;
}

#sitenav > ul > li > ul.mega ul li ul li a,
#sitenav > ul > li > ul.mega ul li ul li.heading {
    font-size: 1em;
    color: #fff;
}

#sitenav > ul > li > ul.mega ul li.nav-back-one a,
#sitenav > ul > li > ul ul li.nav-back-one a {
    background:#222;
    color: #fff;
}

#sitenav > ul > li > ul.mega ul li ul li.heading {
	background: rgba(0,0,0,.4);
    border-bottom: 1px rgba(255,255,255,.2) solid;
}

/* END MEGA MENU ADJUSTMENTS */

nav div.nav-catalogs h3 {
    color: #fff;
}

.nav-catalogs h3 {
	display: inline;
	margin: 0;
	padding: 0;
	font-weight: inherit;
	font-family: inherit;
	font-size: inherit;
}

nav {
	margin:0;
	padding:0;
	width:auto;
	border:0;
}

nav ul {
	width:100%;
	position:relative;
	top: auto;
	left: auto;
	list-style-type: none;
	border: 0;
	padding:0;
	box-shadow:0 0 0;
	display:inline-block;
}

nav div {
	width:100%;
	margin:0;
	padding:.8em 1em .8em 1em;
	font-weight:bold;
	text-transform:uppercase;
	float:none;
}

.arrow-up {
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 12px solid #646569;
    position: absolute;
    top: -11px;
    left: 40px;
}

nav div,
nav div a,
nav div a.nav-shop {
	color:#fff;
}

nav div.mobile-menu-open {
	display:inline-block;
	width:auto;
}

.menu-container.fixed-transform nav div.mobile-menu-open {
	padding:10px 1em 0 1em;
}

nav div.mobile-menu-open a {
	color:#646569
}

nav div.mobile-menu-close {
	display:block;
	padding:0;
}

nav div.mobile-menu-close a {
	padding:1em;
}

nav div.mobile-menu-close a:before {
	font-family: 'icomoon';
	content: "\f053";
	font-weight: normal;
    speak: none;
    margin: 0 1em 0 0;
    font-size: 1.2em;
    float: left;
}

nav div.mobile-login {
	display: block;
    font-size: .75em;
    font-weight: normal;
    text-transform: none;
    background: #000;
    cursor: auto;
    padding: 1.25em 1.5em 1.25em 80px;
    color: rgba(0,0,0,.5);
    position: relative;
}

.mobile-login a {
	display:inline-block;
	margin:0 .5em;
	color:#fff;
	width:auto;
}

.mobile-login a:first-child {
	padding-right: .75em;
    border-right: 1px rgba(0,0,0,.4) solid;
    margin-right: .25em;
}

nav div a {
	display:block;
	width:100%;
}

nav li {
	width:100%;
	float:none;
	font-size:1em;
	margin:0;
    padding: 0;
}

nav li:hover {
    background: transparent;
}

nav li a,
nav span {
	padding:.8em 1em !important;
	width:100% !important;
    border-bottom: 1px rgba(255,255,255,.2) solid;
}

#sitenav li li a, 
#sitenav ul li li span,
#sitenav > ul > li > ul.mega ul li ul li.heading {
    font-size: 1em;
    padding: 1.4em 1.6em !important;
}

#sitenav li li.nav-back-one a:before {
	font-family: 'icomoon';
    content: "\f053";
    font-weight: normal;
    speak: none;
    margin: 0 1em 0 0;
    font-size: 1.2em;
    float: left;
    display:inline;
    color:#fff;
    opacity:1;
}

#sitenav li li a:hover:before {
	padding-left: 0;
    margin-right: 1em;
}

nav li a:before,
nav li span:before {
	display:none;
}

.mobile-menu-overlay {
	display:block;
	position:fixed;
	background:rgba(0,0,0,.8);
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:99;
	cursor:auto;
	transform:scale(0);
	opacity:0;
	transition:opacity .5s ease;
	padding: 0;
    margin: 0;
}

nav.open .mobile-menu-overlay {
	transform:scale(1);
	opacity:1;
}

}



