﻿/*======================================================================
	HANES: Layout
----------------------------------------------------------------------*/
body
{
	background: #fff url(../images/layout/bg_body.png) 0 0 repeat-x;
}

/*======================================================================
	STRUCTURE
----------------------------------------------------------------------*/
#main-container
{
	position: relative;
	margin: 3px auto 4em;
	padding-bottom: 7px;
	width: 974px;
	background: transparent url(../images/layout/sprite_shadows-main.png) left bottom no-repeat;
}

	#wrap-out
	{
		padding-top: 7px;
		background: transparent url(../images/layout/sprite_shadows-main.png) left top no-repeat;
	}

		#wrap-in
		{
			padding: 0 7px;
			background: transparent url(../images/layout/sprite_shadows-main.png) -974px 0 repeat-y;
		}
		
			#main
			{
				background-color: #fff;
			}

	.with-side-container #wrap-in
	{}

#body-container
{}

#side-container 
{
	_display: inline;
	margin: 0 7px 0 14px;
	padding-top: 14px;
	width: 223px;
	min-height: 325px;
	_height: 325px;
	float: left;
	background: #fff url(../images/layout/bg_side-container.png) left top repeat-x;
}

	#side-container p
	{
		text-align: center;
	}

#content-container
{
	padding: 0 11px 20px 14px;
	width: 935px;
}

	.with-side-container #content-container
	{
		margin: 0;
		padding: 0 0 2em;
		width: 705px;
		float: left;
	}
	
	#content
	{
		padding: 12px;
		min-height: 155px;
		_height: 155px;
		background: #fff url(../images/layout/bg_gradient_vert_slate-white.jpg) 0 0 repeat-x;
	}

/*======================================================================
	HEADER
----------------------------------------------------------------------*/
#header
{
	border-bottom: 20px solid #612e5e;
}

	/*---------------------------------
		LOGO
	---------------------------------*/
	#logo
	{}

		#logo a
		{
			display: block;
			padding: 10px 10px 17px 40px;
			float: left;
		}
	
	/*---------------------------------
		UTILITY NAV
	---------------------------------*/
	#utility-nav
	{
		margin: 3px 3px 14px 0;
		padding-left: 10px;
		width: 508px;
		float: right;
		list-style: none;
		background: transparent url(../images/layout/bg_utility-nav.png) 0 0 repeat-y;
	}
	
		#utility-nav li
		{
			margin: 5px 0;
			padding: 0 9px 0 0;
			float: right;
		}
			
			#utility-nav li a
			{
				padding: 10px 8px;
			}
	
	/*---------------------------------
		SEARCH
	---------------------------------*/
	#search-container
	{
		_display: inline; /* fix double margins in IE6 */
		margin: 0 10px 14px 0;
		width: 26.333em;
		clear: right;
		float: right;
		overflow: visible;
	}

		#search-container label
		{
			padding: 4px 5px 0 0;
			float: left;
			font-size: 1.167em;
			font-weight: normal;
			color: #612e5e;
			overflow: visible;
		}
	
		#search-container input.input-text
		{
			margin-right: 4px;
			width: 15em;
			float: left;
			overflow: visible;
		}
		
		html > body #search-container .button
		{
			width: 2.357em;
			text-align: left;
		}
		
		html > body #search-container .button span
		{
			padding-left: 8px;
		}
		
			html > body #search-container .button i.icon
			{
				display: block;
				position: absolute;
				right: 0;
				top: 4px;
				width: 5px;
				height: 8px;
				background: transparent url(../images/layout/icon_arrow-right-white.png) 0 0 no-repeat;
				z-index: 1001;
			}
	
		/* TODO: remove .NET validator junk */
		#search-container span#ctl00_ctl00_ctl00_BodyContent_rfvSearch
		{
			display: none;
		}
		
/*======================================================================
	NAVIGATION
----------------------------------------------------------------------*/
/*---------------------------------
	ACCESSIBILITY NAVIGATION
---------------------------------*/
#accessibility-nav
{
	position: absolute;
	left: -9999px;
	top: -9999px;	
}

