/*------>>> TABLE OF CONTENTS <<<-------
	- BREAD CRUMBS
	- FLEXNAV BASE STYLES [mobile menu]
	- MEDIA QUERIES [desktop menu lives here]
	- MEGA MENU
	- OLD IE STYLES [don't style]
*/


/************************************
/*----------------------------------
/* BREAD CRUMBS
/*----------------------------------
/*************************************/

.bread-crumbs {
	padding:0;
	/*margin-top:-1.5rem;*/
    margin-top:1.5rem;
}
div.bread_crumbs {
	padding:0;
}
.bread_crumbs {
	font-size:0.875rem;
	font-weight:400;
	line-height:1.3;
}
a.bread_crumbs:not(:last-child) {
	font-weight:400;
	color:#1d4280;
}
a.bread_crumbs:last-child {
	font-weight:700;
}
a.bread_crumbs:hover {
}
.bread-crumbs-svg {
	width:5px;
	height:9px;
	fill:#8DCE69;
	margin:0 0.313rem;
}
/************************************
/*----------------------------------
/* FLEXNAV BASE STYLES
/*----------------------------------
/*************************************/

.flexnav,
.flexnav ul {
	list-style: none;
} 
.flexnav {
	width:100%;	
	max-height:0;
	overflow:hidden;
	position:absolute;
	top:43px;	
	margin:0 auto;
	padding:0;
	-webkit-transform-style:preserve-3d;
	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);
	box-shadow: 0px 14px 16px 0px rgba(0, 0, 0, 0.1);
}  
.flexnav.opacity {
	opacity:1;
}
.flexnav.flexnav-show {
	opacity:1;
	padding:0;	
	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 {
	background:#fff;
	display:block;
	position:relative;
	overflow:hidden;
	padding:0.750rem 0 0.750rem 1.563rem;
	margin:0;
	font-family: 'Lato', sans-serif;
	font-size:0.875rem;
	font-weight:700;
	text-transform:uppercase;
	color:#1b314a;
	line-height:1.2;
	z-index:2;
}
.flexnav li:not(:last-of-type) a {
	border-bottom:1px dotted rgba(27,49,74,0.5);
} 
/*- nested UL -*/
.flexnav li ul {
	margin:0;
	width:100%;
	padding:0;	
}
.flexnav li ul li {
	background:#dde0e4;
	position:relative;
	overflow:hidden;
	font-size:100%;
	width:100%;
}
.flexnav li ul.flexnav-show li {
	overflow:visible;
}
.flexnav li ul li a {
	background:transparent;
	display:block;
	border:0 !important;
}
.flexnav li ul li:not(:last-of-type) a {
	border:0 !important;
}
/*- nested 3rd level UL -*/
.flexnav li ul li ul li a {
	text-transform:none;
}
.flexnav li ul li ul::before {
	display:none;
}
/*- drop down arrows -*/
.flexnav .touch-button {
	display: inline-block;
	width:41px;
	height:41px;
	position: absolute;
	top: 0;
	right:0;
	background:transparent;
	text-align:center;
	z-index:999;
}
.flexnav .touch-button:after {
	display:block;
	content:"";
	margin:0 auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 6.5px 0 6.5px;
	border-color: #1d4280 transparent transparent transparent;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%, -50%);
	-webkit-transition:all 0.2s ease-in-out;
	transition:all 0.2s ease-in-out;
}
.flexnav .touch-button.active:after {
	transform:translate(-50%, -50%) rotate(180deg);
}
.flexnav .touch-button:hover {
	cursor:pointer;
}
.flexnav .touch-button .navicon {
	display:none;
}
/*- menu button [bars?] -*/
.menu-button {
	display:block;
	width:100px;
	padding:0.875rem 0.625rem;
	position:relative;
	font-size:0.875rem;
	font-weight:700;
	color:#fff;
	text-transform:uppercase;
	line-height:100%;
	cursor:pointer;
	z-index:10000;
}
.menu-button.one-page {
	position:fixed;
	top:0;
	right:5%;
	padding-right:45px;
}
.menu-button .touch-button {
	display:inline-block;
	width:25px;
	height:100%;
	position:absolute;
	right:0.625rem;
	top:0;
}
.menu-button .touch-button .navicon {
	display:block;
	height:2px;
	width:100%;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	left:0;
	right:0;
	margin:0 auto;
	background:#fff;
	-webkit-transition:background 0.2s;
	transition:background.2s;
	border-radius:2px;
}
.menu-button .touch-button .navicon:before {
	display:block;
	width:100%;
	height:2px;
	position:absolute;
	top:-6px;
	left:0;
	content:"";
	background-color:#fff;
	-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;
	border-radius:2px;
}
.menu-button .touch-button .navicon:after {
	display:block;
	width:100%;
	height:2px;
	position:absolute;
	left:0;
	bottom:-6px;
	content:"";
	background-color:#fff;
	-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;
	border-radius:2px;
}
.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);
}


