/**
	CSS Reset provided by Yahoo!
**/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { margin:0; padding:0; }
table { border-collapse:collapse; border-spacing:0; }
fieldset,img { border:0; }
caption,th { text-align:left; }
q:before,q:after { content:''; }
abbr,acronym { border:0; }



/**
	Basic page setup, HTML elements and typography
**/
body {
	color: #333;
	background: #FFFFFF;
	font-family: Helvetica, Arial, Verdana, Sans-Serif;
	font-size: 17px;
	line-height: 150%;
}

h1 {
	margin: .5em 0;
	color: #000;
	font-size: 20px;
	font-weight: bold;
	line-height: 135%;
}

h2 {
	margin: .5em 0;
	font-size: large;
	font-weight: bold;
	line-height: 135%;
}

h3 {
	margin: .5em 0;
	font-size: medium;
	font-weight: bold;
	line-height: 135%;
}

h4 {
	margin: .5em 0;
	font-size: small;
	font-weight: bold;
	line-height: 135%;
}

h5,
h6 {
	margin: .5em 0;
	font-size: x-small;
	font-weight: bold;
	line-height: 135%;
}

p,
ul,
ol,
table {
	margin: 1.2em 0;
	font-weight: normal;
}

	ul li {
		margin-left: 2em;
		padding-left: .3em;
		list-style-position: outside;
		list-style: disc;
	}
	
	ol li {
		margin-left: 2.3em;
		list-style-position: outside;
		list-style: decimal;
	}

a:link {
	color: #073E7F;
	text-decoration: underline;
}

a:visited {
	color: #451549;
	text-decoration: underline;
}

a:hover,
a:active {
	color: #1F6BC8;
	text-decoration: none;
}
	
	a img {
		border: 0;
	}

dt,
th {
	font-weight: bold;
}

dt {
	margin-top: 1em;
}

dd {
	margin-bottom: 1em;
}

em {
	font-style: italic;
}

strong {
	font-weight: bold;
}

label {
	display: block;
	font-family: georgia;
	font-weight: normal;
	font-size: medium;
}

blockquote,
blockquote p,
q {
	color: #666;
	font-family: georgia;
	font-style: italic;
}

input[type=text],
input[type=date],
input[type=datetime],
input[type=email],
textarea {
	width: 96%;
	margin: 0;
	padding: 2px 4px;
	background: #F7F7F7;
	border: 2px solid #CCC;
	font-size: x-large;
}

input[type=text]:focus,
input[type=date]:focus,
input[type=datetime]:focus,
input[type=email]:focus,
textarea:focus {
	background-color: #FFF;
	border-color: #BBB;
}

textarea {

}
	
.left {
	float: left;
	margin: 0 10px 5px 0;
}

.right {
	float: right;
	margin: 0 0 5px 10px;
}

.center {
	text-align: center;
}

img.left,
img.right {
	border: 2px solid #EEE;
}

table {
	width: 100%;
	border-bottom: 2px solid #CCC;
}

th,
td {
	padding: 3px 10px;
	border-top: 2px solid #CCC;
	border-left: 1px solid #CCC;
}

th:first-child,
td:first-child {
	border-left: 0;
}

.sibling th,
.sibling td {
	border-top-width: 0px;
}

tr:nth-child(odd) { background-color:#eee; }
tr:nth-child(even) { background-color:#fff; }

th .icon,
td .icon {
	margin-right: 5px;
	margin-bottom: -3px;
}

thead th {
	background: #CCC -webkit-gradient(linear, left top, left bottom, from(#EEE), to(#CCC));
	border-bottom: 2px solid #AAA;
}

blockquote {
	padding: 5px 20px;
	background: #F7F7F7;
	border-top: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
}

hr {
	border: 0;
	border-top: 1px solid #CCC;
}



/**
	Page layout
**/
body {
	background: #FFF;
}

	#page {
		position: relative;
	}
	
	
	
#masthead {
	position: relative;
	min-width: 600px;
	height: 178px;
	background: #000 url(../images/masthead.jpg) no-repeat top center;
	z-index: 95;
}

	#title {
		position: relative;
		width: 100%;
		height: 140px;
		margin: 0 auto;
		text-align: center;
		overflow: hidden;
	}
	
	#mainmenu {
		position: relative;
		width: 500px;
		height: 46px;
		margin: -4px auto -3px auto;
		overflow: hidden;
	}
	
		#mainmenu ul {
			margin: 0;
			padding: 0;
		}
		
			#mainmenu ul li {
				float: left;
				margin: 0;
				padding: 0;
				list-style: none;
			}
			
				#mainmenu ul li a:link,
				#mainmenu ul li a:visited {
					display: block;
					color: #555;
					background-repeat: no-repeat;
					background-position: 0 -46px;
					text-decoration: none;
					outline: none;
					text-indent: -9999px;
				}
				
				#mainmenu ul li a:hover,
				#mainmenu ul li a:active {
					background-position: 0 -92px;
				}
				
				#mainmenu ul li.active a:link,
				#mainmenu ul li.active a:visited {
					background-position: 0 0;
				}
				


