/*
	Website		PSRBB
	Author		Impulse Development
	Date		August 2008
=============================================== */

/* =PALETTE
	&LightGrey		dbdbdb
	&MediumGrey		999999
	&DarkGrey		444444
	&Burgundy		7a2b2b
	&Blue			224672
	&White			ffffff
----------------------------------------------- */

/* =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;
}

/* =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: #444444;
	font-size: 2.2em;
	font-weight: bold;
	line-height: 1.2em;
	margin-bottom: 1em;
}

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

h3 {
	color: #777777;
	font-size: 1.2em;
	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;
	padding-left: 16px;
}

	ul li {
		color: #444444;
		font-size: 1.2em;
		line-height: 1.2em;
		margin-bottom: 1em;
	}
	
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 {
	width: 100%;
}

	dl dt {
		color: #444444;
		font-size: 1.2em;
		font-weight: bold;
		line-height: 1.2em;
		margin-bottom: 1em;
		text-decoration: underline;
		width: 100%;
	}
	
	dl dd {
		color: #444444;
		font-size: 1.2em;
		line-height: 1.2em;
		margin-bottom: 1em;
		width: 100%;
	}
	
/* TYPOGRAPHY: =Forms */

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

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

form button {
	font-size: 1.2em;
}
	
/* TYPOGRAPHY: =Links */

a {
	color: #444444;
	font-weight: bold;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

/* TYPOGRAPHY: =Variants */

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

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

/* STRUCTURE: =Background */

body {
	background: url(../images/bg-body_top.gif) repeat-x top #dbdbdb;
}

/* STRUCTURE: =Layout */

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

#pageHeader {
	height: 240px;
	position: relative;
	width: 100%;
}

#pageBody {
	display: inline;
	float: left;
	margin-top: -80px;
	position: relative;
	width: 100%;
}

	#pageBody .content {
		background: url(../images/bg-content.gif) repeat-y;
		display: inline;
		float: left;
		padding: 0 22px 16px 16px;
		position: relative;
		width: 498px;
	}
		
	#pageBody .sidebar {
		float: right;
		margin-top: -104px;
		position: relative;
		width: 214px;
	}

#pageFooter {
	clear: both;
	height: 18px;
	margin-bottom: 18px;
	position: relative;
	width: 100%;
}

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

/* HEADER: =Logo */

#headerTitle {
	left: 0;
	position: absolute;
	top: 60px;
}

	#headerTitle a {
		background: url(../images/logo-medium.png) no-repeat;
		display: block;
		overflow: hidden;
		text-indent: -5000px;
		height: 87px;
		width: 107px;
	}

/* HEADER: =Sub Title */

#headerSubTitle {
	left: 138px;
	position: absolute;
	top: 67px;
}

	#headerSubTitle p {
		background: url(../images/txt-architectural_services_short.png) no-repeat;
		display: block;
		height: 77px;
		overflow: hidden;
		text-indent: -5000px;
		width: 248px;
	}
	
/* HEADER: =Banner */

#headerBanner {
	position: absolute;
	top: 160px;
}

/* HEADER: =Navigation */

