@charset "UTF-8";

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin:0;
	padding:0;
	border:0;
	vertical-align:baseline;
	font-size:100%;
}

img {
	max-width:100%;
	vertical-align:middle;
}

ins {
	text-decoration:none;
}

table {
	border-spacing:0;
	border-collapse:collapse;
}

caption,th,td {
	vertical-align:middle;
	text-align:left;
	font-weight:400;
}

q,blockquote {
	quotes:none;
}

q:before,q:after,blockquote:before,blockquote:after {
	content:"";
	content:none;
}

a img {
	border:none;
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary {
	display:block;
}

* html {
	font-size:100%;
}

html {
	height:100%;
	top:0;
	bottom:0;
	font-size:16px;
	margin:0;
	line-height:1;
	overflow-x: hidden;
}

*,:after,:before {
	box-sizing:border-box;
}

body {
	position:relative;
	background:#1c1c1c;
	width:100%;
	color:#333;
	font-weight:400;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	text-rendering:optimizeLegibility;
	margin:0;
}

.text-center {
	text-align:center;
}

small {
	font-size:12px;
	color:#999;
	font-weight:400;
	line-height:1;
}

h1,h2,h3,h4,h5,h6 {
	padding:0 0 4px;
	color:#333;
	line-height:1.2;
	text-decoration:none;
	margin:0;
	font-weight:600;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

h1 a,h2 a,h3 a,h4 a {
	text-decoration:none;
}

@media only screen and (max-width: 767px) {
	h1,h2,h3,h4,h5,h6 {
		word-wrap:break-word;
	}
}

h1 {
	font-size:32px;
}

h2 {
	font-size:28px;
	font-weight:300;
}

h3 {
	font-size:18px;
}

h4 {
	font-size:16px;
	color:#9d938f;
	text-transform: uppercase;
	letter-spacing: 1px;
}

h5 {
	font-size:14px;
}

h6 {
	font-size:14px;
}

@media only screen and (max-width: 767px) {
	h1 {
		font-size:30px;
		font-size:1.875rem;
	}

	h2 {
		font-size:26px;
		font-size:1.65rem;
	}
}

/* Links and Paragraphs */
p {
	margin-bottom:14px;
	margin-top:0;
	color:#373737;
	letter-spacing: 0.01em;
	font-weight:400;
	font-size:16px;
	line-height:1.5;
	text-rendering:optimizeLegibility;
}

p strong, strong {
	font-weight: 700;
}

p a {
	color:#222;
	font-weight: 600;
}

p.lead {
	margin-bottom:18px;
	color:#555;
	font-size:18px;
	font-weight:400;
}

@media only screen and (max-width: 768px) {
	p {
		font-size:15px;
		line-height:1.625em;
	}
}

a {
	outline:0;
	color:inherit;
	text-decoration:none;
	line-height:inherit;
	-webkit-transition:.5s;
	transition:.5s;
}

a:hover {
	color:#9d938f;
}

.button {
	padding:12px 36px;
	display: inline-block;
	border:1px solid #333;
	background:transparent;
	border-radius: 2px;
	color:#333;
	font-weight: 400;
	text-transform:uppercase;
	font-size:14px;
	letter-spacing: 0.4px;
	line-height:1;
	-webkit-transition:.2s ease;
	        transition:.2s ease;
}

.button:hover {
	color:#fff;
	background:#333;
}

.button-label {
  font-size: 12px;
  color: rgb(153, 153, 153);
  text-align: center;
	font-style: italic;
	clear: both;
	display: block;
	padding-top: 6px;
}

/* Lists */
ul,ol {
	list-style:none;
}

ul {
	list-style:none outside;
}

ol {
	margin-left:30px;
	list-style:decimal;
}

ul ul {
	margin:4px 0 0 8px;
}

ol ol {
	margin:4px 0 0 8px;
}

ul.large li {
	line-height:21px;
}

dl dt {
	font-weight:600;
}

/* GRID */
.row {
	display:block;
	margin:0 auto;
	max-width:960px;
	width:100%;
	min-width:320px;
  zoom: 1;
}

.row:before, .clearfix:before,
.row:after, .clearfix:after {
  content: "";
  display: table;
}

.row:after, .clearfix:after {
	clear: both;
}

.row .row {
	padding-right:0;
	padding-left:0;
	min-width:0;
}

.column,.columns {
	float:left;
	box-sizing:border-box;
	margin-left:2.80702%;
	min-height:1px;
}

.column:first-child,.columns:first-child {
	margin-left:0!important;
}

/* Column Classes */
.row .one.column {
	width:5.76023%;
}

.row .one.columns {
	width:5.76023%;
}

.row .two.columns {
	width:14.32749%;
}

.row .three.columns {
	width:22.89474%;
}

.row .four.columns {
	width:31.46199%;
}

.row .four.columns:nth-child(4n) {
	margin-left: 0;
}

.row .five.columns {
	width:40.02924%;
}

.row .six.columns {
	width:48.59649%;
}

.row .seven.columns {
	width:57.16374%;
}

.row .eight.columns {
	width:65.73099%;
}

.row .nine.columns {
	width:74.29825%;
}

.row .ten.columns {
	width:82.8655%;
}

.row .eleven.columns {
	width:91.43275%;
}

.row .twelve.columns {
	width:100%;
}

/* Mobile */
@media only screen and (max-width: 767px) {
	body {
		min-width:0;
		width:100%;
		-webkit-text-size-adjust:none;
		-ms-text-size-adjust:none;
	}

	.row {
		margin-right:0;
		margin-left:0;
		padding-right:20px;
		padding-left:20px;
		min-width:0;
		width:100%;
	}

	.row .row .column,.row .row .columns {
		padding:0;
	}

	.row .centered {
		margin-left:0!important;
	}

	.column,.columns {
		float:none;
		margin-right:0;
		margin-left:0;
		width:auto!important;
	}

	.three.columns {
		float:left!important;
		margin-left:1%;
		width:49.5%!important;
		margin-bottom: 20px;
	}

	.three.columns:nth-child(odd) {
		margin-left:0!important;
	}

	.column:last-child,.columns:last-child {
		float:none;
		margin-right:0;
	}

	[class*="column"] + [class*="column"]:last-child {
		float:none;
	}

	[class*="column"]:before {
		display:table;
	}

	[class*="column"]:after {
		display:table;
		clear:both;
	}

	[class^="push_"],[class*="push_"],[class^="pull_"],[class*="pull_"] {
		margin-left:0!important;
	}
}

/* TABLES */
table {
	width: 100%;
}

table thead tr td {
	font-weight: 600;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 1px;
	color:#9d938f;
	vertical-align: top;
}

table tr td {
	padding: 12px 0;
	border-bottom: 1px solid #eee;
}

table td p {
	margin-bottom: 0;
}
/* SM BAR */
#sm-bar {
	background: #222;
	padding: 0 32px;
	width: 100%;
	height:32px;
	position: fixed;
	bottom:0;
	left:0;
	z-index: 999;
	color:#999;
}

#sm-bar span.label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 28px;
	margin-right: 12px;
	font-weight: 600;
}

