@charset "UTF-8";



/* ==========================================================================
   Custom styles
   ========================================================================== */

/* 
 *	 svg icons 
 *	
 */    

.symbol {
	display: inline-block;
	width: 100px;
	height: 268px;
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMDAgMjY4Jz48cGF0aCBkPSdNODEuMi4zLjUgMjY3LjdoMTguM0w5OS41LjNIODEuMlonLz48L3N2Zz4=');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	background-color: transparent;
}

.symbol.symbol-white {
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMDAgMjY4Jz48cGF0aCBkPSdNODEuMi4zLjUgMjY3LjdoMTguM0w5OS41LjNIODEuMlonIGZpbGw9JyNmZmZmZmYnLz48L3N2Zz4=");
}

.wordmark {
	display: inline-block;
	width: 500px;
	height: 100px;
}

.wordmark svg {
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none; 
}


.linkedin {
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;	
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIj48dGl0bGU+TGlua2VkSW48L3RpdGxlPjxwYXRoIGZpbGw9IiM1NTU1NTUiIGQ9Ik0zMS41LjVoLTIzYy00LjQgMC04IDMuNi04IDh2MjNjMCA0LjQgMy42IDggOCA4aDIzYzQuNCAwIDgtMy42IDgtOHYtMjNjMC00LjQtMy42LTgtOC04ek0xMi42IDMyLjlINi44VjE1LjVoNS44djE3LjR6bS0uNS0yMC42Yy0uNi42LTEuNC45LTIuNC45LS45IDAtMS43LS4zLTIuMy0uOS0uNi0uNi0uOS0xLjMtLjktMi4yIDAtLjkuMy0xLjYuOS0yLjEuNi0uNiAxLjQtLjkgMi40LS45LjkgMCAxLjcuMyAyLjMuOS42LjYuOSAxLjMuOSAyLjFzLS4zIDEuNi0uOSAyLjJ6bTIxLjQgMjAuNmgtNS44di05LjNjMC0yLjYtMS0zLjktMi45LTMuOS0xLjQgMC0yLjQuNy0zIDIuMS0uMS4zLS4yLjctLjIgMS40djkuN2gtNS44VjE1LjVoNS44VjE4YzEuMy0xLjkgMy0yLjkgNS4yLTIuOSAyIDAgMy42LjcgNC44IDIgMS4yIDEuMyAxLjggMy4zIDEuOCA1Ljl2OS45ek0yMS42IDE4eiIvPjwvc3ZnPg==');
}

.instagram {
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIj48dGl0bGU+SW5zdGFncmFtPC90aXRsZT48cGF0aCBkPSJNMjAgNGM1LjIgMCA1LjggMCA3LjkuMSAxLjkuMSAyLjkuNCAzLjYuNy45LjQgMS42LjggMi4yIDEuNS43LjcgMS4xIDEuMyAxLjUgMi4yLjMuNy42IDEuNy43IDMuNi4xIDIuMS4xIDIuNy4xIDcuOXMwIDUuOC0uMSA3LjljLS4xIDEuOS0uNCAyLjktLjcgMy42LS40LjktLjggMS42LTEuNSAyLjItLjcuNy0xLjMgMS4xLTIuMiAxLjUtLjcuMy0xLjcuNi0zLjYuNy0yLjEuMS0yLjcuMS03LjkuMXMtNS44IDAtNy45LS4xYy0xLjktLjEtMi45LS40LTMuNi0uNy0uOS0uNC0xLjYtLjgtMi4yLTEuNS0uNy0uNy0xLjEtMS4zLTEuNS0yLjItLjMtLjctLjYtMS43LS43LTMuNkM0IDI1LjggNCAyNS4yIDQgMjBzMC01LjguMS03LjljLjEtMS45LjQtMi45LjctMy42LjQtLjkuOC0xLjYgMS41LTIuMi43LS43IDEuMy0xLjEgMi4yLTEuNS43LS4zIDEuNy0uNiAzLjYtLjdDMTQuMiA0IDE0LjggNCAyMCA0bTAtMy41Yy01LjMgMC02IDAtOCAuMS0yLjEuMS0zLjUuNC00LjguOS0xLjMuNS0yLjMgMS4yLTMuNCAyLjNDMi43IDQuOSAyIDUuOSAxLjUgNy4yIDEgOC41LjcgOS45LjYgMTJjLS4xIDIuMS0uMSAyLjctLjEgOHMwIDYgLjEgOGMuMSAyLjEuNCAzLjUuOSA0LjcuNSAxLjMgMS4yIDIuNCAyLjIgMy41IDEuMSAxLjEgMi4yIDEuOCAzLjUgMi4yIDEuMi41IDIuNy44IDQuNy45IDIuMS4xIDIuNy4xIDggLjFzNiAwIDgtLjFjMi4xLS4xIDMuNS0uNCA0LjctLjkgMS4zLS41IDIuNC0xLjIgMy41LTIuMiAxLjEtMS4xIDEuOC0yLjIgMi4yLTMuNS41LTEuMi44LTIuNy45LTQuNy4xLTIuMS4xLTIuNy4xLThzMC02LS4xLThjLS4xLTIuMS0uNC0zLjUtLjktNC43LS41LTEuMy0xLjItMi40LTIuMi0zLjVDMzUgMi43IDMzLjkgMiAzMi42IDEuNiAzMS41IDEgMzAuMS43IDI4IC42Yy0yLS4xLTIuNy0uMS04LS4xbTAgOS41Yy01LjUgMC0xMCA0LjUtMTAgMTBzNC41IDEwIDEwIDEwIDEwLTQuNSAxMC0xMC00LjUtMTAtMTAtMTBtMCAxNi41Yy0zLjYgMC02LjUtMi45LTYuNS02LjVzMi45LTYuNSA2LjUtNi41IDYuNSAyLjkgNi41IDYuNS0yLjkgNi41LTYuNSA2LjVNMzIuNyA5LjZjMCAxLjMtMSAyLjMtMi4zIDIuMy0xLjMgMC0yLjMtMS0yLjMtMi4zIDAtMS4zIDEtMi4zIDIuMy0yLjMgMS4zIDAgMi4zIDEgMi4zIDIuMyIvPjwvc3ZnPg==');
}


