* {margin:0;padding:0;border:none;}
html {
	min-height: 100%;
	height: auto;
}

body {
	background: url('../img/bg-page-bottom.png') repeat-x left bottom #faf8f3;
	color:#666;
	font:62.5% Arial, Helvetica, sans-serif;
	min-width:980px;
	text-align:center;
}

acronym, abbr {
	border-bottom:1px dotted;
	cursor:help;
}

/* global tags */
h2 a,
h2 {
	border:none;
	color:#12617e;
	font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Arial, Helvetica, sans-serif;
	font-size:21px;
	font-weight:normal;
	line-height:1em;
	margin:5px 0;
}
h2  {
	/*font-family: "ff-enzo-web-1","ff-enzo-web-2",arial,helvetica,sans-serif;*/
	padding:0.5em 0}

h3 {
	color:#333;
	font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
	font-size:17px;
	line-height:1em;
	padding:0.5em 0
}

h4 {
	color:#333;
	font-size:1em;
	line-height:1em;
	padding:0.5em 0
}

pre {
	background:#fff;
	border:1px solid #ccc;
	font-size:1.2em;
	max-height:350px;
	margin-bottom:0.5em;
	overflow:auto;
	padding:0.5em 1em;
}
blockquote {
	border-left:4px solid #528B9E;
	font-style:italic;
	padding:0 0.5em;
}
p {padding-bottom:0.5em;}

a {
	color:#c13b00;
	font-weight:bold;
	text-decoration:none;
	
	border-bottom:1px dotted #ccc;
}
a:active {
	background-color:#FFF6DF;
}
a:focus,
a:hover {
	border:none;
	text-decoration:underline;
}

a.external {
	background:url('../img/ext-link.gif') no-repeat right top;
	padding-right:13px;
}

.more {
	background:url('../img/more.png') no-repeat right center;
	padding-right:15px;
}

#lab {
	background: url('../img/dogs-sky.jpg') repeat-x center bottom #001e36;
	height:600px;
}

/* layout */

#wrapper {
	background:url('../img/bg-container.jpg') repeat-x left -58px transparent;	
	position:relative;
	width:100%;
}
#fluidBg {
	background:url('../img/bg-stripe.png') repeat-x left top transparent;
	height:400px;
	left:0;
	position:absolute;
	top:142px;
	width:50%;
	z-index:1;
}

#container {
	background-position:left top;
	background-repeat: no-repeat;
	background-color: transparent;
	margin:0 auto;
	position:relative;
	width: 850px;
	text-align:left;
	z-index:2;
}


#header {height:100px}

#page_1.pl #container {background-image:url('../img/bg-home.jpg');}
#page_1 #header {height:307px;}

.page_2.pl #container {background-image:url('../img/bg-services.jpg');}
.page_2 #m1 a {background-position: center bottom;}
.page_2 #header {height:307px;}
.page_2 #logo em {background-image:url('../img/bg-services.jpg');}

.type_1 #container {background-image:url('../img/bg-blog.jpg');}
.type_1 #m3 a {	background-position: center bottom;}
.type_1 #header {height:307px;}
.type_1 #sidebar {margin-top:50px;}
#type_1 #content {width:850px;}
#type_1 #sidebar {display: none;}

.type_3 #container {background-image:url('../img/bg-portfolio.jpg');}
.type_3 #m2 a {background-position: center bottom;}
.type_3 #header {height:357px;}
.type_3 #content {
	border-top:1px solid #d2d2cd;
	width:850px;}
.type_3 .sidebar {
	float:left;
	margin: 10px 30px 10px 0;
	position:relative;
	width:255px;}
.type_3 #content img {
	border:5px solid #666;
	margin: 20px 0 0 0;
	padding:0;
}
.type_3 #content ul {margin:0;}
.type_3 #content img.badge {
	border:none;
	position:absolute;
	right:-11px;
	top:-30px;
}

.portfolioItem {
	background: url('../img/portfolio-item.png') repeat-y 205px top;
	border-bottom:1px solid #d2d2cd;
	height:298px;
	width:850px;
	}

.page_3.pl #container {background-image:url('../img/bg-contact.jpg');}
.page_3 #m4 a {background-position: center bottom;}
.page_3 .tagline {left:270px;}
.page_3 #header {height:307px;}
/* header */
.tagline {
	position:absolute;
	top:-9999px;
	left:0;
}

.tagline a {
	color:#c13b00;
	border:none;
	}

