@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,700');
body, td, th,textarea {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	color: #000;
}
body {
	background-color: #FFF;
	margin-left: 0px;
	margin-top: 10px;
	margin-right: 0px;
	margin-bottom: 40px;
}
html {-webkit-font-smoothing: antialiased;}
html,body {height:100%;-webkit-text-size-adjust:100%;}

a:link {
	color: #A11B26;
	text-decoration: none;
}
a:visited {
	text-decoration: none;
	color: #A11B26;
}
a:hover {
	text-decoration: none;
	color: #BF202C;
}
a:active {
	text-decoration: none;
	color: #A11B26;
}
a:active, a:visited { 
    border: none;
    outline: none;
}
p { margin-top: 0px; }
h1, h2, h3 {
	margin-top: 0px;
	letter-spacing: -1px;
}
h1 {
	font-size: 38px;
	color: #000;
	line-height: 38px;
}
h2 {
	font-size: 24px;
	color: #000;
	margin-bottom:20px;
}
h3 {
	font-size: 17px;
	color: #999;
}
h4 {font-family:'Open Sans', sans-serif;margin:0;font-weight:300;font-size:33px;letter-spacing:-2px;color:#9e9d9d;text-align:right;padding-top:26px;}
.maincontainer {
	margin: 0 auto;
	position: relative;
	max-width:1000px;
	box-sizing:border-box;
}
.leftcol {
	width: 34%;
	float: left;
	box-sizing:border-box;
}
.rightcol {
	width: 66%;
	padding-left: 4%;
	float: left;
	box-sizing:border-box;
}
.floatrightcol {
	width: 66%;
	padding-left: 4%;
	float: right;
	box-sizing:border-box;
}
.rightcol img {
max-width:100%;
height:auto !important;
}
img.fullsize {
width:100%;
}
.clearer {
	font-size: 0px;
	line-height: 0px;
	clear: both;
	float: none;
	height: 0px;
}
.hr {
	background: #333;
	clear: 3;
	height: 4px;
}
#header { padding-bottom: 10px; }
#head-logo { vertical-align:baseline;float:left;margin-top: 6px;margin-right:50px;display:block;width:297px;height:73px;background:url(/images/head_logo_@2x.png);background-size:100%;}
.head-contact { position:absolute;top:0px;right:0px; text-align: right; }
.head-contact a { color: #000; }
.head-contact a:hover {
	text-decoration: none;
	color: #A11B26;
}
.head-contact h3 { margin-bottom: 8px; }
	#toggle {
	  position:absolute;
	  appearance:none;
	  cursor:pointer;
	  left:-9999px!important;
	  top:-9999px!important;
	}

#menubar ul {
	padding: 0;
	margin: 15px 0 20px;
	list-style: none;
	display:table;
	width:100%;
}
#menubar ul li { display: table-cell; vertical-align: bottom}
#menubar ul li a {
	font-size: 18px;
	font-weight: bold;
	color: #999;
	display: block;
	padding: 10px 8px 10px;
	text-align:center;
	border-bottom:4px solid #ddd;
}
#menubar ul li a:hover {
	color: #A11B26;
	border-bottom-color:#DA8486;
}
#menubar ul li.active a {
	color: #000;
	border-bottom-color:#bbb;
}

#maincontents {padding-bottom:20px;}
#footer { background: #C84648 url(/images/foot_bg_@2x.png) no-repeat right top; background-size:contain; }
#footer .maincontainer {
	min-height: 173px;
	padding:40px 200px 10px 0;
	box-sizing:border-box;
}
#footer ul {
	margin: 0px 0px 0px -10px;
	list-style: none;
	padding: 0;
}
#footer ul li { float: left; line-height:34px; }
#footer ul li a {
	font-size: 14px;
	color: #FFF;
	padding: 0 10px;
	display:block;float:left;
}
#footer ul li a:hover {
	color: #C84648;
	background: #FFF;
}
#footer ul li.active a { background-color: #A42224; }
#foot-logos {
	margin-top:40px;
	font-size: 10px;
	color: #FFF;
}
#foot-logos img { margin-right: 20px; vertical-align: baseline; }
#foot-logos a {
	color: #FFF;
	text-decoration: underline;
}
#foot-logos a:hover {
	color: #C84648;
	text-decoration: none;
	background: #FFF;
}
.roundel {text-align:center}
.roundel span { width:93px;height:93px;line-height:93px;border-radius:50%; box-sizing: border-box;font-size:20px;font-family:'Open Sans',sans-serif;font-weight:400;color:#ffffff;display:inline-block;margin:0;text-align:center;letter-spacing:-1px;
 -webkit-box-reflect: below 0px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(60%, transparent) , to(rgba(250, 250, 250, 0.3)));
}
.roundel nobr {display:inline-block}