/* 
 *	 elements 
 *	
 */

[class^="icon-"], [class*=" icon-"] {
    height: 100%;
    width: 100%;
    display: inline-block; 
    fill: currentColor;
    vertical-align: middle; 
}

main {
	position: relative;
	margin-bottom: -70px;
	padding-bottom: 70px;
	width: 100%;
	min-height: 100%;
	height: auto !important;
}

main section:first-of-type { padding-top: 60px; }
.has-submenu main section:first-of-type { padding-top: 96px; }

section, header, footer {
	position: relative;
	margin: 0 auto;
	width: 100%;
}

.container {
    position: relative;
    margin: 0 auto;
    width: 100%;
    max-width: 1440px;
	padding-left: 30px;
    padding-right: 30px;
}

.section-image .container, .section-projects .container, .section-people .container {
	padding-left: 0;
	padding-right: 0;
}

.section-image .background {
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.section-image .background h1 {
	position: absolute;
	bottom: 30px;
	left: auto;
	max-width: 650px;
	padding-right: 30px;
	z-index: 3;
}

.section-image .background div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-left: 30px;
	padding-right: 30px;
}

.padding-top-standard {
	padding-top: 50px;
}

.margin-top-large {
	margin-top: 60px;
}


.row {
	position:relative;
	clear: both;
}

.columns {
	display: flex;
	width: 100%;
	flex: 1 1 auto;
	justify-content: flex-start;
	align-items: flex-start;
	z-index: 1;
}

.columns-end {
	justify-content: flex-end;
}

.columns > div {
	position: relative;
	display: block;	
	min-height: 10px;
}	

.columns-50-50 > div { width: 50%; }

.columns-44-56, .columns-56-44 {
	align-items: stretch;
	flex-wrap: wrap;	
}

.columns-44-56 > div:nth-child(odd) { width: 44%; padding-right: 30px; }
.columns-44-56 > div:nth-child(even) { width: 56%; padding-left: 30px; }

.columns-56-44 > div:nth-child(odd) { width: 56%; padding-right: 30px; }
.columns-56-44 > div:nth-child(even) { width: 44%; padding-left: 30px; }

.section-project-item .columns-44-56 > div:nth-child(even), .section-project-intro .columns-44-56 > div:nth-child(even) { padding-left: 0; padding-right: 30px; }
.section-project-item .columns-56-44 > div:nth-child(odd) { padding-left: 30px; padding-right: 0; }
	
.section-project-item .columns-44-56 .content { max-width: 80%; margin-left: auto; margin-right: 0; }
.section-project-item .columns-56-44 .content { max-width: 80%; margin-left: 0; margin-right: auto; }