#sm-bar .sharify-icon {
	color: white;
	opacity: 0.8;
	font-size: 14px;
	line-height: 36px;
}

#sm-bar .sharify-icon:hover {
	opacity: 1;
}

#sm-bar [class^="sharify-"]:before, #sm-bar [class*=" sharify-"]:before {
	margin-left: 0;
	margin-right: 16px;
}

/* MASTHEAD */
#masthead {
	padding-top: 36px;
	width: 100%;
	position: fixed;
	top:0;
	z-index: 999;
	background: white;
	-webkit-transition: ease 0.3s;
	transition: ease 0.3s;
}

#masthead.shrink {
	padding-top: 16px;
}

#masthead .primary {
	border-bottom: 1px solid #eee;
	position: relative;
}

#masthead .secondary {
	height: 0;
}

#masthead .brand {
	float: left;
	margin-bottom: 16px;
}

#masthead .brand img {
	width: 100px;
	-webkit-transition: ease 0.3s;
	        transition: ease 0.3s;
}

#masthead .brand img.mobile-logo {
	display: none;
}

#masthead.shrink .brand img {
	width: 60px;
}

#masthead nav.menu {
	position: absolute;
	right: 0;
	bottom: 0;
}

#masthead .menu-toggle {
	display: none;
}

.mobile-header {
	display: none;
}

nav.menu li {
	float: left;
	margin-left: 48px;
}

nav.menu li a {
	font-size: 16px;
	color:#333;
	display: inline-block;
	font-weight: 600;
	padding-bottom: 16px;
	border-bottom: 1px solid transparent;
}

nav.menu li a:hover, nav.menu li.active a {
	border-bottom: 1px solid #aaa;
}

/* SUBMENU */
.submenu {
	display: inline-block;
	width: 100%;
	clear: both;
	position: relative;
	border-bottom: 1px solid #eee;
	background:white;
}

.submenu .menu-title {
	background:#333;
	color:white;
	float: left;
	text-transform: uppercase;
	font-weight: 600;
	display: inline-block;
	font-size: 13px;
	padding:10px 20px 8px;
	margin-right:5px;
}

.submenu li {
	float: left;
	position: relative;
}

.submenu li a {
	font-size: 13px;
	padding: 11px 16px 8px;
	text-transform: uppercase;
	font-weight: 600;
	display: inline-block;
}

.submenu li.active a {
	color:#9d938f;
}

.submenu li.active:after {
	text-align: center;
	display: block;
	content: '';
	background: url(../img/menu-active.png) top center no-repeat;
	width: 100%;
	height: 8px;
	background-size: 20px;
	margin-top: -20px;
	z-index: 999;
	position: relative;
	top: 13px;
}

.submenu:hover li.active:after {
	background:none;
}

.submenu .dropdown {
	position: static;
}

.submenu .dropdown.expand .dropdown-menu {
	display: block;
}

.submenu .dropdown.expand:after {
	content: '';
	background: none;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid rgba(0,0,0,.85);
  width: 0px;
  height: 0px;
	z-index: 999;
	position: relative;
	display: block;
  margin: -5px auto 0;
}

.submenu .dropdown-menu {
	margin: 0;
	left: 0;
	position: absolute;
	z-index: 999;
	width: 100%;
	background: rgba(0,0,0,.85);
	display: none;
	padding:24px 36px;
	min-height: 160px;
	-moz-column-count: 4;
	     column-count: 4;
	-webkit-column-count: 4;
}

.submenu .dropdown-menu li {
	float: none;
}

.submenu .dropdown-menu li.active:after {
	display: none;
}

.submenu .dropdown-menu li a {
	color: rgba(255,255,255,.6);
	font-size: 14px;
	text-transform: none;
	font-weight: 400;
	padding:6px 0;
	-webkit-transition:color .2s;
	        transition:color .2s;
}


