/* BASIC SETUP */
* { 
	-webkit-box-sizing: border-box; 
	-moz-box-sizing: border-box; 
	box-sizing: border-box; 
	margin: 0; 
	padding: 0; 
}
html { 
	
}
body { 
	background: #FFFFFF;
	color: #505050; 
	font-family: 'Lato', Helvetica, Arial, sans-serif; 
	font-size: 1em; 
	overflow-x: hidden;
}

/* useful styles */
.hr hr { 
	display: none; 
}
.hr, hr { 
	border: 0;
	border-bottom: 1px solid #CCCCCC; 
	margin: 1.5em 0; 
}
.error { 
	color: #FF0000; 
}
.small { 
	font-size: 0.75em; 
}

/* responsive */
.desktop { 
	display: block !important; 
}
span.desktop { 
	display: inline !important; 
}
table.desktop { 
	display: table !important; 
}
col.desktop { 
	display: table-column !important; 
}
th.desktop, 
td.desktop { 
	display: table-cell !important; 
}
tr.desktop { 
	display: table-row !important; 
}
.mobile, 
span.mobile, 
table.mobile, 
col.mobile, 
th.mobile, 
td.mobile, 
tr.mobile { 
	display: none !important; 
}

/* alignment */
.align-left { 
	text-align: left !important; 
}
.align-center { 
	text-align: center !important; 
}
.align-right { 
	text-align: right !important; 
}
.valign-top { 
	vertical-align: top !important; 
}
.valign-middle { 
	vertical-align: middle !important; 
}
.valign-bottom { 
	vertical-align: bottom !important; 
}
.clear { 
	clear: both; 
	display: block;
	font-size: 0; 
	line-height: 0; 
	height: 0px; 
}
.clearafter:after { 
	content: ''; 
	clear: both; 
	display: block; 
}
.float-left { 
	float: left; 
}
.float-right { 
	float: right; 
}


/* common elements */
p { 
	line-height: 1.4em; 
	margin-bottom: 1em; 
}
img { 
	border: 0; 
}
a {
	color: #d2342b; 
	text-decoration: none; 
}
a:hover { 
	color: #777777; 
}


