* { margin: 0; padding: 0 }

body {
	background: url('images/background.png') top center repeat-x;
	color: #505050;
	font: 70%/100% Verdana, Geneva, sans-serif;
}

a:link, a:visited {
	color: #900;
	text-decoration: underline;
}
a:focus, a:hover, a:active {
	color: #f90;
}

a img {
	border: 0;
}

img {
	vertical-align: bottom;
}

address {
	font: 1em/1.5em "Lucida Sans Unicode", "Lucida Grande", sans-serif;
	padding: 0 10px;
}

#container {
	width: 950px;
	margin: 0 auto;
}

/* content */
#content {
	width: 749px;
	float: left;
	line-height: 1.75em;
}

#content h2 {
	font: normal 1.5em Georgia, "Times New Roman", Times, serif;
	margin-bottom: 10px;
	color: #069;
}

#content h3 {
	font: bold 1.2em Verdana, Geneva, sans-serif;
	margin: 30px 0 10px 0;
}

#content p {
	margin: 0 15px 10px 10px;
}

#content ul {
	padding: 0 40px;
	margin-bottom: 10px;
}

#content .section {
	padding-bottom: 30px;
}

#content .table {
	margin: 20px 40px 20px 20px;
}

#content .error {
	border: 1px solid #CC7F7F;
	padding: 10px;
	background: #EBCCCC;
	color: #000;
	margin: 10px;
}

#content .success {
	border: 1px solid #40B340;
	padding: 10px;
	background: #BFE5BF;
	color: #000;
	margin: 10px;	
}

#content table {
	width: 100%;
	border: 0;
	caption-side: bottom;
	border-collapse: collapse;
}
#content table td, #content table th {
	border: 3px solid #fff;
}

#content .tablecaption {
	text-align: left;
	border-top: 2px solid #33596d;
	margin: 0 2px;
	font-size: 0.9em;
	padding: 3px;
}

#content table th {
	padding: 5px 10px;
	text-align: left;
	background: #668ca0 url('images/th.png') top left repeat-x;
	color: #fff;
}

#content table td {
	padding: 4px 9px;
	background-color: #efefef;
}

#content table tr:hover td {
	background: #668ca0;
	color: #fff;
}

#header {
	height: 155px;
	position: relative;
	margin-bottom: 25px;
}

h1 {
	width: 190px;
	height: 43px;
	position: absolute;
	top: 50px;
	left: 0;
}
h1 a {
	display: block;
	height: 43px;
	line-height: 1000px;
	overflow: hidden;
	background: url('images/logo.png') top left no-repeat;
}
h1 a:hover {
	background-position: 0 -43px;
}

#nav {
	position: absolute;
	top: 120px;
	left: 0;
	height: 35px;
	list-style: none;
	background: #ccc;
}
#nav li {
	float: left;
	display: inline;
}
#nav li a {
	display: block;
	height: 35px;
	line-height: 1000px;
	overflow: hidden;
	background: url('images/nav.png') top left no-repeat;
}
#nav #nav_home a { width: 66px; }
#nav #nav_home.current a, #nav #nav_home a:hover { background-position: 0 -35px }
#nav #nav_blog a { width: 143px; background-position: -66px 0 }
#nav #nav_blog.current a, #nav #nav_blog a:hover { background-position: -66px -35px }
#nav #nav_about a { width: 70px; background-position: -209px 0 }
#nav #nav_about.current a, #nav #nav_about a:hover { background-position: -209px -35px }
#nav #nav_portfolio a { width: 83px; background-position: -279px 0 }
#nav #nav_portfolio.current a, #nav #nav_portfolio a:hover { background-position: -279px -35px }
#nav #nav_rates a { width: 120px; background-position: -362px 0 }
#nav #nav_rates.current a, #nav #nav_rates a:hover { background-position: -362px -35px }
#nav #nav_contact a { width: 78px; background-position: -482px 0 }
#nav #nav_contact.current a, #nav #nav_contact a:hover { background-position: -482px -35px }

#sidebar {
	font-size: 0.9em;
	line-height: 1.75em;
	float: right;
	width: 185px;
	border-left: 1px solid #ccc;
	padding: 15px 0 5px 15px;
	margin-bottom: 50px;
}

#sidebar h2 {
	font: bold 1.2em Verdana, Geneva, sans-serif;
	margin-bottom: 10px;
}

#sidebar p {
	margin-bottom: 10px;
	padding: 0 5px;
}

#sidebar address {
	margin-bottom: 10px;
}

#sidebar .section {
	padding-bottom: 15px;
}

.workload a {
	cursor: help;
	display: block;
	width: 170px;
	height: 30px;
	line-height: 1000px;
	overflow: hidden;
	background: url('images/workload.png') top left no-repeat;
}
.workload.wl_moderate a { background-position: 0 -30px; }
.workload.wl_heavy a { background-position: 0 -60px; }