/************************************
/*----------------------------------
/* MEDIA QUERIES
/*----------------------------------
/*************************************/

@media all and (min-width:40rem) { /*- 640px and up -*/
	/*---> Desktop Menu <---*/
	.primary-nav {
		position:relative;
		width:100%;
		height:73px;
		border-bottom:1px solid #fff;
	}
	.flexnav {
		position: relative;
		top:auto;
		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;
	}
	body.one-page {
		padding-top:70px;
	}
	.flexnav.opacity {
		opacity:1;
	}
	.flexnav.one-page {
		max-width:1080px;
		top:0;
		right:auto;
	}
	.flexnav li {
		display: block;
		position: relative;
		list-style: none;
		float: left;
		overflow: visible;
		flex-grow: 1;
		height: 100%;
	}
	.flexnav li a {
		padding:0;
		background: none;
		font-size:0.625rem;
		font-weight:400;
		text-transform:uppercase;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
		border:0 !important;
	}
	.flexnav > li > a {
		height: 100%;
		text-align:center;
		display: -webkit-flex;
		display: flex;
		color:#fff;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
	}	
	.flexnav li > a:before {
		content: "";
		display:block;
		width:0;
		height:100%;
		margin:0 auto;
		position:absolute;
		top:0;
		bottom:0;
		left: 0;
		right:0;
		background:rgba(255,255,255,0.2);
		transition: all 0.3s ease-in-out;
		z-index:-1;
	}
	.flexnav li > a:hover:before,
	.flexnav li.active > a:before {
		width:calc(100% - 0.313rem);  
	}
	/*- nested UL -*/
	.flexnav li ul {
	/*		display:none;*/
	}
	.flexnav li > ul {
		width:150px;
		position:absolute;
		top:100%;
		right:-100%;
		left:-100%;
		margin:0 auto;
		background:#fff;
		padding:0 !important;
		-webkit-box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.16);
		-moz-box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.16);
		box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.16);
	}
	.flexnav li > ul::before {
		position: absolute;
		content: '';
		display: block;
		width: 0;
		height: 0;
		top: -7px;
		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 #fff;
		border-bottom-style: solid;
		border-top-width: 0;
	}
	.flexnav li ul li {
		width:100%;
		height:auto;
		padding:0.313rem !important;
		margin:0 !important;
		background:transparent;
	}
	.flexnav li > ul li + li {
		margin-top:-0.313rem !important;
	}
	.flexnav li ul li a,
	.flexnav li > ul li a	{
		padding:0.5rem;
		background:transparent;
		text-align:left;
		font-size:0.675rem;
		font-weight:400;
		border:0 !important;
	}
	.flexnav li ul li a:before,
	.flexnav li > ul li a:before {
		content: "";
		display:block;
		width:0;
		height:100%;
		margin:0 auto;
		position:absolute;
		top:0;
		bottom:0;
		left: 0;
		right:0;
		background:#dde0e4;
		transition: all 0.3s ease-in-out;
		z-index:-1;
	}
	.flexnav li ul li a:hover :before,
	.flexnav li ul li a.active:before,
	.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;
	}
	/*- nested 3rd level UL -*/
	.flexnav li ul li ul li a {
		text-transform:uppercase;
	}
	/*- drop down arrows -*/
	.no-touch .flexnav .touch-button,
	.touch .flexnav .touch-button{
		display:none;
	}
	.flexnav .touch-button {
		width:100%;
		height:14px;
		margin:0 auto;
		top:auto;
		left:0;
		right:0;
		bottom:15px;
	}
	.flexnav .touch-button:after {
		position:absolute;
		margin:0 auto;
		top:auto;
		left:0;
		right:0;
		bottom:0;
	}
	.flexnav .touch-button.active:after {
		-webkit-transform:rotate(180deg);
		transform:rotate(180deg);
	}
	.flexnav .touch-button:hover {
		cursor:pointer;
	}
	/*- menu button -*/
	.menu-button {
		display:none;
	}
}
@media all and (min-width:48rem) { /*- 768px and up -*/
	/*---> Primary Navigation <---*/
	.flexnav li ul li a,
	.flexnav li a,
	.flexnav li > ul li a,
	.flexnav li ul li ul li a {
		font-size: 0.75rem;
	}
	.flexnav li > ul {
		width:200px;
	}
}
@media all and (min-width:64rem) { /*- 1024px and up -*/
	.flexnav li ul li a,
	.flexnav li a,
	.flexnav li > ul li a,
	.flexnav li ul li ul li a {
		font-size:0.875rem;
	}
	.flexnav li > ul {
		width:230px;
	}
}
/************************************
/*----------------------------------
/* MEGA MENU
/*----------------------------------
/*************************************/


