﻿/* CSS For Accessibility Friendly Dynamic Navigation Menu */
/* Developled by Nebraska Book Company */

#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 0.5em;
	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;*/
}

/* FIX DISPLAY ISSUE IN FIREFOX BROWSERS */
/*
@-moz-document url-prefix() {
  nav #sitenav {
     white-space:normal;
  }
}*/

#sitenav > ul > li > span,
#sitenav > ul > li > a {
	color: #646569;
	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:#15234c;
	outline:0;
}

#sitenav > ul > li > span.dept {
	color: #15234c;
	font-weight: bold;
}

#sitenav > ul > li > span:after {
	font-family: 'icomoon';
	content: "\f078";
	font-weight: normal;
	speak: none;
	font-size: .7em;
	/*margin: 5px .75em 0 .75em; # original*/
	margin: 5px 0 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:200px;
	left:-100000em;
    margin: 0;
    padding: .25em 0;
    width: 100%;
    clear: both;
    position: absolute;
    top: 50px;
    background: #15234c;
    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: #15234c;
    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.heading a:before {
	display: none;
}

#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 #15234c;
	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: #15234c;
    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 > li.mega.active > ul > li.nav-back-one {
	display:none;
}


/* Mega menu updates */

#sitenav > ul > li > ul > li.mega.active > ul {
	padding: 0;
    margin: 0;
    background: transparent;
    display: block;
    width: auto;
    top: 0;
    border:0;
}

#sitenav > ul > li > ul > li.mega.active > ul li ul {
	display:inline-block;
}

#sitenav > ul > li > ul > li.mega ul li {
	color:#444;
	padding:0;
	font-size:1em;
}
/*
#sitenav > ul > li > ul > li.mega > ul li,
#sitenav > ul > li > ul > li.mega > ul li:hover {
	position:relative;
	width:auto;
	box-shadow: 0 2px 4px rgba(0,0,0,.4);
	background: #fff;
	border-top: 3px #15234c solid;
}

#sitenav > ul > li > ul > li.mega > ul li li,
#sitenav > ul > li > ul > li.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 > li.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 > li.mega > ul li li:last-child:after {
	display:none;
}*/

#sitenav > ul > li > ul > li.mega.active > ul > li {
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -moz-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    border-top: 3px #15234c solid;
    box-shadow: 0 2px 4px rgba(0,0,0,.4);
    background:#fff;
    /*width:655px;*/
    transition:none;
}

#sitenav > ul > li > ul > li.mega.active > ul > li > ul {
	-webkit-flex: 0 1 210px;
    -ms-flex: 0 1 210px;
    flex: 0 1 210px;
	min-width: 210px;
}
/*
#sitenav > ul > li > ul > li.mega > ul li li {
	display:block;
}*/

#sitenav > ul > li > ul > li.mega ul li ul li {
	padding:0 .5em;
	border-bottom: 1px solid #ccc;
}

#sitenav > ul > li > ul > li.mega ul li ul li.heading {
	padding: 1em 1em .5em 1em;
    color: #000;
    font-size: .85em;
    text-transform: uppercase;
    cursor:default;
	font-weight: bold;
}
#sitenav > ul > li > ul > li.mega ul li ul li.heading.all {
	background: #d9edf7;
}

#sitenav > ul > li > ul > li.mega ul li ul li a {
	padding:.15em 0;
	font-size:.9em;
}
#sitenav > ul > li > ul > li.mega ul li ul li.heading a {
	padding: 0;
	font-size: 1em;
	color: #000;
	font-weight: bold;
}
#sitenav > ul > li > ul > li.mega ul li ul li.heading a:hover {
	color: #15234c;
}

#sitenav > ul > li > ul > li.mega ul li ul li a:focus {
	background:rgba(0,0,0,.1);
}

#sitenav > ul > li > ul > li.mega ul li ul li.heading:focus {
	text-decoration:underline;
	outline:0;
}

#sitenav > ul > li > ul > li.mega ul li ul li a:before {
	color:#777;
}

#sitenav > ul > li > ul > li.mega ul li ul li a:hover:before {
	padding-left:0;
}
#sitenav > ul > li > ul > li.mega ul li ul li:hover {
	background:transparent;
}

#sitenav > ul > li > ul > li.mega ul li a {
	color:#15234c;
}

#sitenav > ul > li > ul > li.mega,
#sitenav > ul > li > ul > li.mega li {
	position:static;
}

#sitenav > ul > li > ul > li.mega ul li ul,
#sitenav > ul > li > ul > li.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 Clearfix **/
nav:after {
	content: "";
	display: table;
	clear: both;
}


/*  ::::::::::::::::::::::::::::::::::::::::::::::::
	     CSS FOR MOBILE NAVIGATION MENU
::::::::::::::::::::::::::::::::::::::::::::::::::::  */


@media screen and (max-width: 1160px) {

	#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.dept {
		color: #fff;
	}

	#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 > li.mega > 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 > li.mega.active > ul {
		left: 0;
	}

	#sitenav li li li {
		font-size:1em;
	}

	/* MEGA MENU ADJUSTMENTS */

	#sitenav > ul > li > ul > li.mega > ul,
	#sitenav > ul > li > ul > li.mega.active > ul {
		width:100%;
		max-width:550px;
		background: #15234c;
	}

	#sitenav > ul > li > ul > li.mega > ul > li,
	#sitenav > ul > li > ul > li.mega.active > ul > li {
		width:100%;
		border-top:0;
		box-shadow:0 0 0;
		background:transparent;
	}

	#sitenav > ul > li > ul > li.mega.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 > li.mega ul li ul li a,
	#sitenav > ul > li > ul > li.mega ul li ul li.heading,
	#sitenav > ul > li > ul > li.mega ul li ul li.heading a {
		font-size: 1em;
		color: #fff;
	}
	
	#sitenav > ul > li > ul > li.mega ul li ul li.heading a {
		border-bottom: none;
		padding: 0 !important;
	}
	
	#sitenav > ul > li > ul > li.mega ul li ul li.heading a:hover {
		color: #fff;
	}

	#sitenav > ul > li > ul > li.mega ul li.nav-back-one a,
	#sitenav > ul > li > ul > li ul li.nav-back-one a {
		background:#222;
		color: #fff;
	}

	#sitenav > ul > li > ul > li.mega ul li ul li.heading {
		background: rgba(0,0,0,.4);
		border-bottom: 1px rgba(255,255,255,.2) solid;
	}
	
	#sitenav > ul > li > ul > li.mega ul li ul li.heading.all {
		background: rgba(217, 237, 247, .4);
	}

	/* 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:.7em 1em .7em 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 !important;
	}

	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: #15234c;
		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 > li.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;
	}

}