/* Global Menus */
nav > ul
{
	list-style: none;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 10px;
}

/* Global Sub Menus */
nav > ul ul
{
	position: absolute;
	list-style: none;
	margin: 0 auto;
	padding: 0;
}

/* Meta Nav */
nav.meta
{
	position: relative;
    display: block;
	width: 100%;
	background: #EBEDEE;

	z-index: 600;
}

.sticky nav.meta
{
    display: none;
}

nav.meta input[type="checkbox"]
{
	display: none;
}

nav.meta label
{
	display: inline-block;
}

nav.meta > ul
{
	list-style: none;
	max-width: 100%;
	width: 1180px;
	margin: 0 auto;
	padding: 0 10px;
	text-align: right;
}

nav.meta > ul > li
{
	position: relative;
	display: inline-block;
	margin-left: 2.2rem;
}

nav.meta li > a,
nav.meta li > span
{
	display: block;
	min-height: 37px;
	color: #7F8E8F;
	font-size: 1.2rem;
	line-height: 3;
	font-weight: 400;
	text-decoration: none;
	text-transform: uppercase;

	border: none;

	will-change: color;
	-webkit-transition: color 0.15s ease-in-out;
	-moz-transition: color 0.15s ease-in-out;
	-ms-transition: color 0.15s ease-in-out;
	-o-transition: color 0.15s ease-in-out;
	transition: color 0.15s ease-in-out;
}

nav.meta li > a:hover,
nav.meta li > span:hover
{
	color: #3d3135;
}

nav.meta li > ul
{
	position: absolute;
	top: -200%;
	right: 0;
	min-width: 150px;
	text-align: left;
	background: #EBEDEE;
	border-top: 1px solid #dbe0e2;
	box-shadow: 0 3px 6px rgba(0,0,0,0.2);
	z-index: 15;
}

nav.meta li:hover > ul,
nav.meta #meta-menu:checked ~ ul
{
	top: 37px;
}

nav.meta > ul > li > span:after
{
	content: '';
	position: relative;
	top: 0.8rem;
	width: 0;
	height: 0;
	margin-left: 0.6rem;
	vertical-align: middle;
	border: 0 solid transparent;
	border-width: 0.5rem 0.45rem 0 0.45rem;
	border-top-color: #c0c7c8;

	will-change: border-color;
	-webkit-transition: border-color 0.15s ease-in-out;
	-moz-transition: border-color 0.15s ease-in-out;
	-ms-transition: border-color 0.15s ease-in-out;
	-o-transition: border-color 0.15s ease-in-out;
	transition: border-color 0.15s ease-in-out;
}

nav.meta ul ul li
{
	margin: 0 0 0.3rem;
	padding: 0 10px;
}

nav.meta ul ul li img
{
	margin: 0 0.5rem 0 0;
}


/* Main Nav */
nav.main
{
	position: relative;
	max-width: 100%;
	width: 1180px;
	height: 72px;
	margin: 0 auto;
	padding: 0;
	text-align: right;
	background: #FFF;
	z-index: 500;
}

nav.main > ul
{
	position: relative;
	display: block;
	list-style: none;
	width: 100%;
	margin: 0 0 0 auto;
	padding: 0 10px;
	text-align: right;
	background: #FFF;
}

nav.main > ul > li
{
	display: inline-block;
	margin: 0 0 0 1.5rem;
	padding: 21px 0px 21px;
}

nav.main > ul > li.demo
{
	padding: 0;
}

nav.main li > a,
nav.main li > span,
nav.main li > div
{
	position: relative;
	display: block;
	color: #7F8E8F;
	font-size: 1.8rem;
	font-weight: 300;
	text-decoration: none;

	border-bottom: 1px solid transparent;

	will-change: color;
	-webkit-transition: color 0.15s ease-in-out;
	-moz-transition: color 0.15s ease-in-out;
	-ms-transition: color 0.15s ease-in-out;
	-o-transition: color 0.15s ease-in-out;
	transition: color 0.15s ease-in-out;
}

nav.main li > a:hover
{
	border-bottom: 1px solid #d1dadc;
}

nav.main > ul > li[data-menu] > a
{
	color: #515A5B;
}

nav.main > ul > li[data-menu] > a:after
{
	content: '';
	position: absolute;
	width: 0rem;
	height: 0rem;
	z-index: 500;
}

