/*
Updated:	02/19/10
Author:		Marc Amos of Boston Web Studio
*/

/* !General */
::selection {
	background: #f60;
	color: #fff;
}
::-moz-selection {
	background: #f60;
	color: #fff;
}
hr {
	background-color: #bfbfa8;
	border: none;
	height: 1px;
	margin: 3em 0;
}
.hidden {
	display: none;
	visibility: hidden;
}
h1, h2, h3, h4, h5, h6 {
	color: #405961;
	font-family: Georgia, serif;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.mockSuperscript {
	font-size: .65em;
	font-weight: bold;
	position: relative;
	text-decoration: underline;
	top: -.4em;
}
.sexyAmpersand {
	font-family: Baskerville, Georgia, serif;
	font-size: .9em;
	font-style: italic;
}
.sexyOf {
	font-family: Georgia, serif;
	padding-right: .25em;
}
/* ------------------- */

#header, #content, #footer {
	margin: 0 auto;
	width: 900px;
}
#content {
	margin-bottom: 4em;
	min-height: 300px;
	overflow: hidden;
}
#unsupportedBrowser {
	background-color: #fcc;
	border-bottom: 1px solid #777;
	color: #111;
	margin: 0;
	padding: 1em;
	text-align: center;
}
	#unsupportedBrowser a {
		color: blue;
		text-decoration: underline;
	}

/* !Top navigation */
#topNav {
	background-color: rgba(30,56,88,.5);
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(30,56,88,.5)), to(rgba(94,137,155,.5)));
	border-bottom: 2px solid rgba(255,255,255,.75);
	border-top: 2px solid rgba(30,56,88,.8);
	font-weight: bold;
	letter-spacing: 1px;
	margin: 0;
	text-align: center;
}
	#topNav a, #topNav a:visited {
		background-color: rgba(255,255,255,0);
		color: #fff;
		display: inline-block;
		margin: 0 5px;
		padding: 16px 1.5em 12px;
		text-decoration: none;
		text-transform: uppercase;
		-webkit-transition: color .2s ease-in, background-color .2s ease-in;
	}
	#topNav a:hover {
		background-color: rgba(255,255,255,.2);
	}
	#homePage #homeLink,
	#portfolioListPage #portfolioLink,
	#portfolioDetailPage #portfolioLink,
	#aboutPage #aboutLink,
	#blogPage #blogLink,
	#contactPage #contactLink,
	#clientToolsPage #clientToolsLink {
		background-color: rgba(30,56,88,.7);
		background: -webkit-gradient(linear, left top, left bottom, from(rgba(30,56,88,.7)), to(rgba(94,137,155,.8)));
	}
/* -------------------------- */

/* !Header */
#header {
	margin-bottom: 5.4em;
	padding-top: 4.4em;
	overflow: hidden;
}
	#header h1 {
		color: #405961;
		float: right;
		font-family: Georgia, serif;
		font-weight: normal;
		letter-spacing: normal;
		line-height: 1.18;
		margin: -.25em 0 0 0;
		text-shadow: #777 0 1px 2px;
		text-transform: none;
		width: 620px;
	}
		#header h1 em {
			color: #27363b;
		}
	#mainLogo {
		float: left;
		margin: 0;
		width: 197px;
	}
/* ------------------ */

/* !Non-column pages */
#fileUpload, #contactFormWrap {
	float: right;
	width: 412px;
}
	#fileUpload form p {
		margin-left: 2em;
	}
	#errorMessage label {
		background-color: #fcc;
		display: block;
		font-size: 1.4em;
		padding: 1em;
		text-align: center;
	}
	#successMessage {
		background-color: #cfc;
		padding: 1em;
	}