/*---------------------------------
	PRIMARY NAVIGATION
---------------------------------*/
#primary-nav
{
	margin-bottom: 1px;
	clear: both;
	background-color: #c5cdd9;
}

	#primary-nav ul
	{
		margin: 0;
		float: right;
		list-style: none;
	}

		#primary-nav ul li
		{
			position: relative;
			margin: 0;
			float: left;
			z-index: 5000;
		}
	
			#primary-nav ul li a
			{	
				display: block;
				padding: 14px 12px 10px 14px;
				font-size: 1.25em;
				font-weight: bold;
				text-transform: uppercase;
				text-decoration: none;
				border-left: 1px solid #fff;
			}
			
				#primary-nav ul li a.current,
				#primary-nav ul li a.current-ancestor,
				#primary-nav ul li a:hover,
				#primary-nav ul li a.hover
				{
					color: #752f71;
					background-color: #e5eaf1;
				}
			
				#primary-nav ul li a span
				{
					padding-right: 12px;
					background: transparent url(../images/layout/icon_arrow-down.png) right center no-repeat;
					_cursor: pointer; /* fix for IE6 PNG fix hover state loss */
				}
			
			#primary-nav ul li ul
			{
				display: none;
				position: absolute;
				left: 0;
				top: 42px;
				padding: 8px 8px 10px;
				width: 218px;
				background: #c5cdd9 url(../images/layout/bg_gradient_vert_light-slate-dark-slate.jpg) 0 0 repeat-x;
				z-index: 5000;
			}
			
				#primary-nav ul li ul li
				{
					position: static;
					padding: 0 8px;
					float: none;
					background-color: #fff;
				}
				
					#primary-nav ul li ul li.first
					{
						padding-top: 6px;
					}
					
					#primary-nav ul li ul li.last
					{
						padding-bottom: 12px;
					}
				
					#primary-nav ul li ul li a,
					#primary-nav ul li ul li a.current,
					#primary-nav ul li ul li a.current-ancestor
					{
						padding: 0;
						font-size: 1em;
						text-transform: none;
						border: none;
						border-bottom: 1px solid #cfcfcf;
					}
					
						#primary-nav ul li ul li a:hover
						{
							color: #e95e64;
							background: none;
						}
						
						#primary-nav ul li ul li a.current,
						#primary-nav ul li ul li a.current-ancestor,
						#primary-nav ul li ul li a:hover.current,
						#primary-nav ul li ul li a:hover.current-ancestor
						{
							color: #263040;
							background-color: #e5eaf1;
						}
					
						#primary-nav ul li ul li a span
						{
							display: block;
							padding: 3px 4px;
							background: none;
							border-top: 1px solid #fff;
							border-bottom: 1px solid #fff;
						}

/*---------------------------------
	BREADCRUMB NAVIGATION
---------------------------------*/
#breadcrumb-container
{
	margin: 12px 0 10px;
	padding-left: 30px;
}
	#breadcrumb-container ul,
	#breadcrumb-container ul li
	{  
		margin: 0;
		padding: 0;
		display: inline;
	}
	
		#breadcrumb-container ul li a,
		#breadcrumb-container ul li a:visited,
		#breadcrumb-container ul li span
		{
			margin-right: 7px;
			padding: 6px 14px 6px 4px;
			font-size: 0.917em;
			background: transparent url(../images/layout/icon_arrow-right.png) right center no-repeat;
		}

			#breadcrumb-container ul li.current a,
			#breadcrumb-container ul li.current a:visited,
			#breadcrumb-container ul li.current span
			{
				font-weight: bold;
				font-style: italic;
				color: #263040;
				background: none;
				_zoom: 1;
			}
			
