/*------->>> TABLE OF CONTENTS <<<-------
	1. PRIMARY NAVIGATION STYLES [Main Menu Bar]
	2. FLEXNAV BASE STYLES [Mobile Menu]
	3. SECONDARY NAVIGATION STYLES [Sub Navigation on Interior Pages]
	4. BREAD CRUMBS [Secondary navigation at top of interior pages]
	5. MEDIA QUERIES [Desktop Menu Lives Here]
	6. OLD IE STYLES [Don't Style]
	
/*------->>> COLOR PALETTE <<<-------
	#7e1309 rbg[126,19,9] - Primary Color [Maroon]
	#313131 rbg[49,49,49] - Secondary Color [Medium Gray]	
	#f6efdb rbg[246,239,219] - Tertiary Color [Peach]
	#5d0801 rbg[93,8,1] - Support Color [Dark Maroon]
	#540600 rbg[84,6,0] - Dark Maroon #2
	#6d0900 rbg[109,9,0] - Dark Maroon #3
	#232323 rbg[35,35,35] - Dark Gray
	
/*------->>> FONT STACKS & TYPOGRAPHY <<<-------
	Font Family: 'Source Sans Pro', sans-serif; [Primary Font | Google Fonts | 400 & 700]
	Font Family: 'museo-sans-rounded', sans-serif; [Secondary Font | Typekit | 300 500 & 700]
	Font Family: FontAwesome [Icon Font]
		SAMPLE CSS USAGE: fortawesome.github.io/Font-Awesome/cheatsheet/
		.myDiv {
			font-family:"FontAwesome";
			content:"\f111";
		}
		SAMPLE HTML USAGE: fortawesome.github.io/Font-Awesome/examples/
		<span class="fa-stack fa-lg">
			<i class="fa fa-square-o fa-stack-2x"></i>
			<i class="fa fa-twitter fa-stack-1x"></i>
		</span>
*/

