/*------->>> TABLE OF CONTENTS <<<-------
	1. PRIMARY NAVIGATION STYLES [Main Menu Bar]
	2. FLEXNAV BASE STYLES [Mobile Menu]
	3. MEDIA QUERIES [Desktop Menu Lives Here]
	4. OLD IE STYLES [Don't Style]
	
/*------->>> COLOR PALETTE <<<-------
	#1d314a rgb(29,49,74) - Primary Color [blue]
	#7e2935 rgb(126,41,53) - Secondary Color [maroon]
	#e7e7e7 rgb(231,231,231) - Tertiary Color [gray]	
	#000 rbg[0,0,0] - Support Color [black]
	#283c53 rgb(40,60,83) - [blue#2 | h1 - h6]
	#d5d5d5 rgb(213,213,213) - [gray #2]
	#691c28 rgb(105,28,40) - [maroon #2]	
	
/*------->>> FONT STACKS & TYPOGRAPHY <<<-------
	Font Family: "Open Sans", sans-serif; [Primary Font | Google Fonts | 400 & 700]
	Font Family: "proxima-nova",sans-serif;[Secondary Font | Typekit | 400 & 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:#e7e7e7;
	z-index:5000;
	padding:0 !important;
}
.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;
}
.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:0;
	margin:0;
}
.flexnav li {
	overflow:hidden;
	position:relative;
	font-size:100%;
}
.flexnav li a {
	display:block;
	position:relative;
	overflow:hidden;
	padding:0.875rem;
	background:rgba(29,49,74,0.9);
	font-family:"proxima-nova",sans-serif;
	font-size:1.25rem;
	font-weight:400;
	color:#fff;
	line-height:1.2;
	text-decoration:none;
	text-transform:none;
	border-bottom:1px solid rgba(255,255,255,0.1);
	z-index:2;
}
/*- nested UL -*/
.flexnav li ul {
	width:100%;
	background:rgba(126,41,53,0.9);
}
.flexnav li ul li {
	position:relative;
	overflow:hidden;
	font-size:100%;
}
.flexnav li ul.flexnav-show li {
	overflow:visible;
}
.flexnav li ul li a {
	display:block;
	background:transparent;
	font-size:1rem;
}
.flexnav li ul li:first-child a {
}
/*- drop down arrows -*/
.flexnav .touch-button {
	display:inline-block;
	width:53px;
	height:53px;
	position:absolute;
	top:0;
	right:0;
	background:rgba(255,255,255,0.1);
	text-align:center;
	z-index:999;
}
.flexnav .touch-button:after {
	display:inline-block;
	margin:0 auto;
	content:"\f107";
	font-family:'FontAwesome';
	font-size:1.5rem;
	color:rgba(255,255,255,0.9);
	line-height:53px;
	-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;
	width:95px;
	height:57px;
	margin-left:-0.625rem;
	margin-right:-0.625rem;
	padding:0;
	font-size:0;
	background:rgba(255,255,255,0.7);
	color:transparent;
	cursor:pointer;
}
.menu-button.one-page {
	position:fixed;
	top:0;
	right:5%;
	padding-right:45px;
}
.menu-button .touch-button {
	display:inline-block;
	width:45px;
	height:45px;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%, -50%);
	transform:translate(-50%, -50%);	
	text-align:center;
	z-index:999;
}
.menu-button .touch-button .navicon {
	display:block;
	height:4px;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	left:0;
	right:0;
	background:#383838;
	-webkit-transition:background 0.2s;
	transition:background.2s;
}
.menu-button .touch-button .navicon:before {
	display:block;
	width:100%;
	height:4px;
	position:absolute;
	top:12px;
	left:0;
	content:"";
	background-color:#383838;
	-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:4px;
	position:absolute;
	left:0;
	bottom:12px;
	content:"";
	background-color:#383838;
	-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);
}
/*------->>> 3. MEDIA QUERIES <<<-------*/
@media all and (min-width:40rem) { /*- 640px and up -*/
	/*---> Primary Nav <---*/
	.navPrimary {
		padding-left:.625rem !important;
		padding-right:.625rem !important;
	}
	/*---> Desktop Menu <---*/
	.flexnav {
		position:relative;
	}
	body.one-page {
		padding-top:70px;
	}
	.primaryNav nav {
		position:relative;
	}
	.flexnav {
		overflow:visible;
	}
	.flexnav.opacity {
		opacity:1;
	}
	.flexnav.one-page {
		max-width:1080px;
		top:0;
		right:auto;
	}
	.flexnav li {
		list-style:none;
		display:block;
		width:auto;
		padding:15px 10px 0;
		overflow:visible;
		position:relative;
		float:left;
		background:none;
		text-align:center;
	}
	.flexnav > li:before {
		position:absolute;
		display:block;
		content:"";
		width:1px;
		height:35px;
		background:#c3c3c3;
		left:0;
		top:50%;
		-webkit-transform:translateY(-50%);
		transform:translateY(-50%);
	}
	.flexnav > li:first-child:before {
		display:none;
	}	
	.flexnav li a {
		display:block;
		padding:0.938rem 0.375rem 30px;
		background:none;
		font-size:0.75rem;
		color:#1d314a;
		border:none;
		-webkit-transition:all 0.5s ease-in-out;
		transition:all 0.5s ease-in-out;
	}
	.flexnav li:hover > a,
	.flexnav li > a.active,
	.flexnav li.active > a {
		color:#fff;
		background:rgba(29,49,74,0.9);
		box-shadow: 0px 2px 24px 0px rgba(21, 21, 21, 0.21);
	}
	/*- nested UL -*/
	.flexnav li ul {
		display:none;
	}
	.flexnav li > ul {
		min-width:200px;
		position:absolute;
		top:auto;
		left:0.625rem;
		background:rgba(29,49,74,0.9);
		box-shadow:0px 2px 24px 0px rgba(21, 21, 21, 0.21);
	}
	.flexnav li > ul li {
		width:100%;
		height:auto;
		padding:0;
	}
	.flexnav li:nth-of-type(2) > ul {
		min-width:320px;
	}	
	.flexnav li:nth-of-type(2) > ul li {
		width:50%;
		float:left;
	}	
	.flexnav li ul li > ul {
		top:0;
		margin-left:0;
	}
	.flexnav li ul li a {
		position:relative;
		padding:0.938rem;
		background:transparent;
		font-size:0.75rem;
		color:#fff;
		text-align:left;
	}
	.flexnav li ul li:hover a,
	.flexnav li ul li a.active,
	.flexnav li ul li.active a {
		background:#7e2835;
		color:#fff;
		box-shadow: 0px 2px 24px 0px rgba(21, 21, 21, 0.21);	
	}
	.flexnav li ul.open {
		display:block;
		opacity:1;
		visibility:visible;
		z-index:1;
	}
	.flexnav li ul.open li {
		max-height:100px;
		overflow:visible;
	}
	.flexnav li ul.open ul.open {
		margin-left:0;
		top:0;
	}
	/*- drop down arrows -*/
	.no-touch .flexnav .touch-button,
	.no-touch .touch-button .navicon,
	.no-touch .touch-button:after {
		display:none;
	}
	.touch .flexnav .touch-button{
		display:block;
	}
	.flexnav .touch-button {
		width:30px;
		height:30px;
		position:absolute;
		top:auto;
		bottom:0;
		left:0;
		right:0;
		margin:0 auto;
		background:transparent;
		text-align:center;
		z-index:999;
	}
	.flexnav .touch-button:hover {
		cursor:pointer;
	}
	.flexnav .touch-button:after {
		color:#1d314a;
		line-height: 30px;
	}
	.active .touch-button:after {
		color:#fff;
	}
	/*- menu button -*/
	.menu-button {
		display:none;
	}
}
@media all and (min-width:48.000rem) { /*- 768px and up -*/
	/*- Desktop Menu -*/
	.flexnav li a {
		font-size:1rem;
	}
	.flexnav li ul li a {
		font-size:0.875rem;
	}
}
@media all and (min-width:63.938rem) { /*- 1023px and up -*/
	/*- Desktop Menu -*/
	.flexnav li a {
		padding:0.938rem 0.938rem 30px;		
		font-size:1.25rem;
	}
	.flexnav li ul li a {
		font-size:1rem;
	}
	.flexnav li > ul {
		min-width:225px;
	}
	.flexnav li:nth-of-type(2) > ul {
		min-width:400px;
	}		
}
@media all and (min-width:68.750rem) { /*- 1100px and up -*/
	/*- Desktop Menu -*/
	.flexnav li a {
		padding:0.938rem 1.25rem 30px;		
	}
}
@media all and (min-width:75.000rem) { /*- 1200px and up -*/
	/*- Desktop Menu -*/
	.flexnav li a {
		padding:0.938rem 1.625rem 30px;		
	}
}
/*------->>> 4. 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%;
}