@charset "UTF-8";
* {
	margin: 0;
	padding: 0;
}

/* General structural styling
 ***************************************************************************/

body {
	background: url(../images/background_tile.jpg) center #004872;
	color: #fff;
	font-family: Verdana,Geneva,Arial,Helvetica,sans-serif;
	font-size: 90%;
	text-align: center;
}

#topbar {
	background: url(../images/background_tile_dark.jpg) center;
	height: 6px;
	position: absolute;
	top: 0;
	width: 100%;
}

#wrapper {
	background: url(../images/background_gradient.jpg) top center no-repeat;
	min-height: 900px;
	margin: 0 auto;
	text-align: left;
	width: 960px;
}

/* General visual styling
 ***************************************************************************/
a {
	color: #bfd8e6;
}
a:hover {
	color: #002d36;
}
a img {
	border: 0;
}

a.link_special, a.link_special_js {
	color: #fff;
}
a.link_special_js {
	border-bottom: #7eb0cc 2px solid;
	text-decoration: none;
}
a.link_special_js span {
	color: #7eb0cc;
}
a.link_special:link, a.link_special:visited {
	border-bottom: #7eb0cc 2px solid;
	text-decoration: none;
}
a.link_special:link span, a.link_special:visited span {
	color: #7eb0cc;
}
a.link_special:hover, a.link_special:active {
	border-bottom-color: #fff;
}
a.link_special:hover span, a.link_special:active span {
	color: #fff;
}

ul.nav {
	list-style-type: none;
}

ul.nav li {
	display: inline;
}
.clear {
	clear: both;
	height: 1px;
}

/* Top section styling
 ***************************************************************************/
#top {
	height: 98px;
	padding: 6px 6px 0 6px;
	width: 948px;
}

h1 {
	float: left;
}

h1 a {
	background: url(../images/logo.png) no-repeat 0 0;
	display: block;
	height: 38px;
	margin: 30px 0;
	text-indent: -5000px;
	width: 293px;
}

#top ul.nav {
	float: right;
	line-height: 98px;
}

#top ul.nav li {
	padding: 0 12px;
	background: url(../images/nav_divider.png) no-repeat 100% 60%;
	white-space: nowrap;
}
#top ul.nav li.nav_here {
	font-weight: bold;
}

#top ul.nav li a {
	color:#fff;
	text-decoration: none;
}
#top ul.nav li a:hover {
	color: #002d36;
}

img.flickr_logo {
	margin-right: 6px;
	vertical-align: middle;
}

#top ul.nav li.nav_last {
	padding: 0 0 0 12px;
	background: none;
}

/* Banner styling
 ***************************************************************************/
#banner {
	background: no-repeat 0 0;
	cursor: pointer;
	height: 135px;
	position: relative;
	width: 960px;
}
#site_home #banner {
	height: 270px;
}
.banner_border {
	border: #fff 6px solid;
	display: block;
	height: 123px;
	width: 948px;
}
#site_home .banner_border {
	height: 258px;
}
.banner_info {
	bottom: 6px;
	padding: 12px 12px 6px 12px;
	height: 84px;
	position: absolute;
	right: 12px;
	width: 300px;
}
.banner_info_content {
	color: #002d36;
	position: absolute;
	z-index: 2;
	width: 300px;
}
.banner_info_content img.banner_thumbnail {
	float: left;
	margin-right: 12px;
}
.banner_info_content a {
	display: block;
	margin-top: 6px;
	text-decoration: none;
}
.banner_info_content a {
	color: #002d36;
}
.banner_info_background {
	background: #fff;
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

/* Tagline styling
 ***************************************************************************/
#tagline {
	background: url(../images/tagline.png) no-repeat 5px 0;
	height: 44px;
	margin-top: 30px;
	text-indent: -5000px;
	width: 960px;
}

/* subtitles
 ***************************************************************************/
h2 a {
	background-repeat: no-repeat;
	background-position: 0 0;
	display: block;
	height: 16px;
	text-indent: -5000px;
}

h2.title_about a {
	background: url(../images/subtitle_about.png);
	width: 101px;
}
h2.title_welcome a {
	background: url(../images/subtitle_welcome.png);
	width: 101px;
}
h2.title_work a {
	background: url(../images/subtitle_work.png);
	height: 22px;
	width: 138px;
}
h2.title_contact a {
	background: url(../images/subtitle_contact_me.png);
	width: 115px;
}
h2.title_latest_photos a {
	background: url(../images/subtitle_latest_photos.png);
	width: 129px;
}
h2.title_key_skills a {
	background: url(../images/subtitle_key_skills.png);
	height: 22px;
	width: 82px;
}

/* Some titles have a bigger height to fit an ascender */
#content h2.title_work, #content h2.title_key_skills {
	padding-bottom: 4px;
}