#headerNavigation {
	left: 0;
	list-style: none;
	position: absolute;
	top: 0;
	width: 100%;
}

	#headerNavigation li {
		display: inline;
		float: left;
		margin: 0 8px;
		position: relative;
	}
	
		#headerNavigation li .overlay {
			cursor: pointer;
			display: block;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
		}
	
	#headerNavigation li a {
		display: block;
		height: 40px;
		overflow: hidden;
		text-indent: -5000px;
	}
	
	#headerNavigation li.home a {
		background: url(../images/nav-home.gif) no-repeat;
		width: 52px;
	}
	
	#headerNavigation li.commercial a {
		background: url(../images/nav-commercial.gif) no-repeat;
		width: 96px;
	}
	
	#headerNavigation li.industrial a {
		background: url(../images/nav-industrial.gif) no-repeat;
		width: 86px;
	}
	
	#headerNavigation li.portfolio a {
		background: url(../images/nav-portfolio.gif) no-repeat;
		width: 83px;
	}
	
	#headerNavigation li.clients a {
		background: url(../images/nav-clients.gif) no-repeat;
		width: 64px;
	}
	
	#headerNavigation li.news a {
		background: url(../images/nav-news_and_press.gif) no-repeat;
		width: 102px;
	}
	
	#headerNavigation li.contact a {
		background: url(../images/nav-contact.gif) no-repeat;
		width: 73px;
	}
	
	#headerNavigation li.login a {
		background: url(../images/nav-login.gif) no-repeat;
		width: 52px;
	}
	
	#headerNavigation li.logout a {
		background: url(../images/nav-logout.gif) no-repeat;
		width: 65px;
	}
	
		#headerNavigation li.home .overlay {
			background: url(../images/nav-home.gif) no-repeat 0 -40px;
			width: 52px;
		}

		#headerNavigation li.commercial .overlay {
			background: url(../images/nav-commercial.gif) no-repeat 0 -40px;
			width: 96px;
		}

		#headerNavigation li.industrial .overlay {
			background: url(../images/nav-industrial.gif) no-repeat 0 -40px;
			width: 86px;
		}

		#headerNavigation li.portfolio .overlay {
			background: url(../images/nav-portfolio.gif) no-repeat 0 -40px;
			width: 83px;
		}

		#headerNavigation li.clients .overlay {
			background: url(../images/nav-clients.gif) no-repeat 0 -40px;
			width: 64px;
		}

		#headerNavigation li.news .overlay {
			background: url(../images/nav-news_and_press.gif) no-repeat 0 -40px;
			width: 102px;
		}

		#headerNavigation li.contact .overlay {
			background: url(../images/nav-contact.gif) no-repeat 0 -40px;
			width: 73px;
		}

		#headerNavigation li.login .overlay {
			background: url(../images/nav-login.gif) no-repeat 0 -40px;
			width: 52px;
		}
		
		#headerNavigation li.logout .overlay {
			background: url(../images/nav-logout.gif) no-repeat 0 -40px;
			width: 65px;
		}
	
	#headerNavigation li a.current {
		background-position: 0 -40px;
	}

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

/* CONTENT: =Bottom */

.content .bottom {
	background: url(../images/misc-content_cap.gif) no-repeat;
	bottom: 0;
	height: 7px;
	left: 0;
	position: absolute;
	width: 536px;
}

/* CONTENT: =Sections */

.content .section {
	background: url(../images/bg-double_column.gif) repeat-y;
	display: inline;
	float: left;
	margin-right: 9px;
	padding: 0 22px 16px 16px;
	position: relative;
	width: 340px;
}

	.content .section .bottom {
		background: url(../images/misc-double_column_cap.gif) no-repeat;
		bottom: 0;
		height: 7px;
		left: 0;
		position: absolute;
		width: 378px;
	}

.content .last {
	margin-right: 0;
}

/* CONTENT: =vCard */

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

	.content .vcard h2 {
		color: #333333;
		font-size: 1.2em;
		margin-bottom: 0;
	}
	
	.content .vcard .street-address {
		display: block;
	}
	
	.content .vcard .type {
		font-weight: bold;
	}

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

/* SIDEBAR: =Sections */

.sidebar .section {
	margin-bottom: 42px;
}

/* SIDEBAR: =Feature */

.sidebar .feature {
	height: 172px;
	margin-bottom: 32px;
}

.sidebar .feature .image {
	margin-bottom: 1.2em;
}

	.sidebar .feature .image img {
		border: 1px solid #a0a0a0;
		padding: 0;
	}

.sidebar .feature p {
	color: #efefef;
	font-size: 1.1em;
	text-align: center;
}

.sidebar .feature a {
	color: #efefef;
	font-size: 11px;
	text-align: center;
}

/* SIDEBAR: =Navigation */

.sidebar .navigation {
	list-style: none;
	padding: 0;
}

	.sidebar .navigation li {
		margin-bottom: 8px;
	}
	
		.sidebar .navigation li a {
			display: block;
			height: 32px;
			overflow: hidden;
			text-indent: -5000px;
			width: 100%;
		}
	
		.sidebar .navigation li.about a {
			background: url(../images/sub_nav-about.gif) no-repeat 0 -64px;
		}
		
		.sidebar .navigation li.services a {
			background: url(../images/sub_nav-services.gif) no-repeat 0 -64px;
		}
		
		.sidebar .navigation li.team a {
			background: url(../images/sub_nav-team.gif) no-repeat 0 -64px;
		}
		
		.sidebar .navigation li.ftp_login a {
			background: url(../images/sub_nav-ftp_login.gif) no-repeat 0 -64px;
		}
		
		.sidebar .navigation li.back_to_home a {
			background: url(../images/sub_nav-back_to_home_page.gif) no-repeat;
		}
		
		.commercial .sidebar .navigation li a.selected {
			background-position: 0 -32px;
		}
		
		.industrial .sidebar .navigation li a.selected {
			background-position: 0 0;
		}
		