#loginPayment, #mapWrapper {
	width: 412px;
}
	#fileUpload fieldset, #loginPayment fieldset {
		border: none;
		padding: 0;
	}
		#fileUpload fieldset legend, #loginPayment fieldset legend {
			display: none;
		}
	#loginPayment dt {
		float: left;
		font-weight: normal;
		width: 150px;
	}
	#loginPayment p {
		margin-left: 150px;
	}
	#loginPayment p a {
		float: right;
		font-family: Georgia, serif;
		font-size: .75em;
		font-style: italic;
	}
	#loginPayment img {
		float: right;
	}
	#username, #password, #invoiceNumber, #amount {
		width: 256px;
	}
#searchResults, #searchResults th, #searchResults td {
	border: none;
}
	#searchResults th, #searchResults td {
		padding: .75em;
	}
	#searchResults th {
		border-bottom: 1px solid #d9d9c7;
	}
	#searchResults td {
		border-bottom: 1px dashed #d9d9cc;
	}
	#searchResults td .marker {
		background-color: #ff0;
		padding: .2em .3em;
		-moz-border-radius: 4px;
		-webkit-border-radius: 4px;
		-moz-box-shadow: 1px 1px 2px #aaa;
		-webkit-box-shadow: 1px 1px 2px #aaa;
	}
#page404 #content .leftColumn {
	background: url(../images/site/bg/404.jpg) no-repeat center top;
	min-height: 709px;
	text-indent: -9999px;
}
/* ----------------------- */

