/* -

	KIVA
	sm / CHDS, 2008

	toc
	---
	1 - universal
	2 - structure/layout
	3 - main navigation
	4 - anchors
	5 - typography
	6 - lists
	7 - images
	8 - forms
	x - temporary/testing

--------------------- */


/* 1 - universal
--------------------- */
body {
	font-size: 100%;
	font-family: "Lucida Grande", "Lucida Sans Unicode", sans-serif;
	text-align: center;
	background: #000 url("../images/background.png") no-repeat center top;
	margin: 0;
	}
.home body {
	}
#container {
	font-size: 62.5%;
	}
body, h1, h2, h3, ul, li, a, hr, div, img, table, form, fieldset {
	margin: 0; padding: 0;
	}
hr {
	visibility: hidden;
	clear: both;
	}
.hide { display: none; }
img#logo-print { display: none; }


/* 2 - structure/layout
--------------------- */


#container {
	margin: 0 auto;
	width: 798px;
	background: transparent;
	}

#header {
	margin: 35px 0 5px -5px; padding: 0;
	width: 798px; height: 83px;
	}
	#header #tagline { margin-top: 30px; float: right; }
	#header h1 {
		margin: 0; padding: 0;
		width: 156px;
		float: left;
		}
		#container #header h1 a {
			margin: 0; padding: 0;
			display: block;
			border: none;
			text-decoration: none;
			}

#masthead {
	margin: 0 0 20px 0; padding: 0;
	width: 581px; height: 219px;
	display: block;
	float: left;
	text-align: left;
	}
	#masthead div.article {
		margin: 0 auto; padding: 0;
		}

#content {
	margin: 20px auto 0 auto; padding: 0 0 30px 0;
	width: auto;
	background: transparent url("../images/page-bg.png") repeat-y center top;
	clear: both;
	z-index: 10;
	/* position: relative; required to position the #content h1 at the bottom of the page -- causes issues in IE 7 */
	}

#main_content {
	margin: 0; padding: 0 0 60px 0;
	width: 550px;
	float: left;
	text-align: left;
	}
	#main_content div.article {
		/*clear: both;*/
		padding-top: 20px;
		}


#sidebar {
	margin: 10px 0 10px 30px; padding: 0;
	width: 217px; height: auto;
	float: right;
	text-align: center;
	background: transparent url("../images/sidebar-bg.png") no-repeat center top;
	}
	#sidebar img.border {
		margin: 0; padding: 0;
		}
	#sidebar div.article {
		padding: 0px 20px 0 25px;
		clear: both;
		margin-bottom: 10px;
		text-align: left;
		}

#footer {
	margin: 0 auto 30px auto; padding: 0;
	width: 790px; height: 80px;
	background: transparent;
	clear: both;
	background: transparent url("../images/copyright.png") no-repeat bottom right;
	}
	#footer p {
		display: none;
		}


/* 2B - home page
--------------------- */

#features {
	margin: 0;
	padding: 0;
	width: 798px;
	display: block;
	}
#features div {
	display: block;
	width: 387px; height: 179px;
	float: left;
	position: relative;
	}
	#features div a {
		margin: 0; padding: 0;
		width: 387px; height: 179px;
		display: block;
		}
	#features div a img {
		position: absolute;
		bottom: 0; left: 0;
		}
#features #feature-1 {
	background: transparent url("../images/feature-1.jpg") no-repeat top left;
	}
#features #feature-2 {
	margin-left: 24px;
	background: transparent url("../images/feature-2.jpg") no-repeat top left;
	}
	#features #feature-1:hover { background: transparent url("../images/feature-1-hover.jpg") no-repeat top left; }
	#features #feature-2:hover { background: transparent url("../images/feature-2-hover.jpg") no-repeat top left; }


/* 3C - main navigation
--------------------- */

#nav {
	margin: 0; padding: 0;
	width: 160px;
	background: transparent;
	display: block;
	position: relative;
	float: right;
	background: transparent url("../images/nav-bg.png") no-repeat center top;
	z-index: 2;
	}

/* main nav on content pages */

