/*
colors
dark blue: #274A73
light blue: #C0D4DC
*/
html {
	min-height: 100%;
}
body {
	margin: 0;
	padding: 0;
	font: normal 13px/18px Arial, sans-serif;
	color: #3F3F3F;
	background: white url(/images/stripe.gif) center bottom repeat-x;
	text-align: center;
}
img {
	border: 0;
}
a {
	text-decoration: none;
	border-bottom: 1px solid #274A73;
}
a:link {
	color: #274A73;
}
a:visited {
	color: #666;
	border-color: #666;
}
a:hover {
	background-color: #D6E0E7;
}
a:active {
	background-color: transparent;
}

#wrapper {
	min-width: 750px;
	position: relative;
}

#header {
	margin: 0 0 25px 0;
}
#logo, #logotype .contents, #cols, #footer {
	width: 750px;
	margin: 0 auto;
	position: relative;
	text-align: left;
}
#logo a {
	border-width: 0;
}
#logo img {
	margin: 25px 0 0 0;
}
#logotype {
	margin: 10px 0 0 0;
	padding: 0;
	background: url(/images/logotype.gif) top center no-repeat;
}
#logotype .contents {
	display: block;
}
#logotype .inner {
	display: block;
	width: 135px;
	height: 15px;
}
#logotype a {
	display: block;
	width: 100%;
	height: 100%;
	border-width: 0;
}
#logotype a:hover {
	background-color: transparent;
}
#logotype .type {
	display: none;	
}

#notice {
	float:left;
	width:100%;
	margin: 4px 0 15px 0;
	padding:0 0 0 0;
	font: normal 13px/16px Arial, sans-serif;
}
#positive_notice, #negative_notice {
	padding:5px 5px 5px 23px;
	float:left;
	background: transparent url(/images/accept.png) no-repeat 3px 4px;
}
#positive_notice {
	color:#360;
	border:1px solid #360;
}
#negative_notice {
	color:#C00;
	border:1px solid #C00;
	background-image:url(/images/exclamation.png);
}

#nav_col {
	float: right;
	width: 75px;
	margin: -3px 0 0 0;
}
#nav ul {
	list-style: none;
	margin: 0 0 15px -15px;
	padding: 0;
}
#nav li {
	list-style: none;
	margin: 3px 0;
	padding: 0 0 0 15px;
	font: normal 11px/17px Arial, sans-serif;
	letter-spacing: 0;
	color: #3F3F3F;
}
#nav ul.first li.first {
	margin-top: 0;
}
#nav li.current {
	background: url(/images/nav_marker.gif) no-repeat 0px 5px;
}
#nav li .first_letter {
/*	font-size: 13px;*/
}

#main_col {
	float: right;
	width: 508px;
}
.home #main_col {
	width: 339px;
}

#main_col_contents {
	margin: 0 25px;
}

#main_col h1 {
	font: normal 14px/18px Arial, sans-serif;
	color: #000;
	margin: -3px 0 10px 0;
	padding: 0;
}
#main_col h2 {
	font: normal 11px/18px Arial, sans-serif;
	text-transform: uppercase;
	color: #000;
	margin: 0 0 0 0;
	padding: 0;
}
#main_col p {
	font: normal 12px/18px Arial, sans-serif;
	margin: 0 0 10px 0;
	color: #3F3F3F;
}
#main_col ol, #main_col ul {
	margin: -5px 0 10px 0;
	padding: 0 0 0 16px;
}
#main_col li {
	font: normal 12px/16px Arial, sans-serif;
	margin: 0 0 5px 0;
	color: #3F3F3F;
}

.third_party .logo img {
	float: right;
	clear: right;
	border: 1px solid #CCC;
	padding: 5px;
	margin: 5px 0 10px 10px;
}
.third_party .logo a {
	border-width: 0;
}
.third_party .logo a:hover img {
	border: 2px solid #D6E0E7;
	padding: 4px;
}

.testimonial blockquote {
	margin: 0 0 10px 0;
}
.testimonial blockquote .left {
	margin: 0 0 0 -15px;
	background: url(/images/quote_left.gif) no-repeat 0 1px;
	padding: 0 11px 0 0;
}
.testimonial blockquote .right {
	background: url(/images/quote_right.gif) no-repeat 3px 0;
	padding: 0 14px 0 0;
}
.testimonial blockquote .left span, .testimonial blockquote .right span {
	position: relative;
	left: -9999px;
}
#main_col .testimonial .credit {
	font-style: italic;
}


#portfolio_nav_wrapper {
	margin: -5px -5px 20px -5px;
}
#portfolio_nav {
	list-style: none;
	margin: 0;
	padding: 0;
}
#portfolio_nav li {
	list-style: none;
	margin: 0;
	padding: 0;
	float: left;
	border-bottom: 1px solid #CCC;
	border-right: 1px solid #CCC;
}
#portfolio_nav li.three {
	border-right-width: 0;
}
#portfolio_nav li.last_row {
	border-bottom-width: 0;
}
#portfolio_nav a {
	display: block;
	padding: 5px;
	border-width: 0;
}
#portfolio_nav .current a {
	background-color: #000;
}
#portfolio_nav a:hover {
	background-color: #D6E0E7;
}
#portfolio_nav .current a:hover {
	background-color: #000;
}
#portfolio_nav a:active {
	background-color: #FFF;
}

