/*------->>> 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]
	7. BUTTON LIST [Temp Modals Nav]

/*------->>> 1. PRIMARY NAV STYLES <<<--------*/
.primary__nav {
	position:relative;
	z-index:5000;
	padding:0 !important;
}
.primary__nav nav {
	position:relative;
	z-index:1000;
}
/*------->>> 2. FLEXNAV BASE STYLES [Mobile Menu] <<<-------*/
.flexnav,
.flexnav ul {
	list-style: none;
} 
.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 li {
	overflow:hidden;
	position:relative;
	font-size:100%;
}
.flexnav li a {
	display:block;
	position:relative;
	overflow:hidden;
	padding:.96em;
	background:#2b2b2b;
	font-size:1.125rem;
	font-weight:400;
	color:#fff;
	text-transform:uppercase;
	line-height:1.2;
	text-decoration:none;
	z-index:2;
}
/*- nested UL -*/
.flexnav li ul {
	margin:0;
	width:100%;
	background:#f26c23;
	box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.5) inset;
}
.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;
	padding-left:2.5rem;
	background:transparent;
	font-size:1rem;
	text-transform:none;
}
/*- drop down arrows -*/
.flexnav .touch-button {
	display:inline-block;
	width:56px;
	height:56px;
	position:absolute;
	top:0;
	right:0;
	background:rgba(255,255,255,0.15);
	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:56px;
	-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:0.625rem 0 0.625rem 0.625rem;
	background:transparent;
	font-size:1.125rem;
	color:#000;
	font-weight:600;
	cursor:pointer;
}
.menu-button.one-page {
	position:fixed;
	top:0;
	right:5%;
	padding-right:45px;
}
.menu-button .touch-button {
	display:inline-block;
	width:31px;
	height:37px;
	position:absolute;
	top:0;
	right:0.625rem;
	text-align:center;
	z-index:999;
}
.menu-button .touch-button .navicon {
	display:block;
	height:3px;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	left:0;
	right:0;
	background:#000;
	-webkit-transition:background 0.2s;
	transition:background.2s;
}
.menu-button .touch-button .navicon:before {
	display:block;
	width:100%;
	height:3px;
	position:absolute;
	top:-8px;
	left:0;
	content:"";
	background-color:#000;
	-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:3px;
	position:absolute;
	left:0;
	bottom:-8px;
	content:"";
	background-color:#000;
	-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. SECONDARY NAVIGATION <<<-------*/
.secondary__nav {
	position:relative;
	background:#e3e1df;
	z-index:4000;	
}
.secondary__nav ul,
.secondary__nav li,
.secondary__nav nav {
	margin: 0;
	padding: 0;
}
.secondary__nav nav {
	width:100%;
	overflow:hidden;
}
.secondary__nav ul {
	list-style: none;
	margin:0;
}
.secondary__nav nav ul li {
	float:left;
}
.secondary__nav nav ul li a,
.secondary__nav nav ul li span {
	display:block;
	padding:1.875rem 1.25rem;
	text-align:center;
	background:none;
	font-size:1.125rem;
	font-weight:400;
	color:#333;
	line-height:1;
	-webkit-transition:all 0.3s ease-in-out;
	transition:all 0.3s ease-in-out;
	cursor: pointer;	
}
.secondary__nav nav ul li a {
	position:relative;
	border-right:1px solid #acacab;
}
.secondary__nav nav ul li:first-of-type a {
	border-left:1px solid #acacab;
}
.secondary__nav nav ul li > a:before {
	content: "";
	position: absolute;
	bottom: 0px;
	left: 0;
	right: 0;
	margin: 0 auto;
	border-bottom:4px solid #f26c23;
	background:rgba(172,172,172,0.25);
	width: 0;
	height:100%;
	z-index:-1;
	transition: all 0.3s ease-in-out;
}
.secondary__nav nav ul li:hover > a:before,
.secondary__nav nav ul li > a.active:before {
	width:100%;  
}
/*- "More" link -*/
.secondary__nav nav ul li.xtra {
	width:auto;
	text-align: center;
	display:none;
}
.secondary__nav nav ul li.xtra:hover ul#overflow {
	opacity:1;
	visibility:visible;
}
.secondary__nav nav ul li span { /*- "Xtra" Text -*/
	position:relative;
	color:transparent;
}
.secondary__nav 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.125em;
	color:#333;
	-webkit-transition:all 0.2s ease-in-out;
	transition:all 0.2s ease-in-out;
}
/*- Overflow ul -*/
.secondary__nav nav #overflow li a {
	padding:1.25rem 0.5rem;
	border:0;
}
.secondary__nav 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 4px 4px;
	overflow:hidden;
	z-index:4050;
	background:#e3e1df;
}
.secondary__nav nav #overflow li {
	float:none;
	margin:0;
	padding:0;
}
.secondary__nav nav #overflow li a {
	white-space: nowrap;
	text-align:left;	
}
/*- Sticky is Stuck -*/
.sticky.is-stuck {
	z-index:5000;
}
.secondary__nav.is-stuck {
	box-shadow: 0px 1px 10px 0px rgba(17, 17, 17, 0.26);
}
/*------->>> 4. BREAD CRUMBS <<<-------*/
.primary__content .bread_crumbs {
	margin:2em 0;
	font-size:1.125rem;
	font-weight:400;
	color:#333;
}
.primary__content .bread_crumbs a {
	font-weight:400;
	color:#333;
}
.primary__content .bread_crumbs a:last-child {
	color:#f26c23;
	font-weight:600;
}
.primary__content .bread_crumbs a:hover {
	color:#4ab4c5;
}
/*------->>> 5. MEDIA QUERIES <<<-------*/
@media all and (min-width:40em) { /*- 640px and up -*/
	/*---> Primary Nav <---*/
	.primary__nav nav {
		position:relative;
		float:right;
	}
	/*---> Desktop Menu <---*/
	.flexnav {
		position:relative;
	}
	body.one-page {
		padding-top:70px;
	}
	.flexnav {
		overflow:visible;
	}
	.flexnav.opacity {
		opacity:1;
	}
	.flexnav.one-page {
		max-width:1080px;
		top:0;
		right:auto;
	}
	.flexnav li {
		list-style:none;
		display:block;
		overflow:visible;
		position:relative;
		float:left;
		background:none;
		text-align:center;
	}
	.flexnav > li {
		margin-left:0.25rem;
		margin-right:0.25rem;
	}	
	.flexnav li a {
		height:100%;
		padding:0.688rem 0.188rem 1.25rem 0.188rem;
		background:none;
		font-size:0.75rem;
		border:none;
		-webkit-transition:all 0.5s ease-in-out;
		transition:all 0.5s ease-in-out;
		color:#fff;
	}
	.flexnav > li > a {
		color: #000;
	}
	.flexnav li > a:before {
		content: "";
		position: absolute;
		bottom: 0px;
		left: 0;
		right: 0;
		margin: 0 auto;
		background: #f26c23;
		width: 0;
		height: 4px;
		z-index: 999;
		transition: all 0.3s ease-in-out;
	}
	.flexnav li:hover > a:before,
	.flexnav li.active > a:before {
		width: 100%;  
	}
	/*- nested UL -*/
	.flexnav li ul {
		display:none;
	}
	.flexnav li > ul {
		min-width:225px;
		position:absolute;
		top:calc(100% + 13px);
		left:-100%;
		right:-100%;
		margin:0 auto;
		box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.17);
		background:#2b2b2b;
		border-top:4px solid #f26c23;
		border-radius:4px;
		padding:0 !important;
	}
	.flexnav li > ul::before {
		position: absolute;
		content: '';
		display: block;
		width: 0;
		height: 0;	
		top: -10px;
		left:50%;
		-webkit-transform:translateX(-50%);
		transform:translateX(-50%);
		-moz-transition:translateX(-50%);
		-o-transition:translateX(-50%);	
		border: inset 0.5rem;
		border-color: transparent transparent #f26c23;
		border-bottom-style: solid;
		border-top-width: 0;		
	}
	.flexnav li > ul li {
		width:100%;
		height:auto;
		padding:0 !important;
		margin:0 !important;
	}
	.flexnav li > ul li a	{
		padding:0.625rem;
		background:transparent;
		font-size:0.75rem;
		border:0;
		text-align:left;
		border-top:1px dotted rgba(255,255,255,0.25);
		margin:0 !important;
	}
	.flexnav li > ul li:first-child a {
		border:none;
	}
	.flexnav li > ul li:last-child a {
		border-radius:0 0 4px 4px;		
	}
	.flexnav li ul li a:before {
		content: "";
		position: absolute;
		bottom: 0px;
		left: 0;
		right: 0;
		margin: 0 auto;
		background:#f26c23;
		width: 0;
		height:100%;
		z-index:-1;
		transition: all 0.3s ease-in-out;
	}
	.flexnav li ul li a:hover:before,
	.flexnav li ul li a.active:before {
		width: 100%;
	}
	.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:100%;
		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:100%;
		height:15px;
		position:absolute;
		top:auto;
		bottom:4px;
		left:0;
		right:0;
		background:rgba(255,255,255,0.25);
		text-align:center;
		z-index:999;
	}
	.flexnav .touch-button:hover {
		cursor:pointer;
	}
	.flexnav .touch-button::after {
		content:"\f0d7";
		font-size:0.875em;
		line-height:1;
		position:absolute;
		top:0.125rem;
		left:0;
		right:0;
	}	
	/*- menu button -*/
	.menu-button {
		display:none;
	}
}
@media all and (min-width:768px) { /*- 768px and up -*/
	.flexnav li a {
		font-size:0.875rem;
		padding:0.75rem 0.563rem 1.375rem 0.563rem;
	}
	.flexnav li > ul li a	{
		font-size:0.875rem;
	}
}
@media all and (min-width:1024px) { /*- 1024px and up -*/
	.flexnav li a {
		padding:0.75rem 1rem 1.375rem 1rem;
		font-size:1.125rem;
	}
	.flexnav .touch-button {
		height:15px;
	}
	.flexnav .touch-button::after {
		font-size:1.25rem;
		top:-0.125rem;
	}		
}
/*------->>> 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%;
}
/*---> 7. BUTTON LIST <---*/
#button-list { /* ul */
	margin:0 0 1.563rem 0;
	list-style:none;
}
.button-list li {
	padding:0 0.625rem 0.625rem;
	width:100%;
	text-align:center;
}
.button-list li a {
	display: inline-block;
	width:100%;
	position: relative;
	background: #f26c23;
	padding: .25rem 1rem .188rem;
	font-family: 'Raleway', sans-serif;
	font-size: .813rem;
	font-weight: 700;
	color: #fff !important;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.063rem;
	border: 0 !important;
	border-radius: 25px;
	-o-transition: all 200ms ease-in-out;
	transition: all 200ms ease-in-out;
	-webkit-transition: all 200ms ease-in-out;
}
.button-list li a:hover {
	color: #fff;
	background: #4ab4c5;
	-webkit-box-shadow: 0px 17px 8px -15px rgba(39, 39, 39, 0.75);
	box-shadow: 0px 17px 8px -15px rgba(39, 39, 39, 0.75);
  }
@media all and (min-width:480px) {
	.button-list li {
		width:50%;
		float:left;
	}
}
@media all and (min-width:768px) {
	.button-list li {
		width:33.333;
	}
}
@media all and (min-width:1024px) {
	.button-list li {
		width:25%;
	}
}