@media screen and (max-width:767px) {
	body {
		-webkit-transition: -webkit-transform .3s ease;
		        transition: transform .3s ease;
		-webkit-transform: translateX(0);
		    -ms-transform: translateX(0);
		        transform: translateX(0);

	}

	body.offset {
		-webkit-transform:translateX(200px);
		    -ms-transform:translateX(200px);
		        transform:translateX(200px);
	}

	#masthead {
		border-top:0;
		position: relative;
	}

	#masthead .primary {
		position: fixed;
		top:0;
		left:0;
		z-index: 9999;
		width: 100%;
		background: #111;
		padding: 14px;
	}

	#masthead .brand {
		margin: 0 auto;
		float: none;
		display: block;
		width: 50px;
	}

	#masthead.shrink .brand img {
		width: 50px;
	}

	#masthead .brand img {
		display: none;
	}

	#masthead .brand img.mobile-logo {
		display: block;
	}

	#masthead .primary {
		border:none;
	}

	#masthead nav.menu {
    height: 100%;
    width: 200px;
    background-color: #222;
    z-index: 999;
    position: fixed;
    left: -200px;
    transition:left .3s ease;
    padding: 24px 0;
	}

	#masthead nav.menu.active {

	}

  #masthead .secondary {
    height: auto;
  }

	nav.menu li {
		margin: 0;
		float:none;
	}

	nav.menu li > a {
		color:white;
		padding:12px 24px;
		display: block;
	}


	nav.menu li a:hover, nav.menu li.active a {
		border-bottom: 0;
		background:#333;
	}

	#masthead .menu-toggle {
		display: block;
		position: absolute;
		top:0;
		left:0;
		height:54px;
		width: 54px;
		line-height: 22px;
		padding:16px;
		cursor: pointer;
	}

	.mobile-header {
		background: #76726A;
		display: block;
		padding: 48px 20px 18px;
	}

	.mobile-header h1 {
		font-weight: 300;
		color:white;
		font-size:36px;
		padding-bottom: 0;
	}

	.mobile-header h4 {
		color:rgba(255,255,255,.75);
		letter-spacing: 1.25px;
	}

	#masthead .secondary {
		padding: 0;
	}

	#masthead .submenu {
		background: #f7f7f7;
	}

	.submenu ul.menu {
		padding-left: 16px;
		white-space: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
	}

	.submenu ul.menu > li {
		float:none;
		display: inline-block;
	}

	.submenu ul.menu > li > a {
		padding: 14px 4px 8px;
		border-bottom: 3px transparent solid;
		margin-right: 14px;
	}

	.submenu ul.menu > li.active > a {
		border-bottom: #9d938f 3px solid;
	}

	.submenu .menu-title {
		display: none;
	}

	.submenu li.active:after {
		display: none;
	}

	.submenu .dropdown-menu {
		-moz-column-count: 2;
	  column-count: 2;
		-webkit-column-count: 2;
	}
}

@media screen and (max-width:480px) {
	.submenu .dropdown-menu {
		min-height: 0;
		height: auto;
		background:rgba(0,0,0,.95);
		padding: 24px;
    -moz-column-count: 1;
    column-count: 1;
    -webkit-column-count: 1;
	}
}

.wrapper {
  display: block;
	padding-top: 94px;
}

.wrapper > section:first-child {
	padding-top: 32px;
}

.wrapper > header:first-child, #profile, #leadership,#careers,#testimonials,#news,.single-post article.news, #page{
	padding-top: 72px;
}

@media screen and (max-width:767px) {
	.wrapper {
		padding-top:0;
	}
}

/* LANDING */
.feed {
	padding-top: 24px;
}

.section-header {
	letter-spacing: 0.1em;
	text-transform: uppercase;
	position: relative;
	font-size: 15px;
	margin-bottom: 12px;
}

.page-title h2 {
	padding-bottom: 24px;
}

.section-header span {
	background: white;
	padding-right: 12px;
}

.section-header:after {
	content:'';
	background: #eceae9;
	width: 100%;
	height: 4px;
	position: absolute;
	left: 0;
	top:7px;
	z-index: -1;
}

/* LANDING: Intro */
#intro {
	padding-bottom: 24px;
}

#intro h1 {
	font-size: 28px;
	font-weight: 300;
}

#intro .button {
	position: relative;
	float: right;
	top:15px;
}

#intro .sketch {
	display: none;
}

/* LANDING: Slider */
.slider {
	overflow: hidden;
	width: 100%;
	position: relative;
}

.slider .slide {
	width: 100%;
	height: 578px;
	background-size: cover;
	background-position: center center;
	overflow: hidden;
	position: relative;
}

/*
.slider .slide:after {
	content:'';
	height: 100%;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: -webkit-linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,.8) 100%)
}
*/

.slider .slide .elevator {
	position: absolute;
	width: 100%;
	bottom:0;
	z-index:9;
}

.slider .slide .elevator h2 {
  font-size: 24px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: white;
  font-weight: 700;
  margin: 0;
  background-color: rgba(0,0,0,.5);
  padding: 10px 24px 6px;
  line-height: 1;
  display: inline-block;
  width: 100%;
  clear: both;
}

.slider .slide .elevator p {
	margin-bottom: 0;
	color: white;
	clear: both;
}

.slider .slide .elevator span {
	padding:8px 24px;
	display: inline-block;
	width: 100%;
	background-color: rgba(0,0,0,.75);
}

.swiper-nav {
	position: absolute;
	top:50%;
	width: 100%;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	z-index: 9999;
  height: 32px;
}

.swiper-nav .next, .swiper-nav .prev {
	position: absolute;
	font-size: 32px;
	color:rgba(255,255,255,0.5);
	cursor: pointer;
	-webkit-transition:ease 0.3s;
	        transition:ease 0.3s;
}

.swiper-nav .next:hover, .swiper-nav .prev:hover {
	color:rgba(255,255,255,0.9);
}