/* Headings */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { 
	font-weight: bold;
	letter-spacing: .05em; 
	margin: 1em 0; 
	text-transform: uppercase;
}
h1, .h1 { 
	font-size: 1.8em; 
}
h2, .h2 { 
	font-size: 1.5em; 
}
h3, .h3 { 
	font-size: 1.3em; 
}
h4, h5, h6, .h4, .h5, .h6 { 
	font-size: 1.15em; 
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, .h1:first-child, .h2:first-child, .h3:first-child, .h4:first-child, .h5:first-child, .h6:first-child { 
	margin-top: 0; 
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .h1 a, .h2 a, .h3 a, .h4 a, .h5 a, .h6 a { 
	color: inherit; 
}
h1.light, h2.light, h3.light, h4.light, h5.light, h6.light {
	font-weight: 300;
	letter-spacing: 0;
	text-transform: none;
}



/* column styles */
.columns { 
	margin: 0 -15px; 
	max-width: none !important;
}
.columns.tight { 
	margin: 0 -5px; 
}
.columns:after { 
	clear: both; 
	content: ''; 
	display: block; 
}
.c10, .c20, .c25, .c30, .c33, .c40, .c50, .c60, .c66, .c75, .c70,.c80,.c90, .c100 { 
	float: left; 
	position: relative;
	min-height: 1px; 
}
.columns > .c10, .columns > .c20, .columns > .c25, .columns > .c30, .columns > .c33, .columns > .c40, .columns > .c50, .columns > .c60, .columns > .c66, .columns > .c70, .columns > .c75, .columns > .c80, .columns > .c90,.columns > .c100 { 
	padding: 15px; 
}
.c10 { width: 10%; }
.c20 { width: 20%; }
.c25 { width: 25%; }
.c30 { width: 30%; }
.c33 { width: 33.33%; }
.c40 { width: 40%; }
.c50 { width: 50%; }
.c60 { width: 60%; }
.c66 { width: 66.66%; }
.c70 { width: 70%; }
.c75 { width: 75%; }
.c80 { width: 80%; }
.c90 { width: 90%; }
.c100 { width: 100%; }

.columns.tight > .c10, .columns.tight > .c20, .columns.tight > .c25, .columns.tight > .c30, .columns.tight > .c33, .columns.tight > .c40, .columns.tight > .c50, .columns.tight > .c60, .columns.tight > .c66, .columns.tight > .c70, .columns.tight > .c75, .columns.tight > .c80, .columns.tight > .c90, .columns.tight > .c100 { 
	padding: 5px; 
}
.c10.float-right, .c20.float-right, .c25.float-right, .c30.float-right, .c33.float-right, .c40.float-right, .c50.float-right, .c60.float-right, .c66.float-right, .c70.float-right, .c75.float-right, .c80.float-right, .c90.float-right, .c100.float-right { 
	float: right; 
}

.lc { 
	padding-right: 40px; 
}
.rc { 
	padding-left: 40px; 
}

.uppercase {
	text-transform: uppercase;
}
.lowercase {
	text-transform: lowercase;
}

/* tables */
table.form, .main table { 
	border: 0;
	border-collapse: collapse;
	margin: 2em 0;
	width: 100%:
}
.main table th,
.main table td {
	border: 1px solid #CCCCCC;
	padding: .5em;
	vertical-align: top;
}
table.form th,
.main table th { 
	text-align: left;
}
table.form td { 
	
}
form table, 
table.form {
	width: 100%;
}
	.main form table th, 
	.main table.form th,
	.main form table td, 
	.main table.form td {
		border: 0;
		vertical-align: middle;
	}


/* tabs */
.tabs { 
	
}
	.tabs a { 
		background: #f0f0f0; 
		color: #333333; 
		display: block; 
		float: left; 
		padding: 1px 5px; 
		text-align: center; 
	}
		.tabs a:hover { 
			background-color: #333333; 
			color: #FFFFFF; 
		}
		.tabs a.active { 
			background-color: #333333; 
			color: #FFFFFF; 
		}
		
	.tabs:after { 
		clear: both;
		content: '';
		display: block;
	}



.inset-left,
.inset-right {
	max-width: 50%;
}


/* pagenation */
.page-navigation {
	margin: 2em 0;
	text-align: right;
}
	.page-navigation img {
		height: 1.5em !important;
	}
	.page-navigation .left img {
		-ms-transform: rotate(180deg); 
		-webkit-transform: rotate(180deg); 
		transform: rotate(180deg); 
	}
	.page-navigation .right img {
		
	}



/* slideshow */
.cycle-slideshow {

}
	.cycle-slideshow * {
		max-width: 100%;
	}
.slideshow-thumbnails {

}
	.slideshow-thumbnails img {
		display: block;
		width: 100%;
	}
	.slideshow-thumbnails .active img {
		opacity: .6;
	}
	
	.cycle-slideshow .group {  
		width: 100%;
	}



/* cycle slideshow controls */
.navi-arrow { 
	background: url(../images/arrow-right.svg) center/contain no-repeat transparent; 
	display: block; 
	position: absolute; top: calc(50% - 1em); 
	width: 2em; height: 2em; 
	z-index: 1001; 
}
.navi-arrow:hover { 
}
.navi-arrow.left { 
	left: 0; 
	-ms-transform: rotate(180deg); 
	-webkit-transform: rotate(180deg); 
	transform: rotate(180deg); 
}
.navi-arrow.right { 
	right: 0; 
}

.pager { 
	bottom: 20px; 
	position: absolute; 
	right: 20px; 
	z-index: 1000; 
}
	.pager span { 
		background: #f0f0f0; 
		border-radius: 50%; 
		cursor: pointer; 
		display: inline-block; 
		font-size: 0; 
		height: 12px; 
		margin: 0 3px; 
		transition: all .3s ease; 
		width: 12px; 
	}
	.pager span:hover { 
		opacity: .8; 
	}
	.pager span.cycle-pager-active { 
		background: #202020; 
	}





/* show / hide content boxes */
.text-expander {

}
	.text-expander .text {
		height: 0;
		overflow: hidden;
	}
	.text-expander.active .text {
		height: auto;
	}








/* ----------------------------- PAGE STRUCTURE ----------------------------- */
.root { 
	padding-right: 3%; padding-left: 3%;
	position: relative;
	width: 100%; 
}
	.root > div, .page-width { 
		margin: 0px auto; 
		position: relative; 
		max-width: 1100px; 
	}
.grey-bg {
	background: #ececec;
}


header.root { 
	background: rgba(255,255,255,0.8);
	color: #101010;
	font-size: .9em;
	position: absolute; top: 0; left: 0; right: 0;
	z-index: 10001; 
}
header.root.nomainimage {
	background: #ececec;
	position: relative; top: auto; left: auto; right: auto;
}
	header > div {
		padding: 1.5em 0;
	}
		header a {
			color: inherit;
		}
		header .logo { 
			display: block; 
			width: 18%; 
		}
			header .logo img { 
				display: block; 
				width: 100%; 
			}
		header .content {
			position: absolute; top: .8em; right: 0;
		}
		header.featured_link_present .content {
			right: 11em;
		}
			header .content .info {
				display: inline-block;
				margin: 0 .8em;
			}
			#search-form {
				display: inline-block;
				margin: 0 0 0 1em;
				position: relative;
				vertical-align: middle;
				width: 12vw; max-width: 130px;
			}
				#search-form input[type="text"] {
					background: transparent;
					border: 0;
					margin: 0;
					
					display: block;
					width: 100%;
				}
				#search-form input[type="text"]:focus {
					background: #e0e0e0;
				}
				#search-form input[type="image"] {
					margin: 0;
					padding: 0;
					position: absolute; top: calc(50% - .7em); right: .4em;
					width: 1.4em; height: 1.4em;
				}
			.social { 
				display: inline-block;
				vertical-align: middle;
			}
				.social-link { 
					background: center/contain no-repeat transparent;
					display: inline-block;
					margin: 0 .3em;
					transition: all .3s ease;
					width: 1.5em; height: 1.5em;
				}
				.social-link:hover {  
					opacity: .7;
				}
				
				.social-link.facebook { 
					/*background-color: #3C5A99;*/
					background-image: url('../images/social/facebook.svg');
				}
				.social-link.googleplus { 
					/*background-color: #cb3c2f;*/
					background-image: url('../images/social/googleplus.svg');
				}
				.social-link.instagram {  
					/*background-color: #185887;*/
					background-image: url('../images/social/instagram.svg');
				}
				.social-link.linkedin {  
					/*background-color: #0076B3;*/
					background-image: url('../images/social/linkedin.svg');
				}
				.social-link.pinterest {  
					/*background-color: #C91618;*/
					background-image: url('../images/social/pinterest.svg');
				}
				.social-link.youtube {  
					/*background-color: #da2124;*/
					background-image: url('../images/social/youtube.svg');
				}
				.social-link.twitter {  
					/*background-color: #6BACDF;*/
					background-image: url('../images/social/twitter.svg');
				}
		
		header .featured-link {
			background: url('../images/featured-link-bg.png') center bottom/cover no-repeat transparent;
			color: #FFFFFF;
			display: block;
			font-size: 1.1em;
			font-weight: 300;
			padding: 1em 1em 2em;
			position: absolute; top: 0; right: 0;
			transition: all .3s ease;
			white-space: nowrap;
		}
		header a.featured-link:hover {
			padding: 1.3em 1em 2.3em;
		}
			header .featured-link strong {
				font-weight: 700;
			}
			header .featured-link .title {
				display: block;
				padding: 0 0 .5em;
			}
			header .featured-link .linktitle {
				display: block;
				font-size: .75em;
				font-weight: bold;
				text-transform: uppercase;
			}
		
		.mobile-menu-toggle { 
			display: none; 
		}


.main-navigation { 
	position: absolute; bottom: 0; right: 0;
	z-index: 1002; 
}
.featured_link_present .main-navigation {
	right: 10em;
}
	.main-navigation .logo {
		display: none;
	}
	.main-navigation ul { 
		list-style-type: none; 
		margin: 0; 
		padding: 0; 
	}
		.main-navigation li { 
			display: inline-block;
			margin: 0; 
			padding: 0;
			position: relative; 
		}
		
			.main-navigation ul a, 
			.main-navigation ul a:visited { 
				color: inherit;
				display: block; 
				padding: 1.5em 1em; 
				text-transform: uppercase;
			}
			.main-navigation li:first-child a { 
				
			}
			.main-navigation li:last-child a { 
				
			}
			.main-navigation ul li.active a { 
				text-decoration: underline;
			}
			
			.main-navigation ul a:hover, 
			.main-navigation ul ul a:hover { 
				text-decoration: underline;
			}
			.main-navigation ul :hover > a, 
			.main-navigation ul ul :hover > a { 
				text-decoration: underline;
			}
				
			.main-navigation ul ul.menu { 
				background-color: rgba(255,255,255,0.8);
				padding: 0 0 .5em 0;
				position: absolute; 
				left: 0; 
				top: 100%; 
				visibility: hidden; 
				width: 20em; 
			}
			.nomainimage .main-navigation ul ul.menu {
				background: #ececec;
			}
			.main-navigation ul li:hover ul, 
			.main-navigation ul a:hover ul, 
			.main-navigation ul a:focus + ul,
			.main-navigation ul li a:focus + ul.menu *,
			.main-navigation ul ul.menu[data-has-focus="true"],
			.main-navigation ul [aria-expanded="true"] ul.menu { 
				visibility: visible; 
			}
				.main-navigation ul ul.menu li { 
					display: block; 
					float: none; 
				}
				
					.main-navigation ul ul.menu a, 
					.main-navigation ul ul.menu a:visited { 
						border: 0; 
						padding: .3em 1em; 
						text-align: left; 
						text-decoration: none; 
						text-transform: none;
						/*text-transform: uppercase; */
					}
					.main-navigation ul ul.menu li:first-child a { 
						
					}
					.main-navigation ul ul.menu li:last-child a { 
						
					}
					.main-navigation ul ul.menu a:hover { 
						text-decoration: underline;
					}
					.main-navigation ul ul.menu :hover > a { 
						text-decoration: underline;
					}
					.main-navigation ul ul.menu li.active2 a { 
						text-decoration: underline;
					}