#nav ul {
	margin: 5px 0 0 0; padding: 0;
	list-style-type: none;
	text-align: left;
	width: 150px;
	text-align: center;
	}
	#nav li {
		margin: 0; padding: 0;
		width: 150px; height: auto;
		display: block;
		text-align: left;
		height: auto;
		background: transparent;
		border: none;
		}
	#nav li:hover {
		background: transparent /*#f8f1e7*/;
		}
		#nav li a {
			margin: 0; padding: 2px 0 2px 0;
			display: block;
			text-align: left;
			width: auto;
			height: 20px;
	    	}


/* 3B - pop-out sub-menu
--------------------- */

#nav ul li ul,
#nav ul li ul li ul { display: none; }

#container div#nav li { display: block; position: relative; }
#container div#nav li a { display: block; }

#container div#nav ul li ul,
#container div#nav ul li ul li ul {
	padding: 5px 0 5px 0;
	border: none;
	background: #fff;
	width: 140px;
	border: 1px solid #ead7a4;
	}

#container div#nav ul li ul li,
#container div#nav ul li ul li ul li {
	margin: 0; padding: 10px 0 0 15px;
	width: 125px;
	float: left;
	height: auto;
	background: transparent;
	border: none;
	text-align: left;
	position: relative;
	}

#container div#nav ul li ul li a,
#container div#nav ul li ul li ul li a {
	margin: 0;	padding: 0;
	display: block;
	position: relative;
	width: 125px;
	text-align: left;
	}

	#container div#nav ul li ul li a:hover,
	#container div#nav ul li ul li ul li a:hover {  }
	#container div#nav ul li ul li span,
	#container div#nav ul li ul li ul li span {
		width: auto;
		background: none;
		}

#container div#nav ul ul,
#container div#nav ul ul ul,
#container div#nav ul ul ul ul {
	position: relative;
	z-index: 6000;
	}

#container div#nav ul li:hover ul ul,
#container div#nav ul ul li:hover ul ul,
#container div#nav ul ul ul li:hover ul ul { display: none; }

#container div#nav ul ul li:hover,
#container div#nav ul ul ul li:hover {
	background: transparent;
	border: none;
	}

#container div#nav ul li:hover ul {
	display: block;
	position: absolute;
	width: auto;
	top: -18px;
	left: 125px;
	z-index: 6000;
	}
#container div#nav ul ul li:hover ul {
	display: block;
	position: absolute;
	width: auto;
	top: -6px;
	left: 140px;
	z-index: 6000;
	}
#container div#nav ul ul ul li:hover ul {
	display: block;
	position: absolute;
	width: auto;
	top: 0;
	left: 140px;
	z-index: 6000;
	}

/* 3B - sub-menu indicator
--------------------- */


/* 4 - anchors
--------------------- */

#container a img { border: none; }
#container #sidebar a { border: none; }


#nav a:link { color: #6e818f; text-decoration: none; }
#nav a:visited { color: #6e818f; text-decoration: none; }
#nav a:hover { color: #fff; text-decoration: none; font-size: 1.5em}
#nav a:active { color: #6e818f; text-decoration: none; }

#nav ul ul a:link { color: #6e818f; text-decoration: none; }
#nav ul ul a:visited { color: #6e818f; text-decoration: none; }
#nav ul ul a:hover { color: #000; text-decoration: none; font-size: 1em}
#nav ul ul a:active { color: #6e818f; text-decoration: none; }

#nav #main ul ul a:link { color: #fff; text-decoration: underline; }
#nav #main ul ul a:visited { color: #fff; text-decoration: underline; }
#nav #main ul ul a:hover { color: #a1a5ac; text-decoration: underline; }
#nav #main ul ul a:active { color: #fff; text-decoration: underline; }

#content a:link { color: #fff; text-decoration: underline; }
#content a:visited { color: #fff; text-decoration: underline; }
#content a:hover { color: #a1a5ac; text-decoration: underline; }
#content a:active { color: #fff; text-decoration: underline; }


/* 5 - typography
--------------------- */

h1 {}
	#content h1 {
		margin: 0 auto; padding: 0;
		font-size: 12px;
		font-weight: lighter;
		text-transform: uppercase;
		color: #fff;
		line-height: 110%;
		letter-spacing: .2em;
		width: 798px; height: 20px;
		text-align: center;
		height: 30px;
		position: absolute;
		bottom: 0; left: 0;
		background: transparent url("../images/page-top.png") no-repeat top center;
		display: none;
		}
		#content h1 span { padding: 0 10px; }
		/* #content h1::before { content: url(../images/line-left.png); }
		#content h1::after 	{ content: url(../images/line-right.png); } */
