/* 	[ COPYRIGHT CONTEGRO  - Intelligent Website Content Management ]   */
/* 	[ http://www.contegro.com ]   */



/*
	Default Class Selectors and ID Selectors have been created for you.
	Alter the Property and Value to reflect your design as required.
	Global Pagination and List styles will effect any Core or Add-on Modules that offer Lists and Pagination.
	Such as: Page List (not Pagination), Category List, Search Results.
	Pagination is set within Contegro Administration, by changing the Module Settings on an individual page, 
	or within the Template for a Global Setting.
*/

body, 
input, 
select, 
textarea,
tbody {
	font-family: 'HelveticaNeueLTStd-Roman', sans-serif;
	font-size: 12px;
	color: #999999; 
}

#mfPreviewBar { display: none !important; }

#outerWrapper,
#outerWrapper input,
#outerWrapper select,
#outerWrapper textarea,
#outerWrapper font {
	font-family: 'HelveticaNeueLTStd-Roman', sans-serif;
}

b, strong {
	font-family: 'HelveticaNeueLTStd-Md', sans-serif;
	font-weight: normal;
}

p {
	font-size: 1em;
	margin: 0 0 1em 0;
	line-height: 1.5em;
}

html {
   -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

	a { 
		color: #999999; 
	}
	a:hover { 
		color: #00aeef; 
	}
	#cPC .HTMLContent a,
	#cPC .ContactLocation a { 
		color: #00aeef; 
		text-decoration: none;
	}
	#cPC .HTMLContent a:hover, 
	#cPC .ContactLocation a:hover { 
		color: #00aeef;
		border-bottom: 1px solid #00aeef;
	}

	#cPC .HTMLContent a[href^="mailto"], 
	#cPC .ContactLocation a[href^="mailto"] { 
		color: #999999; 
		text-decoration: none;
	font-family: 'HelveticaNeueLTStd-Md', sans-serif;
	}
	#cPC .HTMLContent a[href^="mailto"]:hover,
	#cPC .ContactLocation a[href^="mailto"]:hover { 
		color: #999999;
		border-bottom: 1px solid #999999;
		font-family: 'HelveticaNeueLTStd-Md', sans-serif;
}


a img{border:none; text-decoration:none;}

/* === [ Asterix - Required ] === */
.RequiredMarker {
	color: #CC0000;
	padding: 0px 2px;
}

/* === [ Heading Tags ] === */
h1, h2, h3, h4, h5, h6 {
	font-family: 'HelveticaNeueLTStd-Lt', Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 1.5em;
	color: #666; 
	padding: 0;
	margin: 0;
	margin-bottom: 0.5em;
	font-weight: normal;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	text-decoration: none;
}
h1 {
	font-size: 2em;
}
h2 {
	font-size: 1.8em;
}
h3 {
	font-size: 1.6em;
}
.ContactLocation h3 {
	font-size: 1.2em;
	font-family: 'HelveticaNeueLTStd-Md', sans-serif;
}
h4 {
	font-size: 1.2em;
	font-family: 'HelveticaNeueLTStd-Md', sans-serif;
}
h5 {
	font-size: 1.2em;
}
blockquote {
}

/* === [ HTML List Styles ] === */
.HTMLContent ul,
.HTMLContent ol,
.HTMLContent menu,
.HTMLContent dir {
	font-family: Arial, sans-serif;
	font-size: 12px;
	margin: 0px 0px 20px 0;
	padding: 0px 0px 0px 10px;
}
.HTMLContent ol li {
	font-size: 1.2em;
	line-height: 1.5em;
	font-size: 12px;
	list-style:outside;
	list-style-type: decimal;
	
}
.HTMLContent ul li {
	font-size: 1.2em;
	line-height: 1.5em;
	font-size: 12px;
	list-style:outside;
	list-style-type: disc;
	margin-left:0;
	padding-left:10px;
}


/*@media only screen and (-webkit-min-device-pixel-ratio: 1) {
     ::i-block-chrome, .HTMLContent ul li{
        list-style:inside;	
		margin-left:-18px;
		padding-left:20px;
		border:1px solid black;
    }
}*/

.HTMLContent ul:not(*:root) {	 
        list-style:inside;	
		margin-left:2px;

	}
	
.HTMLContent li:not(*:root) {        
		margin-left:5px;
		padding-left:10px;	
	
	}


.HTMLContent li li {
	font-size: 11px;
}
.HTMLContent li li li {
	font-size: 11px;
}
.HTMLContent li li li li {
	font-size: 11px;
}


.modalImage {
	float: left;
	width: 33.3333%;
	height: auto;
}
.modalContent {
	margin-left: 33.3333%;
	padding-left: 2.5em;
	margin-right: 20px;
}
	h4.modalContent {
		padding-left: 2em;
		margin-bottom: 1em;
	}
	.modalContent + span {
		display: block;
	}
	.modalContent .HTMLContent {
		padding-right: 2em;
	}

h1.modalContent {
	padding-left: 1.5em;
	font-size: 1.5em;
	padding-top: 1em;
}
.modalContent > h1 {
	font-size: 1.5em;
	padding-top: .75em;
}