#google-map { 
	width: 100%; 
	height: 40vw; max-height: 450px;
}
	#google-map img {
		max-width: none;
	}




.banner { 
	background: #000000;
	height: 75vw; max-height: 800px;
	overflow: hidden;
	position: relative;
}
	.banner .cycle-slideshow { 
		width: 100%; 
		height: 100%; 
	}
		.banner .item {
			display: block; 
			height: 100%; 
			position: absolute;
			width: 100%; 
 		}
			.banner .item .link { 
				display: block; 
				position: absolute; top: 0; left: 0; 
				width: 100%; height: 100%; 
				z-index: 3;
			}
			.banner .item .image { 
				background: center/cover; 
				display: block; 
				position: absolute; top: 0; left: 0; 
				width: 100%; height: 100%; 
				z-index: 1;
			}
			.banner .item .root {
				height: 100%;
				z-index: 2;
			}
				.banner .item .page-width {  
					display: table;
					width: 100%; height: 100%;
				}
					.banner .item .text {
						color: #FFFFFF;
						display: table-cell;
						font-size: 1.3em;
						padding-left: 30%;
						text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8);
						vertical-align: middle;
						width: 100%;
					}
						.banner .item .text .strapline {
							display: inline-block;
							font-weight: 300;
							margin: .2em 0; margin-right: 15%;
							padding: .5em 5%;
							position: relative;
						}
							.banner .item .text .strapline:after {
								background: rgba(0,0,0,.8);
								content: '';
								display: block;
								position: absolute; top: 0; left: 0;
								width: 100%; height: 100%;
								z-index: -1;
							}
						.banner .item .text .strapline.carryoff {
							display: block;
							font-size: 2em;
							font-weight: bold;
							margin-right: 0;
							text-transform: uppercase;
						}
							.banner .item .text .strapline.carryoff:after {
								width: 100vw;
							}
						.banner .item .text .strapline:not(.carryoff) {
							position: absolute; 
						}
						.banner .item .text .box {
							border: .2em solid #FFFFFF; border-right: 0;
							position: absolute; top: 20%; left: 0;
							width: 100%; height: 60%;
							z-index: 1;
						}
							.banner .item .text .box .pager {
								display: none;
							}
							.banner .item .text .box .navi-arrow {
								top: auto; bottom: 4em; right: 1%;
							}
							.banner .item .text .box .navi-arrow.left {
								bottom: 1em; left: auto; right: 1%; 
							}
							.banner .item .text .box:before,
							.banner .item .text .box:after {
								border-right: .2em solid #FFFFFF;
								content: '';
								display: block;
								position: absolute; top: 0; right: 0;
								width: 0; height: 25%;
							}
							.banner .item .text .box:after {
								top: auto; bottom: 0;
							}
	
	.banner .root.process-box {
		background: rgba(0,0,0,.8);
		color: #FFFFFF;
		position: absolute; bottom: 0; left: 0; right: 0;
		z-index: 1001;
	}
		.banner .root.process-box > div {
			padding: 1em 0 .5em;
		}
			.banner .root.process-box h1 {
				font-weight: 300;
				margin: 0;
			}
			.process-box .columns > div:not(:last-of-type):after {
				border: 1px solid rgba(255,255,255,.5);
				border-radius: 50%;
				content: '+';
				display: block;
				line-height: 1.7em;
				position: absolute; top: calc(50% - .9em); left: calc(100% - .9em - 1px);
				text-align: center;
				width: 1.8em; height: 1.8em;
			}
				.process-box .process {
					border: 1px solid rgba(255,255,255,.5); border-left: 0; border-right: 0;
					color: #FFFFFF;
					display: block;
					padding: .8em 0;
					position: relative;
					text-align: center;
					text-transform: uppercase;
				}
					.process-box .process:before,
					.process-box .process:after {
						border: 1px solid rgba(255,255,255,.5); border-top: 0; border-bottom: 0;
						content: '';
						height: .5em;
						position: absolute; top: 0; left: 0; right: 0;
					}
					.process-box .process:after {
						top: auto; bottom: 0;
					}

#page-banner {
	height: 50vw; max-height: 550px;
}
					#page-banner.banner .item .text {
						padding: 9% 4%;
						vertical-align: top;
					}
						#page-banner.banner .item .text h2.page-banner-heading {
							
						}
						#page-banner.banner .item .text h3.page-banner-heading {
							position: absolute; bottom: 11%; left: 4%;
						}
						#page-banner.banner .item .text .box,
						#image-banner.banner .item .text .box {
							border: .2em solid #FFFFFF;
							top: 10%;
							height: 80%;
						}
							#page-banner.banner .item .text .box .pager,
							#image-banner.banner .item .text .box .pager {
								display: none;
							}
							#page-banner.banner .item .text .box .navi-arrow {
								
							}
							#page-banner.banner .item .text .box .navi-arrow.left {
								
							}
							#page-banner.banner .item .text .box:before,
							#page-banner.banner .item .text .box:after,
							#image-banner.banner .item .text .box:before,
							#image-banner.banner .item .text .box:after {
								display: none;
							}

#image-banner {
	height: 50vw; max-height: 550px;
}
					#image-banner.banner .item .text {
						padding: 4% 0;
						vertical-align: bottom;
					}
						#image-banner.banner .item .text h1.image-banner-heading {
							display: table;
							max-width: 600px;
							padding: .5em 2em .5em 0;
							position: relative;
						}
							#image-banner.banner .item .text h1.image-banner-heading:after {
								background: rgba(0,0,0,.8);
								content: '';
								display: block;
								position: absolute; top: 0; right: 0; bottom: 0;
								width: 100vw;
								z-index: -1;
							}
						#image-banner.banner .item .text .box {
							display: none;
						}




/* home */

