html {
	overflow-y: scroll;
}

body{
	margin: 0;
	padding: 0;
	background: url(../gfx/body_bg.jpg) repeat-y top center #eae8e8;
}

div{
	margin: 0;
	padding: 0;
}

#wrap{
	position: relative;
	top: 0;
	left: 0;
	width: 960px;
	height: auto;
	margin: 0 auto;
}

#header{
	position: relative;
	z-index: 1;
	width: 100%;
	height: 46px;
	margin: 20px 0 0 0;
}

#main{
	position: relative;
	width: auto;
	height: auto;
	overflow: auto;
}

#footer{
	/* added thru js: position: fixed; */
	bottom: 0;
	z-index: 99999;
	width: 960px;
	/*height: 170px;*/
	height: auto;
	margin: 0 auto;
	background: url(../gfx/section_header_bg.png) no-repeat 0 0 transparent;
}

#expand{
	display: none;
	position: fixed;
	bottom: 165px;
	z-index: 99999;
	width: 41px;
	height: 32px;
	margin-left: 10px;
	background: url(../gfx/expand_collapse.png) no-repeat 0 -32px #68a617;
	cursor: pointer;
}
#expand:hover{background-position: -41px -32px;}
#expand.active{background-position: 0 -64px}
#expand.active:hover{background-position: -41px -64px;}
#expand span{
	display: block;
	text-indent: -9999px;
}

#footer .container{
	width: auto;
	height: 150px;
	margin: 0 auto;
	padding: 20px;
}





#logo{
	position: absolute;
	top: 0;
	left: 0;
	width: 130px;
	height: 89px;
	float: left;
	-moz-box-shadow: 2px 3px 15px rgba(0,0,0,0.2);
	-webkit-box-shadow: 2px 3px 15px rgba(0,0,0,0.2); 
	-ms-box-shadow: 2px 3px 15px rgba(0,0,0,0.2);
	-o-box-shadow: 2px 3px 15px rgba(0,0,0,0.2);
	box-shadow: 2px 3px 15px rgba(0,0,0,0.2);
}

#logo a{
	color: #333;
	text-decoration: none;
	opacity: 1;
}

#logo img{
	border: none;
}
#content{
	width: 580px;
	height: auto;
	min-height: 300px;
	overflow: visible;
	float: right;
	margin: 50px 20px 40px 10px;
}

#content .rte{
	padding-right: 30px;
}

#content h1{
	font-size: 21px;
}

#aside{
	width: 300px;
	min-height: 300px;
	margin: 50px 0 50px 10px;
	float: left;
	clear: none;
}

#navigation{
	width: 400px;
	height: 38px;
	float: right;
	font-size: 14px;
	text-transform: uppercase;
}

#subnav{
	margin-top: 100px;
}








#section_header{
	position: relative;
	top: 0;
	left: 0;
	width: 960px;
	height: 265px;
	margin: 0;
	padding: 0;
	background: url(../gfx/section_header_bg.png) no-repeat 0 0 transparent;
}

#section_header .inner{
	width: 960px;
	height: 285px;
	background: no-repeat top right transparent;
}

#section_header .content{
	width: 560px;
	margin: 40px 0 0 0;
	padding: 0 0 0 50px;
	float: left;
}

#section_header h1{
	color: #fff;
	font-weight: bold;
	margin: 23px 0 4px 0;
}

#section_header p,
#section_header address{
	font-size: 16px;
	line-height: 21px;
	color: #fff;
	font-weight: bold;
}

#section_header address{
	width: 280px;
	margin-top:-10px;
	float: left;
	font-style: normal;
	line-height: 21px;
}

.contact_info span{
	display: block;
}

.contact_info p{
	font-size: 12px;
	line-height: normal;
}

.contact_info .name{
	font-size: 14px;
}

.contact_info .title{
	font-size: 12px;
	margin-bottom: 5px;
}







/* footer */

#footer .section{
	width: 190px;
	float: left;
	margin: 0 0 0 30px;
	padding: 0;
}

#footer .margined{
	margin-top: 38px;
}

#footer #legal{
	width: 450px;
	float: right;
	margin: 2px 0 0 0;
	padding: 0;
}

#footer address{
	font-style: normal;
}

#footer, #footer *{
	font-size: 12px;
	color: #fff;
	font-weight: bold;
	line-height: 17px;
	
}

#footer h3{
	font-size: 12px;
	font-weight: bold;
	text-transform: uppercase;
}

#footer h3, 
#footer p, 
#footer address, 
#footer ul{
	margin: 0 0 17px 0;
}

#footer ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer li{
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer .links a{
	display: block;
	padding-left: 16px;
	background: url(../gfx/arrows.png) no-repeat 0 -50px transparent;
	text-transform: uppercase;
}

