/* ----- Global reset (courtesy of Eric Myers) ----- */
html, body, div, span, applet, object, iframe, table, caption, tbody, tfoot, thead, tr, th, td,
del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend {
	vertical-align: baseline;
	font-family: inherit;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	outline: 0;
	padding: 0;
	margin: 0;
	border: 0;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

ol, ul {
	list-style: none;
	margin-bottom:22px;
}

/* tables still need cellspacing="0" in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}

caption, th, td {
	font-weight: normal;
	text-align: left;
}

/* remove possible quote marks (") from &lt;q&gt; &amp; &lt;blockquote&gt; */
blockquote:before, blockquote:after, q:before, q:after {
	content: "";
}

blockquote, q {
	quotes: "" "";
}

/* ----- layout ----- */

html, body { height:100%; }

body {
	text-align:center;
	font:.875em/22px "Century Gothic", Helvetica, Arial, sans-serif;
	color:#FEFEFE;
	background:#000;
	text-shadow:-1px 1px 3px rgba(0,0,0,.7);
}

.wrapper {
	position:relative;
	margin:0 auto;
	padding:44px 9px;
	width:962px;
	text-align:left;
	background-position:0 0;
	background-repeat:no-repeat;
}

.wrapper:after { content:"."; visibility:hidden; height:0; display:block; clear:both; } /* clear floats */

#header {
	background:url(../images/bg.header.jpg) repeat-x 50% 0;
	border-bottom:1px solid #3A352E;
}

	#header .wrapper { 
		padding:0;
		width:980px;
		height:800px;
		background-image:url(../images/bg.house.jpg);
	}

#content {
	border-top:1px solid #000;
	border-top-color:rgba(0,0,0,.6);
	border-bottom:1px solid #333;
	background:#0C1E26 url(../images/bg.content.jpg) repeat 50% 0;
}

#footer {
	clear:both;
	background:url(../images/bg.footer.jpg) repeat-x 50% 100%;
}

	#footer .wrapper { 
		padding-bottom:0;
		height:556px;
		background:url(../images/bg.footer.contact.jpg) no-repeat 348px 95px;
	}

.col {
	float:left;
	margin-right:40px;
	width:294px;
}

.col.last { margin-right:0; }


.hide {
	position:absolute;
	left:-9999px;
}

/* ----- typography ----- */

h1, h2 {
	font-size:2.572em;
	line-height:44px;
	margin-bottom:44px;
}

h3 {
	font-size:1.286em;
	line-height:22px;
	margin-bottom:22px;
}

p { margin-bottom:22px }

em { font-style:italic; }

/* ----- anchors / main navigation ----- */

.skip {
	position:absolute;
	left:-9999px;
	width:20px;
}

a { color:#FEFEFE; }

a:hover, a:focus { text-decoration:none; }

a:visited { color:#999; text-decoration:underline; }

a:active {
	position:relative;
	top:1px;
}

#logo {
	float:left;
	margin-top:50px;
	width:571px;
	height:183px;
	background:url(../images/logo.png) no-repeat 0 0;
	text-indent:-9999px;
}

#logo:hover, #logo:focus {
	background-position:0 -183px;
}

#printLogo { display:none; }

#mainnav li {
	position:absolute;
	text-indent:-9999px;
}

	#mainnav li a {
		display:block;
		background-image:url(../images/mainnav.png);
		background-repeat:no-repeat;
	}

#mainnav .illustration {
	top:450px;
	left:108px;
}

	#mainnav .illustration a {
		width:220px;
		height:112px;
		background-position:0 0;
	}
	
	#mainnav .illustration a:hover, #mainnav .illustration a:focus { background-position:0 -155px;}
	
	#illustration .illustration a, #illustration .illustration a:hover, #illustration .illustration a:focus {
		background-position:0 -340px;
		cursor:default;
	}

#mainnav .websites {
	top:343px;
	left:334px;
}

	#mainnav .websites a {
		width:142px;
		height:175px;
		background-position:-220px 10px;
	}
	
	#mainnav .websites a:hover, #mainnav .websites a:focus { background-position:-220px -155px;	}
	
	#websites .websites a, #websites .websites a:hover, #websites .websites a:focus {
		background-position:-220px -340px;
		cursor:default;
	}

#mainnav .animation {
	top:383px;
	left:498px;
}

	#mainnav .animation a {
		width:151px;
		height:110px;
		background-position:-364px 16px;
	}
	
	#mainnav .animation a:hover, #mainnav .animation a:focus { background-position:-364px -139px; }
	
	#animation .animation a, #animation .animation a:hover, #animation .animation a:focus {
		background-position:-361px -324px;
		cursor:default;
	}