.special-banner {
	color: #FFFFFF;
	font-size: 1.1em;
	font-weight: 300;
	position: relative;
}
	.special-banner h1, .special-banner h2, .special-banner h3, .special-banner h4, .special-banner h5, .special-banner h6 {
		font-weight: 300;
	}
	.special-banner .page-width {
		padding: 2.5em 0;
		position: relative;
		z-index: 3;
	}
	.special-banner .image,
	.special-banner .background {
		background: center/cover no-repeat;
		position: absolute; top: 0; right: 0; bottom: 0; left: 0;
		z-index: 1;
	}
	.special-banner .background {
		background: rgb(186,37,37);
		background: -moz-linear-gradient(left, rgba(186,37,37,1) 0%, rgba(247,145,31,1) 100%);
		background: -webkit-linear-gradient(left, rgba(186,37,37,1) 0%,rgba(247,145,31,1) 100%);
		background: linear-gradient(to right, rgba(186,37,37,1) 0%,rgba(247,145,31,1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ba2525', endColorstr='#f7911f',GradientType=1 );
		opacity: .8;
		z-index: 2;
	}
	.special-banner p:last-of-type {
		margin-bottom: 0;
	}
	.special-banner .more-link {
		border: 1px solid #FFFFFF;
		color: inherit;
		display: table;
		font-size: .85em;
		padding: .5em 1em;
		position: absolute; bottom: 2em; right: 0;
		text-transform: uppercase;
	}
	.special-banner a.more-link:hover {
		background: #FFFFFF;
		color: #f7911f;
	}



.featured-image {
	background: #000000;
	color: #FFFFFF;
	display: block;
	overflow: hidden;
	position: relative;
	text-transform: uppercase;
}
	.featured-image a {
		color: inherit;
	}
	.featured-image .link {
		display: block;
		position: absolute; top: 0; bottom: 0; left: 0; right: 0;
		transition: all .3s ease;
	}
	.featured-image .link:hover {
		top: 3px;
	}
	.featured-image .image {
		display: block;
		width: 100%;
	}
	.featured-image.darken .image {
		opacity: .5;
	}
		.featured-image span {
			display: block;
		}
		.featured-image .box {
			border: 2px solid #FFFFFF;
			padding: 4% 5%;
			position: absolute; top: 10%; bottom: 10%; left: 10%; right: 10%;
			text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8);
		}
			.featured-image .heading {
				font-size: 1.3em;
				font-weight: bold;
				width: 90%;
			}
			.featured-image .content {
				width: 90%;
			}
				.featured-image .content p {
					margin: 0 0 .7em;
				}
			.featured-image .attr_alt {
				position: absolute; bottom: calc(4% + 1.5em); left: 5%;
				width: 90%;
			}
			.featured-image .linktitle {
				font-size: .85em;
				position: absolute; bottom: 4%; left: 5%;
				width: 90%;
			}
		.featured-image .overlay {
			background: rgba(0,0,0,.8);
			color: #FFFFFF;
			opacity: 0;
			overflow: auto;
			transition: all .3s ease;
			padding: calc(15% + 2px);
			position: absolute; top: 0; right: 0; bottom: 0; left: 0;
			z-index: 2;
		}
		.featured-image:hover .overlay {
			opacity: 1;
		}
			.featured-image .overlay a {
				display: block;
				margin: 0 0 .5em;
			}


.free-survey-form-banner {
	background: url('../images/forest-mev.jpg') center/cover #000000;
	color: #FFFFFF;
}
	#free-survey-form {
		margin: 0;
	}
		#free-survey-form input[type="text"],
		#free-survey-form input[type="email"],
		#free-survey-form textarea {
			width: 100%;
		}
		#free-survey-form textarea {
			height: 10.9em;
		}
		#free-survey-form input[type="submit"],
		#free-survey-form button {
			margin: 0;
			padding: 0;
		}


.featured-box {
	background: #d9d9d9;
	overflow: hidden;
	padding: 10%;
	position: relative;
	height: 40vw; max-height: 320px;
}
	.featured-box .icon {
		display: block;
		height: 1em;
		margin: 0 0 1em;
	}
	.featured-box .feed-item {
		color: inherit;
		display: block;
		font-size: .9em;
		margin: 0 0 .5em;
	}
	.featured-box .testimonial {
		font-size: 1.2em;
	}
	.featured-box .event {
		color: inherit;
		display: block;
	}
		.featured-box .event img {
			/*background: #FFFFFF;*/
			display: block;
			/*padding: 1em;*/
			max-width: 90%; max-height: 10em;
		}
	.featured-box .more {
		position: absolute; bottom: 7%; left: 10%;
		text-transform: uppercase;
	}



.main { 
	position: relative; 
	padding: 3% 0; 
}
	.main ul, .main ol { 
		margin-bottom: 1em; 
		margin-left: 1.5em; 
	}
		.main li { 
			margin-bottom: 0.3em; 
		}
	.main iframe {
		display: block;
		margin: 1.5em 0;
		max-width: 100%;
	}
	.main img { 
		max-width: 100%; height: auto;
	}
	
	.complex-main-content {
		
	}
		.thumbnail-logo {
			display: block;
			margin: 0 0 1em;
			max-width: 250px !important;
		}
		.complex-main-content > h1:not(.normal-heading), .complex-main-content > h2:not(.normal-heading), .complex-main-content > h3:not(.normal-heading), .complex-main-content > h4:not(.normal-heading), .complex-main-content > h5:not(.normal-heading), .complex-main-content > h6:not(.normal-heading) {
			color: #FFFFFF;
			display: table;
			font-weight: 300;
			margin: 1em 0;
			padding: .4em 1.2em .4em 0;
			position: relative;
			text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8);
		}
		/*.complex-main-content > h1:first-child, .complex-main-content > h2:first-child, .complex-main-content > h3:first-child, .complex-main-content > h4:first-child, .complex-main-content > h5:first-child, .complex-main-content > h6:first-child {
			margin-top: 0;
		}*/
		.complex-main-content > h1 + h2 {
			margin-top: -1.5%;
		}
		.complex-main-content > h1 {
			font-size: 2.4em;
			font-weight: bold;
		}
		.complex-main-content > h1:first-child:last-child {
			/*margin: .5em 0;*/
		}
		.complex-main-content > h1:first-child {
			margin: .5em 0;
		}
			.complex-main-content > h1:not(.normal-heading):after, .complex-main-content > h2:not(.normal-heading):after, .complex-main-content > h3:not(.normal-heading):after, .complex-main-content > h4:not(.normal-heading):after, .complex-main-content > h5:not(.normal-heading):after, .complex-main-content > h6:not(.normal-heading):after {
				/*background: url('../images/heading-bg.jpg') center/cover #000000;*/
				background: rgb(186,37,37);
				background: -moz-linear-gradient(left, rgba(186,37,37,1) 0%, rgba(247,145,31,1) 100%);
				background: -webkit-linear-gradient(left, rgba(186,37,37,1) 0%,rgba(247,145,31,1) 100%);
				background: linear-gradient(to right, rgba(186,37,37,1) 0%,rgba(247,145,31,1) 100%);
				filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ba2525', endColorstr='#f7911f',GradientType=1 );
				content: '';
				position: absolute; top: 0; right: 0; bottom: 0;
				width: calc(100% + 50vw);
				z-index: -1;
			}
		
		.complex-main-content .inset-header-link {
			font-size: 1.2em;
			padding: 3em 0;
			text-align: right;
		}
	
	
	.image-grid {
		margin: 3% 0;
	}
	
	
	.listed-image-w-text {
		
		margin: 3% 0;
	}
		.listed-image-w-text .text-box {
			background: #ececec;
			padding: 4% 5%;
			min-height: 30.9vw;
		}
		@media only screen and (min-width: 1180px) {
			.listed-image-w-text .text-box {
				min-height: 367px;
			}
		}
		/*.listed-image-w-text .text-box.tall {
			max-height: none;
		}*/
			.listed-image-w-text .text-box h1, .listed-image-w-text .text-box h2, .listed-image-w-text .text-box h3, .listed-image-w-text .text-box h4, .listed-image-w-text .text-box h5, .listed-image-w-text .text-box h6 {
				border-bottom: 1px solid #505050;
				font-weight: normal;
				padding: 0 0 .3em;
				text-transform: none;
				width: 70%;
			}
	
	.project-info-thumb {
	
	}
		.project-info-thumb strong {
			font-size: 1.1em;
		}
	
	
	.product-links {
		background: url('../images/product-links-bg.jpg') center/cover;
	}
		.product-links > div {
			padding: 3% 0;
		}
			.page-link {
				background: rgba(255,255,255,.6);
				color: #707070;
				display: table;
				font-size: 1.2em;
				padding: 0 .5em;
				position: relative; top: 0;
				text-align: center;
				text-transform: uppercase;
				transition: all .3s ease;
				width: 100%; height: 4.5em;
			}
			a.page-link:hover {
				top: 2px;
			}
				.page-link > span {
					display: table-cell;
					vertical-align: middle;
				}
	
	
	.page { 
		
	}
		.page .image { 
			
		}
			.page .image a, .page .image img { 
				display: block; 
				width: 100%; 
			}
		.page .text { 
			
		}
	
	
	.image-thumb { 
		background: #ececec;
	}
		.image-thumb img { 
			display: block; 
			width: 100%; 
		}
		.image-thumb.contain img {
			padding: 10%;
		}


	/* projects browse */
	.project-filter {
		text-align: center;
		text-transform: uppercase;
	}
		.project-filter .select-style {
			border: 1px solid #a9a9a8;
			margin: .5em 1em;
			width: 20em;
		}
			.project-filter .select-style:after {
				display: none;
			}
				.project-filter .select-style select {
					-webkit-appearance: none;
					/*padding-right: 10%;*/
					text-align: center;
					/*width: 110%;*/ width: 100%;
				}
					.project-filter .select-style option {
						
					}
	
	/* project */
	.project-gallery {
		position: relative;
	}
		.project-gallery .navi-arrow {
			background-image: url('../images/arrow-right-red.svg');
			top: calc(50% - .75em);
			width: 1.5em; height: 1.5em;
		}
		.project-gallery .navi-arrow.left {
			left: -2em;
		}
		.project-gallery .navi-arrow.right {
			right: -2em;
		}
		.project-gallery .item {
			width: 100%;
		}
			.project-gallery .columns {
			
			}