.modalContent.content {
	padding-right: 2.5em;
	
	/* see http://demosthenes.info/blog/946/CSS-last-line-Controlling-Widows- for a good explanation of what the next two lines do */
	/*
	orphans: 3; 
	widows: 3;
	*/
	
	-webkit-column-count: 2; /* Chrome, Safari, Opera */
	   -moz-column-count: 2; /* Firefox */
			column-count: 2;	
			
	-webkit-column-gap: 2.5em; /* Chrome, Safari, Opera */
	   -moz-column-gap: 2.5em; /* Firefox */
			column-gap: 2.5em;	
}
	.modalContent.content p {
		display: inline-block; /* this stops column breaks within the paragraph */
		margin-bottom: 1em;
		min-width: 80%;
		
		-webkit-column-break-after: avoid;
		   -moz-column-break-after: avoid;
		    -ms-column-break-after: avoid;
		        column-break-after: avoid;		
	}
	.modalContent.content p:empty {
		display: none;
		
	}
	.modalContent.content hr {
		height: 0;
		background: none;
		border: none;
		margin: 0;
		-webkit-column-break-after: always;
		   -moz-column-break-after: always;
		    -ms-column-break-after: always;
		        column-break-after: always;
	}

		.modalContent.content p:last-child { margin-bottom: 0; }

	.ContegroModalDetail h2 {
		font-size: 1.2em;
		font-family: 'HelveticaNeueLTStd-Md', sans-serif;
	}
	
	.ContegroModalDetail .ListItem {
		width: 100% !important;
		height: auto !important;
		min-height: 140px;
		opacity: 1;
		display: block;
		overflow: visible !important;
		padding-bottom: 20px;
		clear: both;
		float: none;
		position: relative !important;
		top: auto !important;
		left: auto !important;
	}
	
	.ContegroModalDetail .ListItem:after {
		content: ".";
		display: block;
		height: 0;
		font-size: 0;
		clear: both;
		visibility: hidden;
	}
	
		.ContegroModalDetail .ListThumbnail {
			width: 200px;
			float: left;
			opacity: 1 !important;
			top: 0 !important;
			filter: none;
			-webkit-filter: none;
		}
	
		.ContegroModalDetail .ListItem .TitleAndSummary {
			top: 0;
			margin-left: 200px;
			width: 100% !important;
		}
		.ContegroModalDetail .ListItem .ListTitle {
			margin-top: 0;
		}

	.ContegroModalDetail a.ProjectLink,
	.ContegroModalDetail a.DownloadLink {
		display: inline-block;
		margin-top: 1em;
		font-weight: bold;
		text-decoration: none;
		color: white;
		height: 29px;
		line-height: 29px;
		margin-right: 40px;
	}
	.ContegroModalDetail a.ProjectLink {
		padding-right: 25px;
		background: url(/templates/_images/modal-view-project-arrow.png) top right no-repeat;
	}
	.ContegroModalDetail a.DownloadLink {
		padding-right: 37px;
		background: url(/templates/_images/modal-download-project-arrow.png) top right no-repeat;
	}




/* === [ GLOBAL PAGINATION ] ============================== */

/* Displays at the Top of list */
.OrderingTop {
	margin: 0px 0px 10px 0px;
	position: relative;
	clear: both;
}
 /* Displays at the Bottom of list */
.OrderingBottom {
	margin: 10px 0px 10px 0px;
	position: relative;
	clear: both;
}
/* Numbers */
 	.OrderingTop a, 
	.OrderingBottom a {
		padding: 0 2px;
	}
	.OrderingTop a:hover, 
	.OrderingBottom a:hover {
	}
/* Selected Page */
	.SelectedPage {
		text-decoration: none;
		padding: 0 2px;
	}
/* Next and Back */
	.OrderingTop a.OrderingNext, 
	.OrderingBottom a.OrderingNext {
		border: 0;
		text-transform: uppercase;
		text-decoration: none;
		background: url(/Templates/_images/icon_next.gif) no-repeat right;
		padding: 0 1em;
	}
	.OrderingTop a.OrderingBack, 
	.OrderingBottom a.OrderingBack {
		border: 0;
		text-transform: uppercase;
		text-decoration: none;
		background: url(/Templates/_images/icon_back.gif) no-repeat left;
		padding: 0 1em;
	}
	
	

html.showingModal {
	overflow-y: hidden;
}


body .ContegroModal {
	background: black;
	box-shadow: 0 0 1em black;
	border-radius: 0;
	width: 1000px;
	margin-left: -500px;
}

	body .ContegroModalTitle {
		margin-left: 33.3333%;
		background: none;
		border-radius: 0;
		font-size: 2em;
		font-weight: normal;
		padding: 20px 20px 0 0.5em;
		font-family: 'HelveticaNeueLTStd-Lt', Arial, Helvetica, sans-serif;
		color: #e5e5e5;
		border: none;
		position: absolute;
		top: auto;
		left: auto;
		right: auto;
	}
	body .ContegroModalDetail {
		padding: 0;
		line-height: 1.3em;
		color: #e5e5e5;
		font-size: 14px;
		font-family: 'HelveticaNeueLTStd-Roman', sans-serif;
		/* overflow-y: scroll; */
	}
	
	body .ContegroModalDetail h1,
	body .ContegroModalDetail h2,
	body .ContegroModalDetail h3,
	body .ContegroModalDetail h4 {
		color: #e5e5e5;
	}
	body .ContegroModalDetail a {
		color: #e5e5e5;
	}
	body .ContegroModalDetail div.noImage {
		padding: 2em;
	}
	body .ContegroModal.HasTitle .ContegroModalDetail {
		padding: 55px 0 0 0;
	}
	body .ContegroModalDetail b {
		font-weight: normal;
	}
	
	body .ContegroModalClose,
	body .ContegroModalClose:active {
		background-image: url(/templates/_images/modal-close.png);
		top: 0;
		right: 0;
	}



	
/* -----[ GLOBAL LIST - used for most add-on modules ]-------------------------------------------- */

.ListHolder:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
.ListHolder,
.ListHolderAfterHero {
	display: block;
	width: auto;
	height: auto;

	margin: 0;
	padding: 0;
	border: none;
	background: none;
}
	.ListHolderAfterHero {
		width: 100%;
		position: relative;
	}

/* Hides from IE Mac \*/
* html .ListHolder {
   height: 1%; }