#portfolio_item_copy {
	margin: 0 0 20px 0;
}
#portfolio_item_copy h2 {
	margin: -5px 0 0 0;
	font: normal 14px/18px Arial, sans-serif;
	color: #000;
}
#side_col #portfolio_item_copy p {
	font: normal 12px/16px Arial, sans-serif;
	color: #636363;
	margin: 5px 0;
}

#portfolio_images img {
	margin: 0 0 15px 0;
	padding: 5px;
	border: 1px solid #CCC;
}

#main_col #portfolio_linear_nav {
	list-style: none;
	margin: 0;
	padding: 0;
}
#portfolio_linear_nav li {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 11px;
	line-height: 14px;
	font-style: italic;
	width: 45%;
}
#portfolio_linear_nav li.previous {
	float: left;
	padding: 0 0 0 12px;
}
#portfolio_linear_nav li.next {
	float: right;
	text-align: right;
	padding: 0 12px 0 0;
}
#portfolio_linear_nav a {
	display: block;
	border-width: 0;
	padding-bottom: 2px;
}
#portfolio_linear_nav li.previous a {
	margin-left: -12px;
	padding-left: 12px;
	background: url(/images/arrow_left.gif) left 5px no-repeat;
}
#portfolio_linear_nav li.next a {
	margin-right: -12px;
	padding-right: 12px;
	background: url(/images/arrow_right.gif) right 5px no-repeat;
}
#portfolio_linear_nav a span {
	font-style: normal;
	border-bottom: 1px solid #274A73;
}
#portfolio_linear_nav a:visited span {
	border-bottom-color: #666;
}
#portfolio_linear_nav a:hover span {
	background-color: #D6E0E7;
}

#featured_portfolio_items {
	margin: -5px -5px 10px -5px;
}
#featured_portfolio_items .row {
	border-top: 1px solid #CCC;
}
#featured_portfolio_items .first {
	border-top-width: 0;
	padding-top: 0;
}

.portfolio_item {
	float: left;
	width: 88px;
	border-right: 1px solid #CCC;
}
.home .portfolio_item {
	width: 114px;
}
#featured_portfolio_items .last {
	border-right-width: 0;
}
#featured_portfolio_items a {
	display: block;
	padding: 5px;
	border-width: 0;
}
#featured_portfolio_items a:hover {
	background-color: #D6E0E7;
}
#featured_portfolio_items a:active {
	background-color: transparent;
}

#side_col {
	float: left;
	width: 167px;
}
.home #side_col {
	width: 335px;
}

#footer {
	margin: 10px auto 73px auto;
	font: normal 11px/14px Arial, sans-serif;
}
#copyright {
	margin:0;
	float: right;
	border-top: 1px solid #CCC;
}
#copyright p {
	margin: 10px 0;
}

#downloads {
	float: right;
	clear: right;
}
#downloads ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
#downloads li {
	margin: 0 0 0 10px;
	padding: 0 0 3px 0;
	list-style: none;
	display: inline;
}
a.pdf, a.rtf {
	padding: 2px 0 2px 19px;
	background:	no-repeat;
	border-width: 0;
}
a.pdf {
	background-image: url(/images/page_white_acrobat.gif);
}
a.rtf {
	background-image: url(/images/page_white_text.gif);
}
a.pdf span, a.rtf span {
	border-bottom: 1px solid #274A73;
}
a:visited.pdf span, a:visited.rtf span {
	border-bottom-color: #666;
}
a:hover.pdf span, a:hover.rtf span {
	background-color: #D6E0E7;
}

#carbonfund {
	width: 48%;
	float: right;
	clear: right;
	text-align: right;
	padding-top: 4px;
}
#carbonfund .tag a {
	display: block;
	width: 187px;
	height: 22px;
	margin-left: auto;
	background: url(/images/carbonfund.gif) no-repeat;
	border-width: 0;
}
#carbonfund .tag a:hover {
	background-position: 0 100%;
}
#carbonfund .tag a span {
	display: none;
}

#contact_info {
	border-top: 1px solid #CCC;
}
#contact_info p {
	margin: 0;
	padding: 10px 0 0 0;
}

.controls {
	margin:10px 0 10px 0;
	padding: 0 0 0 0;
	white-space:nowrap;
}
.vertical_table .controls {
	margin: 0;
}
.vertical_table .controls img {
	margin: 0 2px 0 0;
}
p .controls img {
	vertical-align: middle;
}
.controls ul, #main_col .controls ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.controls li, #main_col .controls li {
	list-style: none;
	margin: 0 10px 5px 0 !important;
	padding: 0;
	float: left;
	font: normal 11px/16px Arial, sans-serif;
}
.controls li a:link, .controls li a:visited {
	display: block;
	padding-left: 20px;
	background: transparent no-repeat;
	color: #274A73;
}
.controls li a span {
	border-bottom: 1px solid #274A73;
}
.controls li a:hover span {
	background-color: #D6E0E7;
}
.controls li a:active span {
	background-color: transparent;
}
.controls a {
	border-width: 0;
	background: white;
}