#logo {
	border:none;
	color:#333;
	cursor:pointer;
	display:block;
	height:42px;
	left:0;
	line-height:2em;
	overflow:hidden;
	outline:none;
	position:absolute;
	top:10px;
	width:182px;
	z-index:5;
}
#logo em {
	background:url('../img/bg-home.jpg') no-repeat left -10px;
	display:block;
	left:0;
	position:absolute;
	height:42px;
	top:0;
	width:182px;
	z-index:10;
}


.nav {
	list-style:none;
	position:absolute;
	top:0;
	}
.nav li {float:left;display:block}
.nav a {
	border:none;
	display:block;
	float:left;
	outline:none;
	text-decoration:none;
	text-align:center;
	text-transform:lowercase;
	}


.sideNav li {
	background:url('../img/more.png') no-repeat left center;
	list-style:none;
	padding:0.3em 0 0.3em 15px;
}
.sideNav a {padding:0.1em 0.3em;}
.sideNav a.active ,
.sideNav a.active :active,
.sideNav a.active :focus,
.sideNav a.active :hover {
	background-color:#12617e;
	border:none;
	color:#fff;
	text-decoration:none;
}
	
#mainNav {
	right:0px;
	top:0px;
	width:400px;
}
#mainNav a span {position:relative;z-index:10;}
#mainNav a span.hover {
	display:block;
	height:68px;
	left:0;
	position:absolute;
	top:0;
	width:100px;
	z-index:1;
}

#mainNav a {
	background:url('../img/main-nav.png') no-repeat center top;
	border-top:4px solid #404445;
	color:#1b3644;
	font: bold 13px "Helvetica Neue", Helvetica, Arial, sans-serif;
	height:68px;
	line-height:45px;
	position: relative;
	text-shadow:  #fff 1px 1px 0;
	width:100px;
}
#mainNav .hl  a:hover,
#mainNav .hl  a:active,
#mainNav .hl  a:focus, 
#mainNav a .hover {
	background:url('../img/main-nav.png') no-repeat center bottom;
	text-decoration:none;
}

#m1 a {border-top-color:#ff6600}
#m2 a {border-top-color:#bd3a01}
#m3 a {border-top-color:#5e6d70}
#m4 a {border-top-color:#c29529}

#techNav {
	right:10px;
	top:4px;
}

#techNav a {
	background: url('../img/tech-nav.png') no-repeat left bottom #404445;
	color:#d7dadb;
	margin-left:1em;
	padding:6px 0 6px 6px;
}
#techNav a em {
	background: url('../img/tech-nav.png') no-repeat right bottom #404445;
	font-style:normal;
	padding:6px 6px 6px 0;
	}
#t1 a {
	
}

/* sidebar & content */
#sidebar {
	float:left;
	font-size:1.1em;
	line-height:1.5em;
	padding-right:10px;
	padding-top:0px;
	width:265px;
	} 
#content {
	float:left;
	font-size:1.2em;
	line-height:1.5em;
	padding-left:10px;
	padding-top:0px;
	width:565px
	}

	/* content styling */	
	
	.contentBody {
		line-height:1.6em;
	}
	.contentBody h3,
	.contentBody h4 {
		padding-bottom:1em;
	}
	.contentBody p {margin-bottom:1em;}

	.contentBody ul, .contentBody ol {
		margin:0 1em 1em 3em;
		
	}
	
	.contentBody li ul, .contentBody li ol {
		padding-bottom:1em;
	}
	
	.contentBody ol {
		list-style-position:  outside;
	}
	.contentBody ul li {
		list-style-position:  outside;
		list-style-image: url('../img/dots-bull.png');
	}
	.contentBody img.insert {
		border:1px solid #999;
		margin:1em 0;
		padding:2px;
	}
	
	.contentBody #bookmarklets {
		background:#fff;
		border:1px dotted #ccc;
		padding:0.5em
	}
	
	.contentBody #bookmarklets a ,
	.contentBody a.img,
	.contentBody li img {
		background-image:none;
		border:none;
		margin:0;
		padding:0;
		vertical-align: middle;
	}
	.contentBody #bookmarklets a {
		padding-left:0.5em;
	}
	.contentBody ul.tools li {
		list-style: none;
	}
	.contentBody ul li ul {
		margin:1em 0 0 2em;
	} 
	
	.contentBody .alignleft {
		float:left;
		margin-bottom:10px;
		margin-right:10px;
	}
	
	#content .contentMeta {
		font-size:0.9em;
		margin-top:-1em;
	}
#credits {
	background:url('../img/favicon.png') no-repeat left center;
	padding-left:20px;
}

#footer {
	clear:both;
	color:#969899;
	font-size:1.1em;
	line-height:1.8em;
	padding:50px 0 15px 0;
}
#footer a {
	color:#7b7d7f;
	font-weight:normal;
	text-transform:lowercase;
}