.columns-44-56 > div.has-hero .img {
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.column-56 { width: 56%; padding-right: 30px; }

.column-69 { width: 69%; max-width: 740px; }

.column-85 { width: 85%; max-width: 740px;  }

.column-combined { width: 100%; }

.column-combined h2 { width: 100%; }

.column-combined > div { float: left; } 

.column-combined .content { width: 100%; max-width: 740px; margin-right: 30px; }



/*.columns-end .column-56 { padding-left: 30px; padding-right: 0; }*/

.columns-33 {
	position:relative;
	align-items: stretch;
	flex-wrap: wrap;
	width: 100%;
	width: calc(100% + 30px);
	margin-left: -30px;
	overflow: hidden;
}

.section-people .columns-33 {
	margin-top: 2.125rem;
}

.columns-33 > div { width: 33.33%; width: calc(100% / 3); margin-bottom: 30px; padding-left: 30px; }

.columns-33 .img {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: transform 1s cubic-bezier(0.2, .6, .3, 1);
	transition: transform 1s cubic-bezier(0.2, .6, .3, 1);	
}

.columns-33 a:hover .img {
	-webkit-transform: scale(1.03);
	transform: scale(1.03);
}

.columns-33 .meta {
	position: relative;
	padding-left: 30px;
	padding-right: 30px;
	padding-top: 12px;
}

.columns-33 .meta h3, .columns-33 .meta h4,  .columns-33 .meta h5 {
	font-size: 0.75em;
	line-height: 1.1;
	margin-top: 7px;
	margin-bottom: 7px;
}

.columns-33 .meta h5 a { 
	color: #B4B4B4;
}

.columns-33 .meta h5 a:hover { 
	text-decoration: underline;
}

.columns-33 .meta > a {
	position: absolute;
	top: 18px;
	right: 30px;
	font-size: 0.688em;
	line-height: 1.1;	
}

.columns-33 .meta > a span {
	display: inline-block;
	margin: 0;
	width: 14px;
	height: 14px;
	color: #555;
	vertical-align: bottom;
	margin-left: 5px;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
	margin: 0;
}

h1, .page-about h2 {
	font-size: 3.125em;
	line-height: 1.1;
}

h2.with-padding { padding-left: 30px; padding-right: 30px; }

.page-about h2 {
	margin-top: 5rem;
	margin-bottom: 1.125rem;
}

strong { font-weight: 700; }

.content p {
	font-size: 0.75em;
	line-height: 2;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}

.section-project-intro h2, .section-project-intro .content dl {
	font-size: 0.75em;
	line-height: 1.5;
}

.section-project-intro h2 {
	margin-bottom: 1.75rem;
}

.section-project-intro .content dl {margin-top: 3px; margin-bottom: 13px; }

.section-project-intro .content dt {
	font-size: 0.625em;
	line-height: 1.5;
}

.section-project-item .content p { margin-top: 0; }
.section-project-item .content p:last-child { margin-bottom: 0 }

.content-2-columns {
	-webkit-columns: 2;
	-moz-columns: 2;
	columns: 2;
	-webkit-column-gap: 30px;
	-moz-column-gap: 30px;
	column-gap: 30px;
}

.content-2-columns p {
	margin-top: 0;
}

.content a {
	position: relative;
	display: inline-block;
}

.content a:hover:after {
	position: absolute;
	left: 0;
	bottom: 3px;
	height: 1px;
	width: 100%;
	background-color: currentcolor;
	content: " ";
}

.img {
	position: relative;
	width: 100%;
	height: 0;
	overflow: hidden;
}

.img.img-scaled {
	padding-top: 67.5% !important;
}

.img img {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	transform: translateZ(0) scale(1.0, 1.0);
}

.img.img-scaled {
	background-position: left top;
	background-size: auto 100%;
	background-repeat: no-repeat;
	
}

.section-project-item .columns.columns-56-44 .img.img-scaled, .section-project-intro .columns.columns-44-56 .img.img-scaled { background-position: right top;}


.img-background {
	position: relative;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;	
}

.focus-left-top { background-position: left top; }
.focus-left-middle { background-position: left center; }
.focus-left-bottom { background-position: left bottom; }

.focus-center-top { background-position: center top; }
.focus-center-middle { background-position: center center; }
.focus-center-bottom { background-position: center bottom; }

.focus-right-top { background-position: right top; }
.focus-right-middle { background-position: right center; }
.focus-right-bottom { background-position: right bottom; }

.background-black {
	background-color: #000;
	color: #fff;
}

.color-inverse {
	color: #fff;
}


/*
 *	header
 *
 */


header {
	position: fixed;
	top: 0;
	left: 0;
	height: 60px;
	background-color: #fff;
	z-index: 90;
}

.has-submenu header {
	height: 96px;
}

header .logomark {
	display: block;
	float: left;
	margin-top: 14px;
	margin-bottom: 13px;
}

header .logomark svg {
	display: block;
	width: 86px;
	height: 32px;
}

header .page-title { 
	position: relative;
	float: left;
	display: none;
	margin-top: 23px; 
	margin-bottom: 0;
	margin-left: 20px;
	font-size: 0.875em;
	line-height: 1.1;
	
}

header .menu {
	margin-top: 19px;
	text-transform: uppercase;
}

header .language {
	margin-top: 22px;
}


header .menu, header .submenu {
	float: left;
}

header .submenu {
	display: none;
	clear: left;
	font-family: "ABCSimonMono W01",'Helvetica Neue',Helvetica,Arial,sans-serif;	
	text-transform: uppercase;
}	

header .submenu.active {
	display: block;
}

header .language {
	float: right;
}

header ul li {
	float: left;
}

header .menu li, header .submenu li { margin-left: 20px; }

header .submenu li:first-child { display: none; }

header .submenu li:nth-child(2) { margin-left: 0; }

header .language li { margin-left: 10px; }


header .menu li:first-child {
	display: none;
}

header ul li a {
	position: relative;
	display: inline-block;
	font-size: 0.75em;
	line-height: 1;
	color: #B4B4B4;
	vertical-align: middle;
}

header .language li a {
	font-size: 0.75em;
	line-height: 1;
}

header ul li a.active {
	color: #000;
}

header .menu li a.active:after, header .submenu li a.active:after, header .page-title:after {
	position: absolute;
	left: 0;
	bottom: -3px;
	height: 1px;
	width: 100%;
	background-color: #000;
	content: " ";
}

/*
#nav-trigger {
	display: none;
	float: right;
	font-size: 1em;
	line-height: 0.8;
	text-align: center;
	margin-top: 19px;
}
*/

#nav-trigger {
	position: relative;
	float: right;
	display: none;
	margin-top: 12px;
	right: 0px;
	width: 40px;
	height: 40px;
	padding: 10px 0 10px 14px;
}