.help {
	cursor: help;
	border-bottom: 1px dashed #505050;
}

.right { float: right }
.left { float: left }
.clear { clear: both }

.photo {
	margin: 14px 10px 10px 14px;
	background: #fff url('images/dropshadow.png') bottom right no-repeat;
	position: relative;
}
.photo img {
	display: block;
	margin: -4px 11px 11px -4px;
}
.photo span {
	display: none;
	position: absolute;
	bottom: 11px;
	background: #fff;
	padding: 5px;
}
.photo:hover span {
	display: block;
}

.portfolio {
	position: relative;
	margin: 20px 20px 40px 20px;
}
.portfolio .description {
	width: 485px;
}
.portfolio .picture {
	margin: 0 0 20px 0;
	width: 210px;
}
.portfolio h4 {
	font-size: 1.5em;
	margin-bottom: 10px;
	border-bottom: 1px dotted #999;
	border-top: 1px dotted #999;
	padding: 10px 10px;
	font-weight: normal;
}
.portfolio h4 a:link, .portfolio h4 a:visited {
	text-decoration: none;
	color: #069;
}
.portfolio h4 a:hover, .portfolio h4 a:hover, .portfolio h4 a:active {
	color: #000;
}
.p_right .picture { float: right; display: inline; clear: right }
.p_left .picture { float: left; display: inline; clear: left }
.p_right .description { float: left }
.p_left .description { float: right }

.greybox {
	padding: 3px 8px;
	border: 1px solid #ccc;
	background: #efefef;
}

.gallery {
	margin: 10px;
}
.picture {
	margin: 10px;
	width: 210px;
}
.picture img {
	border: 1px solid #999;
	padding: 4px;
	background: #fff;
}
.picture a:hover img {
	border-color: #333;
}
#content .picture span {
	display: block;
	margin: 0;
	font-size: 0.8em;
	text-align: center;
	padding-top: 5px;
	line-height: 1.3em;
}

.center {
	text-align: center;
}

.stapler {
	float: left;
	margin: 10px;
	width: 192px;
	height: 110px;
	overflow: hidden;
}

.promo {
	background: #f3f3f3;
	border: 1px dashed #ccc;
	margin: 20px 15px;
}
.promo .content {
	float: right;
	width: 526px;
	padding: 10px 10px 0 10px;
}
.promo .icon {
	width: 150px;
	height: 150px;
	padding: 10px;
	float: left;
	background: #fff;
	border-right: 1px dashed #ccc;
}
.promo .date {
	font-style: italic;
}
.promo .savings {
	color: #090;
}

#announcements {
	width: 300px;
	float: right;
	border-bottom: 1px solid #ccc;
	margin: 10px 15px 15px 15px;
	background: #f0f0f0 url('images/panelback.png') bottom right no-repeat;
	font-size: 0.9em;
	line-height: 1.5em;
}
#content #announcements h2 {
	height: 30px;
	background: #668ca0 url('images/announcements.png');
	color: #fff;
	text-indent: -350px;
	overflow: hidden;
}

.announcement .content {
	float: right;
	width: 227px;
}
#announcements .footer {
	clear: both;
	padding: 5px;
	text-align: right;
	border-top: 1px dotted #ccc;
}

#content .announcement .content p {
	margin: 0 10px 15px 0;
}

.calendar {
	float: left;
	display: inline;
	width: 35px;
	height: 45px;
	background: #fff url('images/date.png');
	line-height: 12px;
	text-align: center;
	padding: 8px 10px 10px 8px;
	margin: 0 10px;
}
.calendar span {
	display: block;
	font-size: 1.8em;
	line-height: 21px;
	color: #668ca0;
}

#content .promo h3 {
	margin: 0;
	color: #069;
}
#content .promo p {
	margin: 0 0 10px 0;
	padding: 0;
	font-size: 0.9em;
}

#contactform {
	margin: 20px 0;
}
#contactform input, #contactform textarea {
	padding: 2px;
	font: 1em Verdana, Geneva, sans-serif;
}
#contactform p {
	margin-bottom: 15px;
}

#footer {
	font-size: 0.8em;
	clear: both;
	border-top: 1px solid #999;
	padding-bottom: 50px;
}
#footer p {
	padding: 10px;
}

#backdrop {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url('images/backdrop.png');
}
#popup {
	width: 500px;
	height: 350px;
	background: #fff;
	position: fixed;
	top: 50%;
	left: 50%;
	margin: -175px 0 0 -250px;
}
#popup #helpbar {
	height: 21px;
	background: url('images/helpbar.png');
}

/* forms */
fieldset {
	border: 0;
	padding: 10px 0;
}