@charset "utf-8";

/* =Reset
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
html {
	font-size: 62.5%; /* Corrects text resizing oddly in IE6/7 when body font-size is set using em units http://clagnut.com/blog/348/#c790 */
	overflow-y: scroll; /* Keeps page centred in all browsers regardless of content height */
	-webkit-text-size-adjust: 100%; /* Prevents iOS text size adjust after orientation change, without disabling user zoom */
	-ms-text-size-adjust: 100%; /* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */
}
body {
	background: #fff;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
	display: block;
}
ol, ul {
	list-style: none;
}
table { /* tables still need 'cellspacing="0"' in the markup */
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
a:focus {
	outline: thin dotted;
}
a:hover,
a:active { /* Improves readability when focused and also mouse hovered in all browsers people.opera.com/patrickl/experiments/keyboard/test */
	outline: 0;
}
a img {
	border: 0;
}

/* FONT */
body {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 16px;
	line-height: 1.4;
	font-family: Helvetica, Arial, sans-serif;
	background-color: #FFF;
	color: #303030;
}

/* ELEMENT POSITIONING */
#container {
	position:relative;
	width:51.25em;
	background:#FFF;
	margin:0 auto;
}
#mastHead {
	position:relative;
	margin-bottom:0.0625em;
}
#menuContainer {
	margin:0.0625em 0;
	position:relative;
	z-index:2;
}
#menuContainer nav {
	display:block;	
}
#contentContainer {
	width:100%;
	position:relative;
	top:0;
	left:0;
	margin-top:0.0625em;
}
#content {
	width:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:1;
}
#canvasContainer {
	position:absolute;
	width:51.25em;
	height:40em;
	top:0;
	left:0;
	z-index:0;
}

/* TOP BANNER */
#mastHead { background-color:#12516B; height:0.5em; }
#mastHead .left { position:absolute; float: left; width:11.25em; height:100%; border-right-style:solid; border-width:0.0625em; border-color:#FFF; }
#mastHead .right { position:absolute; width:100%; height:100%; }

/* NAV MENU STUFF */

/* drop-down menu mechanics */  
nav .hidden {
	display:none !important;
}
nav .active {
	display:block !important;	
}
nav li { position:relative; float:left; list-style-type:none; } 
/* Begin absurd clearfix hack */
nav .categoryList:before,
nav .categoryList:after {
  content: ".";    
  display: block;    
  height: 0;    
  overflow: hidden;	
}
nav .categoryList:after {clear: both;}
nav .categoryList {zoom: 1;} /* IE 5.5/6/7 */
/* End absurd clearfix hack */ 

/* drop-down menu appearance */
nav { cursor:default; background-color:#1A749C; width:100%; } /* color to the right of nav items */
nav a, nav a:visited { cursor:pointer; background-color:inherit; color:#FFF; text-decoration:none; }
nav .category {
	background-color:#1E86B3;
	border-right-style:solid;
	border-width:0.0625em;
	border-color:#FFF;
	display:block;
}
nav .category:hover { background-color:#12516B; } /* category color on hover */
nav .category.no-js:hover { background-color:#1E86B3; }
nav .category.selected { background-color:#4BA9D9; } /* category color on selected */
nav .category.selected:hover { background-color:#12516B; } /* category color on selected/hover */
nav .category .categoryText {
	font-size:1.125em;
	font-weight:500;
	background-color:inherit;
	color:#FFF;
	text-transform:lowercase;
	padding:0 3.5em 0.1em 0.25em;
}
nav #homeNavItem { width:11.25em; }
nav #homeNavItem:hover { background-color:#156180; }
nav #homeNavItem.selected { background-color:#12516B; }
nav #homeNavItem.selected:hover { background-color:#156180; }
nav #homeNavItem.selected.no-js:hover { background-color:#12516B; }
nav #homeNavItem .categoryText { padding-right:0; }
nav .projectList { display:none; width:12em; position:absolute; left:-0.0625em; background-color:#176A8C; border-style:solid; border-color:#FFF; border-width:0.0625em; }  
nav .projectList li { width:100%; }
nav .projectList .subcategory { border-bottom:0.0625em solid #4D7D90; border-top:0.0625em solid #4D7D90; }
nav .projectList .subcategory.first { border-top-style:none; }
nav .projectList .subcategory .subcategoryText {
	text-transform:lowercase;
	padding-left:0.4375em;
	color:#FFF;
	background-color:#12516B;
	font-weight:500;
	font-size:0.6875em;
} 
nav .projectList .project a { padding:0.2em 0 0.2em 0.8em; display:block; background-color:inherit; }
nav .projectList .project.even a { background-color:#176A8C; }
nav .projectList .project.odd a { background-color:#156180; }
nav .projectList .project:hover a { background-color:#24AFEB; }
nav .projectList .project a .projectText { font-size:0.8125em; }
/* nav .projectList .project.selected a .projectText { background-color:#5DC4F0; } */

/* BODY STUFF */
#content a {
	text-decoration:underline;
	color:#303030;
}
#content a:visited {
	color:#000000;	
}
#content .contentHeader { color:#FFF; background-color:#5DBAF0; }
#content .contentHeader .title {
	display:block;
	margin:0;
	padding:0 0.025em 0 0.025em;
	font-size:2.8em;
	font-weight:500;
	line-height:1.05em;
}
#content .contentHeader .subtitle {
	margin:0;
	padding:0.1em 0.3em 0.3em 0.3em;
	line-height:1.05em;
	font-size:0.8125em;
	font-weight:600;
}
#content .descriptions {
	margin:0.1em 0.2em 0 0;
	font-size:0.8125em;
}
#content .descriptions p {
	margin-bottom:1.2em;
}
#content .contentGallery .images {
	float:left;
	width: 11.25em;
	padding:0;
	margin:0;
}
#content .contentGallery .images img {
	display:block; /* Remove pesky space under images */
	padding:0;
	text-decoration:none;
	font-size:0.625em;
	background-color:#CCC;
	margin:0 0 0.1em 0;
	width:100%;
	height:auto;
}
#content .contentGallery .contentDescription {
	position:absolute;
	width:39.9375em;
	left:11.3125em;
}
#content .contentGallery .descriptions {
	margin-left:0.2em;
}
#content .campusLink {
	cursor:pointer;
	position:relative;
	float:right;
	right:0.5em;
	font-size:0.9em;
	margin-bottom:1em;
}
#content .campusLink a, #content .campusLink a:visited {
	text-decoration:none;
	border-radius:0.385em;
	background-color:#699AB0;
	display:block;
	float:left;
	padding:0.5em;
	text-transform:lowercase;
	font-weight:600;
	color:#FFF;
}
#content .campusLink a:hover {
	background-color:#5DBAF0;
}

#content .flashErrorImage {
	position:absolute;
	z-index:-1;
	top:6em;
	left:0;
}

/* LOADING GRAPHIC POSITION */
#loadingGraphic {
	position:absolute;
	left:24.625em;
	top:19.5em;
	display:none;
}
#loadingGraphic.active {
	display:block;
}

/* FLASH */
#flash {
	outline: 0; /* Remove pesky dotted outline on flash content */
}

/* SILLY HACK TO MAKE MOBILE DEVICE VIEWING LESS BAD */
#content .descriptions,
#content .contentHeader {
	-webkit-text-size-adjust: 200%;
	-ms-text-size-adjust: 200%;
}