/* homepage specific */

#blueSmoke {
	position:absolute;
	z-index:10;
	width:300px;
	height:200px;
	top:73px;
	left:1px;
	outline:none;
}
#blueSmoke .alt {
	color:#ccc;
	font-size:1.1em;
	line-height:1.4em;
	padding:70px 50px;
}
#blueSmoke .alt a {
	border:none;
	text-decoration:underline;
}
#introBlock {
	float:left;
	/*width:464px;*/
	width:260px;
}
#introBlock .quote {
	background:#efefef;
	border-left:5px solid #ccc;
	display:block;
	float:right;
	margin:10px;
	padding:10px;
	width:200px;
}
#introBlock .quote blockquote {
	border:none;
	margin:0;
	padding:0;
}
#introBlock .author {
	color:#333;
	display: block;
	font-size:11px;
	line-height:1em;
	text-align:right;
}
#showcase {
	float:right;
	height:287px;
	margin-left:10px;
	position:relative;
	width:284px;
}
#showcase a.thumb img{
	border:1px solid #ccc;
	display:block;
	margin-bottom:5px;
	padding:2px;
}
#showcase a.thumb:hover img {
	border:1px solid #666;
}

#recentNotes .item {
	font-size:1.1em;
	line-height:1.4em;
	padding:0.5em 0;
	position:relative;
}

#recentNotes .item,
#recentNotes .item a {
	border:none;
	color:#6f7172;
	font-weight:normal;
}
#recentNotes .item p,
#recentNotes .item a {
	display:inline;
}
#recentNotes .item a:hover {
	text-decoration:none
}
#recentNotes .item .title a {
	color:#c13b00;
	font-weight:bold;
	padding-right:5px;
}
#recentNotes .item .title a:hover {
	text-decoration:underline;
}
#recentNotes .item .title {
	font-size:1.1em;
	display:inline;
	letter-spacing:0;
}

/* comments */

#comments .comment {
	background:url('../img/bg-container.png') repeat-x left -30px transparent;	
	border-left:1px dotted #666;
	clear:left;
	list-style:none;
}

.author {
	
}

.gravatar {
	border-right:1px dotted #666;
	border-bottom:1px dotted #666;
	float:left;
	height:30px;
	margin-right:0.5em;
	padding:2px;
	width:30px;
}
.commentBody {
	padding: 0.5em;
}
.commentMeta {
	border-top:1px dotted #666;
	font-size:0.9em;
	line-height:30px
}

#commentForm {
	clear:left;
}
#commentForm textarea {
	display:block;
	width:90%;
}

/* listing */
#content #listingList {
	margin:0;
	padding:0;
}
.listingItem  {
	background-color:#5E6D70;
	float:left;
	display:block;
	margin:5px;
	padding:0;
	position:relative;
	overflow:hidden;
}
.listingItem  a {
	border:none;
	color:#fff;
	display:block;
	width:150px;
	height:130px;
	padding:10px;
	position:relative;
	}

.listingMeta {
	background-color:#333;
	color:#fff;
	display:block;
	margin:0;
	font-size:0.8em;
	line-height:1em;
	padding:5px 10px;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
}

.listingItem .listingName {
	color:#333;
	font-size:20px;
	letter-spacing:-1px;
	line-height:1em;
	text-transform:lowercase;
	display:block;
	position:absolute;
	bottom:2em;
	left:10px;
}
.listingItem .listingDate {
	color:#fff;
	display:block;
	font-weight:bold;;
	}

.listingBody,
.listingItem  a:hover .listingName,
.listingItem  a:hover .listingDate {display:none}

.listingItem  a:hover {
	text-decoration:none;
	/*background-color:#666;*/
	width:170px;
	height:150px;
	padding:0px;
}
.listingItem  a:hover .listingBody {
	font-weight:normal;
	font-size:1.1em;
	display:block;
	line-height:1em;
}


/* sitemap */
#sitemap {width:850px;}
#sitemap .column {
	font-size:0.9em;
	width:33%;
	float:left;
	overflow:auto;
}
#sitemap .column ul {
	padding: 0 1em;
}
#sitemap .column ul {
	text-align:left;
}
#sitemap .column ul ul {
	padding:0;
}
#sitemap .column ul li {
	background-image:none;
	margin-bottom:0.3em;
	padding:0;
}

/* Paging */
div.paging {
	color: #ccc;
	clear:left;
	margin-bottom: 2em;
	text-align:center;
}
div.paging div.disabled {
	color: #ddd;
	display: inline;
}
div.paging span {
}
div.paging span.current {
	color: #000;
}
div.paging span a {
}