/* !Left column */
.leftColumn {
	float: left;
	width: 600px;
}
	#portfolioHighlight {
		overflow: hidden;
	}
	#portfolioHighlight .hasProjectInfo {
		display: block;
		position: relative;
	}
	#portfolioHighlight img {
		background-color: #fff;
		border: 1px solid #d9d9c7;
		margin-bottom: 1em;
		padding: 9px;
		-moz-border-radius: 4px;
		-webkit-border-radius: 4px;
		-webkit-transition: background-color .2s ease-in;
	}
	#portfolioHighlight a:hover img {
		background-color: #608dbf;
	}
	#portfolioHighlight a.hasProjectInfo span {
		background-color: rgba(0,0,0,.85);
		color: #eee;
		font-size: 1.8em;
		left: 25px;
		padding: 10px;
		position: absolute;
		text-align: center;
		top: 25px;
		width: 530px;
		-moz-border-radius: 4px;
		-webkit-border-radius: 4px;
		-webkit-transition: background-color .2s ease-in;
	}
	#portfolioHighlight a.hasProjectInfo:hover span {
		background-color: #608dbf;
		color: #fff;
	}
	#portfolioHighlight p:last-child {
		margin-bottom: 0;
	}
	#homePage #portfolioHighlight h5 {
		font-family: "Lucida Grande", Helvetica, Arial, sans-serif;
		letter-spacing: normal;
		text-transform: none;
	}
	#homePage #portfolioHighlight p {
		float: left;
		margin-bottom: 0;
		width: 290px;
	}
	#homePage #portfolioHighlight ul {
		float: right;
		margin-bottom: 0;
		width: 258px;
	}
		#homePage #portfolioHighlight ul li {
			margin: 0;
		}
	#clientTestimonial blockquote {
		color: #777;
		font-family: Georgia, serif;
		font-style: italic;
		padding-left: 0;
	}
		#clientTestimonial blockquote p:before {
			content: open-quote;
		}
		#clientTestimonial blockquote p:after {
			content: close-quote;
		}
	#clientTestimonial span {
		font-size: 1.2em;
	}
	#thePeople {
		float: right;
		width: 275px;
	}
		#thePeople dl {
			margin-bottom: 2.5em;
		}
		.personPhoto {
			float: right;
			margin-left: 10px;
			position: relative;
			top: -1.75em;

		}
			.personPhoto img {
				background-color: #fff;
				border: 1px solid #d9d9c7;
				padding: 5px;
				-moz-border-radius: 4px;
				-webkit-border-radius: 4px;
				-webkit-transition: background-color .2s ease-in;
			}
			.personPhoto a:hover img {
				background-color: #608dbf;
			}
		#thePeople h3 {
			margin-top: 2.1em;
		}
			#strategicPartners dl {
				border-top: 1px dashed #d9d9cc;
				padding-top: 1em;
			}
			#strategicPartners h3+dl {
				border-top: none;
				padding-top: 0;
			}
	#companyGoalOther {
		width: 275px;
	}
	#blogPage #content .leftColumn ul ul, #blogPage #content .leftColumn ul ol,
	#blogPage #content .leftColumn ol ul, #blogPage #content .leftColumn ol ol,
	#blogPage #content .leftColumn ul p, #blogPage #content .leftColumn ol p {
		font-size: 1em;
	}
	#blogPage #content .leftColumn h3, #blogPage #content .leftColumn h4 {
		margin-top: 1.8em;
	}
	#blogPage .leftColumn .codeblock {
		background-color: #fff;
		border: 1px solid #d9d9c7;
		font-size: 1.3em;
		margin: 1em 0;
		overflow: auto;
		padding: 9px;
		-moz-border-radius: 4px;
		-webkit-border-radius: 4px;
	}
	.blogEntry {
		border-top: 1px dashed #d9d9cc;
		padding-top: 1.6em;
	}
	.blogEntry:first-child {
		border-top: none;
		padding-top: 0;
	}
		.blogEntryMeta {
			font-size: 1.2em;
		}
		.blogEntryMeta a img {
			opacity: .625;
			position: relative;
			top: 4px;
			-webkit-transition: opacity .2s ease-in;
		}
		.blogEntryMeta a:hover img {
			opacity: 1;
		}
			.blogEntryMeta span {
				color: #888;
				font-family: Georgia, serif;
				font-style: italic;
			}
		.blogEntryImage {
			float: right;
			margin: 0 0 1em 2em;
		}
		.blogEntryUpdate strong {
			color: red;
		}
	.entriesPageNav {
		list-style: none;
		margin: 0;
		padding: 0;
	}
		.olderEntry {
			float: left;
			width: 45%;
		}
		.newerEntry {
			float: right;
			text-align: right;
			width: 45%;
		}
	#entryComments ul {
		padding-left: 0;
		list-style: none;
	}
			#entryComments li * {
				font-size: 1em;
			}
				.commentBody {
					background-color: #fff;
					border: 1px solid #d9d9c7;
					padding: .1em 1.1em;
					-moz-border-radius: 4px;
					-webkit-border-radius: 4px;
				}
				.commentAuthor,
				.contactAuthor {
					background: url(../images/site/bg/comment-bridge.gif) no-repeat center top;
					font-family: Georgia, serif;
					font-style: italic;
					margin-top: 0;
					padding-top: 1em;
					position: relative;
					text-align: center;
					top: -1px;
				}
				.contactAuthor {
					background-position: 265px 0;
					margin-bottom: 0;
				}
					#entryComments li .commentAuthor img {
						display: block;
						margin: 0 auto .5em;
						width: 40px;
					}
					#entryComments li .commentAuthor span {
						color: #888;
						display: block;
						font-size: .75em;
					}
				#entryComments .adminComment .commentBody {
					border-color: #405961;
				}
				#entryComments .adminComment .commentAuthor {
					background-image: url(../images/site/bg/comment-bridge-admin.gif);
				}
			#comment_form h4 {
				margin-bottom: 1em;
			}
			#comment_form #errorMessage,
			#contactPage #errorMessage {
				display: block;
				margin-bottom: 1em;
			}
			#comment_form .textInput,
			#contactPage .textInput {
				font-family: "Lucida Grande", sans-serif;
			}
			#comment_form .textInput:focus,
			#contactPage .textInput:focus {
				outline: none;
			}
			#commenterComment, #contactMessage {
				background-color: #fff;
				border: 1px solid #d9d9c7;
				color: #777;
				font-size: 1.6em;
				height: 12em;
				margin: 0;
				padding: 5px;
				width: 588px;
				-moz-border-radius: 4px;
				-webkit-border-radius: 4px;
			}
			#contactMessage {
				font-size: 1.4em;
				height: 14em;
				width: 400px;
			}
			#comment_form .commentAuthor,
			#contactPage .contactAuthor {
				line-height: 2;
				top: -2px;
				text-align: left;
			}
			@media screen and (-webkit-min-device-pixel-ratio:0) {
				#comment_form .commentAuthor,
				#contactPage .contactAuthor {top: -5px}
			}
			#commenterName, #commenterEmail, #commenterURL,
			#contactName, #contactEmail {
				background-color: #fff;
				border: 1px solid #d9d9c7;
				font-size: 1em;
				padding: 2px;
				text-align: center;
				width: 14.5em;
				-moz-border-radius: 4px;
				-webkit-border-radius: 4px;
			}
			#contactName, #contactEmail {
				width: 12em;
			}
			#commenterComment, #commenterName, #commenterEmail,
			#contactMessage, #contactName, #contactEmail {
				background-image: url(/images/site/bg/required-asterisk.gif);
				background-repeat: no-repeat;
				background-position: right top;
			}
			#commentsNotAllowed {
				background-color: #fcc;
				margin-top: 2em;
				padding: 1em;
				text-align: center;
				-moz-border-radius: 4px;
				-webkit-border-radius: 4px;
			}
	#mapWrapper {
		background-color: #fff;
		border: 1px solid #d9d9c7;
		padding: 9px;
		-moz-border-radius: 4px;
		-webkit-border-radius: 4px;
	}
		#map {
			height: 400px;
		}
	#portfolioListPage #portfolioList li {
		border-bottom: 1px dashed #d9d9cc;
		border-top: none;
		float: left;
		font-size: .9em;
		margin-bottom: 2em;
		margin-top: 0;
		/*padding: 0 28px 2em 0;*/
		padding: 0 14px 2em 0;
		width: 190px;
	}
	#portfolioListPage #portfolioList li.firstItem {
		clear: left;
	}
	#portfolioListPage #portfolioList li.thirdItem {
		padding-right: 0;
	}
		#portfolioListPage #portfolioList a img {
			background-color: #fff;
			border: 1px solid #d9d9c7;
			padding: 5px;
			float: left;
			width: 178px;
			-moz-border-radius: 4px;
			-webkit-border-radius: 4px;
			-webkit-transition: background-color .2s ease-in;
		}
		#portfolioListPage #portfolioList a:hover img {
			background-color: #608dbf;
		}
		#portfolioListPage #portfolioList li span {
			color: #888;
			display: block;
			font-family: Georgia, serif;
			font-style: italic;
		}
