/*
	Website		Rio Grande BPSI
	Author		Impulse Development
	Date		January 2009
=============================================== */

/* =GENERAL
----------------------------------------------- */

/* GENERAL: =Reset */

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { 
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset, img {
	border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
	font-style: normal;
	font-weight: normal;
}

ol, ul {
	list-style: none;
}

caption, th {
	text-align: left;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}

q:before, q:after {
	content: '';
}

abbr, acronym {
	border: 0;
}

button::-moz-focus-inner{
	padding:0;
	border:none
}

/* =TYPOGRAPHY
----------------------------------------------- */

/* TYPOGRAPHY: =Basics */

body {
	font-size: 62.5%;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	font-family: Arial, Helvetica, sans-serif;
}

/* TYPOGRAPHY: =Headings */

h1 {
	color: #153f59;
	font-size: 2.8em;
	font-weight: bold;
	line-height: 1em;
	margin-bottom: 1em;
}

h2 {
	color: #153f59;
	font-size: 1.6em;
	font-weight: bold;
	line-height: 1em;
	margin-bottom: 1em;
}

h3 {
	color: #153f59;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1em;
	margin-bottom: 1em;
}

/* TYPOGRAPHY: =Paragraphs */

p {
	color: #444444;
	font-size: 1.2em;
	line-height: 1.4em;
	margin-bottom: 1em;
}

/* TYPOGRAPHY: =Lists */

ul {
	list-style: disc outside;
	margin-bottom: 1.6em;
	padding-left: 16px;
}

.manufacturers ul {
	margin-bottom: 0;
}

	ul li {
		color: #444444;
		font-size: 1.2em;
		line-height: 1.2em;
		margin-bottom: 0.5em;
		margin-left: 1.0em;
	}
	
ol {
	list-style: decimal outside;
	padding-left: 16px;
}

	ol li {
		color: #444444;
		font-size: 1.2em;
		line-height: 1.2em;
		list-style: decimal;
		margin-bottom: 1em;
	}
	
dl {
	margin-bottom: 1em;
}

	dl dt {
		color: #153f59;
		font-size: 1.4em;
		font-weight: bold;
		line-height: 1.2em;
	}
	
	dl dd {
		color: #444444;
		font-size: 1.2em;
		line-height: 1.2em;
		margin-bottom: 1em;
	}
	
/* TYPOGRAPHY: =Forms */

form label,
form .label {
	color: #444444;
	font-size: 1.2em;
	line-height: 1.2em;
}

form legend {
	color: #444444;
	font-size: 1.6em;
	line-height: 1.6em;
	margin-bottom: 1em;
}

form input,
form textarea {
	color: #444444;
	font-size: 1.2em;
	line-height: 1.2em;
}

form button {
	outline: 0;
}
	
/* TYPOGRAPHY: =Links */

a {
	color: #153f59;
	text-decoration: underline;
}

a:hover {
	color: #000;
	text-decoration: underline;
}

/* TYPOGRAPHY: =Variants */

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

/* =STRUCTURE
----------------------------------------------- */

/* STRUCTURE: =Background */

html {
	background: url(../images/bg-html.gif) repeat-x top #ffffff;
}

body {
	background: url(../images/bg-body.gif) repeat-x bottom;
}

/* STRUCTURE: =Layout */

.container {
	margin: 0 auto;
	width: 956px;
}

#pageHeader {
	float: left;
	padding-top: 85px;
	position: relative;
	width: 100%;
}

#pageBody {
	background: url(../images/bg-sidebar.gif) repeat-y right top;
	display: inline;
	float: left;
	margin: 13px 0 14px 0;
	position: relative;
	width: 956px;
}

	#pageBody .content {
		display: inline;
		float: left;
		width: 696px;
	}
		
	#pageBody .sidebar {
		float: right;
		padding: 10px 14px 0 14px;
		width: 208px;
	}

#pageFooter {
	clear: both;
	height: 32px;
	position: relative;
	width: 100%;
}

/* =HEADER
----------------------------------------------- */

/* HEADER: =Logo */

#headerTitle {
	background: #77b1a5;
	border-left: 1px solid #ffffff;
	left: 0;
	position: absolute;
	top: 18px;
	width: 282px;
}

	#headerTitle p {
		margin: 0;
	}

	#headerTitle a {
		background: url(../images/logo-main.gif) no-repeat;
		display: block;
		height: 67px;
		overflow: hidden;
		text-indent: -5000px;
		width: 271px;
	}
	
/* HEADER: =Banner Images */

#headerBanner {
	background: url(../images/hr-dotted_gray.gif) repeat-x bottom left;
	padding: 13px 0;
	width: 100%;
}

/* HEADER: =Navigation */