#mainnav .photography {
	top:306px;
	left:657px;
}

	#mainnav .photography a {
		width:176px;
		height:85px;
		background-position:-513px 0;
	}
	
	#mainnav .photography a:hover, #mainnav .photography a:focus { background-position:-513px -155px; }
	
	#photography .photography a, #photography .photography a:hover, #photography .photography a:focus {
		background-position:-504px -326px;
		cursor:default;
	}

#mainnav .graphics {
	top:530px;
	left:539px;
}

	#mainnav .graphics a {
		width:200px;
		height:128px;
		background-position:-685px 1px;
	}
	
	#mainnav .graphics a:hover, #mainnav .graphics a:focus { background-position:-685px -155px; }
	
	#graphics .graphics a, #graphics .graphics a:hover, #graphics .graphics a:focus { 
		background-position:-685px -301px;
		cursor:default;
	}
	
#mainnav .contact {
	top:670px;
	left:790px;
}

	#mainnav .contact a {
		width:101px;
		height:144px;
		background-position:-900px 0;
	}

	#mainnav .contact a:hover, #mainnav .contact a:focus { background-position:-900px -144px; }

/* ----- header ----- */

#header p {
	position:absolute;
	bottom:43px;
	left:9px;
	display:block;
	margin:0;
	width:573px;
	height:23px;
	background:url(../images/bg.strapline2.png);
	text-indent:-9999px;
}

#header .strapline {
	position:relative;
	top:54px;
	float:right;
	margin-right:19px;
	width:315px;
	height:49px;
	background:url(../images/bg.strapline.png); 
}

#header p em {
	font-style:normal;
	font-weight:bold;
	text-shadow:none;
}

/* ----- footer ----- */

#footernav {
	position:absolute;
	bottom:20px;
	right:9px;
}

#footernav li {
	float:left;
	padding:0 10px;
	background:url(../images/separator.vertical.png) no-repeat 0 0;
}

#footernav li:first-child {
	padding-left:0;
	background:none;
}

	#footernav li a {
		display:block;
		height:16px;
		background-image:url(../images/footernav.png);
		background-repeat:no-repeat;
		text-indent:-9999px;
	}

	#footernav .illustration a {
		width:54px;
		background-position:0 0;
	}
	
	#footernav .illustration a:hover, #footernav .illustration a:focus { background-position:0 -16px; }
	
	#footernav .graphics a {
		width:58px;
		background-position:-61px 0;
	}

	#footernav .graphics a:hover, #footernav .graphics a:focus { background-position:-61px -16px; }
	
	#footernav .websites a {
		width:48px;
		background-position:-126px 0;
	}

	#footernav .websites a:hover, #footernav .websites a:focus { background-position:-126px -16px; }
	
	#footernav .animation a {
		width:65px;
		background-position:-181px 0;
	}

	#footernav .animation a:hover, #footernav .animation a:focus { background-position:-181px -16px; }
	
	#footernav .photography a {
		width:65px;
		background-position:-253px 0;
	}

	#footernav .photography a:hover, #footernav .photography a:focus { background-position:-253px -16px; }

#contact li {
	position:absolute;
	text-indent:-9999px;
}

#contact .email a {
	display:block;
	background-image:url(../images/contact.png);
	background-repeat:no-repeat;
}

#contact .email {
	top:267px;
	left:612px;
}

	#contact .email a {
		width:240px;
		height:90px;
		background-position:0 -3px;
	}

	#contact .email a:hover, #contact .email a:focus {
		background-position:0 -87px;
	}

#contact .mobile {
	top:61px;
	left:698px;
	width:205px;
	height:171px;
	background:url(../images/contact.png) no-repeat -252px -2px;
}

#contact .tel {
	top:364px;
	left:717px;
	width:205px;
	height:72px;
	background:url(../images/contact.png) no-repeat -458px -1px;
}

#footer p { width:294px; }

.copyright {
	position:absolute;
	bottom:20px;
	margin:0;
	padding-top:108px;
	width:auto;
	font-size:.714em;
	line-height:1;
	background:url(../images/footer.logo.png) no-repeat 0 0;
}

.button_top {
	position:absolute;
	bottom:80px;
	right:170px;
}

	.button_top a {
		display:block;
		width:76px;
		height:56px;
		text-indent:-9999px;
		background:url(../images/contact.png) no-repeat -665px 0;
	}
	
	.button_top a:hover {
		background-position:-665px -60px;
	}

/* ----- main content ----- */

#secondary_content {
	clear:both;
	border-top:1px solid #000;
	border-top-color:rgba(0,0,0,.6);
	border-bottom:1px solid #3A352E;
	background:#000 url(../images/bg.secondary.content.jpg) repeat-x 50% 100%;
}

ul.clients { margin-left:10px; }

.clients li {
	font-size:.857em;
	font-weight:bold;
}

.clients li span {
	font-weight:normal;
}