.ListHolder {
   display: block;
   position: relative;
   }
/* End hide from IE-mac */

.ListHolder:before {
	display: block;
	content: '';
	width: 35px;
	height: 35px;
	position: absolute;
	top: 100px;
	left: 50%;
	margin-left: -17.5px;
	background: url(/templates/_images/loading.gif) 0 0 no-repeat;
	opacity: 0;
}
.ListHolder.loading:before {
	opacity: 1;
	
	-webkit-transition: opacity 0.5s 0.5s;
	   -moz-transition: opacity 0.5s 0.5s;
	        transition: opacity 0.5s 0.5s;
}
.HomeTemplate #cRS   .ListHolder.loading:before,
.HomeTemplate #cNews .ListHolder.loading:before {
	display: none;
}


.ListItem {
	position: relative;
	margin: 0;
	padding: 0;
	display: inline-block;
	width: 25%;
	height: 240px;
	height: 18.75vw; /* 18.75% of the view width */
	overflow: hidden;

	opacity: 0;

	-webkit-transition: opacity 0.25s;
			transition: opacity 0.25s;	
}
	.HomeTemplate .ListItem { width: 33.3333%; }
	.HomeTemplate #cRS .ListItem { width: 100%; }

	.OurPeople .ListItem { height: 25vw; }


	.OurPeople .ListTitle{padding-top:15px;padding-bottom:4px;}
	
		.OurPeople .ListSummary{line-height:1.2em; font-size:13px}
		.OurPeople .ListSummary em {
			font-style: normal;
			color: #999;
			display: block;
			margin-top: .5em;
		}

	.ListItem:after {
		display: block;
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: black;
		opacity: 0.55;
		z-index: 15;

		-webkit-transition: opacity 0.5s;
				transition: opacity 0.5s;	
	}
		.ListItem:hover:after {
			opacity: 0;
		}
		
		.OurPeople .ListItem:after {
			display: none;
		}
		
		/* #outerWrapper.news .ListItem:hover:after, */
		.HomeTemplate .ListItem:hover:after {
			opacity: 0.65;
		}

.ListItem.positioned {
	opacity: 1;
}
.ListItem.filterHide { display: none; }

	/* Custom Title */
	.ListCustomTitle {
		font-size: 1.4em;
		font-family: 'HelveticaNeueLTStd-Md', sans-serif;
		font-weight: normal;
		margin: 0px;
		padding: 0px;
	}

	/* Separators */
	.ListPrimarySeparator {
		margin: 0.2em 0;
		font-size: 1.3em;
		font-family: 'HelveticaNeueLTStd-Md', sans-serif;
font-weight: normal;
}
	.ListSecondarySeparator {
		margin: 0.2em 0;
		font-size: 1.3em;
		font-family: 'HelveticaNeueLTStd-Md', sans-serif;
font-weight: normal;}
	/* Separators */
	.ListCategory {
		margin: 0.2em 0;
		font-size: 1.2em;
	}
	.ListSubCategory {
		margin: 0.2em 0;
		font-size: 1.2em;
		padding: 0 0 0 0.6em ;
	}

	/* Thumbnail */
	.ListThumbnail {
		float: none;
		margin: 0;
		border-style: none;		
		position: absolute;
		top: 0;
		left: 0;
		height: auto;
		margin: auto;		
		z-index: 10;		
		opacity: 0;		
		filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */
		filter: gray; /* IE6-9 */		
		
		-webkit-transition: top 0.75s, -webkit-filter 0.75s;
		transition: top 0.75s, filter 0.75s;
		-webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */	
	}
	.ListItem:hover .ListThumbnail {
		filter: none; 
		-webkit-filter: grayscale(0%);		
		-webkit-transition-delay: 0.25s;
		transition-delay: 0.25s;
		top: 10%;
	}
	.contegro_iphone .ListItem:hover .ListThumbnail,
	.contegro_ipad   .ListItem:hover .ListThumbnail {
		top: 0;
	}
	
	
		.imageExactRatio img { width: 100%; height: 100%; }
		.imageTooWide    img { height: 100%; }
		.imageTooTall    img { width: 100%; }
		.imageLoaded     img { opacity: 1; }		
	
	
	.HomeTemplate .ListItem:hover       .ListThumbnail,
	.HomeTemplate .ListItem.Half:hover  .ListThumbnail,
	.ListItem.Small:hover              .ListThumbnail,
	.ListItem.Medium:hover              .ListThumbnail,
	.ListItem.Hero:hover                .ListThumbnail {
		top: 0;
	}	
	
	
	.TitleAndSummary {
		-webkit-transform: translateZ(0); /* stops a weird 'aliasing during transitions' bug, see http://stackoverflow.com/questions/7947385/hovering-over-css-transition-in-safari-lightens-certain-font-color */
	
		z-index: 20;
		position: absolute;
		background: rgba(0,0,0,0.50);
		width: 100%;
		height: auto;
		min-height: 50%;
		top: -75%;
		left: 0;
		
		-webkit-transition: top 0.75s;
		        transition: top 0.75s;
	}
		.ListItem:hover .TitleAndSummary {
			top: 0%;
		}
		.OurPeople .ListItem.Small:hover .TitleAndSummary {
			background: rgba(0,0,0,0.85);		
			margin-top: -130px;
		}		
		.contegro_iphone .TitleAndSummary,
		.contegro_ipad   .TitleAndSummary {
			-webkit-transition: top 0.25s;
					transition: top 0.25s;
		}		
		
		
	/* #outerWrapper.news .TitleAndSummary, */
	.HomeTemplate .TitleAndSummary {
			top: 0;
			background: none;
			height: 100%;
	}
	.OurPeople .ListItem.Small .TitleAndSummary {
		width: 100%;
		background: rgba(0,0,0,0.75);
		top: 100%;
		margin-top: -53px;
		min-height: 130px;
		-webkit-transition: margin-top 0.25s, background 0.25s;
		transition: margin-top 0.25s, background 0.25s;
	}
	
	.HomeTemplate .ListItem.Half .TitleAndSummary {
		height: 100%;
	}
	
	
	
	
	#outerWrapper.news .TitleAndSummary {
		top: 0%;
	}
		

	/* Title */
		.ListTitle {
			margin: -50px 0 0 0;
			padding: 0;
			font-size: 2em;
			font-weight: normal;
			text-decoration: none;
			padding: 30px 30px 0 30px;
			font-family: 'HelveticaNeueLTStd-Lt', Arial, Helvetica, sans-serif;
			line-height: 1.12em;
			
			-webkit-transition: margin 1s;
					transition: margin 1s;			
		}
		.contegro_iphone .ListTitle,
		.contegro_ipad   .ListTitle {
			-webkit-transition: none;
					transition: none;
		}			
		
		.ListItem:hover .ListTitle {
			margin-top: 0;
		}
		#outerWrapper.news .ListTitle {
			margin-top: 0;
		}

		.HomeTemplate .ListTitle,
		.HomeTemplate .ListTitle,
		.OurPeople .ListItem.Small .ListTitle,
		.Medium .ListTitle,
		.Hero .ListTitle {
			margin-top: 0;
		}

		
		.ListTitle a {
			color: #e5e5e5;
			text-decoration: none;
		}

	/* Date, Keywords */
		.ListAuthor,
		.ListItemDate,
		.ListKeywords,
		.ListCode {
			margin: 0 0 0 0;
			font-size: 1em;
		}
	/* Product Catalogue SKU, Price, SalePrice */
		.ListSKU,
		.ListPrice,
		.ListSalePrice {
			margin: 0 0 0 0;
			font-size: 1em;
		}
	/* Summary */
		.ListSummary {
			margin: 0.5em 0 0 0;
			line-height: 1.3em;
			color: #e5e5e5;
			padding: 0 30px 15px 30px;
			font-size: 14px;
		}
		.ListSummary a {
			color: #00AEEF;
			display: block;
			text-decoration: none;
			margin-top: 0.5em;
		}
			#outerWrapper.projects .ListSummary a {
				display: inline-block;
				margin-top: 0;
			}
			#outerWrapper.projects .ListSummary span:after {
				content: "/ ";
			}
			#outerWrapper.news .ListSummary span {
				display: none;
			}			
		
			.HomeTemplate .ListSummary a:hover {
				color: #A6CE39;
			}
			.HomeTemplate .Hero .ListSummary a {
				display: inline-block;
				margin: 0;
			}
			.HomeTemplate .Hero .ListSummary a:before {
				content: "/";
				display: inline-block;
				margin: 0 0.25em 0 0;
				color: #e5e5e5;			
			}


	/* Creator, Created Date, Updator, Updated Date */
		.ListCreator,
		.ListCreatedDate {
			font-size: 1em;
			margin: 0 0 0 0;
			font-style: italic;
			float: left;
			clear: left;
		}
		.ListUpdator,
		.ListUpdatedDate {
			font-size: 1em;
			margin: 0 0 0 0;
			font-style: italic;
			float: right;
			clear: right;
		}

	/* EndItem (Visual break between each list item) */
		.ListEndItem {
			font-size: 0px;
			margin: 0 0 0 0;
			float: none;
			clear: both;
		}
		
		