.swiper-nav .next {
	right:-32px;
}

.swiper-nav .prev {
	left:-32px;
}

.slider:hover .swiper-nav .next {
	right: 24px;
}

.slider:hover .swiper-nav .prev {
	left: 24px;
}

@media screen and (max-width:767px) {
	#intro {
		background:url(../img/grid.jpg) repeat;
		background-size:50px;
		padding: 72px 0;
		border-bottom: 1px solid #ccc;
		text-align: center;
	}

	#intro > .row {
		padding-left: 32px;
		padding-right: 32px;
	}

	#intro .sketch {
		margin-top: 32px;
		opacity: 0.8;
		display: none;
	}

	#intro h1 {
		font-size: 24px;
	}

	#intro .button {
		margin: 0 auto;
		float: none;
		margin-top: 24px;
	}
}

@media screen and (max-width:480px) {
	.slider {
		display: none;
	}

	.slider .slide .elevator {
		text-align: center;
		padding: 36px 24px;
	}
}
.submenu .dropdown-menu li.active a, .submenu .dropdown-menu li:hover a {
	color: white;
	font-weight: 600;
}

/* FEED */
.feed article.project:nth-child(4) {
	display:none;
}

.feed article.project figure {
	overflow: hidden;
	margin-bottom: 12px;
	-webkit-transition:0.2s ease;
	        transition:0.2s ease;
}

.feed article.project figure img {
	max-height: 180px;
	min-width: 100%;
}

.feed article.project:hover figure {
	opacity: 0.75;
}

.feed article .card {
	height: 140px;
	background-size: 100%;
	background-position: center center;
	position: relative;
}

.feed article .card:before {
	content:'';
	position: absolute;
	height: 100%;
	width: 100%;
	left: 0;
	top:0;
	background-color: rgba(0,0,0,.6);
	-webkit-transition:ease 0.3s;
	        transition:ease 0.3s;
}

.feed article:hover .card:before {
	background-color: rgba(0,0,0,.3);
}

.feed article .card .content {
	position: absolute;
	top:50%;
	text-align: center;
	width: 100%;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	z-index: 9;
}

.feed article .card .content h3 {
	color:white;
	line-height: 1;
	font-size: 18px;
}

.feed article .card .content p {
	font-style: italic;
	color:rgba(255,255,255,0.7);
	font-size: 12px;
	margin-bottom: 0;
}

.feed article.news img {
	margin-bottom: 12px;
}

.feed article.news h3 {
	font-size: 16px;
}

article .category {
	color:#9d938f;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 11px;
	font-weight: 700;
	margin-bottom: 4px;
}

.feed article .excerpt p {
	font-size: 14px;
	color:#888;
	margin-bottom: 0;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	overflow: hidden;
	-webkit-box-orient: vertical;
}

.services-list {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid #eee;
}
.services-list .service:last-child {
  border-bottom: 1px solid #eee;
}
.services-list .service-icon {
  position: relative;
  float: left;
  width: 20%;
  padding-top: 30px;
  text-align: center;
}
.services-list .service-text {
  float: right;
  width: 80%;
}
.services-list .service-text h3 {
  padding-bottom: 7px;
  /*text-transform: initial;
  font-size: 18px;
  font-weight: bold;*/
}

.gallery .swiper-slide img {
  max-height: 500px;
}
figure.thumbnail img {
  width: 100%;
}

@media screen and (max-width:767px) {
	.feed {
		padding-top: 0;
	}

	.feed .row {
		padding-left: 0;
		padding-right: 0;
	}

	.section-header {
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.section-header span {
    background: #eceae9;
    width: 100%;
    display: block;
    padding: 24px 12px 12px;
	}

	.feed article.project {
		float: left !important;
		width: calc( ( 100% - 10px ) / 3) !important;
		margin-left: 5px;
		margin-bottom: 24px;
	}

	.feed article.project figure {
		height: 105px;
		max-height: 105px;
	}

	.feed article.casestudy {
		margin-bottom: 0;
	}

	.feed article.project:first-child, .feed article.project:nth-child(3); {
		margin-left: 0;
	}

	.feed article.project:nth-child(4) {
		display: block;
	}

	.feed article .category {
		padding: 0 10px;
		font-size: 10px;
	}

	.feed article h3, .feed article.news h3 {
		font-size: 14px;
		padding: 0 10px;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		overflow: hidden;
		-webkit-box-orient: vertical;
	}

	.feed article .excerpt p {
		padding: 0 10px;
		-webkit-line-clamp: 2;
		font-size: 12px;
	}

  .wrapper > header:first-child,#news,.single-post article.news, #page{
  	padding-top: 30px;
  }
  .services-list .service-icon {
    padding-right: 20px;
    text-align: left;
  }
}

@media screen and (max-width:480px) {
	.feed article.project {
		width: calc( ( 100% - 5px ) / 2) !important;
	}

	.feed article.project:nth-child(3n) {
		margin-left: 0 !important;
	}

	.feed article.project:nth-child(4n) {
		margin-left: 5px !important;
	}

	.feed article.news {
		width: 100% !important;
		float:none !important;
		margin-bottom: 0 !important;
		padding: 12px !important;
		border-bottom: 1px solid #eee;
		clear: both;
		display: table;
	}

	.feed article.news figure {
		float: left;
		width: 120px;
	}

	.feed article.news .category {
		display: inline-block;
		margin-bottom: 0;
	}
}

/* ABOUT - Profile */
#profile .key-photo {
	margin-bottom: 48px;
}

#profile .design-philosophy h4 {
	padding-bottom: 16px;
}

