
body { font: normal normal 62.5%/1.6em knockout, Arial, Helvetica, sans-serif; }

.hidden			{	display: none;	}
.invisible 		{	visibility: hidden;	}



/* micro clearfix: http://nicolasgallagher.com/micro-clearfix-hack/ */
.cf:after, .cf:before { content:""; display:table; }
.cf:after  { clear:both; }

.wrapper, h1.logo {
	max-width: 96em;
	margin: auto;
	overflow: hidden;
}

h1.logo {
	font-size: 1em;
	text-indent: -9999999px;
	background: url('../img/logo.png') -10px center no-repeat; /* margin left to compensate for logo gutter */
	min-height: 7em;
	margin-top: 1em;
	line-height: 100%;	
	text-transform: uppercase;
}

header {
	margin-bottom: 1em;
	overflow: hidden;
}

h1, h2, h3, h4, h5, h6, b, strong {
	font-weight: normal;
	line-height: 1em;
}

h1, h2, h3 
{ 
	color: #333333;
	text-transform: uppercase; 
	margin: 0 0 .3em;
}

h2 { 
	font: normal normal 3.2em/1em knockout_bold, Arial, Helvetica, sans-serif; 
}

h3 { 
	font-size: 2.7em; 
}

h4 {
	font: normal normal 2em/.8em knockout_bold, Arial, Helvetica, sans-serif; 
	text-transform: uppercase;
	color: #666;
	margin: .6em 0;
}

h5 {
	font: normal normal 2em/.8em knockout, Arial, Helvetica, sans-serif; 
	text-transform: uppercase;
	color: #666;
	margin: .6em 0;
}


article p,
article li,
form p {
	font-size: 1.8em;
	line-height: 1.1em;
	color: #666;
	padding-right: 1em;
}

article strong {
	font-family: knockout_bold, Arial, Helvetica, sans-serif; 
}

header .wrapper { 
	overflow: visible;
	position: relative;
}

.no-js .cover { margin-left: -100%; }

.cover {
	width: 1000%;
	white-space: nowrap;
	text-align: center;
	overflow: hidden;
}

.cover img {
	display: block;
	max-width: 10%;
	height: auto;
	float: left;	
}

.cover img { 
	opacity: .4; 
	-webkit-transition: opacity .8s ease-in-out;
	-moz-transition: 	opacity .8s ease-in-out;
	-o-transition: 		opacity .8s ease-in-out;
	-ms-transition: 	opacity .8s ease-in-out;
	transition:			opacity .8s ease-in-out;
	
}
.cover .current {
	opacity: 1; 
}

.carousel_trigger
{
	position: absolute;
	z-index: 99;
	top: 50%;
	margin-top: -3em;
	cursor: pointer;
	background: white;
}
.carousel_trigger:hover
{
	background: #CCC;
}
.carousel_trigger::selection { background-color: rgba(0,0,0, 0); }

.carousel_trigger.disabled,
.carousel_trigger.disabled:hover
{
	background: #FFF;
	opacity: .2;
	cursor: default;
}

.carousel_trigger.left
{
	left: -3.2em;
}

.carousel_trigger.right
{
	right: -3.2em;;
}


.content article 
{
	margin: 1em 0 1.1em;
	padding: 0 0 1em 27em;
	position: relative;
}

.content .hgroup
{
	position: absolute; 
	width: 22em;
	left: 1em; top: 0;
}


.content.highlight article a {
	color: #999;
}
.content.highlight article a:hover,
.content.highlight article a:focus 
{
	color: #333;
}

ul.works {
	text-transform: uppercase;
	list-style-position: inside;
	padding-left: 0;	
}

.columns {

	-webkit-column-count: 2;
	-moz-column-count: 2;
	-ms-column-count: 2;
	-o-column-count: 2;
	column-count: 2;

	-webkit-column-gap: 1em;
	-moz-column-gap: 1em;
	-ms-column-gap: 1em;
	-o-column-gap: 1em;
	column-gap: 1em;	
	
}


.columns p {
	
	margin: 0;	
	
	column-break-after: always;	
	-o-column-break-after: always;	
	-ms-column-break-after: always;	
	-moz-column-break-after: always;	
	-webkit-column-break-after: always;	
}

.news h2
{
	text-indent: .3125em;
}