nav.main > ul > li[data-menu] hr
{
	margin: 1.6rem 0;
	width: 5.6rem;
}


/* Mega Menus */

nav.main ul ul
{
	text-align: left;
	overflow: hidden;
	z-index: 100;

	will-change: height, left;
	-webkit-transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	-moz-transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	-ms-transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	-o-transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	transition: 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}

nav.main ul ul .close
{
	display: none;
}

nav.main ul ul h3,
nav.main ul ul h4
{
	margin: 0 0 1.2rem;
	color: #454C4D;
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1;
	text-decoration: none;

	will-change: color;
	-webkit-transition: color 0.15s ease-in-out;
	-moz-transition: color 0.15s ease-in-out;
	-ms-transition: color 0.15s ease-in-out;
	-o-transition: color 0.15s ease-in-out;
	transition: color 0.15s ease-in-out;
}

nav.main ul ul a:hover h3,
nav.main ul ul a:hover h4
{
	color: #E73;
}

nav.main ul ul p
{
	max-width: 187px;
	margin: 0;
	color: #7F8E8F;
	font-size: 1.4rem;
	font-weight: 300;
	line-height: 1.36;
}

/* Burger Menu */
nav.main .burger
{
	display: none;
	position: absolute;
	top: 50%;
	right: 10px;
	width: 4.5rem;
	height: 4rem;
	padding: 1.6rem 0;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

nav.main .burger span,
nav.main .burger:before,
nav.main .burger:after
{
	content: "";
	display: block;
	width: 100%;
	height: 0.8rem;
	border-radius: 0.5rem;
	background: #ADC;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -ms-transition: .25s ease-in-out;
    -o-transition: .25 ease-in-out;
    transition: .25 ease-in-out;
}

nav.main .burger span
{
	opacity: 1;
}

nav.main .burger:before,
nav.main .burger:after
{
	position: absolute;
	left: 0px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
}

nav.main .burger:before
{
	top: 0px;
	-webkit-transform-origin: 0% 50%;
	transform-origin: 0% 50%;
}

nav.main .burger:after
{
	bottom: 0px;
	-webkit-transform-origin: 100% 50%;
	transform-origin: 100% 50%;
}

nav.main.open .burger span
{
	opacity: 0;
}

nav.main.open .burger:before
{
	left: 4.4rem;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

nav.main.open .burger:after
{
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* Tertiary Nav */
nav.section
{
	z-index: 25;
	padding-top: 10px;
}

nav.section select
{
	display: none;
}

nav.section ul
{
	max-width: 130px;
	margin: 0;
	padding: 0;
}

nav.section ul ul
{
	position: relative;
	top: 0;
	padding-left: 2rem;
}

nav.section.sticky
{
	position: fixed;
	top: 10rem;
}

nav.section.bottom
{
	position: absolute;
	top: auto;
	bottom: 4rem;
}

nav.section .top.bottom
{
	position: absolute;
}

nav.section li
{
	position: relative;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #DBE0E2;
}

nav.section ul ul li
{
	border: none;
}

nav.section li a
{
	display: block;
	padding: 1.8rem 0;
	color: #454C4D;
	font-size: 1.4rem;
	line-height: 1.2;
	font-weight: 300;
	text-decoration: none;

	will-change: color;
	-webkit-transition: color 0.15s ease-in-out;
	-moz-transition: color 0.15s ease-in-out;
	-ms-transition: color 0.15s ease-in-out;
	-o-transition: color 0.15s ease-in-out;
	transition: color 0.15s ease-in-out;
}

nav.section ul ul li a
{
	padding: 0 0 1.8rem;
	color: #7F8E8F;
	font-size: 1.3rem;
}

nav.section li:first-child > a
{
	padding-top: 0;
}

nav.section li:last-child a
{
	border: none;
}

nav.section li:hover > a
{
	color: #EE7933;
}

nav.section ul ul li:hover > a
{
	color: #5DA9BA;
}

nav.section li.active > a
{
	font-weight: 400;
}

nav.section li > a:after
{
	content: '';
	position: relative;
	display: inline-block;
	margin: 0 -1.8rem 0 0.8rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.5rem;
	border-color: transparent;
	will-change: border-color;
	-webkit-transition: border-color 0.15s ease-in-out;
	-moz-transition: border-color 0.15s ease-in-out;
	-o-transition: border-color 0.15s ease-in-out;
	-ms-transition: border-color 0.15s ease-in-out;
	transition: border-color 0.15s ease-in-out;
}

nav.section ul ul li > a:after
{
	position: absolute;
	top: 0.1em;
	right: 100%;
	margin: 0;
}

nav.section li.active > a:after,
nav.section ul ul li > a:hover:after
{
	border-left-color: #5DA9BA;
}

nav.section .top
{
	position: fixed;
	display: block;
	bottom: 4rem;
	padding: .5rem 0;
	font-size: 1.5rem;
	text-align: center;
	visibility: hidden;
	opacity: 0;

	border-bottom: 1px solid transparent;

	-webkit-transition: visibility 0 0.1s, opacity 0.1s ease-in-out;
	-moz-transition: visibility 0 0.1s, opacity 0.1s ease-in-out;
	-o-transition: visibility 0 0.1s, opacity 0.1s ease-in-out;
	-ms-transition: visibility 0 0.1s, opacity 0.1s ease-in-out;
	transition: visibility 0 0.1s, opacity 0.1s ease-in-out;

}

nav.section .top:hover
{
	border-bottom: 1px solid #DBE0E2;
}

nav.section .top div
{
	display: block;
	width: 3.4rem;
	margin: 0px auto;
	padding: 10px 0;
	vertical-align: middle;
	color: #617d85;
	border-top: 1px solid #DBE0E2;
}

nav.section .top.sticky,
nav.section .top.bottom
{
	visibility: visible;
	opacity: 1;

	-webkit-transition: visibility 0, opacity 0.2s ease-in-out;
	-moz-transition: visibility 0, opacity 0.2s ease-in-out;
	-ms-transition: visibility 0, opacity 0.2s ease-in-out;
	-o-transition: visibility 0, opacity 0.2s ease-in-out;
	transition: visibility 0, opacity 0.2s ease-in-out;
}

nav.section .top.bottom
{
	position: absolute;
}

/* Trust */
nav.trust
{
	margin: 2.6rem 0;
}

nav.trust h4
{
	margin: 0 0 1rem;
	color: #515A5B;
	font-size: 1.3rem;
	font-weight: 400;
	text-transform: uppercase;
}

nav.trust ul
{
	padding: 0;
}

nav.trust li
{
	display: inline-block;
	margin: 0 3rem 0.3rem 0;
}

nav.trust a
{
	color: #7F8E8F;
	font-size: 1.4rem 22;
	font-weight: 300;
	text-decoration: none;
}

nav.trust a:hover
{
	color: ##5DA9BA;
}

/* Social */
nav.social
{
	float: right;
}

nav.social li
{
	display: inline-block;
	margin: 0 10px;
}

nav.social a
{
	color: #9AC1B5;
}

nav.social a:hover
{
	color: #5DA9BA;
}

/* Desktop / Full Width Screens */
@media screen and (min-width: 800px)
{
	nav > ul ul
	{
		top: -200%;
		padding: 0 10px;
		will-change: top;
		-webkit-transition: top 0.4s cubic-bezier(0.86, 0, 0.07, 1);
		-moz-transition: top 0.4s cubic-bezier(0.86, 0, 0.07, 1);
		-ms-transition: top 0.4s cubic-bezier(0.86, 0, 0.07, 1);
		-o-transition: top 0.4s cubic-bezier(0.86, 0, 0.07, 1);
		transition: top 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	}

	nav.main > ul > li[data-menu] > a:after
	{
		bottom: -34px;
		left: 50%;
		margin-left: -1rem;
		background-color: #F2F4F5;
		box-shadow: inset 2px 2px 3px rgba(0,0,0,0.1);

		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	nav.main > ul > li[data-menu]:hover > a:after
	{
		width: 2rem;
		height: 2rem;
	}

	/* Mega Menus */
	nav.main ul ul
	{
		top: 72px;
		right: 10px;
		width: 100%;
		width: calc(100% - 20px);
		height: 0px;
		padding: 0 0 0 215px;
		background: #F2F4F5;
	}

	nav.main ul ul li a,
	nav.main ul ul li:hover a
	{
		border: none;
	}

	nav.main li:hover > ul
	{
		height: auto;
		box-shadow: 0 5px 6px rgba(0,0,0,0.2), inset 0 3px 3px rgba(0,0,0,0.1);
		z-index: 105;
	}

	nav.main ul ul li
	{
		float: left;
		min-height: 115px;
		width: 200px;
		margin: 30px 18px 20px 0;
		vertical-align: top;
	}

	nav.main ul ul li.overview
	{
		position: absolute;
		top: 0px;
		left: 0px;
		width: 200px;
		height: 100%;
		margin: 0;
		padding: 3rem;
		background: #FFF;
		box-shadow: inset 0 3px 3px rgba(0,0,0,0.1);
	}

	nav.main ul ul h3:after
	{
		content: '';
		display: inline-block;
		margin: 0 -1.3rem 0 0.8rem;
		width: 0;
		height: 0;
		border: 0.5rem solid transparent;
		border-left-color: #5DA9BA;
	}
}

/* Large Screens */
@media screen and (min-width: 990px)
{
	/* Mega Menus */
	nav.main ul ul
	{
		max-width: 955px;
		padding: 0 0 0 300px;
	}

	nav.main ul ul li.overview
	{
		width: 285px;
	}
}


@media screen and (min-width: 900px)
{
	nav.main > ul > li
	{
		margin: 0 0 0 3rem;
	}
}


/* Portrait Tablet / Smaller Screens */
@media screen and (max-width: 800px)
{
	nav.main .burger
	{
		display: block;
	}

	nav.main ul ul .close
	{
		display: block;
	}

	nav.main ul
	{
		position: absolute;
		top: 72px;
		width: 100%;
		left: -110%;
		padding: 0;
		text-align: left;
		background: #FFF;
		box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2);
		transition: left .25s ease-in;
	}

	nav.main.open > ul
	{
		left: 0%;
		border-top: 1px solid #AAA;
		border-bottom: 2px solid #AAA;
		box-shadow: inset 2px 2px 3px rgba(0,0,0,0.1), 0 2px 5px rgba(0,0,0,0.5);
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}

	nav.main ul li
	{
		display: block;
		margin: 0;
		padding: 0;
	}

	nav.main > ul > li.demo
	{
		padding: 25px 0;
		text-align: center;
	}

	nav.main li > a,
	nav.main li > span,
	nav.main li > div
	{
		padding: 2rem 0 2rem 3rem;
		border-bottom: 1px solid #D1DADC;
	}

	nav.main > ul > li[data-menu] > a:after
	{
		bottom: 50%;
		left: 90%;
		border-left: 1rem solid #999;
		border-top: 0.5rem solid transparent;
		border-bottom: 0.5rem solid transparent;

		-webkit-transform: translateY(50%);
		-moz-transform: translateY(50%);
		-ms-transform: translateY(50%);
		-o-transform: translateY(50%);
		transform: translateY(50%);
	}

	nav.main > ul > li[data-menu] .close h3:before
	{
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		margin-right: 1rem;
		border-right: 1rem solid #999;
		border-top: 0.5rem solid transparent;
		border-bottom: 0.5rem solid transparent;
	}

	nav.main ul ul
	{
		top: 0;
		left: -110%;
		width: 100%;
		height: auto;
		max-height: 100%;
		z-index: 600;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}

	nav.main ul li.open ul
	{
		left: 0%;
		z-index: 700;
	}

	nav.main ul ul li a
	{
		padding-left: 6rem;
	}

	nav.main ul ul li.overview a
	{
		padding-left: 3rem;
	}

	nav.main ul ul h3,
	nav.main ul ul h4
	{
		margin: 0;
		font-size: 1.8rem;
	}

	nav.main ul ul p
	{
		display: none;
	}

	nav.main ul ul hr
	{
		display: none;
	}

	nav.section.sticky
	{
		top: 72px;
		left: 0;
		width: 100%;
		padding: 1rem;
		background: #FFF;
		box-shadow: inset 0 2px 3px rgba(0,0,0,0.2), 0 2px 3px rgba(0,0,0,0.4);
		z-index: 50;
	}

	nav.section select
	{
		display: block;
		margin: 0 0 0;
	}

	nav.section ul
	{
		display: none;
	}
}

/* Phone Portrait / Smallest Screens */
@media screen and (max-width: 600px)
{
	nav.meta ul { text-align: center; }
	nav.meta ul li { margin: 0 0.5rem; }
	/*nav.meta .regions { display: none; }*/
	nav.social { float: none; }

	nav.meta ul li.search
	{
		width: 85%;
		max-width: 320px;
		margin-bottom: 10px;
	}

	nav.meta ul li.search .global-search label
	{
		display: block;
	}
}