.emphasis { color: #000; }
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
.fp_photo { width:650px;}
}
@media only screen and (max-device-width: 480px) {
.fp_photo { width:650px;}
}
.biglink {
	background: url(/images/btn_link.jpg) no-repeat right center;
	display: block;
	line-height: 28px;
	font-size: 20px;
	font-weight: bold;
}
dl div {
	margin-bottom: 15px;
	display:table;
}
dl div.clearer {
	padding: 0 !important;
	margin: 0 !important;
}
dl dt {
	display: table-cell;
	width: 25%;
	font-weight: bold;
	color: #FFF;
	padding: 20px 10px;
	background-color:#b5b5b5;
}
dl dd {
	display: table-cell;
	padding: 20px 10px 20px 20px;
	background-color: #E1E1E1;
}
.greytext { color: #515151; }
.greytext a { color: #515151; }
.greytext a:hover { color: #C84648; }
#slideshow {
	float:left;
	width:100%;
	height:412px;
	}
.embed-container {
 position: relative; padding-bottom: 66.66%; height: 0 !important; overflow: hidden; max-width: 100%; } 
.embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }

.gallerythumb {
	border:0;
	-moz-box-shadow: 0px 1px 3px #444;
	-webkit-box-shadow: 0px 1px 3px #444;
	box-shadow: 0px 1px 3px #444;
	cursor:pointer;
}
.tinytext {
	font-size:11px;
}
.addlink,.photoslink,.resetlink { margin-bottom:5px; }
.addlink a,.photoslink a,.resetlink a {
	background: url(/images/add.png) no-repeat left center;
	padding-left: 20px;
	color: #578D47;
}
.photoslink a {
	background-image: url(/images/photos.png)
}
.resetlink a {
	background-image: url(/images/reset.png)
}
.addlink a:hover, .photoslink a:hover, .resetlink a:hover {
	background-color:#eee;
}
.width620 {
	padding: 10px;
	width: 600px;
}
.btntestimonials {
	display:inline-block;
	background-image:url(/images/btn_speech_@2x.png);
	background-size: 100%;
	width:231px;
	height:157px;
	font-family: 'Open Sans',sans-serif;
	text-align:center;
	color:#ffffff !important;
	font-weight:400;
	font-size:17px;
	box-sizing: border-box;
	padding:55px 20px 0px 35px;
}
.bigbutton {
	letter-spacing:-1px;
	font-size:20px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	background: #FFF url(/images/btn_link.jpg) no-repeat right center;
	padding: 8px 40px 8px 10px;
	-webkit-box-shadow: 0 1px 2px #000;
	-moz-box-shadow: 0 1px 2px #000;
	box-shadow: 0 2px 4px #000;
	border-radius: 8px;
}
.alternatingrows .row:nth-child(odd) {
	background-color:#ddd;
}
.handle { cursor: move; }
form h3 { margin:0; }.testimonial {
	line-height: 1.4;
	padding-left: 66px;
	background: url(/images/quote.png) no-repeat left top;
}
.author {
	font-size: 13px;
	color: #666;
	margin-bottom: 40px;
	padding-left: 66px;
	line-height: 1.4;
	padding-top: 6px;
}
#header .nohead {
	display:none;
}
.adminthumb {
	text-align: center;
	float: left;
	margin-bottom:22px;
	margin-right: 20px;
	opacity:0.7;
}
.adminthumb:hover {opacity:1.0}
.adminthumb img {display:block;}
.drophere {
	opacity:0.6;
	-webkit-box-shadow: 0 0px 15px #BF202C;
	-moz-box-shadow: 0 0px 15px #BF202C;
	box-shadow: 0 0px 15px #BF202C;
}
#gallerytiles {
	text-align: center;
	height:100px;
	overflow:hidden;
	position:relative;
}
#gallerytiles i {display:none}
#gallerytileschild {
	position:absolute;
	top:0;
	left:0;
	touch-action: pan-y pinch-zoom;
}
#gallerytileschild table {
	margin:0 auto;
}
#gallerytileschild a {
	display:block;
}
.ps-toolbar{
opacity:0.45 !important;
display:table !important;
}fieldset {
	background: #eee;
	border-style: none;
	margin-bottom: 20px;
}
legend {
	font-weight: bold;
	color: #666;
	letter-spacing: -1px;
	font-size: 20px;
	text-shadow:0px 1px 0 #fff;
	background: #eee;
	padding:5px 20px;
	border-radius:8px;
}
#admintable td { font-size:13px; }
#admintable h3 { margin-bottom:0; }
#admintable p { margin-bottom:20px; }
#admintable h3 a { color:#333; }
#admintable a {
	display:block;
	padding:2px 5px;
	border-radius:4px;
}
#admintable a:hover {
	background-color:#888;
	color:#fff;
}
.selected {
	-webkit-box-shadow: 0 0px 15px #BF202C;
	-moz-box-shadow: 0 0px 15px #BF202C;
	box-shadow: 0 0px 15px #BF202C;
	opacity:1.0!important;
}
#chooselatest.disabled .gallerythumb {
	cursor:not-allowed !important;
	opacity:0.3;
}
#chooselatest.disabled .selected {
	cursor:pointer !important;
}
#latest {
	height:352px;
	overflow:hidden;
	position:relative;
	margin-bottom:0;
}
#latestlist {
	list-style-type: none;
	padding:0;
	margin:0;
	position:absolute;
	top:0;
	left:0;
}
#latestlist .latestthumb {
	width:350px;
	height:135px;
	background-position: top center;
	background-size: contain;
}
#latestlist li {
	display:block;
	height:167px;
	position:absolute;
	left:0;
}
#latestlist li a {
	display:block;
	height:167px;
	border-bottom: 3px solid #e3e3e3;
	margin-bottom: 18px;
 }