/* Content sections
***************************************************************************/
#content {
	/* Divider is 2 pixels wide to fix a very odd IE bug */
	background: url(../images/divider_white.png) repeat-x 0 0;
	margin-top: 30px;
	width: 100%;
}
#content h2 {
	background: url(../images/divider_white.png) repeat-x 0 100%;
	padding: 10px 6px 10px 6px;
}
#content p {
	margin: 10px 0 16px 6px;
}
#content .content_work p, #content .content_latest_photos p {
	margin-left: 0;
}
.content_about,
.content_work,
.content_latest_photos,
.content_left,
.content_right {
	float: left;
}
.content_about {
	width: 446px;
}
.content_work {
	width: 260px;
}
.content_latest_photos {
	width: 254px;
}
.content_left {
	width: 628px;
}
.content_right {
	width: 332px;
}
#content .content_work h2,
#content .content_work .thumbnails,
#content .content_work p,
#content .content_right h2 {
	padding-left: 24px;
}
#content .content_latest_photos h2,
#content .content_latest_photos .thumbnails,
#content .content_latest_photos p,
#content .content_right p {
	padding-left: 18px;
}
#content .content_right ul {
	margin-left: 24px;
	padding-left: 14px;
}
#content .content_right li {
	margin-top: 10px;
}

/* Thumbnails
***************************************************************************/
.thumbnails {
	margin-bottom: 16px;
}
.thumbnail {
	position: relative;
	display: block;
	float: left;
	margin-right: 6px;
	margin-top: 10px;
	text-align: center;
	width: 112px;
}
.thumbnail_border {
	border: #fff 3px solid;
	position:absolute;
}
.thumbnail_light .thumbnail_border {
	border-color: #7eb0cc;
}

/* Work page styling
 ***************************************************************************/
.work_section {
	background: url(../images/divider_white.png) repeat-x 0 0;
	padding-left: 130px;
	padding-top: 16px;
	position: relative;
}
#content .work_section p {
	margin-left: 0;
}
.work_section_image {
	border: #7eb0cc 3px solid;
	left: 0;
	position: absolute;
	top: 18px;
}
.content_key_skills ul {
	color: #bfd8e6;
	font-size: 90%;
}
 
/* Contact page styling
 ***************************************************************************/
#content p.message {
	background: url(../images/information.png) no-repeat 5px 50% #7Eb0cc;
	border: #fff 3px solid;
	color : #002d36;
	padding: 5px 3px 5px 28px;
	margin-left: 0;
}
#content p.message_confirm {
	background-image: url(../images/accept.png);
}
#content p.message_error {
	background-image: url(../images/exclamation.png);
}
form ul {
	list-style-type: none;
}
form li {
	clear: both;
	margin-top: 22px;
	padding-left: 6px;
}
form .form_required label {
	font-weight: bold;
}
form label {
	/* Divider background image is 2 pixels wide - creating a 2px line on each field */
	background: url(../images/divider_white.png) 100% 0 repeat-y;
	display: block;
	float: left;
	padding: 6px 0;
	width: 12em;
}
form span.labelgap {
	display: block;
	float: left;
	margin: 5px 0 0;
	width: 12em;
}
form label em {
	display: none;
}
form input,
form textarea,
form select {
	float: none;
	font-size: 120%;
	margin: 3px 0 4px 10px;
	width: 420px;
}
form textarea {
}
form input.submit {
	background: url(../images/email_go.png) no-repeat 5px 50% #7Eb0cc;
	border: #fff 2px solid;
	color : #002d36;
	cursor: pointer;
	padding: 5px 5px 5px 25px;
	width: auto;
}
form input.submit:hover {
	border-color: #002d36;
}
form li.form_error_field {
	border: #7eb0cc 3px solid;
	padding: 5px 3px 5px 3px;
}
#content form p.form_error em {
	display: none;
}
#content form p.form_error {
	background: url(../images/error.png) no-repeat 11px 50%;
	margin: 0 0 4px 12em;
	padding-left: 30px;
}
/* Footer styling
 ***************************************************************************/
#footer {
	background: url(../images/background_tile_dark.jpg) center #003c53;
}

#footer_wrapper {
	margin: 0 auto;
	padding: 25px 0;
	text-align: right;
	width: 960px;
	color: #80a3b1;
}

#footer p {
	font-size: 75%;
	padding: 5px 0;
}

#footer a:link, #footer a:visited {
	color: #80a3b1;
}
#footer a:hover, #footer a:active {
	color: #fff;
}

a.valid_link {
	background: url(../images/tick.png) no-repeat 0 50%;
	font-weight: bold;
	margin-left: 14px;
	padding-left: 20px;
	text-decoration: none;
}