/* neighbors */
.neighbors {
	clear:left;
	padding:2em 0;
	width:100%;
}
.neighbors a {line-height:1.4em;}
.neighbors .next {
	background:url('../img/more.png') no-repeat right center;
	float:right;
	padding-right:15px;
}
.neighbors .prev {
	background:url('../img/prev.png') no-repeat left center;
	float:left;
	padding-left:15px;
}

/* forms */

#contactForm {
	width:490px;
}

#contactForm label{
	float:left;
	line-height:1em;
	text-align:right;
	width:100px;
}
#contactForm .error-message,
#contactForm .submit input{
	margin-left:110px;
}


.input {
	clear:left;
}
.input label {
	display:block;
	margin:0.3em 10px 0 0;
	padding:3px 0;
}

.input textarea,
.input input,
.input select {
	border:1px dotted #ccc;
	font: 1em "Lucida Grande", "Lucida Sans Unicode", Tahoma,Verdana, sans-serif;
	margin:0.3em 0 0.3em 0;
	padding:3px;
	vertical-align:middle;
}
.input textarea:hover,
.input input:hover,
.input select:hover,
.input textarea:focus,
.input input:focus,
.input select:focus,
.input textarea:active,
.input input:active,
.input select:active {
	border:1px dotted #666;
}
.input select {padding:0;}
.input option {
	padding:0.3em 0.3em 0 0.3em;
}
.submit input {
	background:url('../img/button-75.png') no-repeat center center #c13b00;
	color:#12617E;
	cursor:pointer;
	font-size:0.9em;
	height:22px;
	line-height:22px;
	padding-bottom:4px;
	text-transform:lowercase;
	width:75px;
	vertical-align:middle;
}
.formBlock {
	border-bottom:1px solid #ccc;
	margin-bottom:1em;
	padding-bottom:1em;
}

/* microformats */
.adr .type,
.adr .region {display:none}
.tel,
.skype,
.adr .street-address {display:block}
.vcard .download,
.skype,
.mail,
.tel .type {
	background:url('../img/microformats.png') no-repeat left -30px;
	padding-left:20px;}
.skype {background-position:0 0}	
.mail {background-position:0 -60px}
.tel .value {font-weight:bold}
.vcard .download {background-position:0 -90px}

/* messages & errors */

.message {
	background-color:#12617E;
	color:#fff;
	display:inline;
	font-weight:bold;
	margin:1em 0;
	padding:0.1em 0.3em;
}
#sessionFlash.error {
	background-color:#c13b00;
}

.error-message {color:#c13b00;}

.error input,
.error textarea,
.error select {
	border:1px dotted #c13b00;
}

.highlight {
	color:#333;
	font-weight:bold;
}

/* fancybox */
	
div#fancy_overlay {
	position:absolute;
	top: 0;
	left: 0;
	z-index: 90;
	width: 100%;
	background-color: #000;
}

div#fancy_loading {
	position: absolute;
	height: 40px;
	width: 40px;
	cursor: pointer;
	display: none;
	overflow: hidden;
	background: transparent;
	z-index: 100;
}

div#fancy_loading div {
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 480px;
	background: transparent url('../img/fancy_progress.png') no-repeat;
}

div#fancy_close {
	position: absolute;
	top: -12px;
	right: -12px;
	height: 30px;
	width: 30px;
	background: transparent url('../img/fancy_closebox.png') ;
	cursor: pointer;
	z-index: 100;
	display: none;
}

div#fancy_content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0; 
	margin: 0;
	z-index: 96;
}

#fancy_frame {
	position: relative;
	width: 100%;
	height: 100%;
	display: none;
}

img#fancy_img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border:0; 
	padding: 0; 
	margin: 0;
	z-index: 92;
}

div#fancy_title {
	position: absolute;
	bottom: -35px;
	left: 0;
	width: 100%;
	z-index: 100;
	display: none;
}

div#fancy_title table {
	margin: 0 auto;
}

div#fancy_title div {
	color: #FFF;
	font: bold 12px Arial;
	padding-bottom: 2px;
}

td#fancy_title_left {
	height: 32px;
	width: 15px;
	background: transparent url('../img/fancy_title_left.png') repeat-x;
}

td#fancy_title_main {
	height: 32px;
	background: transparent url(../img/fancy_title_main.png) repeat-x;
}

td#fancy_title_right {
	height: 32px;
	width: 15px;
	background: transparent url(../img/fancy_title_right.png) repeat-x;
}