span.moreless {
	display:block;
	margin:22px 0 0 -20px;
	width:76px;
	height:56px;
	text-indent:-9999px;
	cursor:pointer;
	background:url(../images/moreless.png) no-repeat 0 0;
}

span.moreless:hover { background-position:0 -60px; }

span.less { 
	margin-bottom:10px;
	background-position:-82px 0; 
}

span.less:hover { background-position:-82px -60px; }

span.moreless:active {
	position:relative;
	top:1px;
}

blockquote {
	background:url(../images/quote.png) no-repeat 0 2px;
}

	blockquote p {
		margin-bottom:12px;
		font-size:1.143em;
		line-height:24px;
		text-indent:40px;
		font-style:italic;
		color:#DDD;
	}
	
	blockquote .quoteby {
		margin-bottom:0;
		font-size:1em;
		line-height:22px;
		text-indent:0;
		font-style:normal;
		font-weight:bold;
		color:#FEFEFE;
	}
	
	blockquote .quoteby span {
		font-weight:normal;
	}
	
	blockquote .quoteby .block {
		display:block;
	}

/* ----- portfolio slider ----- */
#slider_sleeve {
	position:relative;
	float:left;
	margin-top:-52px;
	width:628px;
}

#slider {
	margin:0 100px;
	width:428px;
	height:477px;
}

	#slider li {
		position:relative;
		float:left;
		width:428px;
		text-align:center;
	}

	#slider li img { 
		box-shadow:-15px 30px 30px rgba(0,0,0,.5);
		-moz-box-shadow:-15px 30px 30px rgba(0,0,0,.5);
		-webkit-box-shadow:-15px 30px 30px rgba(0,0,0,.5);
	}

	#slider li h2 { margin:38px 0 0; }

		#slider li h2 a {
			display:block;
			margin:0 auto;
			height:55px;
			background-image:url(../images/slider.png);
			background-repeat:no-repeat;
			text-indent:-9999px;
		}

			#slider li.illustration h2 a {
				width:160px;
				background-position:-145px 0;
			}

			#slider li.illustration h2 a:hover, #slider li.illustration h2 a:focus { background-position:-145px -55px; }

			#slider li.graphics h2 a {
				width:206px;
				background-position:-313px 0;
			}

			#slider li.graphics h2 a:hover, #slider li.graphics h2 a:focus { background-position:-313px -55px; }

			#slider li.websites h2 a {
				width:162px;
				background-position:-523px 0;
			}

			#slider li.websites h2 a:hover, #slider li.websites h2 a:focus { background-position:-523px -55px; }

			#slider li.animation h2 a {
				width:204px;
				background-position:-693px 0;
			}

			#slider li.animation h2 a:hover, #slider li.animation h2 a:focus { background-position:-693px -55px; }

			#slider li.photography h2 a {
				width:210px;
				background-position:-903px 0;
			}

			#slider li.photography h2 a:hover, #slider li.photography h2 a:focus { background-position:-903px -55px; }

.prev, .next {
	position:absolute;
	top:211px;
	left:-21px;
	display:block;
	width:62px;
	height:55px;
	text-indent:-9999px;
	background:url(../images/slider.png) no-repeat 0 0;
	cursor:pointer;
}

.next { 
	left:auto;
	right:0;
	background-position:-79px 0; 
}

.prev:hover, .prev:focus { background-position:0 -60px; }
.next:hover, .next:focus { background-position:-79px -60px; }

.prev:active, .next:active {
	position:absolute;
	top:211px;
}

#slider_sleeve .hide { left:-9999px; }

/* ----- portfolio thumbnails ----- */
.thumbs {
	position:relative;
	float:left;
	margin-top:-52px;
	padding-left:26px;
	width:600px;
}

	.thumbs li {
		float:left;
		margin:0 40px 40px 0;
		width:80px;
		box-shadow:-10px 15px 15px rgba(0,0,0,.5);
		-moz-box-shadow:-10px 15px 15px rgba(0,0,0,.5);
		-webkit-box-shadow:-10px 15px 15px rgba(0,0,0,.5);
	}

		.thumbs li a {
			display:block;
			height:76px;
			border:2px solid #FFF;
		
		}

		.thumbs li a:hover, .thumbs li a:focus { border-color:#C00; }

		.thumbs li a:active { top:0; }

/* ----- portfolio items / popups ----- */
.portfolio { clear:both; }

.portfolio_item {
	padding:22px 20px;
	width:760px;
	text-align:left;
}

.portfolio_item:after { content:"."; visibility:hidden; height:0; display:block; clear:both; } /* clear floats */

	.portfolio_item h2 {
		margin:0 0 14px;
		font-size:1.643em;
		line-height:30px;
	}

	.portfolio_item img, .portfolio_item .flash {
		float:left;
		margin:0 30px 22px 0;
	}