.HomeTemplate .ListItem.Half { height: 120px; height: 9.375vw; }
	.HomeTemplate .ListItem.Half:after { opacity: 1; }
	.HomeTemplate .ListItem.Half:hover:after { opacity: 0.8; }

.HomeTemplate .ListItem.Half .ListSummary span { display: none; }


		
.ListItem.Medium {
	width: 50%;
}	
.ListItem.Medium:after { display: none; }

	.HomeTemplate .ListItem.Medium { width: 66.6666%; }
	.OurPeople .ListItem.Medium {
		width: 25%;
		/*
		height: 480px;
		height: 37.5vw;
		*/
		height: 280px;
		height: 25vw;
		
	} /* our people medium = 1 x 2 */

	.ListItem.Medium .ListThumbnail {
		top: 0;
		
		-webkit-filter: none;
		   -moz-filter: none;
		        filter: none;
	}	
		.OurPeople .ListItem.Medium .ListThumbnail {
			filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */
			filter: gray; /* IE6-9 */		
			-webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */			
		}
			.OurPeople .ListItem.Medium:hover .ListThumbnail {
				-webkit-filter: none;
				   -moz-filter: none;
						filter: none;
			}
	
	.ListItem.Medium .TitleAndSummary {
		width: 50%;
		top: 0;
		left: 0;
		height: auto;
		min-height: 50%;
	}
	.OurPeople .ListItem.Medium .TitleAndSummary {
		width: 100%;
		background: rgba(0,0,0,0.75);
		top: 100%;
		margin-top: -53px;
		min-height: 130px;
		
		-webkit-transition: margin-top 0.25s, background 0.25s;
		        transition: margin-top 0.25s, background 0.25s;
	}
	.OurPeople .ListItem.Medium:hover .TitleAndSummary {
		background: rgba(0,0,0,0.85);		
		margin-top: -130px;
	}
	
	
	
.ListItem.Hero {
	width: 50%;
	height: 480px;
	height: 37.5vw;
	overflow: hidden;
}
	.HomeTemplate .ListItem.Hero { width: 100%; }

	.OurPeople .ListItem.Hero {
		width: 25%;
		height: 50vw;
	}