#nav-trigger > span {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}	

#nav-trigger span span {
  display: block;
  position: absolute;
  left: 0;
  height: 2px;
  width: 100%;
  opacity: 1;
  background: #000;
}

#nav-trigger span span:nth-child(1) { top: 0px; }
#nav-trigger span span:nth-child(2) { top: 7px; }
#nav-trigger span span:nth-child(3) { top: 14px; }


#nav-close {
	position: absolute;
	display: none;
	top: 30px;
	right: 30px;
	height: 25px;
	width: 25px;
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSIgd2lkdGg9IjI1IiBoZWlnaHQ9IjI1Ij48cGF0aCBkPSJNMTQgMTIuNmwxMC42IDEwLjYtMS40IDEuNEwxMi42IDE0IDIgMjQuNi42IDIzLjJsMTAuNi0xMC42TC42IDIgMiAuNmwxMC42IDEwLjZMMjMuMi42IDI0LjYgMiAxNCAxMi42eiIvPjwvc3ZnPg==');
	background-size: 25px 25px;
	background-position: center center;
	background-repeat: no-repeat;
}

/*
 *	section hero
 *
 */

.page-home main {
	padding-top: 0;
}

.page-home header {
	position: relative;
}


.sticky.page-home header {
	position: fixed;
	margin-top: 0;
}

.sticky.page-home main {
	padding-top: 60px;
}

.section-hero {
	position: relative;
	left: 0;
	top: 0;
	height: 100%;
	height: calc(100vh - 60px); 
	padding-bottom: 0;
}

.section-hero .hero-background {
	position: fixed;
	width: 100%;
	height: 100%;
	height: calc(100vh - 60px); 
	left: 0;
	top: 0;
	background-position: center center;
	background-size: cover;
	background-attachment: scroll;
	background-repeat: no-repeat;		
	z-index: 0
}

.section-hero .hero-background-video {
	background-color: #000;
}

.section-hero .hero-video {
	position: absolute;
	display: none;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-position: center center;
	background-size: cover;
	background-attachment: scroll;
	background-repeat: no-repeat;		
}

.section-hero .hero-video.video-active {
	display: block;
	z-index: 3;
}


.section-hero .container {
	text-align: center;
	display: flex;
	width: 100%;
	flex: 1 1 auto;
	justify-content: center;
	align-items: center;
	z-index: 1;
	height: 100%;
}

.section-hero h1 {
	display: inline-block;
	width: 58%;
	height: auto;
}

.section-hero h1 span {
	display: inline-block;
	width: 100%;
	height: 0;
	padding-top: 20%;
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
}

.section-hero .vidbacking {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: -100;
	top: 0;
	left: 0;
	object-fit: cover;
	object-position: center center;
}