#profile .design-philosophy p {
	text-align: justify;
}

#profile .design-philosophy .content {
	-webkit-column-count:2;
	   -moz-column-count:2;
	        column-count:2;
}

	#profile .gallery {
		margin-bottom: 24px;
	}

#profile .stat {
	margin-bottom: 16px;
	margin-left: 50px;
}

#profile .stat .number {
	font-weight: 100;
	font-size: 32px;
	letter-spacing: -0.5px;
	margin-bottom: 2px;
}

#profile .stat h4 {
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 12px;
}

@media screen and (max-width:767px) {

	#profile .stats {
		padding:32px 0 0;
	}

	#profile .stat {
		float: left;
		width: 50%;
		text-align: center;
		margin-bottom: 24px;
		margin-left: 0;
	}
}

#services {
	padding:48px 0;
}

#services table {
	max-width: 960px;
	margin: 0 auto;
}

#services table p {
	font-size: 14px;
}

#services table td {
	width: 25%;
}

@media
only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px)  {

	/* Force table to not be like tables anymore */
	#services table, thead, tbody, th, td, tr {
		display: block;
	}

	/* Hide table headers (but not display: none;, for accessibility) */
	#services thead tr {
		position: absolute;
		top: -9999px;
		left: -9999px;
	}

	#services table td {
		position: relative;
		padding-left: 45%;
		width: 100%;
	}

	#services table td p {
		font-size: 13px;
	}

	#services td:before {
		/* Now like a table header */
		position: absolute;
		/* Top/left values mimic padding */
		top: 18px;
		left: 24px;
		width: 35%;
		padding-right: 10px;
		font-weight: 600;
		text-transform: uppercase;
		font-size: 12px;
		letter-spacing: 1px;
		color:#9d938f;
		vertical-align: top;
	}

	#services td:nth-child(odd) {
		background: #f7f7f7;
	}

	/*
	Label the data
	*/
	td:nth-of-type(1):before { content: "DESIGN INNOVATION"; }
	td:nth-of-type(2):before { content: "DESIGN INNOVATION"; }
	td:nth-of-type(3):before { content: "CONSTRUCTION EXCELLENCE"; }
	td:nth-of-type(4):before { content: "SERVICE DISTINCTION"; }
}

#milestones {
	padding-top: 48px;
}

.milestones li:first-child {
	padding-top: 0;
}

.milestones li {
	padding:24px 0;
	border-bottom: 1px solid #eee;
}

.milestones li:last-child {
	border: 0;
}

.milestones li .year {
	font-size: 28px;
	font-weight: 600;
	color:#9d938f;
}

.milestones li p {
	font-size: 14px;
	line-height: 1.4;
	margin-bottom: 0;
}

@media screen and (max-width:767px) {
	#profile h2{
		display: none;
	}

	#milestones h2 {
		color: #9d938f;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 32px;
	}

	.milestones li .year {
		float: left !important;
		width: 80px !important;
	}

	.milestones li .ten.columns {
		width: calc(100% - 80px) !important;
    float: left;
	}
}

@media screen and (max-width:480px) {
	#profile .design-philosophy .content {
		-webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
	}

	p.lead {
		font-size: 15px;
		line-height: 22px;
		font-weight: 300;
	}

	p {
		font-size: 13px;
		line-height: 20px;
	}

	h4 {
		font-size: 12px;
	}

	#profile .design-philosophy h4 {
		text-align: left;
	}

	#milestones {
		padding-top: 36px;
	}

	.milestones li {
		padding: 16px 0;
	}
	.milestones li p {
		font-size: 12px;
	}

	.milestones li .year {
		font-size: 24px;
	}
}

/* ABOUT - Leadership */
#leadership .person {
	margin-bottom: 24px;
}

#leadership .person img {
	margin-bottom: 8px;
	width: 100%;
}

#leadership .person h3 {
	font-size: 16px;
	padding-bottom: 0px;
}

#leadership .person .role {
	color: #999;
	font-size: 14px;
	margin-bottom: 0;
}

@media screen and (max-width:767px) {
	.join-us {
		text-align: left;
		margin: 12px 0 24px;
	}

	.button-label {
		display: none;
	}

	#leadership .people {
		width: calc(100% + 40px);
    left: -20px;
    position: relative;
	}

	#leadership .person {
		width: calc((100% - 5px) / 2) !important;
		float:left !important;
		margin-left: 5px;
	}

	#leadership .person:nth-child(odd) {
		margin-left: 0 !important;
	}

	#leadership .person h3, #leadership .person p {
		padding: 0 12px;
	}
}

/* ABOUT - Testimonials */
#testimonials article {
	position: relative;
	width: calc(33.33333% - 5px);
	box-shadow:inset 0px -100px 100px -30px rgba(0,0,0,.96);
	float: left;
	margin-right: 5px;
	margin-bottom: 5px;
	background-size: cover;
	height: 320px;
  transition: .3s ease;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
	cursor: pointer;
	-webkit-transition:.3s ease;
	        transition:.3s ease;
}

#testimonials article:after {
	position: absolute;
	background: black;
	opacity: 0;
	filter:alpha(opacity=0);
	left: 0;
	top:0;
	width: 100%;
	height: 100%;
	content:'';
	-webkit-transition:.3s ease;
	        transition:.3s ease;
}

#testimonials article:hover {
	opacity: 0.8;
	filter:alpha(opacity=80);
}

#testimonials article.reading:hover {
	opacity: 1;
	filter:alpha(opacity=100);
}

#testimonials article .content {
	padding: 24px;
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: 9;
}

#testimonials article h3 {
	font-size: 12px;
	font-weight: 600;
	color:white;
	padding-bottom: 0;
}

