/* UNIVERSAL ELEMENTS */

a, a:visited, a:active {
	color: #004d80;
}

a:hover {
	color: #009dff;
}

body {
	background: #51bcff url(/img/gradient.gif) repeat-x;
	color: #000000;
	font-family: Arial, serif;
	font-size: 14px;
	height: 100%;
	line-height: 18px;
}

blockquote {
  font-style: italic;
  margin: 0 15px;
}

dl dt {
	font-weight: bold;
}

dl dd {
	margin-bottom: 18px;
}

form {
	font-size: 11px;
	color: #555555;
	margin-bottom: 8px;
}

form input, form textarea {
	border-color: #c8c8c8;
	border-style: solid;
	border-width: 1px;
}

form input[type=submit] {
	border: 1px solid #c8c8c8;
	color: #333;
	background: #86d0ff url(/img/nav-main.gif) -1px -1px;
}

h1 {
	font-size: 18px;
	line-height: 20px;
	padding-bottom: 19px;
}

h2 {
	font-size: 16px;
	line-height: 18px;
	padding-bottom: 18px;
}

h3 {
	font-size: 14px;
	line-height: 16px;
	padding-bottom: 18px;
}

hr {
	background: #51bcff url(/img/nav-main.gif) -1px -5px;
	border: 1px solid #969696;
	height: 6px;
	margin: 0 auto 18px auto;
	width: 85%;
}

p {
	padding-bottom: 18px;
}

ul {
	list-style: disc;
	margin-left: 15px;
	padding-bottom: 18px;
}

ol {
	margin-left: 20px;
	padding-bottom: 18px;
}

code {
  background: #c8c8c8;
}

/* GENERIC STYLES */

.clear {
	clear: both;
}

.center {
	text-align: center;
}

.fine-print {
	font-size: 12px;
}

.no-padding {
	padding-bottom: 0px;
}

ul.with-padding li {
	padding-bottom: 18px;
}

/* STRUCTURE */

#bottom-edge {
	background: url(/img/bottom_edge.gif) no-repeat;
	clear: both;
	height: 21px;
	margin: auto;
	width: 764px;
}	

#branding {
	padding: 14px 15px 7px 15px;
}

#bucket {
	background: #ffffff;
	float: left;
	width: 740px;
}

#container {
	background: url(/img/background_simple.gif);
	margin: auto;
	overflow: hidden;
	width: 776px;
}

#content {
	margin: 23px 0 18px;
	min-height: 360px;
	padding: 0px 15px 0px 15px;
}

#content section.main.left {
	float: left;
	width: 396px;
}

#content section.main.right {
	background: #bce1fa;
	border-radius: 4px;
	float: right;
	font-size: 12px;
	margin-top: 39px;
	-moz-border-radius: 4px;
	padding: 18px;
	-webkit-border-radius: 4px;
	width: 248px;
}

#content section.sub.left {
	float: left;
	width: 476px;
}

#content section.sub.right {
	background: #c8c8c8;
	border-radius: 4px;
	float: right;
	-moz-border-radius: 4px;
	padding: 18px 0 0 20px;
	-webkit-border-radius: 4px;
	width: 184px
}

#content section.sub.right a {
	color: #000000;
	display: block;
}

#content section.sub.right a:hover {
	background: #a6a6a6;
}

#left-edge {
	background: url(/img/left_edge.gif);
	float: left;
	height: 600px;
	width: 18px;
}

#right-edge {
	background: url(/img/right_edge.gif);
	float: left;
	height: 600px;
	width: 18px;
}

#search {
	color: #969696;
	float: right;
	font-size: 10px;
}

/* FOOTER */

footer {
	font-size: 12px;
	margin: 0 15px;
}

footer hr {
	background: #ffffff;
	border: 1px solid #000000;
	border-left: 0px;
	border-right: 0px;
	height: 3px;
	margin-bottom: 9px;
	width: 710px;
}

footer p.copyright {
	font-size: 11px;
	text-align: center;
}

/* LOGO */

#branding header {
	background: url(/img/logo.gif);
	float: left;
	height: 41px;
	text-indent: -9999px;
	width: 220px;
}

#branding header a {
	display: block;
	height: 41px;
	width: 220px;
}

/* LOGIN */

#login {
	float: right;
}

#login fieldset {
	float :left;
	margin-left: 9px;
}

#login li {
	list-style: none;
	padding-bottom: 3px;
}

#login label {
	display: inline-block;
	width: 53px;
}

#login input {
	width: 142px;
}

