/*********************************************************************************************************
*
* Hi there!
*
* All this here CSS is darn-tootin' mine. That means it's: 
*
* Copyright 2008 Simon Robb
* 
* Continue as you were!
*
*********************************************************************************************************/


/* Normalizes margin, padding */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre form, fieldset, input, p ,blockquote, th, td
{ margin : 0; padding : 0; }

/* Normalizes font size for headers */
h1, h2, h3, h4, h5, h6
{ font-size : 100%; }

/* Removes list-style from lists */
ol,ul
{ list-style : none; }

/* Normalizes font-style and font-weight to normal */
address, caption, cite, code, dfn, th, var
{ font-style : normal; font-weight : normal; }

/* Removes list-style from lists */
table
{ border: collapse; border-spacing : 0; }

/* Removes border from fieldset and img */
fieldset,img
{ border : 0; }

/* Left-aligns text in caption and th */
caption,th
{ text-align : left; }

/* Removes quotation marks from q */
q:before, q:after
{ content :''; }

a
{ text-decoration: none; }

/* Remove firefox quirk */
a:active, a:focus {
outline: 0
}

body {
	background: #00354b;
	font-family: "Calibri", "Helvetica Neue", "Tahoma", "Arial";
}
#bg-wrapper {
	float: left;
	position: absolute;
}
#bg {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 1440px;
	max-height: 988px;
	-moz-border-radius: 30px;
	-webkit-border-radius: 30px;
}
#ribbon {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 120px;
	height: 120px;
	background: transparent url('/img/ribbon.png');
}
#logo {
	display: blcok;
	position: absolute;
	left: 60px;
	top: 40px;
	width: 260px;
	height: 63px;
	background: transparent url('/img/logo.png');
}

/* Navigation */
#controls {
	position: absolute;
	right: 50px;
	top: 56px;
}
#navigation li {
	background: #00354b;
	height: 23px;
	float: left;
	padding: 0 10px;
	line-height: 22px;
}
#navigation a {
	color: #347691;
}
#navigation a:hover {
	color: white;
}
#navigation li.first {
	background: transparent url('/img/nav-left-cap.png') left no-repeat;
	padding: 0 10px 0 20px;
}
#navigation li.last {
	background: transparent url('/img/nav-right-cap.png') left no-repeat;
	padding: 0 20px 0 10px;
}

#search form {
	clear: both;
	padding-top: 10px;
	display: none;
}

.rounded {
	background: transparent url('/img/search-left-cap.png') left 0 no-repeat;
	padding-left: 14px;
	height: 25px;
}
.rounded input {
	background: transparent url('/img/search-right-cap.png') right 0 no-repeat;
	padding-top: 3px;
	height: 25px;
	line-height: 25px;
	border: none;
	font-family: "Calibri", "Helvetica Neue", "Tahoma", "Arial";
	font-size: 16px;
	color: #999;
}

/* Forms */
form.basic div {
	display: block;
	position: relative;
	margin-bottom: 20px;
}

form.basic label {
	display: block;
	width: 100px;
	padding-right: 20px;
	float: left;
	text-align: right;
	
	color: white;
	font-size: 18px;
	line-height: 36px;
}

form.basic input[type="text"], form.basic input[type="password"] {
	padding: 0 5px;
	border: 2px solid #127ca8;
	font-size: 28px;
	font-family: "Calibri", "Helvetica Neue", "Tahoma", "Arial";
	width: 320px;
}
form.basic textarea {
	padding: 0 5px;
	border: 2px solid #127ca8;
	font-size: 28px;
	font-family: "Calibri", "Helvetica Neue", "Tahoma", "Arial";
	width: 320px;
	height: 4em;
}

form.basic input[type="submit"] {
	padding: 0 30px;
	border: 2px solid white;
	background: #071c25;
	color: white;
	font-size: 26px;
	font-family: "Calibri", "Helvetica Neue", "Tahoma", "Arial";
	cursor: pointer;
	margin-left: 120px;
}
form.basic input[type="submit"]:hover {
	background: #074c6b;
}

form.basic .errors {
	position: absolute;
	top: 0;
	left: 480px;
	height: 37px;
	line-height: 37px;
	padding: 0 20px 0 10px;
	background: #d91f27;
	border: 1px solid #5d0a0d;
	color: white;
	font-size: 16px;
	
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}
form.basic .errors img {
	float: left;
	padding: 10px 10px 0 0;
}
form.basic .errors li {
	display: inline;
}
form.basic .errors .error-arrow {
	position: absolute;
	left: -11px;
	top: 12px;
	width: 12px;
	height: 15px;
	background: url('/img/error-arrow.gif');
}

/* Login Form */
form.login {
	width: 500px;
	margin: 0 auto;
	border: #59a8c1;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
}

/* Pages */

.page {
	display: none;
	position: absolute;
	max-width: 800px;
}
.page .header {
	display: block;
	padding-top: 20px;
	height: 100px;
}
.page .logo {
	display: block;
	width: 248px;
	padding-top: 76px;
	height: 0;
	background: url('../img/logo-blue.gif');
	overflow: hidden;
	float: left;
	cursor: pointer;
}
.page h2 {
	height: 0;
	overflow: hidden;
	float: right;
}
.contact h2 {
	background: url('/img/title-contact.gif');
	padding-top: 51px;
	width: 242px
}
.about h2 {
	background: url('/img/title-about.gif');
	padding-top:41px;
	width:203px;
}
.blog h2 {
	background: url('/img/title-blog.gif');
	padding-top:51px;
	width: 171px;
}
.recent h2 {
	background: url('/img/title-recent.gif');
	padding-top: 41px;
	width: 254px;
}

.content {
	padding-top: 20px;
}
.content p, content pre {
	margin: 0 0 15px 0;
	color: white;
	font-size: 18px;
	line-height: 28px;
}
.content h3 {
	padding-bottom: 15px;
	color: white;
	font-size: 24px;
}
.content a {
	color: #5d97ae;
}
.content a:hover {
	text-decoration: underline;
}
.content img {
	float: right;
}

/* Quite a few contact exceptions */
.contact .content {
	position: relative;
	padding-left: 120px;
}

.contact .content img {
	position: absolute;
	left: 0;
	top: 0;
	float: none;
	z-index: -1;
}
.contact p {
	margin-bottom: 0;
}
.contact form {
	margin-top: 60px;
}

/* And a few recent work exceptions */
.recent .content li {
	min-height: 200px;
}
.recent .content img {
	float: left;
	margin-right: 20px;
}
.recent .content p {
	padding-left: 220px;
}

/* Recent posts */
.calendar {
	position: relative;
	width: 43px;
	height: 50px;
	float: left;
	margin: 3px 15px 0 0;
	background: url('/img/post-calender.gif');
}
.calendar .number {
	position: absolute;
	width: 42px;
	left: 0;
	top: 2px;
	margin: 0;
	font-size: 28px;
	line-height: 28px;
	color: #A91E22;
	text-align: center;
}
.calendar .month {
	position: absolute;
	width: 42px;
	left: 0;
	top: 34px;
	margin: 0;
	font-size: 14px;
	line-height: 14px;
	color: #8f7c2f;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.posts h3 {
	font-size: 24px;
	padding-bottom: 0;
}
.posts .date {
	margin-top: -6px;
	color: #5d97ae;
	margin-bottom: 0;
}
.posts {
	display: block;
}
.posts li {
	display: block;
	border-top: 1px solid #0b465d;
	padding-left: 12px;
}
.posts li:first-child {
	border-top: none;
}
.posts a {
	display: block;
	padding: 20px 0;
}
.posts a:hover {
	text-decoration: none;
}