#headerNavigation {
	border-right: 1px solid #ffffff;
	height: 67px;
	list-style: none;
	padding: 0;
	position: absolute;
	right: 0;
	top: 18px;
}

	#headerNavigation li {
		border-left: 1px solid #ffffff;
		float: left;
		height: 67px;
		margin: 0;
	}
	
		#headerNavigation li a {
			display: block;
			height: 67px;
			overflow: hidden;
			text-indent: -5000px;
		}
		
		#headerNavigation li.about a {
			background: url(../images/nav-about.gif) no-repeat;
			width: 77px;
		}
		
		#headerNavigation li.products a {
			background: url(../images/nav-products.gif) no-repeat;
			width: 102px;
		}
		
		#headerNavigation li.government a {
			background: url(../images/nav-government.gif) no-repeat;
			width: 125px;
		}
		
		#headerNavigation li.healthcare a {
			background: url(../images/nav-healthcare.gif) no-repeat;
			width: 119px;
		}
		
		#headerNavigation li.manufacturers a {
			background: url(../images/nav-manufacturers.gif) no-repeat;
			width: 149px;
		}
		
		#headerNavigation li.awards a {
			background: url(../images/nav-awards.gif) no-repeat;
			width: 88px;
		}
		
		#headerNavigation li.contact a {
			background: url(../images/nav-contact.gif) no-repeat;
			width: 94px;
		}
		
	#headerNavigation li a:hover, #headerNavigation li a.current {
		background-position: 0 -67px;
	}

/* =CONTENT
----------------------------------------------- */

/* CONTENT: =Text Replacement */

.replaced {
	overflow: hidden;
	text-indent: -5000px;
	width: 100%;
}

/* CONTENT: =H1 Headings */

h1.replaced {
	height: 40px;
	margin-bottom: 0.5em;
	width: 100%;
}
	
	.home#index h1 {
		background: url(../images/h1-welcome_to_rio_grande_bpsi.gif) no-repeat;
	}
	
	.home#page_not_found h1 {
		background: url(../images/h1-page_not_found.gif) no-repeat;
	}
	
	.about h1 {
		background: url(../images/h1-about.gif) no-repeat;
	}
	
	.products h1 {
		background: url(../images/h1-products.gif) no-repeat;
	}
	
	.government h1 {
		background: url(../images/h1-government.gif) no-repeat;
	}
	
	.healthcare h1 {
		background: url(../images/h1-healthcare.gif) no-repeat;
	}
	
	.manufacturers h1 {
		background: url(../images/h1-manufacturers.gif) no-repeat;
	}
	
	.awards h1 {
		background: url(../images/h1-awards.gif) no-repeat;
	}
	
	.contact h1 {
		background: url(../images/h1-contact.gif) no-repeat;
	}
	
/* CONTENT: =H2 Headings */

h2.replaced {
	height: 22px;
	width: 100%;
}

	#h2-featured_products {
		background: url(../images/h2-featured_products.gif) no-repeat;
	}

/* CONTENT: =Alignment */

.floatLeft {
	display: inline;
	float: left;
	margin: 0 1em 1em 0;
}

.floatRight {
	display: inline;
	float: right;
	margin: 0 0 1em 1em;
}

/* CONTENT: =Images */

.image,
.thumb {
	margin-bottom: 1em;
	text-align: center;
}

.image a,
.thumb a {
	display: block;
	height: 100%;
	width: 100%;
}

.image img,
.thumb img {
	border: 1px solid #d4d4d4;
	padding: 3px;
}

.image p,
.thumb p {
	font-weight: bold;
	margin: 0.5em 0 0 0;
}

/* CONTENT: =Galleries */

.gallery {
	float: left;
	margin-bottom: 1.5em;
	width: 100%;
}

	.gallery .image {
		float: left;
		margin: 0 12px 1em 0px;
		width: 102px;
	}
	
	.gallery p {
		font-size: 11px;
	}

/* CONTENT: =Info List */	

.infoList {
	float: left;
	margin-bottom: 1.5em;
	width: 100%;
}

	.infoList .item {
		float: left;
		margin: 0 0 1em 0;
		width: 33.3%;
	}

		.infoList .item h2 {
			font-size: 1.5em;
			margin-bottom: 0.5em;
		}

			.infoList .item h2 a {
				text-decoration: none;
			}

		.infoList .item h3 {
			color: #42776c;
			font-size: 1.2em;
		}
	
/* CONTENT: =Staff Gallery */

.staffGallery {
	float: left;
	margin-bottom: 1.5em;
	width: 100%;
}

	.staffGallery .image {
		float: left;
		/*height: 180px;*/
		margin: 0 0 1em 0;
		width: 33.3%;
	}
	
		.staffGallery .image img {
			margin-bottom: 1em;
		}
	
		.staffGallery .image h2 {
			font-size: 1.5em;
			margin-bottom: 0.5em;
		}
		
			.staffGallery .image h2 a {
				text-decoration: none;
			}
	
		.staffGallery .image h3 {
			color: #42776c;
			font-size: 1.2em;
		}
	
