




/*================================================================
                 SUPERFISH MENU ESSENTIAL STYLES 
================================================================*/

/* Make sure to use specificity below rather than changing these styles*/

.sf-menu, .sf-menu * { margin:0; padding:0; list-style:none; }
.sf-menu { line-height:1.0; }	
.sf-menu ul { position:absolute; top:-999em; width:14em; /* left offset of submenus need to match (see below) */ }
.sf-menu ul li { width:100%; }	
.sf-menu li { float:left; position:relative; }
.sf-menu li:hover { visibility:inherit; /* fixes IE7 'sticky bug' */ }		

.sf-menu a { display:block; position:relative; }

.sf-menu li:hover ul,
.sf-menu li.sfHover ul { left:0; top:33px; /* match top ul list item height */ z-index:99; }
	
ul.sf-menu li:hover li ul,
ul.sf-menu li.sfHover li ul { top:-999em; }

ul.sf-menu li li:hover ul,
ul.sf-menu li li.sfHover ul { left:14em; /* match ul width */ top:0; }

ul.sf-menu li li:hover li ul,
ul.sf-menu li li.sfHover li ul { top:-999em; }

ul.sf-menu li li li:hover ul,
ul.sf-menu li li li.sfHover ul { left:14em; /* match ul width */ top:0; }

/*** shadows for all but IE6 ***/
.sf-shadow ul { /* background:url(/cms/images/layout/menu/shadow.png) no-repeat bottom right; */ padding:0 9px 9px 0; }
.sf-shadow ul.sf-shadow-off { background:transparent; }

/*** arrows **/
.sf-menu a.sf-with-ul { padding-right:2.25em; min-width:1px; /* trigger IE7 hasLayout so spans position accurately */ }

.sf-sub-indicator { 
	display:block; 
	position:absolute; right:.75em; top:.8em;
	width:10px; height:10px; 
	text-indent:-999em; 
	overflow:hidden;
	/* background:url(/cms/images/arrows-ffffff.png) no-repeat 0 -100px; */
}

a:focus > .sf-sub-indicator,
a:hover > .sf-sub-indicator,
a:active > .sf-sub-indicator,
li:hover > a > .sf-sub-indicator,
li.sfHover > a > .sf-sub-indicator { background-position:-10px -100px; }

/* point right for anchors in subs */
.sf-menu ul .sf-sub-indicator {background-position:-10px 0; }
.sf-menu ul a > .sf-sub-indicator {background-position:0 0; }

/* apply hovers to modern browsers */
.sf-menu ul a:focus > .sf-sub-indicator,
.sf-menu ul a:hover > .sf-sub-indicator,
.sf-menu ul a:active > .sf-sub-indicator,
.sf-menu ul li:hover > a > .sf-sub-indicator,
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
	background-position: -10px 0; /* arrow hovers for modern browsers*/
}
	

	
	
	
/*================================================================
                      MAIN MENU SKIN 
================================================================*/

.mainNav { /* position:relative; */ z-index:100; margin:0; font-size:.8em; }
.mainNav ul { margin:0; padding:0; }	