#testimonials article p.company {
	margin-bottom: 0;
	font-size: 12px;
	color:rgba(255,255,255,0.5);
}

#testimonials article .message {
	display: none;
}

#testimonials article .message p {
	color: white;
}

#testimonials article.reading:after {
	opacity: 0.7;
	filter:alpha(opacity=70);
}

#testimonials article.reading .content {
	padding:36px;
	height: 100%;
}

#testimonials article.reading .content .source {
	position: absolute;
	bottom: 24px;
}

#testimonials article.reading .message {
	display: block;
}

@media screen and (max-width:767px) {
	.testimonial-grid.row {
		padding-left: 0;
		padding-right: 0;
	}

	#testimonials article {
		width: calc((100% - 5px) / 2) !important;
	}

	#testimonials article:nth-child(even) {
		margin-right: 0 !important;
	}

	#testimonials article:nth-child(5n) {
		margin-right: 5px;
	}
}

@media screen and (max-width:480px) {

	#testimonials article {
		float:none;
		width: 100% !important;
	}
}

/* ABOUT - Careers */
.jobs .job {
	padding: 32px 0;
	border-bottom: 1px solid #eee;
}

.jobs .job:first-child {
	padding-top: 0;
}

.jobs .job:last-child {
	border-bottom: 0;
}

.jobs .job h3 {
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 1px;
	padding-bottom: 2px;
}

.jobs .job .location {
	color:#999;
	font-size: 13px;
}

.jobs .job .summary p {
	color:#777;
	font-size: 14px;
	margin-bottom: 0;
}

.jobs .job .button {
	margin-top: 32px;
	cursor: pointer;
}

[data-modal] .content.job-application h3 {
	text-transform: uppercase;
	font-size: 18px;
	letter-spacing: 1px;
	padding-bottom: 2px
}

[data-modal] .content.job-application .location {
	color:#999;
	font-size: 13px;
	padding-bottom: 14px;
	border-bottom: 1px solid #eee;
}

[data-modal] .content.job-application .description p {
	font-size: 14px;
	margin-bottom: 12px;
}

[data-modal] .content.job-application .button {
	margin-top: 24px;
	padding:12px 48px;
	background: #222;
	color: white;
}
[data-modal] .content.job-application .modal-close {
	position: absolute;
	top:54px;
	right: 54px;
	color:#ccc;
	font-size: 32px;
	font-weight: 600;
	-webkit-transition:.2s ease;
	        transition:.2s ease;
}

[data-modal] .content.job-application .modal-close:hover {
	color:#999;
}

@media screen and (max-width:767px) {
	.jobs .job:first-child {
		padding-top: 32px;
	}
}


@media screen and (max-width:480px) {

	[data-modal] .content {
		padding:48px 24px !important;
		max-height:none !important;
	}

	[data-modal] .content.job-application .modal-close {
		top:48px;
		right: 24px;
		padding-left: 6px;
		padding-right: 6px;
	}

	.job .text-center {
		text-align: left;
	}
}

/* MODALS */
[data-modal-trigger], .modal-close {
	cursor:pointer;
}

[data-modal] {
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.8);
	opacity:0;
	filter:alpha(opacity=0);
	-webkit-transition:.5s ease-in-out opacity;
	        transition:.5s ease-in-out opacity;
	-webkit-transform:translateX(-100%);
	    -ms-transform:translateX(-100%);
	        transform:translateX(-100%);
}

[data-modal].active {
  z-index: 9999;
	opacity:1;
	filter:alpha(opacity=100);
	-webkit-transform:translateX(0);
	    -ms-transform:translateX(0);
	        transform:translateX(0);
}


[data-modal] .content {
	width: 100%;
	max-width: 540px;
	height: 100%;
	max-height: 600px;
	margin: 0 auto;
	position: relative;
	top:50%;
	-webkit-transform:translateY(-50%);
	    -ms-transform:translateY(-50%);
	        transform:translateY(-50%);
	padding: 54px;
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
}

/* EXPERTISE */
#featured-project article {
	margin-bottom: 5px;
	position: relative;
	width: 100%;
	height: 360px;
}

#featured-project article figure {
	height: 100%;
	width: 66.66667%;
	float: left;
	background-size: cover;
	background-position: center center;
}

#featured-project article .content {
	height: 100%;
	width: 33.33333%;
	float: left;
	background:#222;
	position: relative;
}

#featured-project article .content .copy {
	position: absolute;
	bottom: 48px;
	padding: 0 36px;
}

#featured-project article .content .copy h2 {
	color: white;
	font-size: 24px;
}

#featured-project article .content .copy .excerpt p {
	font-size: 14px;
	line-height: 20px;
	color:rgba(255,255,255,0.5);
	display: -webkit-box;
	-webkit-line-clamp: 4;
	overflow: hidden;
	-webkit-box-orient: vertical;
}

#featured-project article .content .copy .more {
	font-size: 13px;
	letter-spacing: 1px;
	color:white;
	text-transform: uppercase;
	font-weight: 600;
}

#expertise article {
	background-size: cover;
	background-position: center center;
	height: 160px;
	width: calc((100% - 15px) / 4);
	margin-left:5px;
	float: left;
	margin-bottom: 5px;
	position: relative;
}

#expertise article:nth-child(4n + 1), #expertise article:first-child {
	margin-left: 0;
}

#expertise article .content {
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height:100%;
	background:rgba(0,0,0,.75);
	text-align: center;
	-webkit-transition:.2s ease;
	        transition:.2s ease;
}

#expertise article .content:hover {
	background:rgba(0,0,0,.2);
}