.content.news .wrapper {
	background: #F2F2F2;
	border-top: 1px solid #CCC;
	padding: 2em 0 0 0;
}

.content.news article 
{

	padding-bottom: 3.5em;
	border-bottom: 1px solid #CCC;	
	margin-bottom: 0;	
}

.toggle_news_container {
	text-align: right;
	padding: .75em 0 1.5em;
}
.toggle_news { 
	display: inline-block; 
	font-size: 2em; 
	text-transform: uppercase;
	color: #FFF;
	background: #666 url('../img/toggle_news.png') 95% center no-repeat;
	padding: .3em 1.8em .3em .6em;
	cursor: pointer;
}
.toggle_news:hover,
.toggle_news:focus {
	background-color: #333;
}

.toggle_news.active	{ background-image: url('../img/toggle_news_active.png'); }
.toggle_news.active .less {	display: none; }
.toggle_news.active .more {	display: inline; }

.toggle_news .more {
	display: none;
}

.no-js .toggle_news_container { display: none; }


.no-js .showcase { display: none; }

.showcase article {
	padding: 0 0 0 27em;	
	position: relative;
}

.showcase nav {
	position: absolute;
	top: 0;
	left: 0;
	width: 25em;
}

.showcase nav ol {
	padding: 0;
	margin: 0;
	list-style-type: none;
	border-bottom: 1px solid #CCC;
}

.showcase nav li {
	font-size: 2.17em;
	line-height: 2.5em;
	text-transform: uppercase;
	white-space: nowrap;
	background: #F2F2F2 url('../img/showcase_navitem.png') 95% center no-repeat;
	color: #333;
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: #CCC;
	padding: 0 0 0 .5em;
	cursor: pointer;
}
.showcase nav li:hover,  
.showcase nav li:focus 
{
	background-color: #F8F8F8;
	outline: 0;
}
.showcase nav li.active {
	background-color: #FFF;
	cursor: default;
}
.showcase nav li::selection { background-color: rgba(0,0,0, 0); }



.showcase .stage {
	min-height: 220px;	
	border: 1px solid #E9E9E9;
	box-shadow: inset 0px 0px 8px 0 #DDD;
}

.showcase .stage img {
	display: block;
	float: left; 
	opacity: .4;	

	-webkit-transition: opacity .4s ease-out;
	-moz-transition: 	opacity .4s ease-out;
	-o-transition: 		opacity .4s ease-out;
	-ms-transition: 	opacity .4s ease-out;
	transition:			opacity .4s ease-out;
	
	cursor: pointer;
	
}

.showcase .stage img:hover,
.showcase .stage img:focus {
	opacity: 1;	
	outline: 0;
}



