/* 	[ 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: 'HelveticaNeueLTStd-Roman', 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;
}
iframe.modalImage {
	height: 190px;
}
a.modalVideoLink {
}
	body.test a {
		display: block;
	}
	a.modalVideoLink:before {
		width: 75px;
		height: 55px;
		display: block;
		left: 16.5%;
		margin-left: -36px;
		top: 60px;
		background: url(/templates/_images/play-button.png) center center no-repeat;
		position: absolute;
		content: "";
	}


.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;
		pointer-events:none;

		-webkit-transition: opacity 0.5s;
				transition: opacity 0.5s;	
	}
	.contegro_internetexplorer .ListItem:after {
		opacity: 0.7;
	}
	
		.ListItem:hover:after,
		.contegro_internetexplorer .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.Single:hover  .ListThumbnail,
	.ListItem.Small:hover                 .ListThumbnail,
	.ListItem.Half: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: black;
		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.Single .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,
		.Half .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.Single { height: 120px; height: 9.375vw; }
	.HomeTemplate .ListItem.Single:after { opacity: 1; }
	.HomeTemplate .ListItem.Single:hover:after { opacity: 0.8; }


	.HomeTemplate #cNews .ListItem {
		width: 33.3333%;
		height: 120px;
		height: 9.375vw;
	}
	.HomeTemplate #cNews .ListItem:after { opacity: 1; }
	.HomeTemplate #cNews .ListItem:hover:after { opacity: 0.8; }

	.HomeTemplate #cNews .ListItem .TitleAndSummary {
		  height: 100%;
		  width: 100%;
	}
		.HomeTemplate #cNews .ListItem .ListSummary span { display: none; }
		.HomeTemplate #cNews .ListItem .ListSummary a:before { display: none; }

		.HomeTemplate #cNews .ListItem:after { display: block; }


.HomeTemplate .ListItem.Single .ListSummary span { display: none; }










.ListItem.Half {
	width: 50%;
}	
.ListItem.Half:after { display: none; }

	.HomeTemplate .ListItem.Half { width: 66.6666%; }
	.OurPeople .ListItem.Half {
		width: 25%;
		/*
		height: 480px;
		height: 37.5vw;
		*/
		height: 280px;
		height: 25vw;
		
	} /* our people half = 1 x 2 */

	.ListItem.Half .ListThumbnail {
		top: 0;
		
		-webkit-filter: none;
		   -moz-filter: none;
		        filter: none;
	}	
		.OurPeople .ListItem.Half .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.Half:hover .ListThumbnail {
				-webkit-filter: none;
				   -moz-filter: none;
						filter: none;
			}
	
	.ListItem.Half .TitleAndSummary {
		width: 50%;
		top: 0;
		left: 0;
		height: auto;
		min-height: 50%;
	}
	.OurPeople .ListItem.Half .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.Half: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 #cPC .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.Half   { width: 40%; }	
	.ListItem.Hero   { width: 40%; }

	.HomeTemplate .ListItem { width: 33.3333%; }	
	.HomeTemplate .ListItem.Half { width: 66.6666%; }	
	.HomeTemplate .ListItem.Hero { width: 100%; }	
	.HomeTemplate #cRS .ListItem { width: 50%; }	

	.OurPeople .ListItem.Half   { width: 20%; }	
	.OurPeople .ListItem.Hero   { width: 20%; }	
	
	.ListItem                      { height: 15vw; } /* 1 x grid height */
	.OurPeople .ListItem           { height: 20vw; } /* 1 x grid height */
	.OurPeople .ListItem.Half      { 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.Single { 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.Single {
		height: 127.5px;
	}	
	.ListItem.Half {
		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.Single { 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.Half { 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.Half   { 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;	
		padding-left: 33px;
	}	
	.HomeTemplate #cNews .ListItem {   height: 12.5vw; }

}

@media screen and (max-width: 950px) { /* narrow 3 columns, half height is too short... */
	.HomeTemplate .ListItem.Single { 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.Half,
	.ListItem.Hero {
		width: 100%;
	}	
	
	.HomeTemplate .ListItem { width: 50%; }	
	.HomeTemplate .ListItem.Half { width: 100%; }	
	.HomeTemplate .ListItem.Hero { width: 100%; }	
	.HomeTemplate #cRS .ListItem { width: 50%; }	
	
	.HomeTemplate #cNews .ListItem {
		width: 50%;
		height: 18.75vw;
	}	
	
	.HomeTemplate .controls,
	.HomeTemplate #cPC .Hero.ListItem .TitleAndSummary  {
		width: 50%;
	}		
	
	.OurPeople .ListItem.Half { width: 50%; }	
	.OurPeople .ListItem.Hero { width: 50%; }			
	
	
	.OurPeople .ListItem.Half .TitleAndSummary,
	.OurPeople .ListItem.Hero   .TitleAndSummary {
		margin-top: -52px;
	}
	.OurPeople .ListItem.Half: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.Half      { 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.Single { 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;
	}

	a.modalVideoLink .modalImage {
		display: block;
		width: 100%;
		min-height: 50vw;
		margin: 2.5em 0;	
	}

	a.modalVideoLink:before {
		left: 50%;
		top: 34vw;
		margin-top: -27.5px;		
	}
	.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.Half     .TitleAndSummary,
	.HomeTemplate #cPC .Hero.ListItem .TitleAndSummary,
	.HomeTemplate    .Hero.ListItem .TitleAndSummary,
	.OurPeople       .Hero.ListItem .TitleAndSummary,
	.OurPeople       .Half.ListItem .TitleAndSummary,
	.HomeTemplate .controls,
	.controls {
		width: 100%;
		background: rgba(0,0,0,0.8);
	}	
	.ListItem        .TitleAndSummary,
	.ListItem.Half .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.Half { width: 100%; }	
	.HomeTemplate #cRS .ListItem { width: 100%; }	

	.HomeTemplate .ListItem.Hero { width: 100%; height: 112.5vw; }	
		.HomeTemplate .ListItem.Hero > .Hero { height: 75vw; }
		.HomeTemplate #cPC .Hero.ListItem .TitleAndSummary {
			top: 75vw;
			background: black;
		}
		.HomeTemplate .controls {
			bottom: 0;
		}
	
	.HomeTemplate #cNews .ListItem {
		width: 100%;
		height: 37.5vw;
	}	
	
	
	.OurPeople .ListItem.Half { 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.Half    { 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.Single { 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.Half,
	#outerWrapper.projects .ListItem.Hero,
	#outerWrapper.news     .ListItem,
	#outerWrapper.news     .ListItem.Half,
	#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.Half .TitleAndSummary,
	#outerWrapper.projects .ListItem.Hero .TitleAndSummary,
	#outerWrapper.news     .ListItem .TitleAndSummary,
	#outerWrapper.news     .ListItem.Half .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 {
		overflow: hidden;
		max-height: 2.2em;
	}
	#outerWrapper.news     .ListTitle {
		overflow: hidden;
	}
	#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; }		
}		
		
		