table {
	margin:10px 0 15px 0;
	padding:0;
	border-collapse:collapse;
	border-top:2px solid #CCC;
	border-bottom:2px solid #CCC;
}
table table {
	margin:0;
}
table th {
	font-weight:bold;
	font-size:10px;
	line-height:13px;
	text-transform:uppercase;
	border-top:1px solid #CCC;
	border-bottom:2px solid #CCC;
	padding: 3px 2px;
	vertical-align:middle;
	text-align:left;
	white-space: nowrap;
}
td {
	font-size:12px;
	line-height:15px;
	border-top:1px solid #CCC;
	border-bottom-width:0;
	padding: 3px 2px;
	vertical-align:middle;
	text-align:left;	
}
span.required {
	font-size:20px;
	line-height:14px;
	color:#FF211A;
}
.help {
	background:url(/images/arrow_up.png) 0 3px no-repeat;
	padding:5px 5px 5px 15px;
	line-height:15px;
	color:#2271AB;
}
/* horizonatally structured tables */
table.horizontal {
}
table table.horizontal {
}
table.horizontal th, table table.horizontal th {
	border-bottom-width:1px;
}
table.horizontal td, table table.horizontal td {
}
table.horizontal tr.first th, table.horizontal tr.first td {
	border-top-width:0;
}
/* vertically structured tables */
table.vertical {
	border:0;
	border-bottom:2px solid #CCC;
}
table.vertical th {
	border:0;
	border-bottom:2px solid #CCC;
	padding:5px;
	vertical-align: bottom;
	text-align:left;
}
table.vertical td {
	border:0;
	border-bottom:1px solid #CCC;
	padding:5px;
	vertical-align:middle;
	text-align:left;
}
tr.totals {
	font-weight: bold;
}
table.vertical tr.even td {
	background-color:#F7F7F7;
}
/* faux tables made with divs and spans for dragging */
.vertical_table {
	margin:10px 0 15px 0;
	padding:0;
}
.vertical_table .header {
	font-weight:bold;
	font-size:10px;
	line-height:13px;
	text-transform:uppercase;
	border-bottom:2px solid #CCC;
	vertical-align:middle;
	text-align:left;
	white-space: nowrap;
	display: block;
}
.vertical_table .row {
	float: left;
	padding: 3px 0;
	width: 100%;
	border-bottom: 1px solid #CCC;
}
.vertical_table .cell {
	float: left;
}
.clear {
	clear:both;
	display:block;
	height:1px;
	overflow:hidden;
	margin:0;
	padding:0;
}
/* clearing floats without markup (http://www.positioniseverything.net/easyclearing.html) */
.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}
.clearfix {
	display: inline-block;
}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */
/* end of clearing floats without markup */
/* Rails */
.fieldWithErrors {
	padding:2px;
	background-color:#C00;
	display: table;
}
#errorExplanation {
	border: 1px solid #C00;
	padding:5px 5px 5px 25px;
	margin:10px 0;
	background-image:url(/images/exclamation.png);
	background-repeat:no-repeat;
	background-position:5px 3px;
}
#errorExplanation h2 {
	display:none
}
#main_col #errorExplanation p {
	margin-top:0px;
	padding-top:0px;
	line-height:14px;
}
#main_col #errorExplanation ul {
	margin-top:0;
	margin-bottom:0;
}

.form_wrapper {
	margin: 10px 0;
	border: 5px solid #CDCDCD;
	padding: 10px;
}
.form_wrapper h3 {
	margin: 0 0 5px 0;
}
form .parts {
	border-top: 2px solid #CDCDCD;
	border-bottom: 1px solid #CDCDCD;
	margin: 0 0 10px 0;
}
form .part {
	margin: 5px 0 0 0;
	border-bottom: 1px solid #CDCDCD;
	padding: 0 0 5px 0;
}
form .label_wrapper {
	float: left;
	width: 150px;
	text-align: right;
	font-weight: bold;
	font-size: 12px;
	line-height: 22px;
	margin: 0;
}
form .field_wrapper {
	margin: 0 0 0 160px;
}
form .description {
	margin: -5px 0 5px 0;
}
#main_col form .message {
	margin: 3px 0 0 0;
	padding: 0;
	color: #B82A19;
}
#main_col form .buttons {
	margin: 0;
	padding: 0;
}

table#time_slips, table#clients, table#tasks {
	width: 100%;
}
td.weekend {
	background-color: #CDCDCD;
}
#main_col table td.due_date {
	border-right: 1px dotted red;
}
td.stat {
	vertical-align: bottom;
	padding: 0;
}
div.stat {
	padding: 2px 4px;
}
.bar {
	background-color: #ACBCCB;
}
.icon {
	border-width: 0;
}
#tasks .past {
	color: red;
}