h2 {}
	#main_content h2,
	#main_content .article h2 {
		margin: 0 0 15px 0; padding: 0;
		font-size: 12px;
		font-weight: lighter;
		text-transform: uppercase;
		color: #fff;
		line-height: 110%;
		letter-spacing: .2em;
		width: auto; height: auto;
		text-align: left;
		}
	/* with a white box
	#main_content h2,
	#main_content .article h2 {
		margin: 0 0 15px 0; padding: 10px 20px;
		font-size: 11px;
		font-weight: lighter;
		color: #000;
		line-height: 110%; letter-spacing: .2em;
		text-transform: uppercase;
		background: #fff;
		width: auto;
		display: inline;
		} */

	#sidebar .article h2 {
		margin: 20px 0 20px 0; padding: 0 0 0 0;
		width: auto;
		font-size: 11px;
		font-weight: normal;
		text-transform: uppercase;
		color: #fff;
		text-align: left;
		line-height: 110%;
		background: none;
		display: block;
		}

h3 {}

p {}
	#container p {
		margin: 15px 0 15px 0;
		font-size: 11px;
		color: #c0c4c3;
		line-height: 190%;
		font-weight: lighter;
		text-align: left;
		}
		#container .emphasis {
			color: #5e6471;
			letter-spacing: .07em;
			text-transform: uppercase;
			}
		#main_content p {
			padding-right: 25px;
			}
			#main_content h2 + p {
				margin-top: 30px;
				}
		#main_content {  /* fail-safe size & colour */
			font-size: 11px;
			color: #c0c4c3;
			}
	#sidebar p {
		margin: 0 0 15px 0; padding: 0;
		font-size: 11px;
		color: #c0c4c3;
		display: block;
		line-height: 140%;
		text-align: left;
		letter-spacing: 0;
		line-height: 180%;
		text-transform: none;
		}
		#sidebar h2 + p {
			margin-top: 15px;
			}

	#main_content p.more {
		margin: -15px auto 0 auto;
		font-size: 10px;
		color: #222;
		width: 93%;
		text-align: right;
		}

	strong {
		font-weight: lighter;
		color: #fff;
		}
	#content .sub_header {
		font-size: 14px;
		color: #1290c4;
		font-weight: lighter;
		}

	/* for nav */
	#nav li a {
		font-size: 10px;
		font-weight: lighter;
		text-transform: uppercase;
		letter-spacing: 0.2em;
		}
	#home_subnav #main li a {
		font-size: 14px;
		font-weight: lighter;
		text-transform: lowercase;
		font-variant: small-caps;
		}
	#sub_nav li a {
		font-size: 12px;
		font-weight: lighter;
		text-transform: lowercase;
		font-variant: small-caps;
		}

	/* for forms */
	#container form fieldset input,
	#container form fieldset select,
	#container form fieldset textarea {
		font-size: 11px;
		color: #000;
		line-height: 120%;
		font-family: "Lucida Grande", "Lucida Sans Unicode", sans-serif;
		}


/* 6 - lists
--------------------- */

#main_content .article ul {
	margin: 25px 50px 25px 0; padding: 0;
	font-size: 12px;
	color: #5e6471;
	}
	#main_content .article ul li {
		margin-left: 15px; padding: 0;
		margin-bottom: 4px;
		line-height: 120%;
		}

#sidebar .article ul {

	width: 100%;
	font-size: 11px;
	color: #5e6471;
	text-align: left;
	}
	#sidebar .article ul li {
		margin-left: 15px; padding: 0;
		margin-bottom: 6px;
		line-height: 120%;
		}


#main_content .article ol {
	margin: 25px 50px 25px 0; padding: 0;
	font-size: 12px;
	color: #5e6471;
	list-style-type: upper-roman;
	}
	#main_content .article ol li {
		margin-left: 15px; padding: 0;
		margin-bottom: 4px;
		line-height: 120%;
		}

#sidebar .article ol {
	margin: 0 0 15px 5px; padding: 0;
	width: 100%;
	font-size: 11px;
	color: #5e6471;
	text-align: left;
	list-style-type: upper-roman;
	}
	#sidebar .article ol li {
		margin-left: 15px; padding: 0;
		margin-bottom: 6px;
		line-height: 120%;
		}