/*
 *	section projects
 *
 */


.section-projects {
	background-color: #fff;
} 

/*
.page-home .section-projects {
	margin-top: 10px;
}*/

.section-projects .columns-33 > div {
	margin-bottom: 50px;
}

.section-projects .columns-33 > div > div > a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

/*
.section-projects:before {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: #fff;
	content: " ";
}
*/

/*
 *	section history
 *
 */


.section-vision .column, .section-history .column {
	margin-bottom: 5rem;
} 

.section-image h1 {
	font-size: 2em;
	line-height: 1.1;
} 

.section-history .founder {
	width: 200px; 
	margin-bottom: 1.5em;
}

.section-history .founder .img {
	width: 100%;
}

.section-history .founder h4 {
	font-size: 0.688em;
	line-height: 1.4;
	margin-top: 20px;
	margin-bottom: 0px;
}

/*
 *	section projects all
 *
 */

.section-projects-all .container {
	padding-top: 28px;
}

.section-projects-all h2 {
	font-size: 3.125em;
	line-height: 1.1;
	margin-bottom: 0.5rem;
	margin-top: 0.5rem;
}

.section-projects-all ul {
	margin-bottom: 3.5rem;
}

.section-projects-all ul li ul li {
	position: relative;
	display: block;
	float: left;
	clear: left;
	font-size: 0.75em;
	line-height: 1.1em;
	min-height: 33px;
	width: auto;
	vertical-align: bottom;
	margin-bottom: 0.75rem;
}

.section-projects-all ul li ul li a, .section-projects-all ul li ul li > span {
	position: relative;
	display: flex;
	min-height: 33px;
	width: 100%;
	flex: 1 1 auto;
	justify-content: flex-end;
	align-items: flex-end;	
	padding-right: 62px;
}

.section-projects-all ul li ul li a > span {
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 50px;
	height: 33px;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}


/*
 *	section news
 *
 */

.section-news h1 {
	margin-bottom: -8px;
}

.section-news h2 {
	font-size: 1.375em;
	line-height: 1.1;
	margin-top: 0.375em;
	margin-bottom: 0.375em;
}

.section-news .date, .section-news ul {
	font-size: 0.75em;
	line-height: 1.5;
	margin-top: 0.5em;
}

.section-news .date {
  margin-bottom: 0.5em;
}

.section-news article {
	margin-top: 42px;
	margin-bottom: 42px;
}

.section-news article:first-child {
	margin-top: -2px;
}

.section-news .content p {
	font-size: 0.75rem;
	line-height: 1.5;
	margin-top: 0.375em;
	margin-bottom: 0;
}

.section-news .content p:first-child {

}



.section-news .date {
	color: #9B9B9B;
	margin: 0;
}

.section-news ul {
  margin-bottom: -0.5em;
  margin-left: -10px;
}

.section-news ul li {
	display: inline-block;
	margin-bottom: 0.5em;
	margin-left: 10px;
}

.section-news ul li a {
	position: relative;
	display: inline;
	border-bottom: 1px solid #000;
}	

.section-news .img {
	margin-top: 2px;
	margin-bottom: 1em;
}

.section-news ul li a:after {
	display: none;
	position: absolute;
	left: 0;
	bottom: -1px;
	height: 1px;
	width: 100%;
	background-color: #000;
	content: " ";
}

.page-news .symbol-wrapper, .page-all-projects .symbol-wrapper {
	position: fixed;
	display: none;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 0;
}

.page-news .symbol-wrapper > div > div, .page-all-projects .symbol-wrapper > div > div {
	position: relative;
	float: right;
	width: 31%;
	height: 100vh;
	padding-left: 30px;
	padding-bottom: 70px;
	padding-top: 60px;
	padding-top: 110px;
	text-align: right;
}

.page-news .symbol-wrapper > div > div .symbol, .page-all-projects .symbol-wrapper > div > div .symbol {
	display: inline-block;
	width: 68%;
	width: 280px;
	max-width: 150px;
	height: 100%;
	background-position: right top;
}


/*
 *	section jobs - sections job
 *
 */

.section-jobs h2, .section-job h2, .section-legal h2 {
	font-size: 1.375em;
	line-height: 1.1;
}

.section-legal ul { 
	font-size: .75em;
	line-height: 2;
	margin-top: -1.5em;
	margin-bottom: 1.5em;
	list-style: disc;
	padding-left: 12px;
}

.section-legal h2 {
	margin-top: 1.5em;
}

.section-jobs h2 {
	margin-top: 0.75em;
	margin-bottom: 0.75em;
}