#login input[type=submit] {
	width: auto;
}

/* NAV */

nav {
	background: #51bcff url(/img/nav-main.gif);
	border-bottom: 10px solid #969696;
	clear: both;
	font-family: "Trebuchet MS", Arial, sans-serif;
	height: 27px;
	margin: 55px 0 0 13px;
	width: 712px;
}

nav a, nav a:visited, nav a:active {
	color: #000;
	text-decoration: none;
	-webkit-transition: color .25s linear;
}

nav a:hover {
	color: #fff;
	text-shadow: 1px 1px 1px #000, -1px -1px 1px #000, -1px 1px 1px #000, 1px -1px 1px #000;
}

nav ul {
	float: left;
	padding: 0;
	position: relative;
	text-align: center;
}

nav ul li {
	float: left;
	font-size: 16px;
	font-weight: bold;
	padding: 3px 14px 0;
	position: relative;
	text-align: center;
}

nav ul li.current a, nav ul li.current a:visited {
	color: #fff;
	text-shadow: 1px 1px 1px #000, -1px -1px 1px #000, -1px 1px 1px #000, 1px -1px 1px #000;
	-webkit-animation: pulse 5s linear 0 infinite alternate;
}

@-webkit-keyframes pulse {
	from {
		color: #fff;
	}
	
	80% {
		color: #8ed3ff;
	}
	
	to {
		color: #42b5ff;
	}
}

nav.sub {
	background: #c8c8c8;
	border: 1px solid #969696;
	border-radius: 0 0 4px 4px;
	border-top: 0;
	height: 22px;
	margin: -10px auto 0;
	-moz-border-radius-bottomleft: 4px;
	-moz-border-radius-bottomright: 4px;
	padding: 0;
	-webkit-border-bottom-left-radius: 4px;
	-webkit-border-bottom-right-radius: 4px;
	-webkit-animation: slidedown .7s linear 0 1;
	width: 670px;
}

@-webkit-keyframes slidedown {
	from {
		height: 1px;
	}
	
	to {
		height: 22px;
	}
}

nav.sub a, nav.sub a:visited, nav.sub a:active {
	color: #000000;
	padding: 0px 10px;
	text-decoration: none;
	text-shadow: none;
	-webkit-animation: fadein 1s linear 0 1;
}

@-webkit-keyframes fadein {
	from {
		opacity: 0;
	}
	
	80% {
		opacity: 0;
	}
	
	to {
		opacity: 1;
	}
}

nav.sub a:hover, nav.sub a.current, nav.sub a.current:visited {
	border-left: 1px dashed #6a6a6a;
	border-right: 1px dashed #6a6a6a;
	padding: 0px 9px;
}

nav.sub ul {
	left: 50%;
	margin: 0;
}

nav.sub ul li {
	font-size: 14px;
	font-weight: normal;
	left: -50%;
	padding: 2px 15px;
}

/* FLASH MESSAGES */

.flash {
	border: 1px solid #000;
	margin-bottom: 18px;
	padding: 10px;
}

.notice {
	background: #c8c8c8;
}

.error {
	background: #a10000;
	color: #fff;
}

.success {
	background: #45c145;
}

/* SIDEBAR */

#content section.main.right img {
	vertical-align: bottom;
}

#content section.main.right h2 {
	padding: 0;
}

#content section.main.right p {
	margin-left: 25px;
}

#content section.right ul {
	list-style: none;
	margin: 0;
}

#content section.right ul li {
	padding-bottom: 9px;
}

#content section.sub.right ul {
	font-weight: bold;
	line-height: 20px;
	margin-right: 14px;
	padding-bottom: 18px;
}

#content section.sub.right ul li {
	padding: 0;
}

/* TWITTER */

#twitter img {
	border: 1px solid #a6a6a6;
	margin-bottom: 2px;
}

/* PORTFOLIO */

section.portfolio article {
	float: left;
	margin-bottom: 18px;
	text-align: center;
	width: 231px;
}

section.portfolio article.new-row {
	clear: left;
	float: left;
}

section.portfolio article header {
	font-weight: bold;
	padding-bottom: 9px;
}

section.portfolio article header a {
	text-decoration: none;
}

section.portfolio article img {
	border: 1px solid #000;
}

section.project section.image {
	float: left;
	margin-right: 9px;
	text-align: center;
}

section.project section.image img {
	border: 1px solid #000;
}

section.project hr {
	background: none;
	border: 0;
	color: #fff;
	clear: both;
}