/* 7 - images
--------------------- */

#main_content .article img.inline_right {
	float: right;
	margin: 5px 0 5px 15px;
	}
#main_content .article img.inline_left {
	float: left;
	margin: 5px 15px 5px 0;
	}
#main_content .article img.standalone_left {
	float: left;
	margin: 5px 0 15px 0;
	border: none;
	}
#main_content .article img.none {
	float: none; margin: 0;
	}
	/* removing margins for masthead image, no matter what the settings are */
	#container #masthead .article img.inline_right,
	#container #masthead .article img.inline_left { float: none; margin: 0; }



	/* default image settings */
	#content #sidebar_left img,
	#content #main_content img { }

	#main_content img { padding: 0; border: none; }


	/* captions */
	#container .caption {
		background: #ead7a4;
		display: block;
		}
	/* if caption is present, remove margins from the image and add it to the caption div */
	#container div.caption img.inline_right,
	#container div.caption img.inline_left,
	#container div.caption img.none {
		margin: 0 0 3px 0;
		padding-bottom: 0px;
		}
	#container .caption p {
		width: auto;
		padding: 10px;
		border: none;
		font-size: 9px;
		color: #888;
		}


/* 8A - forms - universal
--------------------- */
form {
	width: auto;
	margin: 15px auto; padding: 0;
	background: transparent;
	border: none;
	}
form fieldset {
	border: none;
	background: transparent;
	margin: 0; padding: 0;
	}
	form fieldset legend {
		display: none;
		}
		form fieldset input,
		form fieldset select,
		form fieldset textarea {
			border: 1px solid #000;
			}
		form fieldset input:hover,
		form fieldset select:hover,
		form fieldset textarea:hover {
			border: 1px solid #000;
			background: #ddd;
			}
		form fieldset input:focus,
		form fieldset select:focus,
		form fieldset textarea:focus {
			border: 1px solid #000;
			color: #ead7a4;
			background: #ddd;
			}


	#contact_form fieldset {						/* contact form */
		padding: 0;
		margin: 0;
		width: 94%; clear: both;
		}
	#contact_form fieldset input,
	#contact_form fieldset select {
		margin: 5px 0; padding: 2px 2px 0 5px;
		width: 220px; height: 15px;
		}
		#contact_form fieldset select#query { width: 230px; }
		#contact_form fieldset select { height: 20px; border: none; }
		form fieldset select option { border: none; background: #fff; }
		#contact_form fieldset input.button {
			margin: 0;
			width: auto; height: auto;
			border: none;
			background: transparent;
			}
		#contact_form fieldset textarea {
			margin: 4px 0; padding: 3px;
			width: 320px;
			height: 100px;
			clear: both;
			}

		#contact_form fieldset ol {
			margin: 0;
			padding: 0;
			list-style-type: none;
			}
			#contact_form fieldset ol li {
				margin: 0;
				padding: 4px 10px;
				display: block;
				clear: both;
				}
			#contact_form fieldset ol li label {	/* main labels styling */
				display: block;
				float: left;
				width: 100px;
				margin: 5px 0 0 0;
				padding: 5px 0 0 0;
				clear: both;
				font-size: 11px;
				color: #fff;
				}


/* 8B - submit / highlighting / errors
--------------------- */

form input.submit {							/* submit button */
	margin: 5px 100px 0 10px; padding: 5px 10px 5px 10px;
	height: auto;
	color: #000;
	text-transform: uppercase; font-size: 11px;
	background: #fff;
	}

	form input.submit:hover {
		background: #ddd;
		color: #222;
		}
	form input.submit:focus {
		background: #111;
		color: #fff;
		}
	form#contact_form hr {
		clear: both;
		height: 0;
		visibility: hidden;
		}

form#contact_form fieldset ol li label em {		/* emphasis denoting required fields */
	color: #4a5481;
	}
form#contact_form fieldset ol li.error {		/* emphasis of li if required field was left blank */
	color: #c98c00;
	}
	form#contact_form fieldset ol li.error input,
	form#contact_form fieldset ol li.error select,
	form#contact_form fieldset ol li.error textarea {
		color: #c98c00;
		}