.section-job h2 {
	margin-top: 2.5em;
	margin-bottom: 0.75em;
}

.section-jobs ul {
	margin-top: 36px;
	margin-bottom: 36px;
}

.section-jobs h2 a {
	position: relative;
	display: inline-block;
}

.section-jobs h2 a:hover:after {
	position: absolute;
	left: 0;
	bottom: -2px;
	height: 1px;
	width: 100%;
	background-color: #000;
	content: " ";
}

.section-job .backlink, .page-project .backlink {
	position: relative;
	display: inline-block;
	margin-top: 3.25em;
	margin-bottom: 1.25em;
	font-size: 	0.875em;
	line-height: 1.5;	
}

.page-project .backlink { margin-top: 0; }

.section-job .backlink:after, .page-project .backlink:after {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1px;
	width: 100%;
	background-color: #000;
	content: " ";
}

.section-jobs .placeholder.has-title { height: 55px; }



/*
 *	section map
 *
 */
 
.section-map .overlay {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: transparent;
	background-color: rgba(255,255,255,0);
	z-index:4;
}

.section-map .overlay > span {
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	width: 100%;
	margin-top: -56px;		
	text-align: center;	
}

.section-map .overlay > span > span {
	display: inline-block;
	background-color: #fff;
	border-radius: 3px;
	padding: 6px 10px;
	white-space: nowrap;
	font-size: 0.688em;
	line-height: 1;
}

.section-map .overlay > span > span:after {
	display: block;
	position: absolute;
	bottom: -6px;
	left: 50%;
	margin-left: -7px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 7px 0 7px;
	border-color: #fff transparent transparent transparent;
	content: " ";
}

.section-map .map-outer {
	position: relative;
	width: 100%;
	height: 100%;
	height: calc(100vh - 260px);
	min-height: 150px;
	overflow: hidden;
	padding: 0 !important;
	background: #f4f4f2;
}

.section-map .map-inner {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
}

.section-map .mapwrapper {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	height: calc(100% + 45px);
	background: #f4f4f2;
	z-index:1;
}

.mapboxgl-canvas-container.mapboxgl-interactive {
	cursor: default !important;
}

