@import url('normalize.css');

/* Featherlight */
@media all{.featherlight{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;text-align:center;white-space:nowrap;cursor:pointer;background:#333;background:rgba(0,0,0,0)}.featherlight:last-of-type{background:rgba(0,0,0,.8)}.featherlight:before{content:'';display:inline-block;height:100%;vertical-align:middle}.featherlight .featherlight-content{position:relative;text-align:left;vertical-align:middle;display:inline-block;overflow:auto;padding:25px 25px 0;border-bottom:25px solid transparent;margin-left:5%;margin-right:5%;max-height:95%;background:#fff;cursor:auto;white-space:normal}.featherlight .featherlight-inner{display:block}.featherlight .featherlight-close-icon{position:absolute;z-index:9999;top:0;right:0;line-height:25px;width:25px;cursor:pointer;text-align:center;font-family:Arial,sans-serif;background:#fff;background:rgba(255,255,255,.3);color:#000;border:0;padding:0}.featherlight .featherlight-close-icon::-moz-focus-inner{border:0;padding:0}.featherlight .featherlight-image{width:100%}.featherlight-iframe .featherlight-content{border-bottom:0;padding:0;-webkit-overflow-scrolling:touch;overflow-y:scroll}.featherlight iframe{border:0}.featherlight *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media only screen and (max-width:1024px){.featherlight .featherlight-content{margin-left:0;margin-right:0;max-height:98%;padding:10px 10px 0;border-bottom:10px solid transparent}}

/* Featherlight Gallery */
@media all{.featherlight-next,.featherlight-previous{display:block;position:absolute;top:25px;right:25px;bottom:0;left:80%;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(0,0,0,0)}.featherlight-previous{left:25px;right:80%}.featherlight-next:hover,.featherlight-previous:hover{background:rgba(255,255,255,.25)}.featherlight-next span,.featherlight-previous span{display:none;position:absolute;top:50%;left:5%;width:82%;text-align:center;font-size:80px;line-height:80px;margin-top:-40px;text-shadow:0 0 5px #fff;color:#fff;font-style:normal;font-weight:400}.featherlight-next span{right:5%;left:auto}.featherlight-next:hover span,.featherlight-previous:hover span{display:inline-block}.featherlight-loading .featherlight-next,.featherlight-loading .featherlight-previous,.featherlight-swipe-aware .featherlight-next,.featherlight-swipe-aware .featherlight-previous{display:none}}@media only screen and (max-device-width:1024px){.featherlight-next:hover,.featherlight-previous:hover{background:0 0}.featherlight-next span,.featherlight-previous span{display:block}}@media only screen and (max-width:1024px){.featherlight-next,.featherlight-previous{top:10px;right:10px;left:85%}.featherlight-previous{left:10px;right:85%}.featherlight-next span,.featherlight-previous span{margin-top:-30px;font-size:40px}}


/* Helper Classes */

.nav-list-horizontal, .nav-list-vertical { padding: 0; margin: 0; }

.nav-list-vertical li { display: block; list-style: none; }

.nav-list-horizontal li { display: inline-block; list-style: none; }

.vertical-center { position: absolute; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); }

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color: #929598 !important;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color: #929598 !important;
    opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
    color: #929598 !important;
    opacity:  1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #929598 !important;
}

.row.row-full {
	width: 100%;
	max-width: 100%;
}

.centered { text-align: center; }

li.show-for-large-only { display: none !important; }

.display-table { display: table; }
.display-tablecell { display:table-cell; vertical-align: middle; }



@media screen and (min-width: 64em) { /* Large */
	.flex { display: flex; }
	.flex--column-center { flex-direction: column; justify-content: center; }	
	.flex--stretch { align-items: stretch; }
	li.show-for-large-only { display: inline-block !important; }
}


/* Style Guide
______________________________________________________________

Primary Blue: 		#4A7BA1
Primary Green:		#486D70
Primary Green 50%:	#B1C4C4;
Primary Blue 25%:	#D2DEE7;
Dark Blue:			#131F28

*/



/* Typography
_____________________________________________________________*/

body {
	font-family: "Roboto", Helvetica, Arial, sans-serif;
	background-color: #f5f5f5;
	font-size: 85%;
	font-weight: 400;
}

a { 
	color: #192323;
	transition: all 0.2s ease-in-out;
}
a.blue { color: #2C5D7D; }
b, optgroup, strong { letter-spacing: 0.5px; }

h1, h2, h3, h4, h5, h6, p, ul, ol {
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6 {
	color: #4A6767;
}
.page-content p { margin-bottom: 1rem; }
.page-content ul { padding-left: 40px; }
.page-content ul li { margin-bottom: 0.5rem; }
p.h2 {
	font-size: 1.5rem;
	font-weight: 600;
}
p.h2.line + hr {
	border: 0;
	border-top: 2px solid #588b8b;
	max-width: 60px;
	margin-left: 0;
	margin-right: auto;
	width: 50%;
}
p.h3 {
	font-size: 1rem;
	font-weight: 600;
}
p.lead { font-size: 1.25rem; }
blockquote { background-color: #FFFFFF; border-left: 5px solid #5F857E; padding: 1.5rem 2rem; font-style:italic; margin: 2rem 0; }

img { width: 100%; }
img.alignright { float: right; margin-left: 1rem; margin-bottom: 1rem; width: auto; max-width: 100%; }
img.alignleft { float: left; margin-right: 1rem; margin-bottom: 1rem; width: auto; max-width: 100%; }

button { text-align: center; font-weight: 600; text-transform: uppercase; padding: .75rem 1.5rem; line-height: 1; border-radius: 2px; }

button.button--green { background-color: #5F8B89; color: #ffffff; }

.top-m-1 { margin-top: 1rem; }
.top-m-2 { margin-top: 2rem; }


@media screen and (min-width: 64em) {
	body {
		font-size: 100%;
		letter-spacing: 1px;
	}
}


/* Global Elements 
______________________________________________________________*/
	
	header[role="banner"] {
		text-align: center; 
	}

	header[role="banner"] img {
		max-width: 200px; 
		padding-top: 15px;
	}
	
	.site__nav { padding: 15px 0; }
	
	.site__nav ul { width: 100%; position:relative; }

	.site__nav li {
		color: #B1C4C4;
		display: inline-block;
		list-style: none;
	}
	.site__nav li.dropdown ul { z-index: 9999; }
	
	
	nav[role="navigation"] ul { margin: 0; padding: 0; }
	nav[role="navigation"] li a, nav[role="navigation"] li span {
		color: #638A8A;
		font-size: .85rem;
		padding: 0 0.7rem 0 0.7rem;
		text-decoration: none;
		text-transform: uppercase;
	}
	nav[role="navigation"] li a:hover, nav[role="navigation"] li span:hover {
		color: #638A8A;
	}
	nav[role="navigation"] li.active a { color: #638A8A; font-weight: 600; }
	nav[role="navigation"] li ul { display: none; position: absolute; top: 100%; left: 0;  }
	nav[role="navigation"] li ul li { background-color: #ffffff; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; display: block; white-space: nowrap; }
	nav[role="navigation"] li ul li:first-child { margin-top: 0.5rem; border-top: 1px solid #ccc;  }
	nav[role="navigation"] li ul li:last-child {  }
	nav[role="navigation"] li ul li:hover { background-color: #EFF3F3; }
	nav[role="navigation"] li ul li a { padding: 0.25rem 0.5rem; display: block; }
	nav[role="navigation"] > ul > li:hover ul { display: block; }
	
	a figure { position: relative; margin: 0; text-align: center; }
	a figure:hover { cursor: pointer; }
	a figure:hover:before { 
		  content: "";
		  display: block;
		  position: absolute;
		  top: 0;
		  bottom: 0;
		  left: 0;
		  right: 0;
		  background: rgba(55, 93, 121, 0.9);
		  transition: all .3s linear;
	}
	a figure div { display: none; position: absolute; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); left: 0; right: 0; text-align: center; color: #fff; font-weight: 600; font-size: 1.2rem; }
	a figure:hover div { display: block; }
	a figure div p { display: inline-block; padding: 0.75rem 1rem; border: 1px solid #fff }
	
	.breadcrumbs {
		background-color: #ffffff;
		padding: .5rem 0;
		border-bottom: 1px solid #cccccc;
	}
	.breadcrumbs li {
		list-style: none;
		display: inline-block;
	}
	.breadcrumbs li a {
		color: #638A8A;
		text-decoration: none;
	}
	.breadcrumbs li a:hover {
		text-decoration: underline;
	}
	
	footer[role="contentinfo"] {
		color: #ffffff;
		background-color: #375D79;
		margin-top: 5rem;
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
		font-size: 0.9rem;
	}
	footer[role="contentinfo"] img { margin-right: 20px;}
	.footer__bottom {
		background-color: #4A7BA1;
	}
	
	.site__utilitynav { text-align: right; }
	.site__utilitynav li { font-size: 0.9rem; padding: 0 0.9375rem; }
	.site__utilitynav li:last-child { padding-right: 0; }
	
	.masthead { position: relative; background-color: #2C5D7D; } 
	.masthead .mission-statement { width: 100%; white-space: normal; background-color: #2C5D7D; padding: 0;  }
	.masthead .mission-statement h1 { color: #fff; text-transform: uppercase; margin-bottom: 0; text-align: center; }
	.masthead .mission-statement p { width: 100%; color: #fff; text-align: center; font-size: 0.8rem; padding: 0 1rem; }
	.masthead .description { background-color: #2C5D7D; color: #ffffff; text-align: center; }
	.founders-letter .masthead .mission-statement { background-color: #2C5D7D }
	
	
	@media screen and (min-width: 48em) {
		header[role="banner"] img {
			max-width: 300px; 
		}
	}
	
	@media screen and (min-width: 64em) { /* Large */
	
		nav[role="navigation"] > ul.hide > li:hover ul { display: block; }
		nav[role="navigation"] li ul li { text-align: left; }
	
		header[role="banner"] {
			padding: 0 1.875rem;
		    position: fixed;
		    width: 100%;
		    height: 80px;
		    display: flex;
		    justify-content: center;
		    z-index: 9999;
		    background-color: #ffffff;
		    align-items: center;
		    box-shadow: 0 1px 15px 0px;
		}
		header[role="banner"] img {
			float: left;
			margin-right: 2rem;
			padding: .9375rem 0;
		}
		
		nav[role="navigation"] li { position: relative; }
		
		.site__nav { padding: 0;  }
		
		.site__nav ul { width: auto; position: static; }
		
		main[role="main"] {
			padding-top: 80px;
		}
		
		nav[role="navigation"] li a, nav[role="navigation"] li span {
			font-size: .9rem;
			padding: 0 1.875rem 0 0;
		}

		.masthead .mission-statement { position: absolute; top: 50%; transform: translateY(-50%); }
		.masthead .mission-statement p { font-size: 1.2rem; }
		.masthead .mission-statement h1 { margin-bottom: 1rem; }
	}



/* Page Elements
_____________________________________________________________*/

/* Forms */

	input[type="text"], input[type="email"], input[type="tel"], textarea { width: 100%; border: 1px solid #bbb; padding: 0.8rem 1.5rem; margin-bottom: 1.5rem; }
	button { background-color: #486D70; color: #fff; text-transform: uppercase; padding: 1.2rem 2rem; transition: all 0.2s ease-in-out;  }
	button:hover { background-color: #2C5D7D; }


/* Project Preview - Slider */
	.unslider h1 { color: #ffffff; font-size: 1rem; line-height: 1; }
	.smoothslides-on .ss-prev, .smoothslides-on .ss-next { 
		font-size: 1rem;
		color: #ffffff;
		top: calc(50% + 8px); 
		left: 5px;
	}
	.smoothslides-on .ss-next { right: 5px; }
	.projectpreview li {
		position: relative;
	}
	.projectpreview li > img {
		width: 100%;
		max-width: 100%;
		height: 150px;
	}
	
	.ss-caption-wrap, .ss-caption { top: 0; bottom: 0; }

/* Project Preview - Infobox */
	.ss-caption-wrap {
		padding: 0; 
		border-radius: 0;
		
	}
	.smoothslides-on a.ss-prev, .smoothslides-on a.ss-next { width: 30px; height: 30px; line-height: 30px; }
	.ss-caption { 
		color: #ffffff;
		background-color: rgba(29, 62, 83, 0.5);
		position: absolute; 
		bottom: 0;
		width: 100%;
	    padding: 1.875rem 3rem;
	    border-radius: 0;
	    text-shadow: none;
	    text-align: left; font-size: 0.8rem;
	    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
	    font-weight: normal;
	}

/* Project Detail */
	.project-head {
		background-color: #EFF3F3;
		border-top: 1px solid #B1C4C4;
		border-bottom: 1px solid #B1C4C4;
		padding: 1rem 0;
	}
	.project-gallery {
		margin-top: 1rem;
		overflow: hidden;
	}
	.project-gallery img {
		width: 100%;
		max-width: 100%;
		padding: 2px;
	}
	.project-slides { display: flex; flex-wrap: wrap; }
	.project-slide { flex-basis: 20%; }
	.project-slide img {  }
	
	.featherlight .featherlight-content { border: 0; padding: 0; }
	.featherlight-next { width: 50px; left: auto; top: 0; right: 0; }
	.featherlight-previous { width: 50px; top: 0; right: auto; left: 0; }
	.featherlight-next span, .featherlight-previous span { font-size: 30px; line-height: 30px; margin-top: 0; top: calc(50% - 10px); width: 88%; text-shadow: none; display: inline-block;  }
	.featherlight-next span:hover, .featherlight-previous span:hover { cursor: pointer; }
	.featherlight-next:hover, .featherlight-previous:hover { background: none; }
	.featherlight-swipe-aware .featherlight-next, .featherlight-swipe-aware .featherlight-previous { display: block; }

	/*
	.project-slides {
		max-height: 475px;
		margin-top: 0.5rem;
		overflow: scroll;
		overflow-x: hidden;
	}
	.project-slide {
		margin-bottom: 0.5rem;
		padding-left: 0.25rem;
	    padding-right: 0.25rem;
	}
	.project-details {
		margin-top: 2rem;
	}
	*/
	.galleryinit { margin-bottom: 2.5rem; }
	.galleryinit span { padding-right: 5px; }
	.galleryinit:hover { cursor: pointer; color: #375D79; }
	.project-specs p:not(.h2) {
		margin-top: 1rem;
	}
	.project-description { margin-top: 2.5rem; }
	.project-description p:nth-of-type(2) {
		margin-top: 1rem;
	}
	
	@media screen and (min-width: 48em) { /* Medium */
		.projectpreview li > img {
			height: auto;
		}
		.ss-caption {
			padding: 1.875rem 4rem;
		}
		.ss-caption {
		font-size: 0.9rem;
	}
		.unslider h1 { font-size: 2rem; line-height: 1.5; }
		.smoothslides-on .ss-prev, .smoothslides-on .ss-next { 
			font-size: 2rem;
			left: 20px;
		}
		.smoothslides-on .ss-next { right: 20px; }
		.ss-caption-wrap, .ss-caption { top: auto; }
	}
	
	@media screen and (min-width: 64em) { /* Large */
		.project-slides {
			margin-top: 0;
		}
		.unslider {
			max-height: 500px;
		}
		.projectpreview li {
			max-height: 500px;
		}
		.ss-caption {
			width: 60%;
			padding: 0.9375rem 1.875rem 0.9375rem 10rem;
			font-size: 1rem;
		}
		
	}
	@media screen and (min-width: 64.0625em) { /* Large */
		.project-slides {
			max-height: 680px;
	
		}
	}



/* Buckets */
	.buckets {
		margin-top: 2rem;
		margin-bottom: 2rem;
	}
	.buckets p {
		padding: 0 0 1rem 0;
		text-align: center;
	}
	.buckets h2 { text-align: center; margin-top: 0.5rem; margin-bottom: 0; }
	.buckets > .columns { margin-bottom: 2rem; }
	
	@media screen and (min-width: 64em) { /* Large */
		.buckets > .columns { margin-bottom: 0; }
	}

/* Featured Projects */
	.featuredprojects__head {
		color: #ffffff;
		background-color: #4A7BA1;
		padding: 0.9375rem 1.875rem;
		text-align: center;
	}
	.featuredprojects__head h2 { color: #fff; margin-bottom: 1rem; }
	.featuredprojects li {
		list-style: none;
		display: inline-block;
		margin-right: 20px;
	}
	.featuredprojects li a { color: #fff; text-decoration: none; }
	.featuredprojects li a:hover { text-decoration: underline; }
	.featuredprojects__main img { max-height: 426px; }
	.featuredprojects .project { position: relative; }
	.featuredprojects .project:hover .project-overlay { display: block; }
	.featuredprojects .project-overlay { display: none; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background-color: rgba(74,123,161, 0.8); text-align: center; }
	.featuredprojects .project-overlay p { position: absolute; top: 50%; transform: translateY(-10px); text-align: center; width: 100%; font-weight: 600; }
	.featuredprojects .project-overlay a { display: block; height: 100%; color: #fff; text-decoration: none; }

/* About */
	.about-section {
		align-items: stretch;
		margin-top: 5rem;
	}
	.about-section > a { text-decoration: none; width: 100%; display: block; }
	.about-section__block {
		width: 100%;
		text-align: center;
		color: #ffffff;
		padding: 3rem 1.875rem;
	}
	.about-section__block img { max-width: 100px; margin-bottom: 1rem; }
	.about-section__block p.h2 {
		margin-bottom: 0.5rem;
	}
	.about-section .us {
		background-color: #4A7BA1;
	}
	.about-section .mission {
		background-color: #486D70;
	}
	
	@media screen and (min-width: 48em) { /* Medium */
	
		.about-section {
			display: flex; 
		}
		.about-section__block {
			width: 100%; height: 100%;
		}
		.about-section > a { width: 50%; }
	
	}

/* Testimonials */
	.testimonials {
		margin-top: 5rem;
	}
	.testimonial {
		border: 1px solid #F4F4F4;
		padding: 30px;
	}
	.testimonials > p + hr {
		margin-bottom: 30px;
	}
	
/* Leadership */
	.leadership h2 { text-transform: uppercase; color: #ffffff; font-size: 2.5rem; font-weight: 600; }
	.leadership h3 { color: #000000; }
	.leadership p.member-title { font-style: italic; }
	.leadership p.member-excerpt { margin-top: .5rem; font-size: 0.9rem; }
	.leadership .masthead .description { padding-top: 1rem; padding-bottom: 1rem; }
	.leadership .masthead p { font-size: 1.2rem; }
	.leadership button { margin-top: 2rem; }
	.leadership-grid { margin-top: 2rem; position: relative; }
	.leadership-grid--wrapper { padding-left: 1rem; padding-right: 1rem; }
	.leadership-grid .member { margin-bottom: 1.8375rem; }
	.leadership-grid .member-detail { padding: 1rem; }
	.leadership-grid img:hover { cursor: pointer; }
	
	.leadership-overlay { display: none; padding-bottom: 2rem; }
	.leadership-overlay .close { position: absolute; top: 5px; right: 5px; font-size: 2rem; }
	.leadership-overlay .close:hover { cursor: pointer; opacity: 0.8; }
	.leadership-overlay p { padding: 1rem 1.5rem; line-height: 1.5; font-size: 1.1rem; }
	.leadership-overlay p:first-of-type { padding-top: 0; }
	.leadership-overlay h2 { padding: 1.5rem; color: #000; font-size: 1.1rem; text-align: center; }
	.leadership-overlay img { max-width: 100%; margin-bottom: 2rem; }
	.post-type-archive-leadership .featherlight-close-icon { font-size: 1.7rem; top: 5px; right: 5px; }
	.post-type-archive-leadership .featherlight-close-icon:hover { cursor: pointer; }
	
	.leadership.bio .masthead .description { text-align: left; padding-left: 3rem; padding-right: 3rem; }
	.leadership.bio p { margin: 1rem 0; }
	.full-bio { margin-top: 2rem; }
	
	@media screen and (min-width: 64em) { /* Large */
	
		.leadership h2 { font-size: 3.5rem; }
		.leadership .masthead p { font-size: 1.5rem; }
		.leadership-grid--wrapper { padding-left: 3rem; padding-right: 3rem; }
		.leadership-overlay img { max-width: 500px; float: left; margin-right: 2rem; margin-left: 2rem; }
		
		.buckets {
			margin-top: 5rem;
			margin-bottom: 5rem;
		}
		
	}
	
/* Infographic */
	.infographic { max-width: 1200px; margin: 0 auto; }

/* Clients */
	.clients {
		margin-top: 2.5rem;
	}
	.clients > p + hr {
		margin-bottom: 30px;
	}

/* Footer */
	.footer p.h3 { text-transform: uppercase; margin-bottom: 30px; }
	.footer p + p { margin-top: 15px; }
	.footer nav li { list-style: none; display: inline-block; width: 49%; margin-bottom: 15px; }
	.footer a { color: #fff; text-decoration: none; }

/* Overview */
	.overview { padding-top: 3rem;  padding-bottom: 3rem; border-bottom: 1px solid #8AA7A7; }

/* Relationships */
	.relationships { padding-top: 3rem; }
	.relationships__with { margin-bottom: 2rem; }
	.relationships__with h2 { font-weight: normal; color: #000; }
	.relationships__with p { margin-bottom: 1rem; }
	
	@media screen and (min-width: 64em) { /* Large */
		.relationships__with { margin-bottom: 4rem; }
	}
	
/* Our Approach */
	.our-approach { border-top: 1px solid #638A8A; margin-top: 2rem; padding-top: 2rem; }
	.our-approach > .row { position: relative; }
	.our-approach img {  }
	.our-approach__tagline {  position: absolute; right: 0; top: 0; bottom: 0; display: flex; color: #fff; font-weight: 600; font-size: 1.2rem; align-items: center; padding: 0 3rem; }
	.our-approach__content {padding: 3rem 0; }
	
	@media screen and (min-width: 64em) {  /* Large */
		.our-approach__content { padding: 8rem 2rem; background: transparent; }
		.our-approach__content p:not(.h2) { font-size: 1.2rem;  margin-top: 1.5rem; }
		.our-approach img { max-width: 70%; }
		.our-approach__tagline { top: 4rem; background-color: rgba(74, 123, 161, 0.7); }
	}
	
/* Founders */ 
	.founders { margin-top: 3rem; }
	.founders p.h2 { margin-top: 2rem; text-transform: uppercase; }
	
	.letters { margin-top: 4rem; }
	.letters + .letters { margin-top: 6rem; }
	.letters date { font-weight: 800; font-size: 1.8rem; text-transform: uppercase; }
	.letters p + p { margin-top: 1.5rem; }
	
	.founders.row img { max-width: 660px; }
	
/* Career Opportunities */
	.career-opportunities .openings { background-color: rgba(99, 138, 138, 0.1); padding: 1rem 2rem; margin-top: 2rem; }
	.career-opportunities .activeJobHeading { font-weight: 600; font-size: 1.2rem; }
	
	.benefit-box { background-color: rgba(99, 138, 138, 0.1); padding: 1rem 1rem 1rem 2rem; height: 100%;  }
	.benefit-box ul { padding-left: 20px; }
	.benefit-box p { margin-bottom: 1rem; }
	
	@media screen and (min-width: 64em) {  /* Large */
		.benefit-box { padding: 2rem 2rem 2rem 4rem; }
	}
	

/* .about */
	.about p.h2 { color: #638A8A; text-transform: uppercase; }	
	.about .masthead img { max-width: 100%; width: 100%; }
	

/* .contact */
	.contact.row > div { margin-top: 4rem; }
	.contact form { margin-top: 1.5rem; }
	

/* .community */
	.community.row { margin-top: 4rem; }
	.community .intro { margin-bottom: 3rem; }
	.community .block { margin-bottom: 3rem; }
	.community .block img { max-width: 660px; }
	.community .block .h2 { margin-top: 1rem; }
	.community .block .h2 + hr { margin-bottom: 1rem; }
	
	
/* .history */
	.history.row { margin-top: 4rem; }
	.history .media {     
		background-image: url(../img/vm-history-bg.png);
	    background-position: center top;
	    background-repeat: repeat-y;
	    padding: 45px 0; 
	    text-align: center;
	} 
	.history .media img { max-width: 450px; }
	.history .content { -webkit-display: flex; display: flex; -webkit-align-items: center; align-items: center; position: relative; }
	.history .gallery-slide li { list-style: none; display: block; float: left; width: 23%; margin: 0 1% 2% 1%; }
	
	@media screen and (min-width: 48em) {
		.history .gallery-slide li { width: 18%; }
	}
	
	@media screen and (min-width: 64em) { /* Large */
		.history .gallery-slide li { width: 10%; margin: 0 .5% 1% .5%; }
	}
	
	
/* .safety */
	.safety.row { margin-top: 4rem; }
	
	
	
.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px; height: 0; overflow: hidden;
	margin-top: 4rem;
}

.video-container iframe,
.video-container object,
.video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



/* Masonry Grid */

	.grid { width: 100%; }

	/* reveal grid after images loaded */
	.grid.are-images-unloaded { opacity: 0; }
	
	/* Hide footer until images are loaded */
	.footer.masonry { opacity: 0; }
	main.images-loaded + .footer.masonry { opacity: 1; }

	main { min-height: 300px; }
	
	.grid__item { position: relative; float: left; }

	.grid__item,
	.grid__item--width2,
	.grid__col-sizer { width: 100%; }

	.grid__item figure { margin: 0; }
	
	.grid__gutter-sizer { width: .25%; }

	/* hide by default */
	.grid.are-images-unloaded .image-grid__item { opacity: 0; }
	
	.grid__item { margin-bottom: 1.5%; }
	.grid__item__title { position: absolute; bottom: 1px; left: 0; background: rgba(29, 62, 83, 0.5); padding: .75rem 1.5rem; width: 75%; transition: opacity 0.3s ease-in-out; }
	.grid__item__title h2 { color: #fff; font-size: 1rem; line-height: 1.3 }
	.grid__item:hover .grid__item__title { opacity: 0; }
	
	.grid__item__cta { opacity: 0; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background-color: rgba(55, 93, 121, 0.9); transition: opacity 0.3s ease-in-out; color: #fff; font-weight: 600; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; }
	.grid__item:hover .grid__item__cta { opacity: 1; }
	
	.grid__item:hover { cursor: pointer; }
	
	.grid__item__cta div { display: none; position: absolute; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); left: 0; right: 0; text-align: center; color: #fff; font-weight: 600; font-size: 1.2rem; }
	.grid__item:hover .grid__item__cta div { display: block; }
	.grid__item__cta div p { display: inline-block; padding: 0.75rem 1rem; border: 1px solid #fff }
	
	.grid__item img {
	  display: block;
	  max-width: auto;
	}

	.page-load-status {
	  display: none;
	  padding-top: 20px;
	  border-top: 1px solid #DDD;
	  text-align: center;
	  color: #777;
	}
	
	.loader-ellips {
	  font-size: 20px;
	  position: relative;
	  width: 4em;
	  height: 1em;
	  margin: 10px auto;
	}
	
	.loader-ellips__dot {
	  display: block;
	  width: 1em;
	  height: 1em;
	  border-radius: 0.5em;
	  background: #375D79;
	  position: absolute;
	  animation-duration: 0.5s;
	  animation-timing-function: ease;
	  animation-iteration-count: infinite;
	}

	.loader-ellips__dot:nth-child(1),
	.loader-ellips__dot:nth-child(2) { left: 0; }
	.loader-ellips__dot:nth-child(3) { left: 1.5em; }
	.loader-ellips__dot:nth-child(4) { left: 3em; }
	
	@keyframes reveal { from { transform: scale(0.001); } to { transform: scale(1); } }
	@keyframes slide { to { transform: translateX(1.5em) } }
	
	.loader-ellips__dot:nth-child(1) { animation-name: reveal; }
	.loader-ellips__dot:nth-child(2), .loader-ellips__dot:nth-child(3) { animation-name: slide; }
	.loader-ellips__dot:nth-child(4) { animation-name: reveal; animation-direction: reverse; }
	
	
	@media screen and (min-width: 48em) {
		.grid__item,
		.grid__item--width2,
		.grid__col-sizer { width: 32.875%; }
		
		.grid__item { margin-bottom: 0.25%; }
		
		
	}
	
	@media screen and (min-width: 75em) {
		.grid__item__title h2 { font-size: 1.5rem; line-height: 1.5 }
	}