.ListItem.Hero:after { display: none; }


	.ListItem.Hero .ListThumbnail,
	.HeroPushboxItem .ListThumbnail {
		opacity: 0;
		
		position: absolute;
		top: 0;
		left: 0;

		height: auto;
		margin: auto;		
		
		-webkit-transition: opacity 0.25s;
		   -moz-transition: opacity 0.25s;
		        transition: opacity 0.25s;
		
		-webkit-filter: none;
		   -moz-filter: none;
		        filter: none;
	}	
	.ListItem.Hero.imageLoaded .ListThumbnail,
	.HeroPushboxItem.imageLoaded .ListThumbnail {
		opacity: 1;
	}
	/*
	.OurPeople .ListItem.Hero.imageTooTall .ListThumbnail {
		top: 75px;
	}
	*/
	
		.ListItem.imageExactRatio        .ListThumbnail,
		.HeroPushboxItem.imageExactRatio .ListThumbnail { width: 100%; height: 100%; }
		.ListItem.imageTooWide           .ListThumbnail,
		.HeroPushboxItem.imageTooWide    .ListThumbnail { height: 100%; }
		.ListItem.imageTooTall           .ListThumbnail,
		.HeroPushboxItem.imageTooTall    .ListThumbnail { width: 100%; }
	

	.ListItem.Hero .TitleAndSummary {
		width: 50%;
		top: 0;
		left: 0;
		height: auto;
		min-height: 25%;
	}
	.HomeTemplate .Hero.ListItem .TitleAndSummary {
		width: 33.3333%;
		background: black;
		min-height: 50%;
	}	
	
	.OurPeople .ListItem.Hero .TitleAndSummary {
		background: rgba(0,0,0,0.75);
		top: 100%;
		margin-top: -53px;
		width: 100%;
		min-height: 130px;		
		-webkit-transition: margin-top 0.25s, background 0.25s;
		 transition: margin-top 0.25s, background 0.25s;
	}
	.OurPeople .ListItem.Hero:hover .TitleAndSummary {
		margin-top: -130px;
		background: rgba(0,0,0,0.85);
	}	
	
	
	
	
	.HeroPushboxItem {
		opacity: 0;
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
	}
	.HeroPushboxItem.hidden {
		z-index: 0;
	}
	.HeroPushboxItem.hidden.previouslyShown {
		z-index: 5;

		-webkit-transition: opacity 0.5s;
		        transition: opacity 0.5s;

		-webkit-transition-delay: 0.5s;
		        transition-delay: 0.5s;
	}
	
	.HeroPushboxItem.active {
		opacity: 1;

		z-index: 10;

		-webkit-transition: opacity 0.5s;
		        transition: opacity 0.5s;		
	}

		.HeroPushboxItem .ListThumbnail { }



.ContentTemplate #cPC .ListItem {
	width: 100%;
	float: left;
	height: 130px;
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px #ccc solid;
	background: none;
	opacity: 1;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
	.ContentTemplate #cPC .ListItem:after {
		display: none;
	}
	
	.ContentTemplate #cPC .ListItem .TitleAndSummary,
	.ContentTemplate #cPC .ListItem:hover .TitleAndSummary {	
		margin-left: 160px;
		margin-top: 0;
		position: relative;
		top: auto;
		left: auto;
		min-height: 0;
		height: auto;
		width: auto;
		background: none;	
	}
		.ContentTemplate #cPC .ListItem .ListTitle,
		.ContentTemplate #cPC .ListItem:hover .ListTitle {	
			margin: 20px 0 0 0;
			padding: 0;
			line-height: 1em;
		}
			.ContentTemplate #cPC .ListItem .ListTitle a {	
				color: #999999;
			}
		.ContentTemplate #cPC .ListItem .ListSummary {	
			color: #666;
			padding: 0;
			margin: 0;
			line-height: 1.4em;
		}		
			.ContentTemplate #cPC .ListItem .ListSummary a {	
				display: inline-block;
				margin-top: 0;
			}	
		.ContentTemplate #cPC .ListItem .ListThumbnail {	
			opacity: 1;
			top: 20px;
			left: 20px;
			max-height: 90px;
			width: auto;
			max-width: 120px;
			filter: none;
			-webkit-filter: none;
			margin: 0 !important;
		}					

	
	
.controls {
	width: 33.3333%;
	position: absolute;
	bottom: 50%;
	left: 0;
	z-index: 100;
}	
	.controls .progress {
		background: #ebebeb;
		height: 3px;
		position: absolute;
		left: 30px;
		right: 100px;
		bottom: 34px;
		
		-webkit-transition: opacity 0.25s;
		        transition: opacity 0.25s;
	}
	.controls.clicked .progress {
		opacity: 0;
	}
		.controls .progressBar {
			background: #00aeef;
			width: 0;
			height: 3px;
		}
	.controls .button {
		width: 40px;
		height: 50px;
		position: absolute;
		bottom: 10px;
		cursor: pointer;
		
		background: url(/templates/_images/hero-arrows.png) 0 0 no-repeat;
	}
	.controls .button:active {
		right: 9px;
	}

		.controls .button.next {
			right: 10px;
			background-position: center 10px;
		}
		.controls .button.previous {
			right: 50px;
			background-position: center -40px;
		}		