#expertise article .content .copy {
	position: absolute;
	width: 100%;
	top:50%;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
}

#expertise article .content h2 {
	color:white;
	font-size: 16px;
	letter-spacing: 0.5px;
	font-weight: 600;
	text-transform: uppercase;
}

#expertise article .content .location {
	font-size: 12px;
	text-transform: uppercase;
	color:rgba(255,255,255,.5);
	font-weight: 600;
	letter-spacing: 1;
	padding-bottom: 0;
}

/* SHOWCASE */
#showcase {
	padding-top: 36px;
}

#showcase article.listing {
	display: inline-block;
	width: 100%;
	float:left;
	padding: 12px 0;
	border-bottom: 1px solid #eee;
}

#showcase article.listing figure {
	width: 54px;
	height:54px;
	border-radius: 2px;
	overflow: hidden;
	float: left;
}

#showcase article.listing figure img {
	height: 54px;
  max-width: none;
}

#showcase article.listing .content {
	margin-left: 12px;
	padding-top: 7px;
	width: calc(100% - 66px);
	float:left;
}

#showcase article.listing .content h2 {
	font-size: 16px;
	padding-bottom: 0px;
	font-weight: 600;
}

#showcase article.listing .content .location {
	font-size: 14px;
	color:#777;
	margin-bottom: 0;
}

@media screen and (max-width:660px) {
	#featured-project article {
		height:auto;
	}

	#featured-project article figure {
		width: 100%;
		height: 250px;
	}

	#featured-project article .content {
		height: auto;
		width: 100%;
		background:none;
	}

	#featured-project article .content .copy {
		position: relative;
		bottom: auto;
		padding: 0;
	}

	#featured-project article .content .copy h2 {
		color:#333;
		margin-top: 16px;
	}

	#featured-project article .content .copy .excerpt p {
		color:#888;
	}

	#featured-project article .content .copy .more {
		color: #9d938f;
	}

	.hide-mobile {
		display: none !important;
	}

	#showcase article.listing:last-child {
		margin-bottom: 48px;
		border-bottom: 0;
	}

	#expertise {
		margin-top: 32px;
    padding-top: 32px;
    border-top: 1px #eee solid;
	}

	#expertise article {
		width: calc((100% - 5px) / 2);
	}

	#expertise article:nth-child(odd) {
		margin-left: 0 !important;
	}
}

/* SINGLE PROJECT */
.project-header.row {
	padding:0px 0px 24px;
}

.project-header h2 {
	color: white;
	font-size: 32px;
}

.project-meta .detail {
	font-size: 14px;
	color:#eee;
	margin-right: 24px;
	font-weight: 600;
}
.project-meta .detail2 {
	font-size: 14px;
	color:#666;
}

.project-meta .detail label,.project-meta .detail2 label {
	font-size: 10px;
	position: relative;
	top: -1px;
	letter-spacing: .5px;
	text-transform: uppercase;
	color:#aaa;
	font-weight: 400;
}

.gallery-top {
	/*max-height: 540px;*/
}

.gallery-top .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  height: auto;
  background: #111;
}

.gallery-thumbs {
	background: #111;
	padding: 5px 0;
}

.gallery-thumbs .swiper-wrapper {
  height: 104px;
}

.gallery-thumbs .swiper-slide {
	width: auto;
	background: black;
  overflow: hidden;
}

.gallery-thumbs .swiper-slide img {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
	opacity: 0.3;
	filter:alpha(opacity=30);
}

.gallery-thumbs .swiper-slide-active img {
	opacity: 1;
	filter:alpha(opacity=100);
}

.project-writeup {
	max-width: 640px;
	margin: 0 auto;
	padding-top: 48px;
	padding-bottom: 48px;
}

article ul {
	padding-left: 24px;
	margin-bottom: 24px;
}

article ul li {
	line-height: 1.4;
	margin-bottom: 12px;
	list-style: disc;
	padding-left: 12px;
}

@media screen and (max-width:767px) {
	.project-header.row {
		background: none;
		padding-left: 20px;
		padding-right: 20px;
	}

	.project-header h2  {
		color: #333;
	}

	.project-meta .detail {
		color:#999;
	}

	.gallery.row {
		padding-left: 0;
		padding-right: 0;
	}

	.project-writeup {
		padding-top: 36px;
	}
}

@media screen and (max-width: 480px) {
	.project-meta .detail {
		display: block;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
	}
}

/* SINGLE NEWS */
.single-post article .entry {
	padding-bottom: 72px;
}

.single-post article .entry p {
	line-height: 1.625;
	margin-bottom: 14px;
}

.single-post article header {
	margin-bottom: 16px;
}

.single-post article header h1 {
	font-size: 28px;
	line-height: 1.2;
	font-weight: 300;
	padding-top: 6px;
}

.single-post article .featured-image {
	margin-bottom:32px;
}

.single-post article .featured-image img {
	width: 100%;
}

aside.related article {
	margin-bottom: 24px;
}

aside.related article .category {
	padding-top: 12px;
}

aside.related article h3 {
	font-size: 16px;
}


/* CONTACT */
#map {
	height: 480px;
	width: 100%;
	margin-bottom: 32px;
}

#map .map-label {
	font-size: 13px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	font-weight: 600;
	line-height: 13px;
	text-align: center;
}

#contact .offices {
  margin-top: 12px;
	-webkit-column-count:2;
	   -moz-column-count:2;
	        column-count:2;
}

#contact .offices .office {
	-webkit-column-break-inside: avoid;
	-moz-column-break-inside: avoid;
	column-break-inside: avoid;
	margin-bottom: 32px;
}