/*------->>> 1. PRIMARY NAV STYLES <<<--------*/
.navPrimary {
	position:relative;
	background:#7e1309;
	z-index:5000;
	padding:0;
}
.navPrimary.column, .navPrimary.columns {
    padding-left:0;
    padding-right:0;
}
.navPrimary nav {
	position:relative;
	z-index:1000;
}
/*------->>> 2. FLEXNAV BASE STYLES [Mobile Menu] <<<-------*/
.flexnav {
	width:100%;
	max-height:0;
	overflow:hidden;
	position:absolute;
	margin:0 auto;
	padding:0;
	-webkit-transform-style:preserve-3d;
	-webkit-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	-moz-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	-ms-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	z-index:99999;
	box-shadow: 0px 6px 9px rgba(0,0,0,0.7);
}
.flexnav.opacity {
	opacity:1;
}
.flexnav.flexnav-show {
	opacity:1;
	max-height:2000px;
	-webkit-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	-moz-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	-ms-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
}
.flexnav.one-page {
	max-width:200px;
	position:fixed;
	top:50px;
	right:5%;
}
.flexnav ul {
	padding-left:0;
	margin-left:0;
}
.flexnav li {
	overflow:hidden;
	position:relative;
	font-size:100%;
}
.flexnav li a {
	display:block;
	position:relative;
	overflow:hidden;
	padding:.96em;
	background:#5d0800;
	font-family:'museo-sans-rounded', sans-serif;
	font-size:1rem;
	font-weight:700;
	color:#fff;
	line-height:1.2;
	text-decoration:none;
	border-top:1px solid #4a0600;
	z-index:2;
}
/*- nested UL -*/
.flexnav li ul {
	width:100%;
}
.flexnav li ul li {
	position:relative;
	overflow:hidden;
	font-size:100%;
}
.flexnav li ul li a {
	padding-left:35px;
}
.flexnav li ul.flexnav-show li {
	overflow:visible;
}
/*- nested 2nd level UL -*/
.flexnav li ul li ul {
	width:100%;
}
.flexnav li ul li ul li {
	position:relative;
	overflow:hidden;
	font-size:100%;
}
.flexnav li ul li ul li a {
	padding-left:50px;
	background:#4e0600;
	font-size:0.875rem;
	font-weight:300;
	border-top:1px solid #3e0500;
}
/*- drop down arrows -*/
.flexnav .touch-button {
	display:inline-block;
	width:50px;
	height:50px;
	position:absolute;
	top:0;
	right:0;
	background:transparent;
	text-align:center;
	z-index:999;
}
.flexnav .touch-button:after {
	display:inline-block;
	margin:0 auto;
	content:"\f0d7";
	font-family:'FontAwesome';
	font-size:1.5em;
	color:#fff;
	line-height:2.125em;
	-webkit-transition:all 0.2s ease-in-out;
	transition:all 0.2s ease-in-out;
}
.flexnav .touch-button.active:after {
	transform:rotate(180deg);
}
.flexnav .touch-button:hover {
	cursor:pointer;
}
.flexnav .touch-button .navicon {
	display:none;
}
/*- menu button [bars?] -*/
.menu-button {
	display:block;
	position:relative;
	padding:1.375rem 0rem 1.375rem 1rem;
	background:transparent;
	font-family:serif;
	font-size:1rem;
	font-weight:700;
	color:transparent;
	text-transform:uppercase;
	cursor:pointer;
}
.menu-button.one-page {
	position:fixed;
	top:0;
	right:5%;
	padding-right:45px;
}
.menu-button .touch-button {
	display:inline-block;
	width:60px;
	height:60px;
	position:absolute;
	top:0;
	right:0;
	text-align:center;
	z-index:999;
	border-left:1px solid #540600;
}
.menu-button .touch-button .navicon {
	display:block;
	height:5px;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	left:10px;
	right:0px;
	background:#fff;
	border-radius:5px;
	-webkit-transition:background 0.2s;
	transition:background.2s;
}
.menu-button .touch-button .navicon:before {
	display:block;
	width:100%;
	height:5px;
	position:absolute;
	top:-15px;
	left:0;
	content:"";
	background-color:#fff;
	border-radius:5px;
	-webkit-transition-property:top, -webkit-transform;
	transition-property:top, transform;
	-webkit-transition-duration:.3s, .3s;
	transition-duration:.3s, .3s;
	-webkit-transition-delay:.3s, 0s;
	transition-delay:.3, 0s;
}
.menu-button .touch-button .navicon:after {
	display:block;
	width:100%;
	height:5px;
	position:absolute;
	left:0;
	bottom:-15px;
	content:"";
	background-color:#fff;
	border-radius:5px;
	-webkit-transition-property:bottom, -webkit-transform;
	transition-property:bottom, transform;
	-webkit-transition-duration:.3s, .3s;
	transition-duration:.3s, .3s;
	-webkit-transition-delay:.3s, 0s;
	transition-delay:.3s, 0s;
}
.menu-button .touch-button.active .navicon {
	background:transparent;
}
.menu-button .touch-button.active .navicon:before,
.menu-button .touch-button.active .navicon:after {
	-webkit-transition-duration:.3s, .3s;
	transition-duration:.3s, .3s;
	-webkit-transition-delay:.3s, 0s;
	transition-delay:0s, 0.3s;
}
.menu-button .touch-button.active .navicon:before {
	top:0;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
}
.menu-button .touch-button.active .navicon:after {
	bottom:0;
	-webkit-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
/*- Mega Menu -*/
.megamenu .row,
.notmega .row {
	margin:0 auto !important;
}
.megamenu .image,
.notmega .image {
	display:none;
}
/*------->>> 3. SECONDARY NAVIGATION <<<-------*/
.navSecondary {
	background:#6d0900;
	z-index:2;	
}
.navSecondary row {
	overflow-y: scroll;
}
.navSecondary ul,
.navSecondary li,
.navSecondary nav {
	margin: 0;
	padding: 0;
}
.navSecondary nav {
	width:100%;
	overflow: hidden;
}
.navSecondary ul {
	list-style: none;
	margin:0;
}
.navSecondary nav ul li {
	float:left;
}
.navSecondary nav ul li.xtra {
	width:auto;
	text-align: center;
	display:none;
}
.navSecondary nav ul li.xtra:hover ul#overflow {
	opacity:1;
	visibility:visible;
}
.navSecondary nav ul li a,
.navSecondary nav ul li span {
	display:block;
	padding:1.25rem;
	text-align:center;
	background:none;
	font-family:'Source Sans Pro', sans-serif;
	font-size:0.875rem;
	font-weight:400;
	color:#fff;
	line-height:1;
	-webkit-transition:all 0.3s ease-in-out;
	transition:all 0.3s ease-in-out;
	cursor: pointer;	
}
.navSecondary nav ul li span {
	position:relative;
	color:transparent;
}
.navSecondary nav ul li span:after {
	display:block;
	margin:0;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%, -50%);
	transform:translate(-50%, -50%);	
	content:"\f101";
	font-family:'FontAwesome';
	font-size:1.5em;
	color:#fff;
	-webkit-transition:all 0.2s ease-in-out;
	transition:all 0.2s ease-in-out;
}
.navSecondary nav #overflow li a {
	padding:0.5rem 1rem;	
}
.navSecondary nav ul li a:hover,
.navSecondary nav ul li span:hover,
.navSecondary nav #overflow li a:hover,
.navSecondary nav ul li a.active,
.navSecondary nav #overflow li a.active {
	background:#a52a1e;
}
.navSecondary nav #overflow {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	text-align: left;
	-webkit-transition:all 0.3s ease-in-out;
	transition:all 0.3s ease-in-out;
	border-radius:0 0 7px 7px;
	overflow:hidden;
}
.navSecondary nav #overflow li {
	float:none;
}
.navSecondary nav #overflow li a {
	background:#6d0900;
	white-space: nowrap;
	text-align:left;	
}
/*------->>> 4. BREAD CRUMBS <<<-------*/
.bread_crumbs {
	margin-bottom:2em;
	font-size:0.875rem;
}
.primaryContent .bread_crumbs a {
	color:#313131;
	font-weight:700;
}
.primaryContent .bread_crumbs a:last-child {
	color:#7e1309;
}
.primaryContent .bread_crumbs a:hover {
	color:#313131;
}
/*------->>> 5. MEDIA QUERIES <<<-------*/
@media all and (min-width:30em) { /*- 480px and up -*/
	/*- menu button [bars?] -*/
	.menu-button {
		padding:2rem 0rem 2rem 1rem;
	}
	.menu-button .touch-button {
		height:80px;
	}	
}
@media all and (min-width:40em) { /*- 640px and up -*/
	/*---> Secondary Nav <---*/
	.navSecondary nav #overflow {
		width:100%;
		max-width:450px;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		flex-flow: row wrap;	
	}
	.navSecondary nav #overflow li {
		-ms-flex: 1 1 50%;
		-webkit-flex: 1 1 50%;
		flex: 1 1 50%;
	}
	.navSecondary nav #overflow li:nth-child(odd) {
		float:right;
	}	
	/*---> Desktop Menu <---*/
    body.one-page {
        padding-top: 70px;
    }
    .flexnav {
		position:relative;
		max-width:none;
		height:100%;
		max-height:100%;
		margin:0 auto 0 auto !important;
		overflow:visible;
		background:transparent;			
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;		
		-webkit-box-pack: justify;
		-moz-box-pack: justify;
		-ms-flex-pack: justify;				
		-webkit-justify-content: space-around;
		justify-content: space-around;
		-ms-flex-line-pack: center;
		-webkit-align-content: center;
		align-content: center;
		box-shadow:none;
		border-radius:0;
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
		transition:all 0.3s ease;	
    }
    .flexnav.opacity {
        opacity: 1;
    }
    .flexnav.one-page {
        top: 0;
        right: auto;
        max-width: 1080px;
    }
    .flexnav li {
		display:block;
		position: relative;
		list-style: none;
		float: left;
		overflow: visible;
		flex-grow:1;
		height:100%;
    }
    .flexnav > li > a {
		height:100%;
		padding:1.5rem 0.313rem;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items:center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;		
		background:none;
		font-size:0.75rem;
		font-weight:300;
		border:none;
		-webkit-transition:all 0.5s ease;
		transition:all 0.5s ease;
		border:0;
		border-left:1px solid #6d0900;
    }
	.flexnav li:hover > a {
		background:#6d0900;
	}
	/*- Nested ULs -*/
	.flexnav > li > ul {
		position: absolute;
		top: auto;
		left: 0;
		padding: 0;
		min-width:150px;
		display: none;
		box-shadow: 0px 2px 21px 0px rgba(11, 11, 12, 0.23);
		background:#fff;
		border-radius:0 0 7px 7px;
		overflow:hidden;
	}
	.flexnav li > ul li {
		width: 100%;
		text-align:left;
		float: none;
	}
	.flexnav li ul li a {
		-webkit-align-items:initial;
		align-items:initial;
		-webkit-justify-content:initial;
		justify-content:initial;
		text-align:left;
		padding:0.438rem 0.875rem;
		background:#fff;
		color:#333;
		font-size:0.813rem;
		font-weight:300;
		border:0;
	}
	.flexnav li ul li a:hover {
		background:#801309;
		color:#fff;
	}
	.flexnav li ul.open {
		display: block;
		opacity: 1;
		visibility: visible;
		z-index: 1;
	}
	.flexnav li ul.open li {
		overflow: visible;
		max-height: 100px;
	}
	.flexnav li ul.open ul.open {
		margin-left: 100%;
		top: 0;
	}
	.flexnav li ul li ul li a {
		border:0;
	}
	/*- drop down arrows -*/
	.flexnav .touch-button {
		display:inline-block;
		width:100%;
		height:15px;
		bottom:0;
		top:auto;
		right:0;
	}
	.flexnav .touch-button:after {
		content:"\f0d7";
		font-size:1em;
		color:fff;
		line-height:0;
		position:absolute;
		left:0;
		right:0;
		top:50%;
		-webkit-transform:translateY(-50%);
		transform:translateY(-50%);
	}
	.flexnav .touch-button:hover {
		cursor:pointer;
	}
	.flexnav li ul .touch-button,
	.flexnav li ul .touch-button:after {
		display:none;
	}