#footer .follow_us li{
	width: 50px;
	height: 81px;
	float: left;
	margin: 0 10px 0 0;
	padding: 0;
}

#footer .follow_us a{
	display: block;
	width: 50px;
	height: 81px;
	margin: 0;
	padding: 0;
	text-indent: -9999px;
	background: url(../gfx/follow_us.png) no-repeat 0 0 transparent;
}

#footer .follow_us .facebook a{
	background-position: 0 0;
}

#footer .follow_us .twitter a{
	background-position: -53px 0;
}

#footer .follow_us .linkedin a{
	background-position: -107px 0;
}

#footer #switch_language{
	width:190px;
	float: left;
	clear: left;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

#footer #switch_language{
	margin-top: 0;
}

#switch_language a{
	display: block;
	margin: 0 0 0 30px;
	padding: 3px 10px 2px 21px;
	color: #82c846;
	background: url(../gfx/arrows.png) no-repeat 6px 3px #fff;
}





/* navigation */

#navigation ul{
	float: right;
	margin: 0;
	padding: 0 30px 0 0;
	list-style: none;
}

#navigation li{
	float: left;
	list-style: none;
	margin: 0 5px 0 15px;
}

#navigation a,
#navigation strong{
	display: block;
	font-size: 33px;
	line-height: 33px;
	opacity: 1;
	-webkit-transition: color 0.3s ease-in-out;
	-moz-transition: color 0.3s ease-in-out;
	-o-transition: color 0.3s ease-in-out;
	-ms-transition: color 0.3s ease-in-out;
	transition: color 0.3s ease-in-out;
	font-weight: bold;
	color: #c9e2b2;
	letter-spacing: -1px;
	text-decoration: none;
}

body.default #navigation a{
	color: #82c846;
}

#navigation a:hover{
	color: #a8d57f;
}

#navigation li.Open a,
#navigation strong{
	color: #82c846;
}




#subnav{
	position: absolute;
	bottom: 0;
	width: auto;
	height: 30px;
}

#subnav ul{
	margin: 0;
	padding: 0 0 0 30px;
	list-style: none;
}

#subnav li{
	margin: 0 8px 0 0;
	padding: 0;
	list-style: none;
	float: left;
}

#subnav a,
#subnav strong{
	display: block;
	height: 23px;
	margin: 0;
	padding: 7px 10px 0 10px;
	list-style: none;
	background: #c6e498;
	opacity: 1;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	font-size: 14px;
	color: #82c746;
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
}

#subnav .ClosedSelected a,
#subnav .Open a,
#subnav strong{
	background: #f2f2f2;
}

#subnav a:hover{
	background: #def0c3;
	opacity: 1;
}

#subnav .ClosedSelected a:hover{
	background: #f2f2f2;
	color: #aee97a;
}



/* portfolionav */

.portfolionav ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

.portfolionav li{
	position: relative;
	width: auto;
	min-height: 31px;
	margin: 0 0 5px 0;
	padding: 0;
	list-style: none;
	background: #fff;
}

.portfolionav li a,
.portfolionav li strong{
	display: block;
	height: auto;
	margin: 0;
	padding: 7px 0 7px 25px;
	background: url(../gfx/toggle.gif) no-repeat 0 -100px #fff;
	line-height: normal;
	color: #82c846;
}

.portfolionav li strong{
	background-position: 0 -162px;
}

.portfolionav li span{
	font-size: 14px;
	font-weight: bold;
	line-height: normal;
}

.portfolionav li .extension{
	display: none;
	padding: 0 10px 10px 25px;
	font-size: 12px;
	line-height: normal;
}








/* news etc */
/* Is this used? */

.listing{
	margin: 40px 0;
}

.listing *{
	line-height: normal;
}

.listing ul{
	margin: 0;
	padding: 0 0 10px 0;
	list-style: none;
}

.listing li{
	list-style: none;
	margin: 5px 0 5px 0;
	padding: 10px 0 0  0;
}

.listing h4{
	margin: 0;
	padding: 0;
	font-size: 12px;
}

.listing li.active *{
	color: #333;
}

.listing p{
	margin: 0;
	padding: 0;
	font-size: 12px;
}

.listing .date{
	font-size: 10px;
	color: #666;
	margin: 0;
}

.listing img{
	float: left;
	margin: 2px 8px 4px 0;
}



/* Main news listing on article_listing template */

.newslisting{}

.newslisting *{
	max-width: 550px;
}

.newslisting .item{
	margin-bottom:20px;
	padding-bottom:10px;
	border-bottom:solid 1px #d6d6d6;
}
.newslisting .details{}
.newslisting .date{
	font-size: 12px;
	margin-bottom:0;
}
.newslisting .tags{}
.newslisting .bookmarks{}