#contact .offices .office h4 {
	padding-bottom: 12px;
	font-size: 14px;
}

#contact .offices .office address {
	display: block;
	color:#999;
	font-size: 14px;
	line-height: 1.6;
	font-weight: 400;
	margin-bottom: 12px;
}

#contact .offices .office tel {
	font-weight: 600;
	color:#555;
	font-size: 14px;
	display: block;
	margin-bottom: 8px;
}

/* NEWS */
#news article {
	margin-bottom: 24px;
}

#news article .content {
	padding-top: 4px;
}

#news article h2 {
	font-size: 18px;
	padding-bottom: 14px;
	font-weight: 600;
}

#news article .excerpt p {
	color:#888;
	line-height: 1.5;
	font-size: 14px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	overflow: hidden;
	-webkit-box-orient: vertical;
}

@media screen and (max-width:767px) {
	#news {
		padding-left: 0;
		padding-right: 0;
		padding-top: 40px;
	}

	#news article {
		margin-bottom: 0;
		padding: 16px 20px;
		border-bottom: 1px solid #eee;
	}

	#news article figure {
		float:left;
		width: 110px !important;
		margin-right: 12px;
	}

	#news article .content {
		width: calc(100% - 134px) !important;
		float: left;
		padding-top: 0;
	}


	#news article .category {
		line-height: 1;
		font-size: 10px;
	}

	#news article h2 {
		font-size: 13px;
		padding-bottom: 2px;
	}

	#news article .excerpt p {
		font-size: 12px;
		line-height: 1.3;
		-webkit-line-clamp: 2;
		margin-bottom: 0;
	}

	.row aside.related {
		display: none;
		width: 100% !important;
		float:none !important;
	}
	.row aside.related article {
		float:left;
		width: 50%;
		margin-bottom:24px;
	}

	.row aside.related article h3 {
		font-size: 13px;
	}

	.row.bleed {
		padding-left: 0;
		padding-right: 0;
	}

	.single-post .mobile-header {
		display: none;
	}

	.single-post .secondary {
		top:20px;
		position: relative;
	}
}

/* FOOTER */
#basement {
	margin-top: 72px;
	margin-bottom: 48px;
}

#basement > .row {
	padding-top: 16px;
	border-top:1px solid #eee;
}

#google_translate_element {
	position: absolute;
	bottom: 4px;
	right:24px;
}

.footer-menu li {
	float: left;
}

.footer-menu li a {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	margin-right: 44px;
	font-weight: 700;
}

.footer-menu li a:after {
	content:'/';
	color: #bbb;
	left:20px;
	position: relative;
}

.footer-menu li:last-child a {
	margin-right: 0;
}

.footer-menu li:last-child a:after {
	display: none;
}

#basement .copy {
	font-size: 12px;
	margin-bottom: 0;
	color:#aaa;
	text-align: right;
}

#basement .mobile-footer-logo {
	display: none;
}

@media screen and (max-width: 767px) {
	#basement {
		margin-bottom: 0;
		padding: 16px 0;
		background:#333;
	}

	#basement > .row  {
		padding-top:0;
		border-top: 0;
	}

	#sm-bar {
		display: none;
	}

	#basement .mobile-footer-logo {
		display: block;
		float:left;
		opacity: 0.6;
		width: 60px;
		margin-right: 32px;
	}

	.footer-menu {
		-moz-column-count: 2;
	     column-count: 2;
	-webkit-column-count: 2;
	}

	.footer-menu li {
		float: none;
	}

	.footer-menu li a {
		font-size: 14px;
		color:white;
		line-height: 2;
		letter-spacing: 0;
		margin-right: 0;
		text-transform: none;
	}

	.footer-menu li a:after {
		display: none;
	}

	#basement .copy {
		text-align: center;
		border-top: #555 solid 1px;
    padding-top: 4px;
    margin-top: 16px;
	}
}

/* FORM */
input,
select,
textarea {
    outline: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    border: 1px solid #d3d3d3;
    padding: 15px 15px 13px;
    margin: 0;
    width: 100%;
    font-style: normal;
    font-weight: 600;
    font-size: 1em;
    line-height: 1.3em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .004);
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear
}

input.wpcf7-not-valid,
label.wpcf7-not-valid,
textarea.wpcf7-not-valid {
    border-color: #fc344d
}
select {
    height: 30px;
    padding: 5px 10px
}
select[multiple] {
    height: auto
}
input[type=checkbox] {
    vertical-align: bottom
}
input[type=radio] {
    vertical-align: text-bottom
}
label {
    font-weight: 400
}
input:focus,
textarea:focus {
    outline: 0;
    border-color: #fc344d;
    color: #fc344d
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    -webkit-transition: color 200ms linear;
    transition: color 200ms linear
}
input::-moz-placeholder,
textarea::-moz-placeholder {
    transition: color 200ms linear
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    transition: color 200ms linear
}
input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
    color: rgba(119, 119, 119, .6)
}
input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
    color: rgba(119, 119, 119, .6)
}
input:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
    color: rgba(119, 119, 119, .6)
}
.wpcf7-form label {
    display: block;
}
span.wpcf7-not-valid-tip {
	display: none;
}
.wpcf7-form input {
	margin-bottom: 24px;
}
.hide {
	display: none;
	visibility: hidden;
}


#translation {
	float: right;
}

#translation span {
	font-size: 13px;
	line-height: 32px;
}

#translation a {
	color:#999;
	font-weight: 300;
	margin-left: 6px;
	line-height: 32px;
	font-size: 13px;
	font-weight: 600;
}

#translation a.active, #translation a:hover {
	color:white;
}