.signup-form {
	background: #616160;
	color: #FFFFFF;
}
	.signup-form > div {
		padding: 3% 0;
	}
		.signup-form p {
			margin: 0;
			padding: .5em 0;
		}
		.signup-form form {
			margin: 0;
		}
			.signup-form form input[type="email"] {
				background: #FFFFFF;
				margin: 0;
				width: calc(100% - 2.5em);
			}
			.signup-form form input[type="image"] {
				margin: 0;
			}


footer { 
	background: #ececec;
	line-height: 1.5em;
}
	footer > div { 
		padding: 3% 0;
	}
		footer a { 
			color: inherit;
		}
		footer a:hover {
			color: inherit;
			text-decoration: underline; 
		}
		
		footer .megamenu { 
	
 		}
			footer .megamenu ul { 
				float: left; 
				list-style-type: none; 
				margin: 0; 
				padding: 0 4em 2em 0; 
			}
				footer .megamenu ul li {
					margin: 0; 
					padding: 0; 
				}
					footer .megamenu ul li a { 
						display: block; 
						font-weight: 300;
					}
					footer .megamenu ul li.large a { 
						font-weight: 400;
						text-transform: uppercase;
					}
		
		footer .contact { 
			font-weight: bold;
			text-align: right;
		}
		
		footer .info { 
			color: #808080;
			font-size: .9em;
		}


/* FANCYBOX PAGE */
body.popup { 
	background-image: none; 
 }
	.popup-root { 
		
	}form { 
	margin: 2em 0;
}
fieldset { 
	border: 0; 
}

input, 
textarea { 
	-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
	font-family: 'Lato', Helvetica, Arial, sans-serif; 
	font-size: 1em; 
}

input[type="text"], 
input[type="email"], 
input[type="search"], 
input[type="password"], 
.select-style,
textarea { 
	-webkit-appearance: none;
	background: rgba(255,255,255,.8);
	border: 0;
	border-radius: 0; 
	display: inline-block; 
	margin: .3em 0; 
	padding: .5em; 
	vertical-align: middle; 
}
textarea { 
	min-height: 8em; 
}

::-webkit-input-placeholder {
	color: #404040;
}
:-moz-placeholder {
	color: #404040;
	opacity: 1;
}
::-moz-placeholder {
	color: #404040;
	opacity: 1;
}
:-ms-input-placeholder {
	color: #404040;
}

select { 
	border: 1px solid #CCCCCC;
	font-size: 1em;
	vertical-align: middle;
	width: 100%; 
}
	select option {
		padding: .5em;
	}



/* submit, button */
input[type="submit"], 
button { 
	-webkit-appearance: none;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: #FFFFFF;
	cursor: pointer;
	display: inline-block; 
	font-size: 1.2em;
	font-weight: bold;
	margin: .3em 0;
	padding: .3em 1em;
	text-transform: uppercase;
	width: auto; 
	vertical-align: middle;
}
input[type="submit"]:hover, 
button:hover { 
	opacity: .8;
}

/* image */
input[type="image"] { 
	background: transparent;
	border: 0;
	border-radius: 0;
	cursor: pointer;
	display: inline-block;
	height: 2.1em;
	margin: .3em 0;
	padding: .5em;
	width: auto; 
	vertical-align: middle;
}
input[type="image"]:hover { 
	opacity: .8;
}




/* select style (requires wrapper .select-style) */
.select-style {
	background: rgba(255,255,255,.8);
	padding: 0;
	margin: .3em 0;
	overflow: hidden;
	position: relative;
	vertical-align: middle;
}
	.select-style select {
		-webkit-appearance: none;
		background: none;
		border: 0;
		display: block;
		padding: .5em;
		position: relative;
		width: calc(100% + 2em);
	}
		.select-style select option {
			padding: 0;
		}
	.select-style:after {
		background: url(../images/arrow-down.svg) center/60% auto no-repeat #FFFFFF;
		content: '';
		display: block;
		height: 100%;
		pointer-events: none; 
		position: absolute;
		right: 0;
		top: 0;
		width: 2em;
	}


label {
	display: inline-block; 
	font-size: .9em;
	margin: .3em 0;
	width: 10em;
}
table label { width: auto; }