#latestlist li a span.caption {
	font-size: 12px;
	color: #bbb;
	padding-top: 9px;
	display:block;
}
#latestlist li a:hover {
	background: #ddd;
}
#latestlist li a:hover span.caption {
	color:#444;
}
.playbutton {
	top:0;bottom:0;left:0;right:0;
	background: url(/images/playoverlay.png) no-repeat center center;
	background-size: 20%;
	position: absolute;
}

.info { background-color: #D7E5F9; border: 2px solid #4B99E1; border-radius: 12px; padding: 8px;margin-top:20px; }


#fp-text {margin-top:-4px}

.figure {margin:0 0 1rem;}
.figure-img {margin-bottom: 0.5rem;line-height:1;}
.figure-caption {font-size:90%;color:#6c757d;}

.blockquote {margin:0 0 1rem;margin-bottom: 1rem;font-size:1.15rem;font-family:Open Sans;font-weight:300;}
.blockquote:last-child {margin-bottom:0;}
.blockquote-footer {margin-top: -0.5rem;margin-bottom:1rem;font-size:.875em;color:#6c757d;}
.blockquote-footer::before {content:"\2014\00A0";}

.casestudy {line-height:1.25}
.casestudy-button-round {display:inline-block;}
.casestudy-button-wide {display:inline-block;width:234px;}


@media (max-width: 1050px) {
  .maincontainer{ padding-left:2%;padding-right:2%; }
  #footer .maincontainer{ padding-left:2%;padding-right:200px; }
  h4 {font-size:2.8vw;letter-spacing:-1px;}
.head-contact {right:2%;}
}
@media (max-width: 1024px) {
	h2 {margin-bottom:16px}
}
@media (max-width: 850px) {
  #footer { background-image:none; }
  #footer .maincontainer{ padding-right:2%; }
}
@media (orientation: portrait), (max-width: 800px) {
  .maincontainer {text-align:center;}
  .testimonial,.author,ol {text-align:left}
  .leftcol,.rightcol,.floatrightcol {float:none !important;width:100% !important;padding:0;}
	.roundel {margin-bottom:40px;}
	#gallerytiles {margin:0 -2%;position:relative;}
	#fp-text {margin-top:12px}

	#gallerytiles i {
		display:block;
		position:absolute;
		z-index:1000;
		top:0;bottom:0;
		padding:10px;
		color:#fff;
		text-shadow:0 2px 6px rgba(0,0,0,0.8);
		font-size:48px;
	}
	#arrowleft {
		left:0;
		background: -webkit-linear-gradient(left, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0) 100%);
		background: -o-linear-gradient(left, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0) 100%);
		background: linear-gradient(to right, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0) 100%);
	}
	#arrowright {
		right:0;
		background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.5) 100%);
		background: -o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.5) 100%);
		background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.5) 100%);
	}
	#latestprojects {margin-top:15px;display:none}
	
	#footer ul li a {padding:0 9px;}
	
}
@media (max-width: 667px) {

	#latestprojects {display:none}

/* Alternative header for small screens */

	#header {height:auto;}
	#head-logo {float:none;display:inline-block;max-width:100%;background-repeat:no-repeat;margin:0}
	.head-contact {position:relative;text-align:center;top:0;right:0;}
	h4 {font-size:18px;text-align:center;padding:13px 0;letter-spacing:0px;}

/* Alternative menubar for small screens */

	#nav-toggle {
		display:block;
		background-color: #ddd;
		height:38px;
		margin-bottom:1px;
		position:relative;
		cursor:pointer;	
	}

	#nav-toggle span { position: absolute; left: 10px; top: 47%; }

	#nav-toggle span, 
	#nav-toggle span:before,
	#nav-toggle span:after {
	  cursor: pointer;
	  border-radius: 3px;
	  height: 3px;
	  width: 26px;
	  background: #777;
	  position: absolute;
	  display: block;
	  content: '';
	}
	#nav-toggle span:before {
	  top: -8px;
	}
	#nav-toggle span:after {
	  bottom: -8px; 
	}

	#menubar {
		overflow:hidden;
		max-height:0px;
		transition: max-height 300ms ease-in-out;
	}
	#toggle {
	  position:absolute;
	  appearance:none;
	  cursor:pointer;
	  left:-9999px!important;
	  top:-9999px!important;
	}


	#toggle:checked ~ #menubar {
		max-height: 300px;
	}
	
	#menubar ul {
		position:relative;
		column-count:2;
		column-gap: 1px;
		display:block;
		margin:0;
	}
	#menubar ul li {display:list-item;height:auto;padding-bottom:1px;}
	#menubar ul li {-webkit-column-break-inside: avoid;
			  page-break-inside: avoid;
				   break-inside: avoid;
	}
	#menubar ul li a {	font-size: 16px;
		text-align:left;
		border-bottom:0;
		background-color:#ddd;
	}

    
    
    
/* Alternative footer for small screens */

	#footer ul {display:none}
	#foot-logos {margin-top:0}
	#footer nobr {display:block;padding:5px 0}
	#footer .maincontainer {padding:10px 2%;min-height:0}
	
	dl div {display:block;margin-bottom:20px;}
	dl dt,dl dd { padding:0;display:block;width:auto;margin:0;color:#000;background:none;margin-bottom:5px}

}


/* OVERRIDES */
/* Mediabox - ensure close button visibility on all devices */
body .mediabox-close {bottom:inherit!important;}
body .mediabox-content iframe {max-height: calc( 100% - 48px );}