.newslisting .item h2{
	margin-top:0;
}
.newslisting .content{}
.newslisting .author{}











/* references list with logos */

ul.references{
	margin: 40px 0;
	padding: 0;
	list-style: none;
}

ul.references li{
	width: 180px;
	height: 84px;
	overflow: hidden;
	float: left;
	margin: 0 3px 3px 0;
	padding: 0;
	list-style: none;
	background: #fff;
	text-align: center;
}











/* stafflisting */

.stafflisting ul{
	float: left;
	width: 220px;
	height: auto;
	margin: 0 20px 40px 0;
	padding: 0;
	list-style: none;
}

.stafflisting ul.col_3{
	margin-right: 0;
}

.stafflisting ul li{
	position: relative;
	width: 220px;
	height: auto;
	min-height: 260px;
	margin: 0 0 20px 0;
	padding: 0;
	list-style: none;
	background: #fff;
}

.stafflisting .image_container{
	position: relative;
	width: 220px;
	height: 155px;
	margin-bottom: 8px;
	overflow: hidden;
}

.stafflisting .factory,
.stafflisting .photo{
	position: absolute;
}

.stafflisting .photo{
	display: none;
}

.stafflisting .extension{
	margin: 0;
	padding: 0;
}

.stafflisting .extension_toggler{
	position: absolute;
	width: 24px;
	height: 24px;
	right: 0;
	bottom: 0;
	z-index: 9999;
	cursor: pointer;
	background: url(../gfx/toggle.gif) no-repeat right 0 transparent;
}

.stafflisting .extension_toggler:hover{
	background-position: right -24px;
}

.stafflisting .extension_toggler.open{
	background-position: right -48px;
}

.stafflisting .extension_toggler.open:hover{
	background-position: right -72px;
}

.stafflisting .contact_info{
	margin: 0 15px;
}

.stafflisting div.bio{
	display: block;
	margin: 0 15px;
	padding-bottom: 15px;
}

.stafflisting div.bio p{
	font-size: 12px;
	line-height:normal;
	margin-bottom: 11px;
}

.stafflisting a.phone,
.stafflisting a.email,
.stafflisting a.linkedin{
	margin-top: 2px;
}









#aside .box{
	margin: 20px 0 60px 0;
}

#aside .box *{
	max-width: 300px;
}

#aside .image{
	text-align: center;
}

#aside .quote{
	/*border:dotted 1px #ccc;*/
}

#aside blockquote{
	margin: 20px;
	padding: 0 10px 0 32px;
	background: url(../gfx/blockquote_bg.png) no-repeat 0 3px;
	
	font-weight: bold;
}

#aside blockquote p{
	/*color: #82c846;*/
	color: #82c846;
	margin-bottom:17px;
}

#aside .box p{
	font-size:12px;
	line-height:17px;
}

/* newsletter form */

#aside .sc_form p{
	margin-bottom:10px;
}

#aside .sc_form label{
	display:block;
	font-size:12px;
}

#aside .sc_form .form_field{
	padding-bottom:10px;
}

#aside .sc_form .textfield{
	width:270px;
	
	height:18px;
	color:#666;
	/*background:transparent;*/
	background:#fff;
	/*border:solid 2px #c9e2b2;*/
	border:solid 2px #fff;
	margin-top:2px;
	padding:2px;
}






/* main_feature / cycle - used on home */

#main_feature{
	margin-left: 10px;
}

#main_feature .item{
	width: 940px;
	height: 354px;
	text-align: center;
}

#main_feature .item *{
	text-align: center;
}

#main_feature .item h2{
	font-size: 31px;
}



#portfolio{
	position: absolute;
	top: 65px;
	left: 0;
	width: 960px;
	height: 510px;
	z-index: 9999;
}

#portfolio a{
	opacity: 1;
}




/* flexslider used on home */