/* inputs widths (easily indent against labels) */
input[type="text"], 
input[type="email"], 
input[type="search"], 
input[type="password"], 
textarea,
select,
.select-style {
	width: calc(100% - 11em); 
}
table input[type="text"], 
table input[type="email"], 
table input[type="search"], 
table input[type="password"], 
table textarea,
table select,
table .select-style {
	width: 100%; 
}





form.formhandler {
	border: 1px solid #f0f0f0;
	padding: 1.5em;
	max-width: 600px;
}

	form.formhandler fieldset {
		border-style: none;
		clear: both;
		margin: 0 0 1.5em 0;
		padding: 0;
		
	}
		
		form.formhandler legend {
			display: none;
		}
		
		form.formhandler fieldset ol {
			margin: 0 !important;
			list-style: none;
		}
		
			form.formhandler fieldset li {
				width: 100%;
			}
				
				form.formhandler label {
					font-weight: bold;
				}
				form.formhandler label.checkbox {
					font-weight: normal;
				}
				
				form.formhandler input[type="text"], 
				form.formhandler input[type="email"], 
				form.formhandler input[type="search"], 
				form.formhandler input[type="password"], 
				form.formhandler textarea,
				form.formhandler select,
				form.formhandler .select-style,
				form.formhandler .select-style:after {
					background-color: #f0f0f0;
				}
				
				form.formhandler fieldset.submit input {
					background: rgb(186,37,37);
					background: -moz-linear-gradient(left, rgba(186,37,37,1) 0%, rgba(247,145,31,1) 100%);
					background: -webkit-linear-gradient(left, rgba(186,37,37,1) 0%,rgba(247,145,31,1) 100%);
					background: linear-gradient(to right, rgba(186,37,37,1) 0%,rgba(247,145,31,1) 100%);
					filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ba2525', endColorstr='#f7911f',GradientType=1 );
					font-size: 1.3em;
				}

				form.formhandler label.inline, 
				form.formhandler label.checkbox {
					display: inline;
					float: none;
					margin: 0;
					width: auto;
				}
				
				form.formhandler input[type="checkbox"] {
					margin: .5em 0;
				}
				
				form.formhandler fieldset.radio {  
					margin-left: 110px;
					padding: .5em 0;
				}
				
				/* nested fieldsets */
				form.formhandler fieldset fieldset {
					margin-bottom: 0;
					border-style: none;
					background-color: transparent;
					background-image: none;
				}
				
				form.formhandler fieldset fieldset label.legend {
					margin-bottom: 1em;
				}
				
				form.formhandler fieldset fieldset ol {
					position: relative;
				}
				
				form.formhandler fieldset fieldset label {
					float: none;
					width: auto;
					margin-right: auto;
				}
.inset-left {
	display: block;
	float: left; 
	margin: 0 30px 30px 0; 
	position: relative;
}
.inset-right { 
	display: block;
	float: right; 
	margin: 0 0 30px 30px; 
	position: relative;
}

.large-paragraph {
	font-size: 1.3em;
	font-weight: bold;
}

.normal-heading {
	
}/* mobile */
@media only screen and (max-width: 480px) {

body { 
	font-size: .8em;
	-webkit-text-size-adjust: 100%;
}

.mobile { 
	display: block !important; 
}
span.mobile { 
	display: inline !important; 
}
table.mobile {
	display: table !important; 
}
col.mobile { 
	display: table-column !important; 
}
th.mobile, td.mobile { 
	display: table-cell !important; 
}
tr.mobile { 
	display: table-row !important; 
}
.desktop, span.desktop, table.desktop, col.desktop, th.desktop, td.desktop, tr.desktop { 
	display: none !important; 
}

h1, .h1 { 
	font-size: 1.5em; 
}
h2, .h2 { 
	font-size: 1.1em; 
}
h3, .h3 { 
	font-size: 1.1em; 
}
h4, h5, h6, .h4, .h5, .h6 { 
	font-size: 1em; 
}

/* column styles */
.columns, 
.columns.tight { 
	margin: 0 -5px; 
}
.c10, .c20, .c25, .c30, .c33, .c40, .c50, .c60, .c66,.c70,.c75, .c80, .c90, .c100 {
	
}
.c10.float-right,.c20.float-right, .c25.float-right, .c30.float-right, .c33.float-right, .c40.float-right, .c50.float-right, .c60.float-right, .c66.float-right, .c70.float-right,.c75.float-right, .c80.float-right,.c90.float-right {
	
}
.columns > .c10, .columns > .c20, .columns > .c25, .columns > .c30, .columns > .c33, .columns > .c40, .columns > .c50, .columns > .c60, .columns > .c66, .columns > .c70, .columns > .c75, .columns > .c80, .columns > .c90, .columns > .c100, .columns.tight > .c10, .columns.tight > .c20, .columns.tight > .c25, .columns.tight > .c30, .columns.tight > .c33, .columns.tight > .c40, .columns.tight > .c50, .columns.tight > .c60, .columns.tight > .c66, .columns.tight > .c70, .columns.tight > .c75, .columns.tight > .c80, .columns.tight > .c90, .columns.tight > .c100 { 
	padding: 5px; 
}

.cm10, .cm20, .cm30, .cm33, .cm40, .cm50, .cm60, .cm66, .cm70, .cm80, .cm90,.cm100 { 
	float: left; 
	min-height: 1px; 
}
.cm10 { width: 10%; }
.cm20 { width: 20%; }
.cm25 { width: 25%; }
.cm30 { width: 30%; }
.cm33 { width: 33.33%; }
.cm40 { width: 40%; }
.cm50 { width: 50%; }
.cm60 { width: 60%; }
.cm66 { width: 66.66%; }
.cm70 { width: 70%; }
.cm75 { width: 75%; }
.cm80 { width: 80%; }
.cm90 { width: 90%; }
.cm100 { width: 100%; }

.lc { 
	padding-right: 15px; 
}
.rc { 
	padding-left: 15px; 
}
.cm100.lc,
.cm100.rc,
.lcm,
.rcm {  
	padding-left: 0;
	padding-right: 0;
}


/*.tablescroll {
	max-width: 100%;
	position: relative;
}
	.tablescroll > div { 
		overflow-x: auto;
	}
		.tablescroll table {
		}
	.tablescroll:after {
		background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
		background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,1)));
		background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
		background: -o-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
		background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
		background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 );
		
		content: '';
		height: 100%;
		pointer-events: none;
		position: absolute; right: 0; top: 0;
		width: 30px;
		z-index: 10;
	}*/


/* xinha */
.inset-left { 
	float: none; 
	height: auto;
	margin: 1em 0;
	width: 100%;
}
.inset-right { 
	float: none; 
	height: auto;
	margin: 1em 0; 
	width: 100%;
}



.navi-arrow { 
	font-size: 1em; height: 1em;
}
.navi-arrow:hover { 
}
.navi-arrow.left { 
}
.navi-arrow.right { 
}






.root { 
	width: 100%; 
}
	.root > div, .page-width { 
		width: 100%;
	}







/* ----------------------------- PAGE STRUCTURE ----------------------------- */

header.root { 
	height: auto;
}
	header > div {
		padding: .5em 0;
	}
		header .logo { 
			margin: 0; 
			position: static; 
			width: 80px; 
		}
			header .logo img {  }
			
		header .content {
			top: .8em; right: 4em;
		}
		header.featured_link_present .content {
			right: 10em;
		}
			header .content .info {
				display: none;
			}
			#search-form {
				width: 6em; max-width: none;
			}
				#search-form input[type="text"] {
					
				}
				#search-form input[type="image"] {
					
				}
			header .social {
				display: none;
			}
	
	header .featured-link {
		display: block;
		font-size: .8em;
		right: 3.5em;
	}
	
	.mobile-menu-toggle {
		cursor: pointer;
		display: block;
		-webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg);
		-webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; -o-transition: .5s ease-in-out; transition: .5s ease-in-out;
		position: absolute; right: 0; top: .9em; 
		width: 22px; height: 20px;
	}
		.mobile-menu-toggle span {
			background: #101010;
			border-radius: 2px;
			display: block;
			position: absolute; left: 0;
			-webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg);
			-webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; -o-transition: .25s ease-in-out; transition: .25s ease-in-out;
			width: 100%; height: 3px;
		}
		.mobile-menu-toggle span:nth-child(1) {
			top: 0px;
		}
		.mobile-menu-toggle span:nth-child(2), 
		.mobile-menu-toggle span:nth-child(3) {
			top: 7px;
		}
		.mobile-menu-toggle span:nth-child(4) {
			top: 14px;
		}
		body.mobile-menu .mobile-menu-toggle span:nth-child(1) {
			top: 7px; left: 50%;
			width: 0%;
		}
		body.mobile-menu .mobile-menu-toggle span:nth-child(2) {
			-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg);
		}
		body.mobile-menu .mobile-menu-toggle span:nth-child(3) {
			-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg);
		}
		body.mobile-menu .mobile-menu-toggle span:nth-child(4) {
			top: 7px; left: 50%;
			width: 0%;
		}