/* ----------------------- */

/* !Right column */
.rightColumn {
	float: right;
	width: 225px;
}
#aboutPage #content .rightColumn,
#blogPage #content .rightColumn,
#portfolioListPage #content .rightColumn {
	margin-top: 3px;
}
	.rightColumn p {
		font-size: 1.4em;
	}
	.rightColumn #twitterHeading:hover {
		background: url(../images/site/bg/twitter.png) no-repeat left top;
		text-indent: -9999px;
	}
	#blogEntries, #twitter_update_list, #portfolioList {
		list-style: none;
		margin: 1em 0 0;
		padding: 0;
	}
		#blogEntries li, #twitter_update_list li, #portfolioList li {
			border-top: 1px dashed #d9d9cc;
			font-size: .875em;
			margin: 1em 0 0;
			padding: 1em 0 0;
		}
		#blogEntries li:first-child, #twitter_update_list li:first-child,
		#portfolioList li:first-child {
			border-top: none;
			margin-top: 0;
			padding-top: 0;
		}
			#blogEntries li > span {
				color: #888;
				font-size: .875em;
			}
				#blogEntries li span span {
					font-family: Georgia, serif;
					font-style: italic;
				}
				#blogEntries li a img {
					opacity: .625;
					position: relative;
					top: 4px;
					-webkit-transition: opacity .2s ease-in;
				}
				#blogEntries li a:hover img {
					opacity: 1;
				}
			#twitter_update_list a {
				font-family: Georgia, serif;
				font-style: italic;
			}
				#twitter_update_list span a {
					font-family: "Lucida Grande", Helvetica, Arial, sans-serif;
					font-style: normal;
				}
	#readBlog, #followUs, #viewPortfolio {
		border-top: 1px dashed #d9d9cc;
		padding: 1em 0 0;
	}
	#followUs span {
		color: #405961;
		font-weight: bold;
	}
	#portfolioListPage .rightColumn ul,
	#portfolioDetailPage .rightColumn ul,
	#aboutPage .rightColumn ul,
	#blogPage .rightColumn ul,
	#contactPage ul {
		list-style-position: outside;
		padding-left: 0;
	}
	#portfolioDetailPage #portfolioList li {
		font-size: .9em;
		overflow: hidden;
	}
		#portfolioDetailPage #portfolioList a img {
			background-color: #fff;
			border: 1px solid #d9d9c7;
			padding: 5px;
			float: left;
			margin-right: 15px;
			-moz-border-radius: 4px;
			-webkit-border-radius: 4px;
			-webkit-transition: background-color .2s ease-in;
		}
		#portfolioDetailPage #portfolioList a:hover img {
			background-color: #608dbf;
		}
		#portfolioDetailPage #portfolioList li span {
			color: #888;
			display: block;
			font-family: Georgia, serif;
			font-size: .8em;
			font-style: italic;
			margin-left: 97px;
		}
	.quickLinksImage {
		position: relative;
		top: 1px;
	}