/* CONTENT: =Slideshows */

.slideshow {
	float: left;
	margin-right: 1em;
	width: 366px;
}

	.slideshow .slides {
		float: left;
		margin-bottom: 1em;
		width: 100%;
	}

		.slideshow .slides .image {
			float: left;
			margin: 0 4px;
			width: 55px;
		}
		
/* CONTENT: =Descriptions */

.description {
	padding-left: 378px;
}
		
/* CONTENT: =Pagination */

.pagination {
	float: left;
	height: 15px;
	list-style: none;
	margin-bottom: 1.5em;
	padding: 0;
	width: 100%;
}

	.pagination li {
		margin: 0;
		padding: 0;
	}

		.pagination li a {
			display: block;
			height: 15px;
			overflow: hidden;
			text-indent: -5000px;
		}
		
	.pagination li.previous {
		float: left;
	}
		
		.pagination li.previous a {
			background: url(../images/txt-previous.gif) no-repeat center;
			width: 71px;
		}
		
	.pagination li.all {
		left: 274px;
		position: absolute;
	}
		
		.pagination li.all a {
			background: url(../images/txt-view_all_products.gif) no-repeat center;
			width: 149px;
		}
	
	.pagination li.next {
		float: right;
	}
		
		.pagination li.next a {
			background: url(../images/txt-next.gif) no-repeat center;
			width: 45px;
		}
		
/* CONTENT: Items */

.item {
	float: left;
	width: 100%;
}

	.item h2 {
		margin-bottom: 0.5em;
	}
	
	.item h3 {
		color: #42776c;
		font-size: 1.2em;
	}
	
/* CONTENT: =Callouts */

.callout {
	background: #eeeeee;
	border-left: 1px solid #cccccc;
	border-right: 1px solid #cccccc;
	float: right;
	margin: 0 0 1em 1em;
	padding: 0 14px;
	width: 249px;
}

	.callout .top {
		background: url(../images/cnr-callout_top.gif) no-repeat;
		height: 14px;
		margin-left: -15px;
		width: 279px;
	}
	
	.callout .bottom {
		background: url(../images/cnr-callout_bottom.gif) no-repeat;
		height: 14px;
		margin-left: -15px;
		margin-top: -14px;
		width: 279px;
	}
	
/* CONTENT: =Callout Headings */

#callout-herman_miller h2 {
	background: url(../images/logo-herman_miller.gif) no-repeat;
	border-bottom: 1px solid #cccccc;
	height: 89px;
	overflow: hidden;
	padding-bottom: 14px;
	text-indent: -5000px;
	width: 100%;
}

#callout-herman_miller h3 {
	display: none;
}
	
/* CONTENT: =Vcard */

.vcard {
	margin-bottom: 2em;
	text-align: center;
}

	.vcard h3 {
		margin-bottom: 0.5em;
	}

	.vcard .street-address {
		display: block;
	}

	.vcard .type {
		font-weight: bold;
	}
	
	.vcard .tel {
		margin-bottom: 0;
	}
	
/* CONTENT: ="More" Links */

.more {
	text-align: right;
}

	.more p {
		font-size: 1.1em;
		font-weight: bold;
		text-transform: lowercase;
	}
	
	.more a {
		text-decoration: none;
	}
	
	.more a:hover {
		text-decoration: underline;
	}
	
/* CONTENT: =Horizontal Rules */

.hr {
	background: url(../images/hr-dotted_gray.gif) repeat-x left;
	clear: both;
	height: 1px;
	margin: 1.5em 0;
	width: 100%;
}

	.hr hr {
		display: none;
	}

/* =SIDEBAR
----------------------------------------------- */

/* SIDEBAR: =Sections */

#bodySidebar .section {
	margin-bottom: 14px;
}

	#bodySidebar .section p {
		color: #153f59;
	}
	
	#bodySidebar .section a {
		font-weight: bold;
	}

/* SIDEBAR: =Headings */

#bodySidebar h2 {
	border-bottom: 1px solid #cccccc;
	height: 36px;
	overflow: hidden;
	text-indent: -5000px;
	width: 100%;
}

	#sidebar-did_you_know h2 {
		background: url(../images/txt-did_you_know.png) no-repeat;
	}
	
	#sidebar-contact_bpsi h2 {
		background: url(../images/txt-contact_bpsi.png) no-repeat;
	}
	
	#sidebar-contact_bpsi h2.rgcf {
		background: url(../images/txt-contact_rgcf.png) no-repeat;
		height: 54px;
	}
	
/* SIDEBAR: =Vcard */

#bodySidebar .vcard h3 {
	color: #555555;
	font-size: 1.2em;
	line-height: 1.4em;
	margin-bottom: 0;
}