/* SIDEBAR: =vCard */

.sidebar .vcard {
	text-align: center;
}

	.sidebar .vcard h2 {
		color: #333333;
		font-size: 1.2em;
		margin-bottom: 0;
	}
	
	.sidebar .vcard .street-address {
		display: block;
	}
	
	.sidebar .vcard .type {
		font-weight: bold;
	}

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

/* FOOTER: =Copyright */

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

	#pageFooter .copyright p {
		color: #888888;
		font-size: 1.1em;
		line-height: 1.8em;
		margin: 0;
	}

/* FOOTER: =Developer */

#pageFooter .developer {
	background: url(../images/logo-impulse_development.gif) no-repeat right;
	padding-right: 22px;
	position: absolute;
	right: 236px;
	top: 6px;
}

	#pageFooter .developer p {
		color: #888888;
		font-size: 1.1em;
		line-height: 1.8em;
		margin: 0;
	}
	
/* =FORMS
----------------------------------------------- */

/* FORMS: =Basic */

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

/* FORMS: =Labels */

form label,
form .label {
	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: =Text Fields */

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

	form .textField input {
		border: 1px solid #999999;
		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: #f7eded;
		border: 1px solid #b00000;
	}
	
/* FORMS: =Text Areas */

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

	form .textArea textarea {
		border: 1px solid #999999;
		display: inline;
		float: left;
		height: 75px;
		padding: 6px;
		width: 68%;
	}
	
	form .textArea .fieldWithErrors textarea {
		background: #f7eded;
		border: 1px solid #b00000;
	}
	
/* 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: #f8f8f8;
		border: 1px solid #999999;
		color: #666666;
		cursor: pointer;
		font-weight: bold;
		overflow: visible;
		padding: 6px;
		width: auto;
	}
	
	.submitButton button:hover {
		background: #dedede;
		border: 1px solid #999999;
		color: #444444;
	}
	
/* FORMS: =Error Explanation */

.errorExplanation {
	background: #f7eded;
	border: 1px solid #b00000;
	margin: 12px 0;
	padding: 12px;
}

	.errorExplanation h2 {
		display: none;
	}

	.errorExplanation p {
		color: #b00000;
		font-size: 12px;
		font-weight: bold;
		text-align: center;
	}

	.errorExplanation ul {
		list-style: none;
		padding: 0;
		width: 100%;
	}

		.errorExplanation ul li {
			color: #b00000;
			font-size: 12px;
			line-height: 15px;
			list-style: none;
			margin-bottom: 0;
			text-align: center;
		}
	

/* =MISC
----------------------------------------------- */

/* MISC: =Text Replacement */

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

/* MISC: =Headings */

#sectionCommercialGroup h2 { 
	background: url(../images/heading_home-commercial_group.gif) no-repeat;
	height: 57px;
	margin: 0 0 0 -16px;
	width: 372px;
}

#sectionIndustrialGroup h2 {
	background: url(../images/heading_home-industrial_group.gif) no-repeat;
	height: 57px;
	margin: 0 0 0 -16px;
	width: 372px;
}

h1.replaced {
	height: 80px;
	margin: 0 0 -8px -16px;
	width: 536px;
	z-index: 0;
}

.home#page_not_found h1 {
	background: url(../images/heading-page_not_found.gif) no-repeat;
}

.commercial#about h1,
.commercial#index h1 {
	background: url(../images/heading-about_blue.gif) no-repeat;
}

.commercial#services h1 {
	background: url(../images/heading-services_blue.gif) no-repeat;
}

.commercial#team h1 {
	background: url(../images/heading-team_blue.gif) no-repeat;
}

.industrial#about h1,
.industrial#index h1 {
	background: url(../images/heading-about_red.gif) no-repeat;
}

.industrial#services h1 {
	background: url(../images/heading-services_red.gif) no-repeat;
}

.industrial#team h1 {
	background: url(../images/heading-team_red.gif) no-repeat;
}

.portfolio h1 {
	background: url(../images/heading-portfolio.gif) no-repeat;
}