/* ------------------------ */

/* !Footer */
/*
-- Credit for the background image in the footer --
Original:	http://www.sxc.hu/photo/657758
Author:		http://www.sxc.hu/profile/canberkol
License:	http://www.sxc.hu/help/7_2
*/
#footerWrap {
	background: #36494b url(../images/site/bg/footer.jpg) repeat-x -495px bottom;
	border-top: .5em solid #bfbfa8;
	color: #ddd;
}
	#footer {
		overflow: hidden;
		padding: 2em 0 4em;
	}
		#footer h4 {
			color: #fff;
		}
		#footer p, #footer ul, #footer ol {
			font-size: 1.4em;
		}
		#footer ul {
			list-style: none;
			padding-left: 0;
		}
			#footer li {
				border-bottom: 1px dashed #4e6062;
				margin-bottom: .5em;
				padding-bottom: .5em;
			}
			#footer li:last-child {
				border-bottom: none;
			}
				#footer li span {
					display: block;
					float: left;
					width: 4em;
				}
				#footer li span#numberEntity,
				#numberEntity {
					display: inline;
					float: none;
					font-family: "Times New Roman", serif;
					width: auto;
				}
		#footer #footerBoxLeft, #footer #footerBoxRight {
			width: 43%;
		}
		#footer #footerBoxLeft {
			float: left;
		}
		#footer #footerBoxRight {
			float: right;
		}
		#footer #searchForm .hiddenFields {
			display:none; /* This is for the IEs */
		}
		#footer #searchForm fieldset {
			border: none;
			padding: 0;
		}
			#footer #searchForm legend {
				display: none;
			}
			#footer #searchInput {
				background-color: #4e6062;
				border: 1px solid #6c8487;
				color: #ddd;
				outline: none;
				padding: 2px;
				width: 148px;
				-moz-border-radius: 5px;
				-webkit-border-radius: 5px;
			}
			#footer #searchInput:focus {
				border-color: #95b6ba;
			}
			#footer #searchSubmit:hover {
				cursor: pointer;
			}
			#footer li#rssIcon a img {
				opacity: .625;
				position: relative;
				top: 1px;
				-webkit-transition: opacity .2s ease-in;
			}
			#footer li#rssIcon a:hover img {
				opacity: 1;
			}
			#affiliations {
				padding-top: 2em;
			}
				#affiliations a, #affiliations a:visited {
					margin: .75em 0 0;
					opacity: .5;
				}
				#affiliations a:hover {
					opacity: .9;
				}
/* ------------------ */