#bodySidebar .vcard p {
	color: #555555;
}


/* =FOOTER
----------------------------------------------- */

/* FOOTER: =Typography */

#pageFooter p {
	color: #ffffff;
	font-size: 1.1em;
	line-height: 32px;
	margin-bottom: 0;
}

/* FOOTER: =Copyright */

#pageFooter .copyright {
	left: 0;
	position: absolute;
	top: 0;
}

/* FOOTER: =Developer */

#pageFooter .developer {
	position: absolute;
	right: 0;
	top: 0;
}

	#pageFooter .developer p {
		background: url(../images/logo-impulse_development.gif) no-repeat right;
		padding-right: 26px;
	}
	
		#pageFooter .developer p a {
			color: #ffffff;
			font-weight: bold;
		}
		
/* =FORMS
----------------------------------------------- */

/* FORMS: =Basic */

form {
	clear: both;
	display: inline;
	float: left;
	margin-bottom: 1em;
	width: 100%;
}

/* FORMS: =Labels */

form label,
form .label,
form h3 {
	display: inline;
	float: left;
	margin-right: 2%;
	padding: 6px;
	text-align: right;
	width: 23%;
}

/* FORMS: =Required Fields */

form .required label,
form .required .label {
	font-weight: bold;
}

form .required .option label {
	font-weight: normal;
}

/* FORMS: =Instructions */

form .instructions {
	color: #cccccc;
	display: inline;
	float: left;
	font-size: 1.1em;
	margin: 1em 0 0 0;
	padding-left: 27%;
	width: 73%;
}

/* FORMS: =Fieldsets */

form fieldset {
	margin-bottom: 1em;
	padding-top: 2em;
}

	form fieldset legend {
		margin-bottom: 0;
	}

/* FORMS: =Text Fields */

form .textField {
	display: inline;
	float: left;
	margin-bottom: 1em;
	width: 100%;
}

	form .textField input {
		background: #ffffff;
		border: 1px solid #cccccc;
		display: inline;
		float: left;
		padding: 6px;
		width: 68%;
	}

	form .textField input.small {
		width: 15%;
	}

	form .textField input.medium {
		width: 40%;
	}

	form .textField .fieldWithErrors input {
		background: #ffbcbc;
		border: 1px solid #a55050;
	}

/* FORMS: =Multiple Text Fields */

form .textFields {
	display: inline;
	float: left;
	margin-bottom: 1em;
	width: 100%;
}

	form .textFields .label {
		margin: 0;
		padding: 6px 0;
		text-align: left;
		width: 100%;
	}

/* FORMS: =Text Areas */

form .textArea {
	display: inline;
	float: left;
	margin-bottom: 1em;
	width: 100%;
}

	form .textArea textarea {
		background: #ffffff;
		border: 1px solid #cccccc;
		display: inline;
		float: left;
		height: 75px;
		padding: 6px;
		width: 68%;
	}

	form .textArea .fieldWithErrors textarea {
		background: #ffbcbc;
		border: 1px solid #a55050;
	}

/* FORMS: =Select Fields */

form .selectField {
	display: inline;
	float: left;
	margin-bottom: 1em;
	width: 100%;
}

	form .textField .fieldWithErrors input {
		background: #ffbcbc;
		border: 1px solid #a55050;
	}

/* FORMS: =Radio Buttons */

form .radioButtons {
	display: inline;
	float: left;
	margin-bottom: 1em;
	width: 100%;
}

	form .radioButtons .options {
		display: inline;
		float: left;
		width: 70%;
	}

		form .radioButtons .options .option {
			float: left;
			margin-bottom: 1em;
			width: 100%;
		}

			form .radioButtons .option label {
				display: inline;
				float: none;
				line-height: 1em;
				text-align: left;
			}

			form .radioButtons .option input {
				display: inline;
				float: left;
				line-height: 1em;
			}

/* FORMS: =Submit Buttons */

.submitButton {
	display: inline;
	float: left;
	text-align: center;
	width: 100%;
}

	.submitButton button {
		background: none;
		border: none;
		cursor: pointer;
		height: 22px;
		width: 80px;
	}

	.submitButton button span {
		background: url(../images/btn-submit.gif) no-repeat;
		display: block;
		height: 22px;
		overflow: hidden;
		text-indent: -5000px;
		width: 80px;
	}

/* FORMS: =Error Explanation */

.errorExplanation {
	background: url(../images/txt-required_fields_missing.gif) #ffbcbc no-repeat center;
	border: 1px solid #a55050;
	height: 29px;
	margin-bottom: 1.5em;
	overflow: hidden;
	text-indent: -5000px;
	width: 100%;
}

	.errorExplanation h2 {
		display: none;
	}

	.errorExplanation p {
		display: none;
	}

	.errorExplanation ul {
		display: none;
	}