.clients h1 {
	background: url(../images/heading-clients.gif) no-repeat;
}

.news h1 {
	background: url(../images/heading-news_and_press.gif) no-repeat;
}

.contact h1 {
	background: url(../images/heading-contact.gif) no-repeat;
}

.session h1 {
	background: url(../images/heading-login.gif) no-repeat;
}

.my_projects h1 {
	background: url(../images/heading-my_projects.gif) no-repeat;
}

/* MISC: =Alignment */

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

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

/* MISC: =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: 2px;
}

.image p,
.thumb p {
	margin: 0.5em 0 0 0;
}

/* MISC: =Galleries */

.gallery {
	width: 100%;
}

	.gallery h2 {
		clear: both;
	}

	.gallery .row {
		clear: both;
	}

	.gallery .thumb {
		display: inline;
		float: left;
		width: 33.3%;
	}
	
		.gallery .thumb p {
			padding: 0 1em;
		}
		
	.gallery .row p a {
		font-weight: normal;
	}
	
/* MISC: =Slideshows */

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

	.slideshow .image {
		margin: 0 auto;
		width: 391px;
	}

	.slideshow .thumbs {
		margin: 0 auto;
		padding: 7px 0;
		width: 391px;
	}
	
		.slideshow .thumbs .thumb {
			display: inline;
			float: left;
			margin: 0 3px 7px 4px;
			width: 58px;
		}
		
			.slideshow .thumbs .thumb img {
				border: none;
				padding: 0;
			}
			
			.slideshow .thumbs .thumb .preload {
				display: none;
			}

/* MISC: ="More" Links */

.more {
	text-align: right;
	clear: both;
}

	.more p {
		font-weight: bold;
	}
	
	.more a {
		font-weight: normal;
	}
	
/* MISC: ="Back" Links */

.back {
	text-align: right;
}

	.back p {
		font-size: 11px;
		font-weight: bold;
	}
	
/* MISC: =Horizontal Rules */

.hr {
	background: url(../images/misc-hr.gif) no-repeat;
	float: left;
	height: 53px;
	margin-bottom: 1em;
	width: 100%;
}

	.hr hr {
		display: none;
	}
	
/* MISC: =Pullouts */

.pullout {
	background-color: #eeeeee;
	border: 1px solid #dedede;
	margin-bottom: 1em;
	padding: 1em 1em 0 1em;
}

/* =OVERRIDES
----------------------------------------------- */

/* OVERRIDES: Home Page */

.home#index #pageBody .content {
	background: none;
	padding: 0;
	width: 100%;
}

.home#index #pageBody {
	margin-top: 0;
	padding-top: 112px;
}

.home#index #headerTitle {
	left: 68px;
	top: 60px;
}

.home#index #headerSubTitle {
	left: 207px;
	top: 72px;
}

	.home#index #headerSubTitle p {
		background: url(../images/txt-architectural_services.png) no-repeat;
		height: 62px;
		width: 475px;
	}

.home#index #pageFooter .developer {
	right: 6px;
}
	
/* OVERRIDES: Commercial Section */

#sectionCommercialGroup h3 {
	color: #224672;
	font-size: 1.4em;
}

#sectionCommercialGroup .more a {
	color: #224672;
	font-weight: bold;
}

/* OVERRIDES: Commercial Pages */

.commercial #headerSubTitle p {
	background: url(../images/txt-commercial_group.png) no-repeat;
}

.commercial h1 {
	color: #224672;
}

.commercial h2 {
	color: #224672;
}

.commercial h3 {
	color: #224672;
}

.commercial {
	background: url(../images/bg-body_top_blue.gif) repeat-x top #dbdbdb;
}

/* OVERRIDES: Industrial Section */

#sectionIndustrialGroup h3 {
	color: #7a2b2b;
	font-size: 1.4em;
}

#sectionIndustrialGroup .more a {
	color: #7a2b2b;
	font-weight: bold;
}

/* OVERRIDES: Industrial Pages */

.industrial #headerSubTitle p {
	background: url(../images/txt-industrial_group.png) no-repeat;
}

.industrial h1 {
	color: #7a2b2b;
}

.industrial h2 {
	color: #7a2b2b;
}

.industrial h3 {
	color: #7a2b2b;
}

.industrial {
	background: url(../images/bg-body_top_red.gif) repeat-x top #dbdbdb;
}