/* responsive navigation */
.main-navigation,
.featured_link_present .main-navigation { 
	background: #FFFFFF; 
	-webkit-box-shadow: 0px 0px 13px 3px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 13px 3px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 13px 3px rgba(0,0,0,0.75);
	font-size: 1.3em;
	height: 100%; 
	margin-left: -75%; 
	padding: 20px; 
	position: fixed; top: 0; left: 0; right: auto; 
	transition: all .3s ease;
	width: 70%; 
	z-index: 1003; 
}
body.mobile-menu .main-navigation { 
	margin-left: 0; 
	overflow-x: hidden; 
	overflow-y: auto; 
}
	.main-navigation .logo { 
		display: block; 
		margin: 0 0 20px;
		width: 100px; 
	}
		.main-navigation .logo img { 
			display: block; 
			width: 100%;
		}
	.main-navigation ul { 
		padding-bottom: 20px; 
		text-align: left; 
	}
		.main-navigation ul li { 
			display: block;
			float: none;
		}
			.main-navigation ul a, 
			.main-navigation ul a:visited { 
				border-right: 0;
				font-size: .9em;
				height: auto; 
				line-height: normal; 
				padding: .3em 1em .3em 0; 
			}
			.main-navigation ul li.active a { 
				
			}
			.main-navigation li:first-child a {  }
			.main-navigation li:last-child a { 
				border: 0; 
				padding-right: 0; 
			}
			.main-navigation ul a:hover, 
			.main-navigation ul ul a:hover { 
				background: transparent; 
			}
			.main-navigation ul :hover > a, 
			.main-navigation ul ul :hover > a { 
				background: transparent; 
			}
			.main-navigation ul a:hover { 
				background: transparent; 
			}
			
			.main-navigation ul ul.menu { 
				background: transparent !important;
				height: auto;
				left: auto;
				padding: .3em 0 10px 10px;
				position: static;
				top: auto;
				visibility: visible;
				width: auto;
			}
				.main-navigation ul ul.menu li { 
					padding: 0; 
				}
					.main-navigation ul ul.menu a, 
					.main-navigation ul ul a:visited { 
						font-size: .8em;
						padding: .5em 0; 
					}
					.main-navigation ul ul.menu a.active2 { 
						
					}
					.main-navigation ul ul.menu li:first-child a { 
						padding-top: .5em;
					}
					.main-navigation ul ul.menu li:last-child a { 
						padding-bottom: .5em;
					}
					/* style the second level hover */
					.main-navigation ul ul.menu a:hover { 
						
					}
					.main-navigation ul ul.menu :hover > a { 
						
					}

		/* make the second level visible when hover on first level list OR link */
		.main-navigation ul li:hover ul, 
		.main-navigation ul a:hover ul {  }




.banner { 
	
}
	.banner .navi-arrow {
		display: none;
	}
	.banner .cycle-slideshow { 
		
	}
		.banner .item {
			
 		}
			.banner .item .link { 
				
			}
			.banner .item .image { 
				
			}
			.banner .item .root {
				
			}
				.banner .item .page-width {  
					
				}
					.banner .item .text {
						font-size: 1em;
						padding-left: 15%;
					}
						.banner .item .text .strapline {
							display: none;
							padding: .5em 5%;
							position: relative;
						}
							.banner .item .text .strapline:after {
								
							}
						.banner .item .text .strapline.carryoff {
							display: block;
							font-size: 1em;
						}
							.banner .item .text .strapline.carryoff:after {
								
							}
						.banner .item .text .strapline:not(.carryoff) {
							
						}
						.banner .item .text .box {
							
						}
							.banner .item .text .box .pager {
								
							}
							.banner .item .text .box .navi-arrow {
								
							}
							.banner .item .text .box .navi-arrow.left {
								 
							}
							.banner .item .text .box:before,
							.banner .item .text .box:after {
								
							}
							.banner .item .text .box:after {
								
							}
	
	.banner .root.process-box {
		
	}
		.banner .root.process-box > div {
			padding: 0;
		}
			.banner .root.process-box h1 {
				display: none;
			}
			.process-box .columns > div:not(:last-of-type):after {
				line-height: .9em;
				position: absolute; top: calc(50% - .6em); left: calc(100% - .5em - 1px);
				width: 1em; height: 1em;
			}
				.process-box .process {
					font-size: .8em;
					padding: .6em 0;
				}
					.process-box .process:before,
					.process-box .process:after {
						height: .3em;
					}
					.process-box .process:after {
						
					}

#page-banner {
	height: 50vw; max-height: 550px;
}
					#page-banner.banner .item .text {
						padding: 9% 4%;
						vertical-align: top;
					}
						#page-banner.banner .item .text h2.page-banner-heading {
							
						}
						#page-banner.banner .item .text h3.page-banner-heading {
							position: absolute; bottom: 11%; left: 4%;
						}
						#page-banner.banner .item .text .box,
						#image-banner.banner .item .text .box {
							border: .2em solid #FFFFFF;
							top: 10%;
							height: 80%;
						}
							#page-banner.banner .item .text .box .pager,
							#image-banner.banner .item .text .box .pager {
								display: none;
							}
							#page-banner.banner .item .text .box .navi-arrow {
								
							}
							#page-banner.banner .item .text .box .navi-arrow.left {
								
							}
							#page-banner.banner .item .text .box:before,
							#page-banner.banner .item .text .box:after,
							#image-banner.banner .item .text .box:before,
							#image-banner.banner .item .text .box:after {
								display: none;
							}