.flexslider {width: 100%; margin: 0; padding: 0;}
.flexslider .slides li {display: none;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {max-width: 100%; display: block;} 
.flexslider a {outline: none;}
.slides,
.flex-control-nav,
.flex-direction-nav {
	margin: 0; 
	padding: 0;
	list-style: none;
}

.flexslider{
	position: relative;
	background: transparent;
}

.no-js .slides li:first-child {display: block;}

.flexslider .slides li{
	float: left;
	width: 960px;
	/*height: 540px;*/
	height: 510px;
	overflow: hidden;
	list-style: none;
	text-align: center;
}

.flexslider .itemgroup{
	width: 880px;
	/*height: 540px;*/
	height: 510px;
	margin: 0 40px;
	
}

.flexslider .item{
	position: relative;
	width: 220px;
	/*height: 540px;*/
	height: 510px;
	float: left;
}

.flexslider .item a,
.flexslider .item span.nolink{
	position: absolute;
	left: 0;
	bottom: 0;
}

.flexslider .item img{
	display: inline;
}

/* Direction Nav */
.flex-direction-nav li a {
	position: absolute; 
	top: -5px; 
	display: block;
	width: 66px; 
	height: 515px; 
	margin: 0 0; 
	background: url(../gfx/showcase_nav_bg.png) no-repeat 0 0;
	cursor: pointer; 
	text-indent: -9999px;
	outline: none;
}

.flex-direction-nav li a.next {
	background-position: 0 0; 
	right: -21px;
	right: 0;
}
.flex-direction-nav li a.prev {
	background-position: -66px 0; 
	left: -20px;
	left: 0;
}

/* Control Nav */
.flex-control-nav {width: 100%; position: absolute; bottom: -30px; text-align: center;}
.flex-control-nav li {margin: 0 0 0 5px; display: inline-block; zoom: 1; *display: inline;}
.flex-control-nav li:first-child {margin: 0;}
.flex-control-nav li a {width: 13px; height: 13px; display: block; background: url(../gfx/bg_control_nav.png) no-repeat 0 0; cursor: pointer; text-indent: -9999px;}
.flex-control-nav li a:hover {background-position: 0 -13px;}
.flex-control-nav li a.active {background-position: 0 -26px; cursor: default;}







/* exceptions by template */

/* default */

.default #section_header{
	height: 595px;
}

.default #section_header .content{
	width: 940px;
	height: 359px;
	overflow: hidden;
	margin: 0 0 0 10px;
	padding: 0;
	float: none;
}

.default #section_header h2{
	font-size: 31px;
	color: #fff;
}

.default #content{
	position: relative;
	float: left;
	margin: -20px 0 0 20px;
}

.default #aside{
	width: 300px;
	float: right;
	margin: -20px 25px 0 0;
}

/* boilerplate */
.default #content h1{
	margin-top: 0;
	font-size: 27px;
}

.default #content .rte{
	padding-right: 0;
}


.default .listing{
	margin: 0 0 20px 0;
	padding: 0 15px;
	background: url(../gfx/box_bg.jpg) repeat-y 0 0 #74b519;
	-moz-box-shadow: 0px 2px 5px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); 
	-ms-box-shadow: 0px 2px 5px rgba(0,0,0,0.2);
	-o-box-shadow: 0px 2px 5px rgba(0,0,0,0.2);
	box-shadow: 0px 2px 5px rgba(0,0,0,0.2);
}

.default .listing .label{
	padding: 15px 12px 0 15px;
}

.default .listing .label h3{
	font-size: 15px;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	text-transform: uppercase;
}

.default .listing li *{
	color: #fff;
	margin: 0;
	padding: 0;
}

.default .listing li a{
	display: block;
	background: url(../gfx/arrows.png) no-repeat 0 -35px transparent;
	padding: 0 0 0 16px;
}

.default .listing li.more_items a{
	font-size: 12px;
	background-position: 0 -50px;
}

.default #content .read_more a{
	text-transform: uppercase;
}



/* portfolio */
/*
body.portfolio_item .summary{
	padding: 15px;
	background: #fff;
}
*/



/* sitemap */

body.sitemap #content{
	width: 920px;
	margin-top: 30px;
}

body.sitemap h1{
	display: none;
}





/* staff */

body.staff #content{
	width: 940px;
	height: auto;
	float: none;
	clear: both;
	margin: 50px 0 0 10px;
}

body.staff h2{
	font-size: 15px;
	margin-bottom: 19px;
	text-transform: uppercase;
}

a.linkedin{
	display:block;
	margin:0;
	padding-top:2px;
}

a.linkedin img{
	margin-top:-2px;
}





/* contact us */

body.contact_us #content{
	width: 940px;
	margin: 20px 10px 0 10px;
}

body.contact_us .contact_info{
	width: 368px;
	margin-top: 10px;
	padding: 0 10px 0 0;
	background: #fff;
	overflow: hidden;
}

body.contact_us .contact_card{
	width: 230px;
	padding: 8px 10px;
	float: left;
}

body.contact_us .photo{
	width: 110px;
	min-height: 100px;
	float: left;
}

body.contact_us .factory{
	width: 110px;
	height: 77px;
	float: right;
}

body.contact_us .photo img,
body.contact_us .factory img{
	width: 110px;
	height: 77px;
}

.contact_card iframe{
	margin-top:20px;
}

.maplink{
	display: block;
	background: url(../gfx/arrows.png) no-repeat 0 -48px transparent;
	padding: 0 0 0 16px;
	color:#fff;
}