.mapbox-marker-office {
	display: block;
	width: 50px;
	height: 54px;
	background-color: transparent;
	background-color: rgba(255,255,255,0);
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MCA1NCc+PGRlZnM+PHN0eWxlPiAuY2xzLTF7aXNvbGF0aW9uOmlzb2xhdGU7b3BhY2l0eTouMn0gPC9zdHlsZT48L2RlZnM+PGcgaWQ9J0xheWVyXzEnPjxnIGlkPSdNYXAtUG9pbnRlcic+PHBhdGggaWQ9J092YWwnIGNsYXNzPSdjbHMtMScgZD0nTTI2IDQ3Yy0uMiAwIDE3LTIuMiAxNy01LjZTMzUuMiAzOCAyNS41IDM4IDggMzkuNSA4IDQxLjRDOCA0NC41IDI2LjMgNDcgMjYgNDdaJy8+PHBhdGggaWQ9J092YWwtMicgZGF0YS1uYW1lPSdPdmFsJyBjbGFzcz0nY2xzLTEnIGQ9J00yNiA0N2MtLjIgMCAxNy02LjUgMTctMTYuN1MzNS4yIDIwIDI1LjUgMjAgOCAyNC42IDggMzAuM0M4IDM5LjYgMjYuMyA0NyAyNiA0N1onLz48cGF0aCBpZD0nT3ZhbC0zJyBkYXRhLW5hbWU9J092YWwnIGQ9J00yNiA0N2MtLjIgMCAxNy0xMS4xIDE3LTI4LjVTMzUuMiAxIDI1LjUgMSA4IDguOCA4IDE4LjVDOCAzNC4zIDI2LjMgNDcgMjYgNDdaJyBmaWxsPScjZmZmJy8+PC9nPjxwb2x5Z29uIHBvaW50cz0nMTMuOCAxMy45IDEyLjIgMTMuOSAxNS4yIDIzLjYgMTUuMiAyMy42IDE2LjcgMjMuNiAxMy44IDEzLjknLz48cGF0aCBkPSdNMjMuNyAxMy45aC0yLjR2LjRjLS4xIDAgMCAwIDAgMCAuMyAwIC41LjEuNi4yLjEuMS4xLjMgMCAuNkwyMC4xIDIxbC0yLjItNy4yaC0xLjVsMi45IDkuN2guNmwyLjUtOC40Yy4xLS4zLjItLjYuNC0uNy4yLS4xLjQtLjIuNy0uMmguMWwtLjEtLjRaJy8+PHBhdGggZD0nTTM5LjMgMTYuMmMtLjMtLjgtLjctMS40LTEuMi0xLjgtLjUtLjQtMS4xLS42LTEuNy0uNnMtMS4yLjItMS43LjZjLS41LjQtLjkgMS0xLjIgMS44LS4zLjctLjQgMS42LS40IDIuNXMwIDEuMS4yIDEuN2MuMS41LjMgMSAuNCAxLjQuMi40LjQuOC43IDEuMS4zLjMuNi41LjkuNy4zLjIuNy4yIDEuMS4yLjYgMCAxLjItLjIgMS43LS42LjUtLjQuOS0xIDEuMi0xLjguMy0uOC40LTEuNi40LTIuNnMtLjEtMS44LS40LTIuNVptLTMuNS0xLjVjLjItLjIuNS0uMy43LS4zcy41LjEuNy4zYy4yLjIuNC42LjUgMSAuMS40LjIuOS4zIDEuNHYzLjNjMCAuNS0uMiAxLS4zIDEuNC0uMS40LS4zLjgtLjUgMS0uMi4yLS41LjMtLjcuM3MtLjUtLjEtLjctLjNjLS4yLS4yLS40LS42LS41LTEtLjEtLjQtLjItLjktLjMtMS40di0zLjNjMC0uNS4yLTEgLjMtMS40LjEtLjQuMy0uNy41LTFaJy8+PHBhdGggZD0nTTI5LjMgMjEuNnMuMi0uMy41LS42Yy41LS43IDEuMi0xLjYgMS40LTEuOC4yLS4zLjQtLjUuNS0uNy4xLS4yLjItLjQuNC0uNmwuMy0uNmMwLS4yLjEtLjQuMi0uNnYtLjZjMC0uNy0uMi0xLjMtLjctMS43LS40LS41LTEtLjctMS43LS43cy0xLjMuMi0xLjguN2MtLjUuNC0uOSAxLjEtMS4xIDEuOSAwIC4xLjQuMi40LjIuMi0uNi41LTEgLjktMS4zLjMtLjMuNy0uNCAxLjEtLjRzLjcuMSAxIC40Yy4zLjMuNC43LjQgMS4ycy0uMiAxLjItLjUgMS45Yy0uNC43LTEgMS44LTEuOSAzbC0xLjQgMS44di40aDUuNGwuNC0xLjRoLTRjLjItLjIuMy0uNC41LS42WicvPjxwb2x5Z29uIHBvaW50cz0nMjUuNyAxMy45IDIyLjggMjMuNiAyMy41IDIzLjYgMjYuNCAxMy45IDI1LjcgMTMuOScvPjwvZz48L3N2Zz4=");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;	
}

.mapbox-marker-parking {
	display: block;
	width: 25px;
	height: 27px;
	background-color: transparent;
	background-color: rgba(255,255,255,0);
	background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA1MCA1NCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTAgNTQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7b3BhY2l0eTowLjI7ZmlsdGVyOnVybCgjZmlsdGVyLTEpO2VuYWJsZS1iYWNrZ3JvdW5kOm5ldyAgICA7fQoJLnN0MXtvcGFjaXR5OjAuMjtmaWx0ZXI6dXJsKCNmaWx0ZXItMik7ZW5hYmxlLWJhY2tncm91bmQ6bmV3ICAgIDt9Cgkuc3Qye2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+CjxmaWx0ZXIgIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaGVpZ2h0PSIxODguOSUiIGlkPSJmaWx0ZXItMiIgd2lkdGg9IjE2OC42JSIgeD0iLTM0LjMlIiB5PSItNDQuNCUiPgoJPGZlR2F1c3NpYW5CbHVyICBpbj0iU291cmNlR3JhcGhpYyIgc3RkRGV2aWF0aW9uPSI0Ij48L2ZlR2F1c3NpYW5CbHVyPgo8L2ZpbHRlcj4KPGZpbHRlciAgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBoZWlnaHQ9IjIzMy4zJSIgaWQ9ImZpbHRlci0xIiB3aWR0aD0iMTM0LjMlIiB4PSItMTcuMSUiIHk9Ii02Ni43JSI+Cgk8ZmVHYXVzc2lhbkJsdXIgIGluPSJTb3VyY2VHcmFwaGljIiBzdGREZXZpYXRpb249IjIiPjwvZmVHYXVzc2lhbkJsdXI+CjwvZmlsdGVyPgo8ZyBpZD0iT3ZhbCIgY2xhc3M9InN0MCI+Cgk8cGF0aCBkPSJNMjYsNDdjLTAuMiwwLDE3LTIuMiwxNy01LjZjMC0xLjktNy44LTMuNC0xNy41LTMuNFM4LDM5LjUsOCw0MS40QzgsNDQuNSwyNi4zLDQ3LDI2LDQ3eiIvPgo8L2c+CjxnIGlkPSJPdmFsXzFfIiBjbGFzcz0ic3QxIj4KCTxwYXRoIGQ9Ik0yNiw0N2MtMC4yLDAsMTctNi41LDE3LTE2LjdDNDMsMjQuNiwzNS4yLDIwLDI1LjUsMjBTOCwyNC42LDgsMzAuM0M4LDM5LjYsMjYuMyw0NywyNiw0N3oiLz4KPC9nPgo8cGF0aCBpZD0iT3ZhbF8yXyIgY2xhc3M9InN0MiIgZD0iTTI2LDQ3Yy0wLjIsMCwxNy0xMS4xLDE3LTI4LjVDNDMsOC44LDM1LjIsMSwyNS41LDFTOCw4LjgsOCwxOC41QzgsMzQuMywyNi4zLDQ3LDI2LDQ3eiIvPgo8cGF0aCBkPSJNMjguMiw4YzUuNCwwLDguMSw0LjIsOC4xLDguNHMtMi43LDguMy04LjEsOC4zaC01LjVWMzNIMTlWOEgyOC4yeiBNMjguMiwyMS4xYzMsMCw0LjUtMi40LDQuNS00LjdjMC0yLjQtMS41LTQuOC00LjUtNC44CgloLTUuNXY5LjVIMjguMnoiLz4KPC9zdmc+Cg==");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;	
}