.showcase .images { background: #FFF; }

.showcase .details {
	background: #858585;
	padding: 5%;
	clear: both;
}

.showcase h3 {
	line-height: 1em;
	margin: 0;
	color: #FFF;
}

.showcase h5 {
	line-height: 1em;
	margin: 0;
	color: #FFF;
}

.showcase p span 
{
	display: block;
}


.showcase p
{ 
	color: #DDD; 
	font-size: 1.8em;
	line-height: 1.2em;	
}

.contact 
{
	margin-top: 3.5em;
	clear: both;
}

.contact form 
{
	padding: 0 0 4em 27em;
	
}

.contact form p 
{
	margin: 0;
}

.contact form ol 
{
	padding: 0;
	margin: 2.5em 0;
	list-style-type: none;

}

.contact form li 
{
	margin: 1em 0;
	line-height: 3em;
}

.contact label 
{
	font-size: 1.8em;
	text-transform: uppercase;
	color: #999;
	display: inline-block; 
	min-width: 10em;
}

.contact ol input {
	border: 1px solid #E5E5E5;
	box-shadow: inset 0px 0px 8px 0 #DDD;
	font: normal normal 1.8em/1.5em knockout, Arial, Helvetica, sans-serif; 
	min-width: 20em;

	text-indent: .25em;
}

.contact .error input {
	border: 1px solid #F55;
	box-shadow: inset 0px 0px 8px 0 #F55;
}

.contact .error label {
	color: #F55;
}

.contact .error ::placeholder,
.contact .error ::-o-placeholder,
.contact .error ::-ms-input-placeholder,
.contact .error ::-moz-placeholder,
.contact .error ::-webkit-input-placeholder,
.contact .error .placeholder
{
	color: #F55;
}

.contact .button {
	color: white;

	background: #636363; /* Old browsers */
	background: -moz-linear-gradient(top, #636363 0%, #000000 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#636363), color-stop(100%,#000000)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #636363 0%,#000000 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #636363 0%,#000000 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #636363 0%,#000000 100%); /* IE10+ */
	background: linear-gradient(to bottom, #636363 0%,#000000 100%); /* W3C */

	-webkit-transition: color .1s ease-in-out;
	-moz-transition: 	color .1s ease-in-out;
	-o-transition: 		color .1s ease-in-out;
	-ms-transition: 	color .1s ease-in-out;
	transition:			color .1s ease-in-out;
		
	
	border: 0;
	text-align: center;
	text-transform: uppercase;
	font: normal normal 2em/1.5em knockout, Arial, Helvetica, sans-serif; 
	height: 1.5em;
	min-width: 6em;
	display: block;
	margin: 1em 0 0 9.1em;
	
	
}

.contact .button:hover,
.contact .button:focus {

	color: #999;
	line-height: 1.7em;
	height: 1.5em;
			
	background: #000000; /* Old browsers */
	background: -moz-linear-gradient(top, #000000 0%, #636363 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#000000), color-stop(100%,#636363)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #000000 0%,#636363 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #000000 0%,#636363 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #000000 0%,#636363 100%); /* IE10+ */
	background: linear-gradient(to bottom, #000000 0%,#636363 100%); /* W3C */
	
}

footer .wrapper {

	border-top: 1px solid #E4E4E4;
	padding: 2.5em 0 10em;
		
}

footer .wrapper p {
	margin: 0;
	text-align: right;
	font: italic normal .9em sans-serif;
	color: #999;
}


#overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background: #333;
	background: rgba(0,0,0,.8);
	overflow: hidden;
}

#overlay img {

	margin 		: 2.5% auto 0;
	display		: block;
	width		: auto;
	height		: 90%;

}

#debug
{
	padding: 2em; 
	background: #DDD; 
	border-top: 1px dashed #333;
}






@media screen and (max-width:1040px) {

	.carousel_trigger.left
	{
		left: 0;
	}

	.carousel_trigger.right
	{
		right: 0;
	}
	
/* 	.wrapper {
		margin: 0 2em;
	} */

}


@media screen and (max-width:768px) {

	h1.logo { margin-left: 2em; }

	.content h2 {
		padding-left: .65em;
		text-indent: 0;
	}
	
	.highlight.content h2 { 
		padding-left: 0;
	}
	
	.content article {
		padding-left: 2em;
	}
	
	section.content article .hgroup {
		position: static;
		width: auto;
		left: 0; top: 0;
		
		-webkit-column-span: all;
		-moz-column-span: all;
		-ms-column-span: all;
		-o-column-span: all;
		column-span: all;
		
		padding-right: 2em;
		
		margin: .5em 0;
	}
	
	.showcase article { padding-left: 0 }
	.showcase nav 	  { 
		position: static;
		width: 100%;
		left: 0; top: 0;
		margin-left: 1%;
	}
	
	.showcase nav li  { background-image: none; display: inline-block; min-width: 12%; text-align: center; padding: 0 1%; border-style: solid; border-width: 1px 1px 0 1px; border-color: #DDD; }
	.showcase nav li.active { border-color: #CCC; }
	
	.showcase .stage { clear: both; }
	
	.contact form { padding-left: 2em; }
	
	footer p { padding-right: 2em; font-size: 1em; }
	
}


@media screen and (max-width:600px) {

	.contact form .button { margin: auto; }

}


@media screen and (max-width:480px) {

	.columns {
		-webkit-column-count: auto;
		-moz-column-count: auto;
		-ms-column-count: auto;
		-o-column-count: auto;
		column-count: auto;

		-webkit-column-gap: 0;
		-moz-column-gap: 0;
		-ms-column-gap: 0;
		-o-column-gap: 0;
		column-gap: 0;
	}
	
	.content.news article p {
		margin: .25em 0 .5em;
	}
	
	.contact form { padding-right: 2em; }
	.contact ol input { width: 100%; min-width: 12em; }
	
	footer .wrapper p { text-align: center; padding: 0 1em; }

	
}
	
	
	
	
	
	
	
	