.nav .icon-menu { 
	display:block; float:left;
	width:49px; height:55px; 
	text-align:center; text-indent:-9999em; 
	border-left:1px solid #306cc6; border-right:1px solid #1e56aa; 
	color:#fff; 
	background:url(/content/images/icon-menu.png) no-repeat 11px 18px; 
}
.nav .icon-menu.active { background-color:#0060a9; background-position:10px -73px; }

.navContainer { width:100%; margin:0 auto; max-width:960px; }

/* Main Tier */
.mainNav .sf-menu { 
	display:none; overflow:hidden; 
	position:absolute; left:0; 
	width:100%; 
	border-right:1px solid #316cc7; border-left:1px solid #2158ad; 
}
.mainNav .sf-menu li { float:none; }
.mainNav .sf-menu > li { display:block; vertical-align:middle; }
.mainNav .sf-menu > li .subMenu > a { display:table; width:100%; font-size:1.3em; font-weight:bold; text-decoration:none; color:#fff; }
.mainNav .sf-menu > li .subMenu > a .menuText { display:table-cell; padding:10px; height:40px; vertical-align:middle; text-align:center; }

.mainNav .sf-menu li.sfHover > a,
.mainNav .sf-menu a.on,
.mainNav .sf-menu a:hover, 
.mainNav .sf-menu a:focus,
.mainNav .sf-menu a:active { background-color:#0060a9; text-shadow:2px 3px 4px #222; }

/* Sub Tier */
.mainNav .sf-menu li .subMenu { position:relative; }
.mainNav .sf-menu li:hover .subMenu > ul, .mainNav .sf-menu li.sfHover .subMenu > ul { top:60px; }
.mainNav .sf-menu li ul { min-width:100%; }

.mainNav .sf-menu li li { border-top:1px solid #999; }
.mainNav .sf-menu li li:first-child { border-top:0; }
.mainNav .sf-menu li li a { height:auto; padding:1.1em 0 1.1em 1.5em; color:#fff; text-decoration:none; }


.nav .hasSub .show-menu { 
	position:relative; top:5px; right:5px;
	float:right; 
	margin-top:-8px; padding:10px 6px;
	width:16px; height:7px; 
	border:0; 
	text-indent:0; 
	font-size:1.5em; 
	line-height:.4em;
	background:#376dd0;
	text-align:center;
	
	text-shadow:0 0 0 transparent !important;
	
	box-shadow:0 0 3px #444;
}
.nav .hasSub .show-menu.active { background:#06589a; line-height:.3em; box-shadow:inset 0 0 4px #222; }
.nav .hasSub .show-menu:hover { background:#06589a }
.nav .hasSub .show-menu.active:hover { background:#376dd0 }


/* Sub Sub Tier */
.js .mainNav .sf-menu li li ul { display:none; visibility:hidden; }
.mainNav .sf-menu li li:hover > ul, .mainNav .sf-menu li li.sfHover > ul { top:0; left:100%; }

.mainNav .sf-menu li li.sfHover > a, .mainNav .sf-menu li li a:hover,  .mainNav .sf-menu li li a:focus, .mainNav .sf-menu li li a:active {  }

/* last Nav Item Adjustments */
.mainNav .sf-menu .lastnavitemli .subMenu > ul { left:auto; right:0; }
.mainNav .sf-menu .lastnavitemli li:hover > ul,
.mainNav .sf-menu .lastnavitemli li.sfHover > ul { left:auto; right:100%; }


/* ------- Mega Menu adjustments ----------- */

.megaMenu .sf-menu li { position:static; border-right:1px solid #2158ad } 
.megaMenu .sf-menu > li > a { 
	display:table; 
	padding:1em 1px 1em 1em;
	width:100%; h eight:auto; 
	font-size:1.2em; 
	text-decoration:none; color:#fff; 
	background-color:#0060a9; 

	text-shadow:0 0 30px #333;

	-webkit-transition:all .3s linear;
	   -moz-transition:all .3s linear;
		 -o-transition:all .3s linear;
		    transition:all .3s linear;
		
		-webkit-box-sizing:border-box; 
		   -moz-box-sizing:border-box;
	            box-sizing:border-box;
}
.megaMenu .sf-menu > li > a .menuText { display:table-cell; padding:10px; height:40px; vertical-align:middle; text-align:center; }

.megaMenu .sf-menu li .subNav { display:none; overflow:hidden; min-width:0; width:100%; z-index:9999; 
	background:#0060a9;
	background:-webkit-linear-gradient(top, #0060a9 0, #376dd1 100%);
	background:  -moz-linear-gradient (top, #0060a9 0, #376dd1 100%);
	background:    -ms-linear-gradient(top, #0060a9 0, #376dd1 100%);
	background:     -o-linear-gradient(top, #0060a9 0, #376dd1 100%);
	background:  linear-gradient(to bottom, #0060a9 0, #376dd1 100%);
		filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#0060a9', endColorstr='#376dd1',GradientType=0 );
		
	-webkit-box-shadow:0 5px 6px 0 #222;
            box-shadow:0 5px 6px 0 #222;
}

.megaMenu .sf-menu li ul { position:static; background:#0060a9; clear: both; }

.megaMenu .sf-menu li ul ul { display:block; visibility:visible !important; padding:1em 2em; min-width:100%; width:auto; }
.megaMenu .sf-menu li li { float:none; border:0; margin:0; width:100%; }
.megaMenu .sf-menu li li a { text-align:left; font-weight:bold; border-bottom:2px solid transparent; }
.megaMenu .sf-menu li li a:hover, .megaMenu .sf-menu li li a:focus { background:transparent; border-bottom:2px solid #0060a9; }
.megaMenu .sf-menu li li li { float:none; border:0; margin:0; width:100%; }
.megaMenu .sf-menu li li li a { border-bottom:0; font-weight:normal; padding:5px 10px; border-bottom:2px solid transparent; }
.megaMenu .sf-menu li li li a:hover, .megaMenu .sf-menu li li li a:focus { border-bottom:2px solid #0060a9; }

@media only screen and (min-width:48em){
	a.icon-menu { display:none; }
	.mainNav .sf-menu { display:table !important; overflow:visible; position:static; left:auto; width:69%; }
	
	.mainNav .sf-menu > li { display:table-cell; text-align:center; }
	.megaMenu .sf-menu > li > a { padding:19px 2px; line-height:1.1em; border-left:1px solid #316cc7;background:transparent; }
	
	.megaMenu .sf-menu li ul { position:static; background:transparent; }
	
	.nav .hasSub .show-menu { top:6px; padding:5px 2px 4px 3px; width:14px; height:10px; }
	.nav .hasSub .hasSub .show-menu { display:none; } 
	
	.megaMenu .sf-menu li .subNav { display:block; position:absolute; top:-999em; left:0; padding:2%; width:96%; overflow:auto; }
	.no-js .megaMenu .sf-menu li:hover .subNav, .no-js .megaMenu .sf-menu li.sfHover .subNav { top:54px; }
	
	.megaMenu .sf-menu li li { float:left; border:0; margin:0 1%; width:23%; }
	.mainNav .sf-menu li li a { padding:10px; }
	
	.megaMenu .sf-menu li ul ul { display:block !important; padding:0; }
}