.mapbox-marker-office > a {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	padding: 0;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
	color: transparent;
	background-color: transparent;
	border-radius: 50%;
}

/*
.mapbox-marker-office > a, .mapbox-marker-parking > a {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 6px);
	display: block;
	padding: 6px 8px;
	font-family: "Code-Pro-LC",'Helvetica Neue',Helvetica,Arial,sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
	background-color: #fff;
	border-radius: 3px;
	transform: translateX(-50%);
}

.mapbox-marker-office > a:after, .mapbox-marker-parking > a:after {
	display: block;
	position: absolute;
	bottom: -6px;
	left: 50%;
	margin-left: -7px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 7px 0 7px;
	border-color: #ffffff transparent transparent transparent;
	content: " ";
}
*/

.section-map .mapwrapper > div {
	position:relative;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.section-map .leaflet-container {
	background: #f2f2f2;
	cursor: default !important;
}

.section-map .leaflet-left .leaflet-control, .section-map .leaflet-container .leaflet-control-attribution { opacity: 0 !important; }

.section-map .mapwrapper, .section-map .overlay {
	opacity: 0;
    -webkit-transition: opacity 0.3s cubic-bezier(0.2, 0.6, 0.3, 1) 0.2s; 
    transition: opacity 0.3s cubic-bezier(0.2, 0.6, 0.3, 1) 0.2s; 
}

.section-map.loaded .mapwrapper, .section-map.loaded .overlay {
	opacity: 1;
}


/*
 *	section contact
 *
 */

.section-contact .row {
	display: flex;
	width: 100%;
	flex: 1 1 auto;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	padding-top: 25px;
	z-index: 2;
}

.section-contact ul, .section-contact p {
	font-size: 0.75em;
	line-height: 2;
	
}

.section-contact ul {
	margin-left: 36px;
}

.section-contact ul:first-child { margin-left: 0; }

.section-contact p {
	position: relative;
	width: 100%;
	margin: 1em auto -5px auto;
	z-index: 2;
}

/*
 *	footer
 *
 */

footer {
	height: 70px;
	text-align: right;
	background-color: #fff;
	font-family: "ABCSimonMono W01",'Helvetica Neue',Helvetica,Arial,sans-serif;
}

footer .container {
	display: flex;
	padding-top: 27px;	
	width: 100%;
	flex: 1 1 auto;
	justify-content: space-between;
	align-items: center;

}

footer dl, footer p {
	display: inline-block;
	font-size: 0.688em;
	line-height: 14px;
	vertical-align: bottom;
	margin-bottom: 0;
	margin-top: 0;
}

footer dt, footer dd {
	display: inline-block;
	vertical-align: bottom;
}

footer dd {
	margin: 0 0 0 9px;	
}	
 
footer dd a {
	display: inline-block;
	margin: 0;
	width: 14px;
	height: 14px;
	color: #555;
	vertical-align: middle;
}

.section-people {
	margin-top: 1px;
}

.page-project footer {
	margin-top: 40px;
}