div#fancy_outer {
	position: absolute;
    top: 0;
    left: 0;
    z-index: 90;
    padding: 18px 18px 58px 18px;
    margin: 0;
    overflow: hidden;
    background: transparent;
    display: none;
}

div#fancy_inner {
	position: relative;
	width:100%;
	height:100%;
	border: 1px solid #444;
	background: #FFF;
}

a#fancy_left, a#fancy_right {
	position: absolute; 
	bottom: 10px; 
	height: 100%; 
	width: 35%; 
	cursor: pointer;
	background-image: url(data:image/gif;base64,AAAA);
	z-index: 100; 
}

a#fancy_left {
	left: 0px; 
}

a#fancy_right {
	right: 0px; 
}

a#fancy_left:hover {
	background: transparent url(../img/fancy_left.gif) no-repeat 0% 100%;
}

a#fancy_right:hover {
	background: transparent url(../img/fancy_right.gif) no-repeat 100% 100%;
}

#fancy_bigIframe, #fancy_freeIframe {
	position:absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
}

div#fancy_bg {
	display: none;
}
	
div.fancy_bg {
	position: absolute;
	display: block;
	z-index: 70;
}

div.fancy_bg_n {
	top: -18px;
	width: 100%;
	height: 18px;
	background: transparent url(../img/fancy_shadow_n.png) repeat-x;
}

div.fancy_bg_ne {
	top: -18px;
	right: -13px;
	width: 13px;
	height: 18px;
	background: transparent url(../img/fancy_shadow_ne.png) no-repeat;
}

div.fancy_bg_e {
	right: -13px;
	height: 100%;
	width: 13px;
	background: transparent url(../img/fancy_shadow_e.png) repeat-y;
}

div.fancy_bg_se {
	bottom: -18px;
	right: -13px;
	width: 13px;
	height: 18px;
	background: transparent url(../img/fancy_shadow_se.png) no-repeat;
}

div.fancy_bg_s {
	bottom: -18px;
	width: 100%;
	height: 18px;
	background: transparent url(../img/fancy_shadow_s.png) repeat-x;
}

div.fancy_bg_sw {
	bottom: -18px;
	left: -13px;
	width: 13px;
	height: 18px;
	background: transparent url(../img/fancy_shadow_sw.png) no-repeat;
}

div.fancy_bg_w {
	left: -13px;
	height: 100%;
	width: 13px;
	background: transparent url(../img/fancy_shadow_w.png) repeat-y;
}

div.fancy_bg_nw {
	top: -18px;
	left: -13px;
	width: 13px;
	height: 18px;
	background: transparent url(../img/fancy_shadow_nw.png) no-repeat;
}

	
/* Coda Slider */
.csw {width: 100%; height: 300px; overflow: hidden;}
.csw .panelContainer{visibility:hidden}
.csw .loading {
	margin: 170px 0 150px 0; 
	text-align: center;
	background: url('../img/ajax-loader.gif') no-repeat center center;
	width: 100%;
	height:50px;
}
.stripViewer { 
	position: relative;
	overflow: hidden; 
	margin: auto;
	width: 850px;
	height: 310px;
	clear: both;
}
.stripViewer .panelContainer { 
	position: relative;
	left: 0; top: 0;
	width: 100%;
	list-style-type: none;
}
.stripViewer .panelContainer .panel { 
	float:left;
	height: 300px;
	position: relative;
	width: 850px;
}
.stripNav {
	font-size:0.9em;
	left:0;
	position:absolute;
	top:330px;
	width:100%;
}
.stripNav ul {width:850px;text-align:center;}
.stripNav li {
	display:inline;
	list-style:none;
	padding:0 5px;
}
.stripNav a {
	border:none;
	color:#888;
	outline:none;
}
.stripNav a.current {color:#333}
.stripNavL, .stripNavR {
	margin-top:70px;
	position: absolute;
	top: 50%;
}
.stripNavL a, .stripNavR a {
	background-image: url('../img/arrows.png');
	border:none;
	display: block;
	height: 30px;
	width: 30px;
	outline:none;
	text-indent:-9999px;
}
.stripNavL {
	left: 50%;
	margin-left:-490px;
}
.stripNavR {
	right: 50%;
	margin-right:-490px;
}
.stripNavL a{
	background-position: right top;
}
.stripNavR  a{
	background-position: right bottom;
}
.stripNavL a:active,
.stripNavL a:hover {
	background-position: left top;
}
.stripNavR a:active,
.stripNavR  a:hover{
	background-position: left bottom;
}


/*---- img styling ---*/

.alignLeft {
	float:left;
	padding-right:0.5em;
}
.alignRight {
	float:right;
	padding-left:0.5em;
}