.RightGallery {
	position: relative;
}
	.RightGallery ul.images,
	.RightGallery ul.images li {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.RightGallery ul.images li {
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
		z-index: 0;
		width: 100%;
		height: 100%;
		background: #ccc;
		overflow: hidden;
		background-size: cover;
	}
	.RightGallery ul.images li.active   { opacity: 1; z-index: 10; }
	.RightGallery ul.images li.previous { opacity: 0; z-index: 5; -webkit-transition-delay: 0.5s; -moz-transition-delay: 0.5s; transition-delay: 0.5s; }
	
	.RightGallery ul.images li.active,
	.RightGallery ul.images li.previous {
		-webkit-transition: opacity 1s;
		   -moz-transition: opacity 1s;
		        transition: opacity 1s;
	}

		.RightGallery ul.images li a {
			display: block;
			width: 100%;
			height: 100%;
		}
		.RightGallery ul.images li img {
			opacity: 0;
			
			-webkit-transition: opacity 0.25s;
			   -moz-transition: opacity 0.25s;
			        transition: opacity 0.25s;
		}
		
		.RightGallery ul.images li.imageExactRatio img { width: 100%; height: 100%; }
		.RightGallery ul.images li.imageTooWide    img { height: 100%; }
		.RightGallery ul.images li.imageTooTall    img { width: 100%; }
		.RightGallery ul.images li.imageLoaded     img { opacity: 1; }				


	.RightGallery ul.indicators {
		position: absolute;
		bottom: 10px;
		left: 20px;
		right: 15px;
		margin: 0;
		padding: 0;
		list-style: none;		
		z-index: 20;
	}
		.RightGallery ul.indicators li {
			background: white;
			width: 10px;
			height: 10px;
			border-radius: 5px;
			display: inline-block;
			margin: 0 5px 0 0;
			cursor: pointer;
		}
		.RightGallery ul.indicators li:hover {
			background: #999;
		}

		.RightGallery ul.indicators li.active,
		.RightGallery ul.indicators li.active:hover {
			background: #00AEEF;
			cursor: auto;
		}

/* really big screens */
@media screen and (min-width: 1920px) {
	h1 {
		font-size: 2.5em;
		line-height:1.2em;
	}
}
		
/* big screens = 5 columns */
@media screen and (min-width: 1441px) {
	.ListItem        { width: 20%; }
	.ListItem.Medium { width: 40%; }	
	.ListItem.Hero   { width: 40%; }

	.HomeTemplate .ListItem { width: 33.3333%; }	
	.HomeTemplate .ListItem.Medium { width: 66.6666%; }	
	.HomeTemplate .ListItem.Hero { width: 100%; }	
	.HomeTemplate #cRS .ListItem { width: 50%; }	

	.OurPeople .ListItem.Medium { width: 20%; }	
	.OurPeople .ListItem.Hero   { width: 20%; }	
	
	.ListItem                    { height: 15vw; } /* 1 x grid height */
	.OurPeople .ListItem         { height: 20vw; } /* 1 x grid height */
	.OurPeople .ListItem.Medium  { height: 20vw; } /* 1 x grid height */
	.ListItem.Hero               { height: 30vw; } /* 2 x grid height */
	.OurPeople .ListItem.Hero    { height: 40vw; } /* 1 x grid height */
	.HomeTemplate .ListItem.Half { height: 7.5vw;} /* 0.5 x grid height */	

	body .ContegroModal {
		width: 60vw; /* 3 fifths of the screen width */
		margin-left: -30vw;
	}

}
		
		
/* 3 column layout - grid height is 255px */
@media screen and (max-width: 1259px) {
	.ListItem {
		width: 33.3333%;
		height: 255px;
	}
	
	.HomeTemplate .ListItem.Half {
		height: 127.5px;
	}	
	.ListItem.Medium {
		width: 66.6666%;
	}
	.ListItem.Hero {
		width: 66.6666%;
		height: 510px;
	}	
	
	.ListItem                    { height: 25vw; } /* 1 x grid height */
	.ListItem.Hero               { height: 50vw; } /* 2 x grid height */
	.HomeTemplate .ListItem.Half { height: 12.5vw;} /* 0.5 x grid height */		
	
	
	.ListItem.Hero .TitleAndSummary,
	.controls {
		width: 50%;
	}
	.controls.ContentPage { width: 33.3333% }
	
	.HomeTemplate .controls { width: 33.3333%; }	
	
	.HomeTemplate .ListItem { width: 33.3333%; }	
	.HomeTemplate .ListItem.Medium { width: 66.6666%; }	
	.HomeTemplate .ListItem.Hero { width: 100%; }	
	.HomeTemplate #cRS .ListItem { width: 33.3333%; }		
			
	.OurPeople .ListItem        { height: 33.3333vw; } /* 1 x grid height */
	.OurPeople .ListItem.Medium { width: 33.3333%; height: 510px; height: 33.3333vw; } /* 1 x grid height */
	.OurPeople .ListItem.Hero   { width: 33.3333%; height: 510px; height: 66.6666vw; } /* 2 x grid height */	
	
	p.modalContent {
		-webkit-column-count: 1;
		   -moz-column-count: 1;
		        column-count: 1;
				
		-webkit-column-gap: 0;
		   -moz-column-gap: 0;
		        column-gap: 0;	
	}	

}

@media screen and (max-width: 950px) { /* narrow 3 columns, half height is too short... */
	.HomeTemplate .ListItem.Half { height: 25vw;} /* 1 x grid height */		
	
	.ContegroModalDetail img + .modalContent .ListItem {
		margin-left: -220px;
		width: calc(100% + 220px) !important;
	}	
	.ContegroModalDetail .ListItem .TitleAndSummary {
		width: calc(100% - 220px) !important;
	}
	.ContegroModalDetail .ListTitle {
		padding-top: 0;
	}
}


/* 2 column layout */
@media screen and (max-width: 770px) {
	.ListItem {
		width: 50%;
	}
	.ListItem.Medium,
	.ListItem.Hero {
		width: 100%;
	}	
	
	.HomeTemplate .ListItem { width: 50%; }	
	.HomeTemplate .ListItem.Medium { width: 100%; }	
	.HomeTemplate .ListItem.Hero { width: 100%; }	
	.HomeTemplate #cRS .ListItem { width: 50%; }	
	
	.HomeTemplate .controls,
	.HomeTemplate .Hero.ListItem .TitleAndSummary {
		width: 50%;
	}		
	
	.OurPeople .ListItem.Medium { width: 50%; }	
	.OurPeople .ListItem.Hero { width: 50%; }			
	
	
	.OurPeople .ListItem.Medium .TitleAndSummary,
	.OurPeople .ListItem.Hero   .TitleAndSummary {
		margin-top: -52px;
	}
	.OurPeople .ListItem.Medium:hover .TitleAndSummary,
	.OurPeople .ListItem.Hero:hover   .TitleAndSummary {
		margin-top: -110px;
	}
	
	.ListItem                    { height: 37.5vw; } /* 1 x grid height */
	.OurPeople .ListItem         { height: 50vw; } /* 1 x grid height */
	.OurPeople .ListItem.Medium  { height: 50vw; } /* 1 x grid height */
	.OurPeople .ListItem.Hero    { height: 100vw;   } /* 2 x grid height */
	.ListItem.Hero               { height: 75vw;   } /* 2 x grid height */
	.HomeTemplate .ListItem.Half { height: 18.75vw;} /* 0.5 x grid height */		

	.HomeTemplate #cNews .ListItem:first-child,
	.HomeTemplate #cNews .ListItem:first-child + .ListItem {
		position: absolute;
		top: -37.5vw;
		left: 50%;
	}
	.HomeTemplate #cNews .ListItem:first-child + .ListItem {
		top: -18.75vw;
	}

		
	.modalImage {
		display: none;
	}
	.modalContent {
		margin-left: 0;
	}		
	
	.controls.ContentPage { width: 50% }	
}
	