/*- Mega Menu -*/
.megamenu {
}
.megamenu .row {
	margin:0 auto !important;
}
@media all and (min-width:40rem) { /* 640px and up -*/
	.megamenu {
		position:absolute;
		width:calc(100% + 352px);
		left:-56px;
		background: #fff;
		-webkit-box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.16);
		-moz-box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.16);
		box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.16);
		display:none;
	}
	.megamenu:before {
		position: absolute;
		content: '';
		display: block;
		width: 0;
		height: 0;
		top: -7px;
		left: 23%;
		-webkit-transform: translateX(-23%);
		transform: translateX(-23%);
		-moz-transition: translateX(-23%);
		-o-transition: translateX(-23%);
		border: inset 0.5rem;
		border-color: transparent transparent #fff;
		border-bottom-style: solid;
		border-top-width: 0;
	}
	.megamenu .row .columns {
		border-right:1px solid #ddd;
		padding-bottom:0.625rem;
		padding-top:0.625em;
	}
	.megamenu .row .columns:last-child {
		border-right:0;
	}
	.megamenu .row .columns ul > li > ul li {
		padding-left:0 !important;
		padding-right:0 !important;
	}
	.megamenu .row .columns ul > li > ul {
		display:flex;
		flex-direction:row;
		flex-wrap:wrap;
		width:100%;
		margin:0;
		position:relative;
		top:auto;
		right:auto;
		left:auto;
		background:transparent;
		box-shadow:none;
	}
	.megamenu .row .columns > ul > li {
		margin-top:-0.313rem !important;
	}
	.megamenu .row .columns > ul > li >  a {
		font-weight:700 !important;
		color:#4BA7C0;
	}
}

@media all and (min-width:48rem) { /*- 768px and up -*/
	.megamenu {
		width:calc(100% + 433px);
		left:-69px;
	}
}
@media all and (min-width:64rem) { /*- 1024px and up -*/
	.megamenu {
		width:calc(100% + 605px);
		left:-100px;
	}
	.megamenu .columns:first-of-type,
	.megamenu .columns:last-of-type {
		-ms-flex: 0 0 30%;
		flex: 0 0 30%;
		max-width: 30%;
	}
	.megamenu .columns:nth-of-type(2) {
		-ms-flex: 0 0 40%;
		flex: 0 0 40%;
		max-width: 40%;
	}
	.megamenu .columns:nth-of-type(2) > ul > li ul > li {
		width:50%;
	}
	.megamenu .columns:nth-of-type(2) > ul > li ul > li:nth-of-type(2) {
		margin-top:0 !important;
	}
}
@media all and (min-width:1100px) { /*- 1100px and up -*/
	.megamenu {
		width:calc(100% + 657px);
		left:-110px;
	}
}

@media all and (min-width:1170px) { /*- 1170px and up -*/
	.megamenu {
		width:calc(100% + 707px);
		left:-120px;
	}
}

/************************************
/*----------------------------------
/* OLD IE STYLES
/*----------------------------------
/*************************************/

.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%;
}