/* Flexnav Base Styles */
.flexnav { -webkit-transition: none; -moz-transition: none; -ms-transition: none; transition: none; -webkit-transform-style: preserve-3d; overflow: hidden; margin: 0 auto; width: 100%; max-height: 0; position: relative; z-index: 1000; }
.flexnav.opacity { opacity: 0; }
.flexnav.show { padding-left: 0; max-height: 2000px; opacity: 1; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -ms-transition: all .5s ease-in-out; transition: all .5s ease-in-out; }
.flexnav.one-page { position: fixed; top: 50px; right: 5%; max-width: 200px; }
.flexnav li { font-size: 100%; position: relative; overflow: hidden; transition:all 200ms ease-in-out;}
.flexnav li a { position: relative; display: block; padding: .96em; z-index: 2; color: #003D96;  border-bottom: 1px solid rgba(0, 0, 0, 0.15); text-decoration: none;}
.flexnav li ul { width: 100%; padding-left: 0; background: rgba(52, 80, 125, 0.95); padding-bottom: 0; border-radius: 0 0 3px 3px; overflow: hidden;}
.flexnav li ul li { font-size: 100%; position: relative; overflow: hidden; }
.flexnav li ul.show li { overflow: visible; }
.flexnav li ul li a {
	border: 0;
	display: block;
	color: #fff;
	text-align: left;
	padding: .4rem 1.5rem;
	font-size: .875em;
	line-height: 1.2rem;
	text-transform: none;
}
.flexnav li ul li:hover {
	background: rgba(32, 60, 105, 0.95);
	box-shadow: 0 0 18px rgba(255,255,255,.25);
}
.flexnav li ul li:hover a {color: #e5d39f;}
.flexnav ul li ul li a { background: transparent; }
.flexnav ul li ul li ul li a { background: #cbcbc9; }
.flexnav .touch-button { position: absolute; z-index: 999; top: 0; right: 0; width: 50px; height: 47px; display: inline-block; background: #acaca1; background: rgba(0, 0, 0, 0.075); text-align: center; }
.flexnav ul li .touch-button {
    height: 32px;
}
.flexnav ul li .touch-button .navicon {
    top: 0.6em;
}
.flexnav .touch-button:hover { cursor: pointer; }
.flexnav .touch-button .navicon { position: relative; top: 1.2em; font-size: 12px; color: #fff; }
.menu-button { position: relative; display: block; padding: 1em; background: none; color: #053d96; cursor: pointer; border-bottom: 1px solid rgba(0, 0, 0, 0.2); font-weight: bold; }
.menu-button.one-page { position: fixed; top: 0; right: 5%; padding-right: 45px; }
.menu-button .touch-button { background: transparent; position: absolute; z-index: 999; top: 0; right: 0; width: 50px; height: 50px; display: inline-block; text-align: center; }
.menu-button .touch-button .navicon { font-size: 1em; position: relative; top: 1em; color: #053d96; }

@media all and (min-width: 768px) {
body.one-page { padding-top: 70px; }
.flexnav { overflow: visible; padding: 0; }
.flexnav.opacity { opacity: 1; }
.flexnav.one-page { top: 0; right: auto; max-width: 1080px; }
.flexnav li:first-child, .flexnav li ul li {
    border-left: medium none;
}
.flexnav li { position: relative; list-style: none; float: left; display: block; background: none; width: auto; overflow: visible; line-height: .6rem; width: 12.5%; text-align: center; border-left: 1px solid rgba(0, 36, 125, 0.1);}
.flexnav li a {
	border-bottom: none;
	padding: 1em 0;
	color: #053d96;
	font-family: 'Cabin', sans-serif;
	font-size: .938em;
	font-weight: 400;
	background: none;

}
.flexnav li a:hover {
	color: #847447;
	text-decoration: none;
}
.flexnav li > ul { position: absolute; top: auto; left: 0; padding: 0; width: 100%; width: 250px; }
.flexnav li:last-child > ul { left: auto; right: 0; }
.flexnav li > ul li { width: 100%; }
.flexnav li ul li > ul { display:none!important;margin-left: 100%; top: 0; }
.flexnav li ul li:last-child a { border-bottom: none; }
.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 .touch-button { width: 100%; background: none; }
.flexnav .touch-button .navicon, .no-touch .touch-button, .menu-button  { display: none; }
}
.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%; }

/* Subnav Styles */
.subnav ul{list-style-type:none;padding-left:0;}
.subnav ul li {padding: 0; }
.subnav ul li a {
    color: #053d96;
    display: block;
    font-size: .875em;
    padding: 7px 0 7px 0;
    text-decoration: none;
}
.subnav ul li a:hover, .subnav ul li a:active {
	color:#a99a6f;
}
.subnav ul li ul {
	display:none;
	background: #1B335D;
	font-size: .875em;
	padding:8px 0 8px 15px;
}
.subnav ul li ul li a, .subnav ul li ul li a:visited {
	color:#fff;
	padding: 6px 0;
}
.subnav ul li ul li a:hover, .subnav ul li ul li a:active {
	color: #a99a6f;
}
.subnav:after {
	background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(255,255,255,1) 10%, rgba(255,255,255,0) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(10%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,0)));
	background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(255,255,255,1) 10%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,1) 10%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 );
    content: "";
    height: 250px;
    left: 0;
    position: absolute;
    top: -12px;
    width: 100%;
}
.subnav {
    background: #ffffff;
	background: -moz-linear-gradient(top,  #ffffff 0%, #D2DCE5 100%);
	background: -webkit-linear-gradient(top,  #ffffff 0%,#D2DCE5 100%);
	background: linear-gradient(to bottom,  #ffffff 0%,#D2DCE5 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#D2DCE5',GradientType=0 );
    border-radius: 0 0 7px 7px;
    height: auto;
    margin-bottom: 25px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    border: 2px solid #EFF4F7;
    padding: 0 0.625em;
}
.subnav * {
	position: relative;
	z-index: 999;
}
.subnav > h2 {margin-top: 10px;}
.subnav li {
    border-bottom: 1px solid #c4ced8;
}
.subnav li ul li {
    border-bottom: 1px solid #455d87;
}

.hasChildren:after {
	content: "\f107";
    float: right;
    font-family: "FontAwesome";
    font-size: 0.875em;
    position: relative;
    right: 9px;
    top: 1px;
}