/* 1 column layout */
@media screen and (max-width: 550px) {

	.controls .progress { left: 2em; }

	.ListItem {
		width: 100%;
	}	
	
	.ListItem        .TitleAndSummary,
	.ListItem.Medium .TitleAndSummary,
	.ListItem.Hero   .TitleAndSummary,
	.HomeTemplate    .Hero.ListItem .TitleAndSummary,
	.OurPeople       .Hero.ListItem .TitleAndSummary,
	.OurPeople       .Medium.ListItem .TitleAndSummary,
	.HomeTemplate .controls,
	.controls {
		width: 100%;
		background: rgba(0,0,0,0.8);
	}	
	.ListItem        .TitleAndSummary,
	.ListItem.Medium .TitleAndSummary,
	.ListItem.Hero   .TitleAndSummary {
		min-height: 25%;
		height: auto;
		top: 0;
	}
	
	.ListTitle {
		padding: 1em 1em 0 1em;	
	}
	.ListSummary {
		padding: 0 1.75em 1em 1.75em;	
	}
	
	.HomeTemplate #cRS .ListItem .TitleAndSummary { height: 100%; }
	.HomeTemplate #cRS .ListItem:after { opacity: 0; }


		.ListTitle { margin-top: 0; }
		.ListItem:hover .ListThumbnail { top: 0; }
	
	.HomeTemplate .ListItem { width: 100%; }	
	.HomeTemplate .ListItem.Medium { width: 100%; }	
	.HomeTemplate #cRS .ListItem { width: 100%; }	

	.HomeTemplate .ListItem.Hero { width: 100%; height: 112.5vw; }	
		.HomeTemplate .ListItem.Hero > .Hero { height: 75vw; }
		.HomeTemplate .Hero.ListItem .TitleAndSummary {
			top: 75vw;
			background: black;
		}
		.HomeTemplate .controls {
			bottom: 0;
		}
	
	.OurPeople .ListItem.Medium { width: 100%; }	
	.OurPeople .ListItem.Hero { width: 100%; }			
	
	.OurPeople .ListItem img {
		margin-left: 0 !important; /* fixing a weird iphone bug where the images were shifting over 50% */
	}	
	
	.ListItem                    { height: 75vw;   } /* 1 x grid height */
	.OurPeople .ListItem         { height: 100vw;  } /* 1 x grid height */
	.OurPeople .ListItem.Medium  { height: 100vw;  } /* 1 x grid height */
	.ListItem.Hero               { height: 75vw;   } /* 1 x grid height */
	.OurPeople .ListItem.Hero    { height: 100vw;  } /* 1 x grid height */
	.HomeTemplate .ListItem.Half { height: 37.5vw; } /* 0.5 x grid height */	
	
	h2.clickToShowContent {
		border-top: 1px #B8B8B8 solid;
		margin-left: -1.5em;
		margin-right: -1.1em;
		margin-bottom: 0;
		
		padding: .5em 2.5em .5em 1.5em;
		
		background: url(/templates/_images/mobile-content-hide.png) right center no-repeat;
	}
		h2.clickToShowContent:first-child { border-top: none; }
		.ContactLocation h2.clickToShowContent:first-child { border-top: 1px #ccc solid; }


		h2.clickToShowContent:active,
		h2.clickToShowContent.inactive:active {
			background-color: #D7D7D7;
			background-image: none;
		}
	
	h2.clickToShowContent.inactive {
		background-image: url(/templates/_images/mobile-content-show.png);
	}
	div.sectionContent {}
	div.sectionContent.inactive { display: none; }	
	
	body .ContegroModalDetail {
	  padding: 0 0 2em 0;	
	}
	
	.ContegroModalDetail .ListThumbnail {
		width: 100px;
	}
	.ContegroModalDetail .ListItem .TitleAndSummary {
		margin-left: 100px;
	}
	.ContegroModalDetail .ListItem .TitleAndSummary {
		width: calc(100% - 100px) !important;
	}	
	
	.modalContent.content {
		padding-right: 2.5em;
		
		-webkit-column-count: 1;
		   -moz-column-count: 1;
		        column-count: 1;
		
		-webkit-column-gap: 0;
		   -moz-column-gap: 0;
		        column-gap: 0;
	}
	
	#outerWrapper.projects .ListItem,
	#outerWrapper.projects .ListItem.Medium,
	#outerWrapper.projects .ListItem.Hero,
	#outerWrapper.news     .ListItem,
	#outerWrapper.news     .ListItem.Medium,
	#outerWrapper.news     .ListItem.Hero {
		height: 50vw;
		padding-bottom: 7em;
		width: 50%;
	}
	#outerWrapper.projects .DocumentLibraryDocumentList .ListItem {
		height: auto;
		padding-bottom: 0;
		width: auto;
	}	
		
	
	#outerWrapper.projects .ListItem.Hero,
	#outerWrapper.news     .ListItem.Hero {
		width: 100%;
	}
	#outerWrapper.projects .ListItem .TitleAndSummary,
	#outerWrapper.projects .ListItem.Medium .TitleAndSummary,
	#outerWrapper.projects .ListItem.Hero .TitleAndSummary,
	#outerWrapper.news     .ListItem .TitleAndSummary,
	#outerWrapper.news     .ListItem.Medium .TitleAndSummary,
	#outerWrapper.news     .ListItem.Hero .TitleAndSummary {
		position: absolute;
		top: 50vw !important;
		height: 7em;
		margin: 0 !important;
		background: black;
	}

		#outerWrapper.projects .ListItem:after,
		#outerWrapper.news     .ListItem:after { display: none; }

	
	#outerWrapper.projects .ListTitle,
	#outerWrapper.news     .ListTitle {
		overflow: hidden;
		max-height: 2.2em;
	}
	#outerWrapper.projects .ListSummary,
	#outerWrapper.news     .ListSummary {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	#outerWrapper.projects .ListTitle,
	#outerWrapper.news     .ListTitle   { padding: 15px 15px 0 15px; font-size: 1.25em; position: relative; }
	#outerWrapper.projects .ListSummary,
	#outerWrapper.news     .ListSummary { padding: 0 15px 15px 15px; font-size: 12px; }

	#outerWrapper.projects .DocumentLibraryDocumentList .ListTitle {
		padding: 0;
		font-size: 1em;
	}

	#outerWrapper.projects .ListTitle:after,
	#outerWrapper.news     .ListTitle:after { /* add a gradient from transparent to black on the second line of titles, if they wrap onto two lines */
		content: "";
		position: absolute;
		top: calc( 15px + 1em);
		right: 15px;
		background-image: -webkit-gradient(
			linear,
			left top,
			right top,
			from(rgba(0,0,0,0)),
			to(rgba(0,0,0,1))
		);		
		width: 50%;
		height: 1.2em;
	}

	#outerWrapper.projects .DocumentLibraryDocumentList .ListTitle:after {
		display: none;
	}

	#outerWrapper.projects .ListItem.Hero .ListTitle:after,
	#outerWrapper.news     .ListItem.Hero .ListTitle:after { display: none; }

	
		#outerWrapper.projects .ListTitle br,
		#outerWrapper.projects .ListSummary br,
		#outerWrapper.news     .ListTitle br,
		#outerWrapper.news     .ListSummary br {
			display: none;
		}
	#outerWrapper.projects .ListSummary a,
	#outerWrapper.news     .ListSummary a {
		display: inline;
	}

	#outerWrapper.projects .ListThumbnail,
	#outerWrapper.news     .ListThumbnail {
		filter: none;
		-webkit-filter: none;
		transform: translate(0, -3.5vw);
	}

	.controls.ContentPage {
		/*
		width: 100%;
		position: static;
		height: 70px;
		background: black;	
		*/
		display: none;
	}

	
}	