/*---------------------------------
	WIDGET NAVIGATION
---------------------------------*/
.widget-navigation
{
	margin-bottom: 2em;
}

	.widget-navigation h2
	{
		margin: 0;
		padding: 0 10px 0 16px;
		font-size: 1.333em;
		color: #612e5e;
	}
	
	.widget-navigation .widget-body
	{
		margin-left: 4px;
		padding-top: 6px;
		width: 215px;
		background: transparent url(../images/layout/sprite_shadows-side-container.png) left top no-repeat;
	}
	.widget-navigation .body-out { padding-bottom: 6px; background: transparent url(../images/layout/sprite_shadows-side-container.png) left bottom no-repeat; }
	.widget-navigation .body-in { padding: 0 6px; background: transparent url(../images/layout/sprite_shadows-side-container.png) -215px top repeat-y; }
	
	.widget-navigation-empty .widget-body,
	.widget-navigation-empty .body-out,
	.widget-navigation-empty .body-in
	{
		background: none;
	}
	
	.widget-navigation ul
	{
		margin: 0;
		padding: 3px 8px 1.25em 11px;
		_height: 1%;
		list-style: none;
		background-color: #fff;
	}
	
		.widget-navigation ul li
		{
			margin: 0;
			padding: 0;
			_zoom: 1;
		}
		
			.widget-navigation ul li ul
			{
				display: none;
				padding: 0 0 0 17px;
			}
			
				.widget-navigation ul li.current ul,
				.widget-navigation ul li.current-ancestor ul { display: block; }
				.widget-navigation ul li.current ul li ul,
				.widget-navigation ul li.current-ancestor ul li ul { display: none; }
				.widget-navigation ul li ul li ul { display: none; padding-left: 22px; }
				.widget-navigation ul li ul li.current ul,
				.widget-navigation ul li ul li.current-ancestor ul { display: block; }

			.widget-navigation ul li a
			{
				display: block;
				text-decoration: none;
				border-bottom: 1px solid #cfcfcf;
			}
				
				.widget-navigation ul li a span
				{
					display: block;
					padding: 3px 4px;
					border-top: 1px solid #fff;
					border-bottom: 1px solid #fff;
				}

				.widget-navigation ul li a.current,
				.widget-navigation ul li a.current-ancestor
				{
					font-weight: bold;
					color: #263040;
					background-color: #ede7ed;
				}
				
					.widget-navigation ul li ul li a.current,
					.widget-navigation ul li ul li a.current-ancestor
					{
						padding-left: 6px;
						font-style: italic;
						background: transparent url(../images/layout/icon_arrow-right-dark.png) 2px 7px no-repeat;;
					}

/*======================================================================
	FOOTER
----------------------------------------------------------------------*/
#footer
{
	text-align: center;
	clear: both;
	border-top: 1px solid #cfcfcf;
}

	#footer ul
	{
		margin: 0;
		padding: 22px 10px 18px;
		list-style: none;
		border-bottom: 1px solid #cfcfcf;
	}
		
		#footer ul li
		{
			display: inline;
		}
		
			#footer ul li a
			{
				padding: 0 12px;
				line-height: 0.5;
				color: #645464;
				border-left: 1px solid #d5d5d5;
			}
			
			#footer ul li.first a
			{
				border: none;
			}

	#footer p
	{
		padding: 22px 10px 18px;
		font-size: 0.917em;
		color: #555;
	}

/*======================================================================
	LAYOUT: Homepage
----------------------------------------------------------------------*/
.l-homepage
{}

	.l-homepage #content-container
	{
		padding: 0;
		width: 960px;
	}

/*======================================================================
	LAYOUT: No Side Navigation
----------------------------------------------------------------------*/
.l-nosidenavigation
{}

/*======================================================================
	LAYOUT: Popup
----------------------------------------------------------------------*/
.l-popup
{}

/*======================================================================
	LAYOUT: Side Navigation
----------------------------------------------------------------------*/
.l-sidenavigation
{}

	.l-sidenavigation .c-content-twocolumn .col-1,
	.l-sidenavigation .c-content-twocolumncallout .col-1
	{
		padding-right: 12px;
		float: left;
		width: 484px;
		border-right: 1px solid #cfcfcf;
	}
	
	.l-sidenavigation .c-content-twocolumn .col-2,
	.l-sidenavigation .c-content-twocolumncallout .col-2
	{
		position: relative;
		margin-left: -1px;
		padding-left: 12px;
		float: left;
		width: 172px;
		border-left: 1px solid #cfcfcf;
	}