/*	.no-touch .flexnav .touch-button,
	.no-touch .touch-button .navicon,
	.no-touch .touch-button:after {
		display: none;
	}*/
	/*- Shopping Cart Icon -*/
   .flexnav > li:nth-of-type(3):before {
		display: block;
		content: ' ';
		width:17px;
		height:16px;
		margin:0 auto;
		position:absolute;
		left:0;
		right:0;
		bottom:0.625rem;
		background-image: url('../images/icon-cart.svg');
		background-position: center center;
		background-repeat:no-repeat;
		background-size:17px 16px;		
		transition:all 200ms ease-in-out;
		-webkit-transition:all 200ms ease-in-out;
		z-index:500;
		pointer-events:none;
	}		
	/*- Info Center Specific -*/
	.flexnav > li:nth-child(2) > ul {
		min-width:200px;
	}
/*	.flexnav > li:nth-child(2) > ul{
		display: flex;
		flex-wrap: wrap;
	}
	.flexnav li:nth-child(2) > ul li {
		flex: 0 0 50%;
	}*/
	/*- menu button -*/
	.menu-button {
		display: none;
	}
	/*- mega menu -*/
	.megamenu .image {
		display:block;
		padding:0.5rem 0;
	}
	.megamenu .image img {
		display:block;
		width:100%;
		max-width:225px;
		height:auto;
		margin:0 auto;
		border:0;
	}
	.megamenu .columns:first-of-type .image img {
		max-width:90px;
	}	
	.megamenu .image a {
		padding:0;
		background:transparent;
		line-height:0;
		border-top:0;
	}	
	.flexnav .row .columns {
		border-right:1px solid #ddd;
		padding-bottom:0.625rem;
	}
	.flexnav .row .columns:last-child {
		border-right:0;
	}
	.row .flexnav>li .megamenu, .row .flexnav>li .notmega {
		margin: 0;
		width:calc(100% + 545px);
		position: absolute;
		left:-203px;
		right:auto;
		background: #fff;
		box-shadow: 0px 2px 21px 0px rgba(11, 11, 12, 0.23);
		border-radius:0 0 7px 7px;
		overflow:hidden;		
	}
	.flexnav .megamenu li, .flexnav .megamenu li:hover {
		background-color: transparent;
	}
	.flexnav .megamenu li>ul {
		display: block;
		box-shadow:none;
	}
	.megamenu .columns>ul>li {
		text-align: left;
	}
	.megamenu .columns>ul>li a {
		color: #333;
		font-weight:700;
		font-size:0.813rem;
		background-color: transparent;
		padding:0.313rem 0.625rem;
		text-align:center;
	}
	.megamenu .columns ul li ul li a {
		font-weight:300;
		font-size:0.75rem;
		text-align:left;
	}
	.flexnav li .columns ul ul {
		position: relative;
		margin: 0;
		min-width: 0;
	}
	.flexnav li .columns li {
		width: 100%;
	}
}
@media all and (min-width:48em) { /*- 768px and up -*/
	.flexnav li a {
		padding:1.875rem 0.313rem;
		font-size:0.875rem;
	}
	.row .flexnav>li .megamenu, .row .flexnav>li .notmega {
		width:calc(100% + 660px);
		left:-247px;	
	}
}
@media all and (min-width:64em) { /*- 1024px and up -*/
	.flexnav li a {
		padding:2.188rem 0.313rem 2.125rem 0.313rem;
		font-size:1rem;
	}
	.row .flexnav>li .megamenu, .row .flexnav>li .notmega {
		width:calc(100% + 865px);
		left:-325px;	
	}
	.megamenu .columns>ul>li a {
		font-size:0.875rem;
		padding:0.313rem 1.25rem;
	}
	.megamenu .columns ul li ul li a {
		font-size:0.813rem;
	}
}
/*------->>> 6. OLD IE STYLES [Don't Style] <<<-------*/
.oldie body.one-page {
	padding-top:70px;
}
.oldie .flexnav {
	overflow:visible;
}
.oldie .flexnav.one-page {
	top:0;
	right:auto;
	max-width:1080px;
}
.oldie .flexnav li {
	position:relative;
	list-style:none;
	float:left;
	display:block;
	background-color:#a6a6a2;
	width:20%;
	min-height:50px;
	overflow:visible;
}
.oldie .flexnav li:hover > ul {
	display:block;
	width:100%;
	overflow:visible;
}
.oldie .flexnav li:hover > ul li {
	width:100%;
	float:none;
}
.oldie .flexnav li a {
	border-left:1px solid #acaca1;
	border-bottom:none;
	overflow:visible;
}
.oldie .flexnav li > ul {
	background:#acaca1;
	position:absolute;
	top:auto;
	left:0;
	display:none;
	z-index:1;
	overflow:visible;
}
.oldie .flexnav li ul li ul {
	top:0;
}
.oldie .flexnav li ul li a {
	border-bottom:none;
}
.oldie .flexnav li ul.open {
	display:block;
	width:100%;
	overflow:visible;
}
.oldie .flexnav li ul.open li {
	width:100%;
}
.oldie .flexnav li ul.open ul.open {
	margin-left:100%;
	top:0;
	display:block;
	width:100%;
	overflow:visible;
}
.oldie .flexnav ul li:hover ul {
	margin-left:100%;
	top:0;
}
.oldie .menu-button {
	display:none;
}
.oldie.ie7 .flexnav li {
	width:19.9%;
}