section.project aside {
	background: #c8c8c8;
	border-radius: 4px;
	float: right;
	margin: 0 0 9px 9px;
	-moz-border-radius: 4px;
	padding: 18px;
	-webkit-border-radius: 4px;
	width: 182px;
}

/* BLOG */

#articles article {
	background-color: #b7e0fa;
	border: 1px solid #000;
	border-radius: 0 0 4px 4px;
	margin-bottom: 36px;
	-moz-border-radius-bottomleft: 4px;
	-moz-border-radius-bottomright: 4px;
	position: relative;
	-webkit-border-bottom-left-radius: 4px;
	-webkit-border-bottom-right-radius: 4px;
}

#articles article header {
	border-bottom-color: #000;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	background-color: #51bcff;
	background-repeat: repeat-y;
	padding: 9px;
	background-image: url(/img/blog_title_bar.gif);
	font-size: 16px;
	font-weight: bold;
}

#articles article header a {
	color: #000;
}

#articles article .byline, section.toolbar {
	color: #222;
	font-size: 12px;
}

#articles article section aside {
	background: #c8c8c8;
	border: 1px solid #000;
	border-radius: 4px;
	float: right;
	font-size: 12px;
	margin-left: 9px;
	-moz-border-radius: 4px;
	padding: 10px;
	-webkit-border-radius: 4px;
	width: 182px;
}

#articles article section .tags {
	font-size: 12px;
	padding: 0;
} 

#articles article section.toolbar {
	clear: both;
}

#articles article section.toolbar div {
	float: left;
}

#articles article section.toolbar .share {
	float: right;
}

section.toolbar .share img {
	padding-bottom: 5px;
	vertical-align: middle;
}

#articles article .text {
	padding-right: 40px;
}

#articles article .timestamp {
	padding-top: 3px;
	background-repeat: no-repeat;
	background-image: url(/img/blog_calendar.gif);
	height: 50px;
	width: 50px;
	text-align: center;
	font-size: 12px;
	top: -9px;
	right: -9px;
	position: absolute;
}

#articles article .timestamp time {
	line-height: 21px;
	white-space: pre;
}

#articles article > section {
	margin: 9px;
}

#articles article section img.icon {
	padding-right: 3px;
	vertical-align: middle;
}

/* SCREENCASTS */

#articles article section .notes {
	display: none;
}

/* COMMENTS */

#comments article {
	background-color: #c8c8c8;
	border: 1px solid #000;
	border-radius: 0 0 4px 4px;
	margin-bottom: 36px;
	-moz-border-radius-bottomleft: 4px;
	-moz-border-radius-bottomright: 4px;
	position: relative;
	-webkit-border-bottom-left-radius: 4px;
	-webkit-border-bottom-right-radius: 4px;
}

#comments article a {
	color: #000;
}

#comments article header {
	padding: 9px;
	background-color: #969696;
	background-image: none;
	font-size: 12px;
	font-weight: bold;
	border-bottom-color: #000;
	border-bottom-style: solid;
	border-bottom-width: 1px;
}

#comments article .toolbar {
	color: #222;
	font-size: 12px;
	margin: 0;
	padding-bottom: 0;
}

#comments article header .timestamp {
	float: right;
	font-weight: normal;
	text-align: right;
}

#comments article section {
	margin: 9px;
}

#comments article.admin {
	background-color: #b7e0fa;
	margin-bottom: 36px;
	position: relative;
	border-color: #000;
	border-style: solid;
	border-width: 1px;
}

#comments article.admin header {
	padding: 9px;
	background-color: #51bcff;
	background-image: url(/img/blog_title_bar.gif);
	font-size: 12px;
	border-bottom-color: #000;
	border-bottom-style: solid;
	border-bottom-width: 1px;
}

/* FORMS */

form.formatted label {
	clear: left;
	float: left;
	font-style: italic;
	margin-bottom: 9px;
	text-align: right;
	width: 50px;
}

form.formatted label.required {
	font-style: normal;
	font-weight: bold;
}

form.formatted input, form.formatted textarea {
	float: left;
	margin: 0 0 9px 15px;
	width: 250px;
}

form.formatted textarea {
	height: 200px;
}

form.formatted input[type=submit] {
	clear: left;
	margin-left: 65px;
	width: auto;
}

form.formatted ul.validation-errors {
	color: #f00;
	clear: left;
	list-style: disc;
	margin-left: 80px;
}

form.formatted .pot {
	display: none;
}

form .flash {
	font-size: 14px;
}