#mainmenuhome a:link,
#mainmenuhome a:visited {
	width: 87px;
	height: 46px;
	background-image: url(../images/btn.home.png);
}

#mainmenuportfolio a:link,
#mainmenuportfolio a:visited {
	width: 120px;
	height: 46px;
	background-image: url(../images/btn.portfolio.png);
}

#mainmenublog a:link,
#mainmenublog a:visited {
	width: 78px;
	height: 46px;
	background-image: url(../images/btn.blog.png);
}

#mainmenuabout a:link,
#mainmenuabout a:visited {
	width: 90px;
	height: 46px;
	background-image: url(../images/btn.about.png);
}

#mainmenucontact a:link,
#mainmenucontact a:visited {
	width: 112px;
	height: 46px;
	background-image: url(../images/btn.contact.png);
}
	
	
	
#body {
	position: relative;
	margin: 0 auto;
	z-index: 99;
}

	#content {
		min-width: 570px;
		padding: 0 15px;
	}
	
		#container {
			position: relative;
			word-wrap: break-word;
		}
		
		#container:after {
		    content: ".";
		    display: block;
		    height: 0;
		    clear: both;
		    visibility: hidden;
		}
		
			#container h1 {
				position: relative;
				margin: 0 -15px 20px -15px;
				padding: 10px 20px;
				background: #F7F7F7 -webkit-gradient(linear, left top, left bottom, from(#FFFFFF), to(#DDDDDD));
				border: 1px solid #CCC;
				border-left: 0;
				border-right: 0;
				font-family: georgia;
				font-weight: normal;
			}
			
			h1 .date {
				display: block;
				float: right;
				clear: right;
				margin: -.1em 0 0 0;
				padding: 0;
				color: #999;
				font-size: 11px;
			}
			
			h1 .permalink {
				margin-left: 3px;
			}
			
			#container h2 {
				padding: 5px 0;
				border-bottom: 3px dotted #DDD;
				font-family: georgia;
				font-weight: normal;
				text-transform: uppercase;
			}
			
			#container blockquote h2 {
				border-width: 0;
			} 
						
			#post_more a,
			input[type=button],
			input[type=submit],
			input[type=reset] {
				display: block;
				margin: 2em 0 0 0;
				padding: 5px 10px;
				color: #000;
				background: #F7F7F7 -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#F7F7F7));
				border: 1px solid #DDD;
				border-right-color: #BBB;
				border-bottom-color: #BBB;
				border-radius: 3px;
				-moz-border-radius: 3px; 
				-webkit-border-radius: 3px;
				text-align: center;
				font-family: georgia;
				font-size: x-large;
				text-transform: lowercase;
				text-decoration: none;
				cursor: pointer;
			}
			
			#post_more a:hover,
			input[type=button]:hover,
			input[type=submit]:hover,
			input[type=reset]:hover {
				color: #1F6BC8;
				background: #F7F7F7 -webkit-gradient(linear, left top, left bottom, from(#F7F7F7), to(#FFF));
				border-color: #999;
				border-right-color: #BBB;
				border-bottom-color: #BBB;
				text-decoration: underline;
			}
			
			#blog_content_characters {
				float: right;
				color: #666;
				margin-top: -1em;
			}
			
			div#blog_content_characters+p {
				clear: both;
			}
			
				.negative #blog_content_character_count {
					color: #CC0000;
				}
				
			.conversation {
				margin: 30px 0 50px 0;
				padding: 0 10px;
				color: #666;
				border-top: 3px dotted #DDD;
				font-family: georgia;
				font-size: 10px;
				text-align: center;
			}
			
				.conversation p {
					margin: 0;
					padding: 7px 0;
					line-height: 135%;
					text-align: center;
				}
				
			#contact_general {
				float: none;
				width: auto !important;
			}
	
			#contact_form {
				float: none;
				margin: 40px 0 0 0;
				width: auto !important;
			}
			
				#contact_form input[type=text],
				#contact_form input[type=date],
				#contact_form input[type=email],
				#contact_form textarea {
					width: 96%;
					margin: 0;
					font-size: x-large;
				}
				
	#work {
		margin-top: -20px !important;
	}
				
	.work {
		margin: 0 -15px 0 -15px;
		padding: 5px 20px;
		color: #999;
		background: #333;
		background: -webkit-gradient(linear, left top, left bottom, from(#333333), to(#444444));
		background: -moz-linear-gradient(top, #333333, #444444);
		border-top: 1px solid #666;
		border-bottom: 1px solid #333;
		cursor: pointer;
		text-align: left;
	}
	
	.work:hover,
	.work.selected {
		background: #111;
		background: -webkit-gradient(linear, left top, left bottom, from(#222222), to(#000000));
		background: -moz-linear-gradient(top, #222222, #000000);
		border-top-color: #444;
		border-bottom-color: #111;
	}
	
		.work .mark {
			float: left;
			margin: .7em 1em 0 0;
		}
	
		.work h2 {
			margin: .5em 0 0 0;
			padding: 0;
			color: #FFF;
			border-width: 0 !important;
			font-weight: normal;
		}
		
			.work h2 .date {
				float: right;
				color: #777;
				font-weight: normal;
				font-size: x-small;
			}
			
		.work .intro {
			margin: .3em 0 .7em 0;
			color: #999;
			line-height: 140%;
			font-size: x-small;
		}
		
		.work .extended {
			display: none;
			margin: 15px 0 0 0;
			border-top: 1px solid #212121;
			cursor: default;
		}
		
			.thumbnails {
				margin: 1.5em 0 0 0;
			}
			
			.thumbnails:after {
			    content: ".";
			    display: block;
			    height: 0;
			    clear: both;
			    visibility: hidden;
			}
			
				.thumbnails ul {
					position: relative;
					display: block;
					width: 560px;
					height: 120px;
					margin: 0;
					padding: 0;
				}
			
				.thumbnails ul:after {
				    content: ".";
				    display: block;
				    height: 0;
				    clear: both;
				    visibility: hidden;
				}
			
					.thumbnails ul li {
						display: block;
						float: left;
						margin: 0;
						padding: 0;
						list-style: none;
					}
					
	#linkedinprofile {
		margin: 30px 0 10px 0;
		padding: 10px 20px;
		border: 1px solid #CCC;
		border-radius: 3px;
		-moz-border-radius: 6px; 
		-webkit-border-radius: 6px;
	}
	
	#linkedinprofile:after {
	    content: ".";
	    display: block;
	    height: 0;
	    clear: both;
	    visibility: hidden;
	}
	
		#linkedinprofile p {
			margin: 0;
		}
		
		#linkedinprofile p.intro {
			float: left;
			width: 350px;
		}
		
		#linkedinprofile p.button {
			float: right;
			width: 160px;
			padding: 5px 0 0 0;
		}
					
	
					
	tr.shorturl td {
		vertical-align: top;
	}
	
	tr.shorturl td:last-child {
		max-width: 460px;
		overflow-x: hidden;
	}				
					
	tr.shorturl td,
	tr.shorturl td a {
		white-space: pre-wrap;
		white-space: -moz-pre-wrap;
		white-space: -pre-wrap;
		white-space: -o-pre-wrap;
		word-wrap: break-word;
	}
	
.ipaddress,
p.ipaddress {
	font-size: 72px;
	font-weight: bold;
	text-align: center;
}
	
/* Video Content Layout */
.video,
.borderless {
	position: relative;
	display: block;
	margin: 0 -15px;
	padding: 0;
	background: #777;
	text-align: center;
}

	.video img,
	.borderless img {
		position: relative;
		vertical-align: bottom;
	}



/* messages */
.message_error,
.message_warning,
.message_information,
.message_success {
	margin: 1em 0;
	padding: 5px 10px;
	background: #FFCCCC;
	border: 2px solid #CC0000;
}

	.message_error ul,
	.message_warning ul,
	.message_information ul,
	.message_success ul {
		margin: 0;
		padding: 0;
	}
	
		.message_error ul li,
		.message_warning ul li,
		.message_information ul li,
		.message_success ul li {
			margin: 3px 0 3px 20px;
		}
		
.message_warning {
	background: #FFFFCC;
	border-color: #EEEE00;
}

.message_information {
	background: #EEEEFF;
	border-color: #0099CC;
}

.message_success {
	background: #CCFF99;
	border-color: #33CC00;
}
		
		

	
	
	
#footer {
	min-width: 600px;
	padding: 0;
	margin: 30px auto;
	border-top: 3px solid #CCC;
}

#footer:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

	#copyright {
		float: left;
		width: 218px;
		margin: 28px 0 0 33px;
		padding: 0;
	}

	#mediatemple {
		float: right;
		width: 42px;
		margin: 27px 38px 0 0;
		padding: 0;
	}
	
	#blog_search {
		float: right;
		margin: 27px 70px 0 0;
	}
	
		#blog_search_keywords {
			width: 160px;
		}