#image-banner {
	height: 50vw; max-height: 550px;
}
					#image-banner.banner .item .text {
						padding: 4% 0;
						vertical-align: bottom;
					}
						#image-banner.banner .item .text h1.image-banner-heading {
							display: table;
							max-width: 600px;
							padding: .5em 2em .5em 0;
							position: relative;
						}
							#image-banner.banner .item .text h1.image-banner-heading:after {
								background: rgba(0,0,0,.8);
								content: '';
								display: block;
								position: absolute; top: 0; right: 0; bottom: 0;
								width: 100vw;
								z-index: -1;
							}
						#image-banner.banner .item .text .box {
							display: none;
						}




/* home */

.special-banner {
	
}
	.special-banner h1, .special-banner h2, .special-banner h3, .special-banner h4, .special-banner h5, .special-banner h6 {
		
	}
	.special-banner .page-width {
		
	}
	.special-banner .image,
	.special-banner .background {
		
	}
	.special-banner .background {
		
	}
	.special-banner p:last-of-type {
		
	}
	.special-banner .more-link {
		margin: 1em 0 0;
		position: static;
	}
	.special-banner a.more-link:hover {
		
	}

.featured-image {
	
}
.cm50 .featured-image {
	font-size: .85em;
}
.cm33 .featured-image {
	font-size: .65em;
}
.cm25 .featured-image {
	font-size: .6em;
}
	.featured-image a {
		
	}
	.featured-image .link {
		
	}
	.featured-image .link:hover {
		
	}
	.featured-image .image {
		
	}
	.featured-image.darken .image {
		
	}
		.featured-image span {
			display: block;
		}
		.featured-image .box {
			padding: 3% 4%;
			position: absolute; top: 7%; bottom: 7%; left: 7%; right: 7%;
		}
		.cm50 .featured-image .box,
		.cm33 .featured-image .box {
			border-width: 1px;
		}
			.featured-image .heading {
				font-size: 1.2em;
				width: 92%;
			}
			.featured-image .content {
				font-size: .9em;
				width: 92%;
			}
			.featured-image .attr_alt {
				position: absolute; bottom: calc(3% + 1.5em); left: 4%;
				width: 92%;
			}
			.featured-image .linktitle {
				font-size: .85em;
				position: absolute; bottom: 3%; left: 4%;
				width: 92%;
			}
		.featured-image .overlay {
			padding: calc(11% + 2px);
		}
		.featured-image:hover .overlay {
			
		}
			.featured-image .overlay a {
				
			}


.free-survey-form-banner {
	/*background-position: center left;*/
}
	#free-survey-form {
		margin: 0;
	}
		#free-survey-form input[type="text"],
		#free-survey-form input[type="email"],
		#free-survey-form textarea {
			
		}
		#free-survey-form textarea {
			height: 8em;
		}
		#free-survey-form input[type="submit"] {
			
		}


.featured-box {
	padding: 5% 8% 12%;
	height: auto; max-height: none;
}
	.featured-box .icon {
		
	}
	.featured-box .feed-item {
		
	}
	.featured-box .testimonial {
		
	}
	.featured-box .more {
		left: 8%;
	}




.main {

}
		.complex-main-content {
			
		}
			.complex-main-content > h1, .complex-main-content > h2, .complex-main-content > h3, .complex-main-content > h4, .complex-main-content > h5, .complex-main-content > h6 {
				padding: .3em 1em .3em 0;
			}
			/*.complex-main-content > h1:first-child, .complex-main-content > h2:first-child, .complex-main-content > h3:first-child, .complex-main-content > h4:first-child, .complex-main-content > h5:first-child, .complex-main-content > h6:first-child {
				
			}*/
			.complex-main-content > h1 + h2 {
				
			}
			.complex-main-content > h1 {
				font-size: 1.6em;
			}
			.complex-main-content > h1:first-child:last-child {
				margin: 1% 0;
			}
				.complex-main-content > h1:after, .complex-main-content > h2:after, .complex-main-content > h3:after, .complex-main-content > h4:after, .complex-main-content > h5:after, .complex-main-content > h6:after {
					
				}
			
			.complex-main-content .inset-header-link {
				font-size: 1em;
				padding: .5em 0 1.5em;
				text-align: left;
			}
	
	
	
	.page-link {
		font-size: .9em;
		width: 100%; height: 3em;
	}
	a.page-link:hover {
		
	}
		.page-link > span {
			
		}



	/* project */
	.project-gallery {
		
	}
		.project-gallery .navi-arrow {
			
		}
		.project-gallery .navi-arrow.left {
			left: 0em;
		}
		.project-gallery .navi-arrow.right {
			right: 0em;
		}
		.project-gallery .item {
			padding: 0 2em;
			
		}
			.project-gallery .columns {
			
			}



.signup-form {
	background: #616160;
	color: #FFFFFF;
}
	.signup-form > div {
		padding: 3% 0;
	}
		.signup-form p {
			margin: 0;
			padding: .5em 0;
		}
		.signup-form form {
			margin: 0;
		}
			.signup-form form input[type="email"] {
				background: #FFFFFF;
				margin: 0;
				width: calc(100% - 2.5em);
			}
			.signup-form form input[type="image"] {
				margin: 0;
			}



footer { 
}
	
	footer .megamenu { 
		float: none; 
		text-align: center; 
	}
		footer .megamenu ul { 
			float: none; 
			padding: 0 0 1.5em 0; 
		}
			footer .megamenu ul li a span { 
				display: none; 
			}
	
	footer .social {  
		
	}
	
	footer .contact {
		float: none; 
		text-align: center; 
		width: 100%;
	}
	
	footer .info { 
		float: none; 
		text-align: center; 
		width: 100%;
	}
	
}




/* medium size screens */
@media only screen and (min-width: 480px) and (max-width: 1100px) {

body { 
	font-size: calc(.3em + .9vw);
}

.cr10 { width: 10%; }
.cr20 { width: 20%; }
.cr25 { width: 25%; }
.cr30 { width: 30%; }
.cr33 { width: 33.33%; }
.cr40 { width: 40%; }
.cr50 { width: 50%; }
.cr60 { width: 60%; }
.cr66 { width: 66.66%; }
.cr70 { width: 70%; }
.cr75 { width: 75%; }
.cr80 { width: 80%; }
.cr90 { width: 90%; }
.cr100 { width: 100%; }

.lcr {
	padding-left: 20px;
}
.rcr {
	padding-right: 20px;
}




.root {  
	
}


.banner {

}
	.banner .item {
	
	}
		.banner .item .text {
			font-size: 1.9vw;
		}



}