/*
@media screen and (max-width: 400px) {
	.controls .progress { bottom: 20px; }	
}
*/	

@media screen and (max-width: 390px) {
	.HomeTemplate .Hero.ListItem .TitleAndSummary { min-height: 75%; }		
	.HomeTemplate .ListItem.Hero { height: 131.75vw; }		
}		
		
		/* Automatically Updateded in patch version 4.16.3 */
/* -----[ Patch 4.16.3 ]----- */
.ContegroCheckboxTree .SelectClearAll a {
	cursor: pointer;
}
ul.ContegroCategoryCheckboxes li > label {
	display: inline-block;
	padding: 0 0 0 0.25em;
}
ul.ContegroCategoryCheckboxes,
ul.ContegroCategoryCheckboxes ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
	ul.ContegroCategoryCheckboxes input {
		width: auto !important;
	}
	
	ul.ContegroCategoryCheckboxes li {
		list-style: none;
		margin: .25em 0;
		padding: 0 0 0 18px;
		display: none;
		position: relative;
	}
		ul.ContegroCategoryCheckboxes li li {
		}

	ul.ContegroCategoryCheckboxes > li,
	ul.ContegroCategoryCheckboxes ul.expanded > li {
		display: block;
	}

ul.ContegroCategoryCheckboxes span.treeControl {
	position: absolute;
	top: 0;
	left: 0;
	width: 12px;
	height: 12px;
	border-radius: 2px;
}
	ul.ContegroCategoryCheckboxes span.treeControl.expand   { background: #666; }
	ul.ContegroCategoryCheckboxes span.treeControl.contract { background: #666; }

	ul.ContegroCategoryCheckboxes span.treeControl:before {
		position: absolute;
		top: 0;
		left: 0;
		width: 12px;
		line-height: 12px;
		text-align: center;
		font-size: 10px;
		color: white;
	}
	ul.ContegroCategoryCheckboxes span.treeControl.expand:before   { content: "+"; }
	ul.ContegroCategoryCheckboxes span.treeControl.contract:before { content: "-"; line-height: 10px; }