
/*--------------------------------
    Fonts
----------------------------------*/

@import url("//hello.myfonts.net/count/2f930c");
@font-face {font-family: 'AvantGardeGothicITCW01Bd';src: url('../fonts/2F930C_0_0.eot');src: url('../fonts/2F930C_0_0.eot?#iefix') format('embedded-opentype'),url('../fonts/2F930C_0_0.woff2') format('woff2'),url('../fonts/2F930C_0_0.woff') format('woff'),url('../fonts/2F930C_0_0.ttf') format('truetype');}
@font-face {font-family: 'AvantGardeGothicITCW01Bk';src: url('../fonts/2F930C_1_0.eot');src: url('../fonts/2F930C_1_0.eot?#iefix') format('embedded-opentype'),url('../fonts/2F930C_1_0.woff2') format('woff2'),url('../fonts/2F930C_1_0.woff') format('woff'),url('../fonts/2F930C_1_0.ttf') format('truetype');}
@font-face {font-family: 'AvantGardeGothicITCW02Dm';src: url('../fonts/2F930C_2_0.eot');src: url('../fonts/2F930C_2_0.eot?#iefix') format('embedded-opentype'),url('../fonts/2F930C_2_0.woff2') format('woff2'),url('../fonts/2F930C_2_0.woff') format('woff'),url('../fonts/2F930C_2_0.ttf') format('truetype');} 
@font-face {font-family: 'AvantGardeGothicITCW02Md';src: url('../fonts/2F930C_3_0.eot');src: url('../fonts/2F930C_3_0.eot?#iefix') format('embedded-opentype'),url('../fonts/2F930C_3_0.woff2') format('woff2'),url('../fonts/2F930C_3_0.woff') format('woff'),url('../fonts/2F930C_3_0.ttf') format('truetype');}
 

/*--------------------------------
    Basics
----------------------------------*/

body {
	font-family: 'AvantGardeGothicITCW01Bk', sans-serif;
}

h1,h2,h3,h4,h5,h6 { font-family: 'AvantGardeGothicITCW01Bd', sans-serif; line-height: 1.2em; }

h1 { font-size: 36px; margin:0 0 10px; }

p { font-size: 13px; line-height: 1.4em; margin:0 0 20px 0; }
.main-content li { font-size: 13px; line-height: 1.4em; }

.large-text,
.large-text p { font-size: 21px; }

b, strong { font-weight: normal; font-family: 'AvantGardeGothicITCW01Bd', sans-serif; }

.wrapper { overflow: hidden; }

.button {
	font-family: 'AvantGardeGothicITCW01Bd', sans-serif;
	padding:10px 20px 8px;
	font-size: 15px;
	color: #333;
}

.button:hover { color: #333; }


.row { padding-left:3em; padding-right: 3em; }
.row.collapse,
.row .row { padding-left:0; padding-right: 0; }

@media only screen and (max-width: 64em) {
	.row { padding-left:2em; padding-right: 2em; }
	.row.collapse,
	.row .row { padding-left:0; padding-right: 0; }
}

@media only screen and (max-width: 40em) {
	.row { padding-left:0; padding-right: 0; }
	.row.collapse,
	.row .row { padding-left:0; padding-right: 0; }
}

/*--------------------------------
    Header
----------------------------------*/

body { padding-top: 75px; }
body.home { padding-top: 0; }

.header {
	position: fixed;
	top:0;
	left:0;
	right:0;
	background-color: #333;
	color: #333;
	height: 75px;
	border-top: 4px solid #00a8ff;
	border-bottom: 1px solid #fff;
	z-index: 99;

	-webkit-transition: all 400ms ease-in-out;
	-moz-transition: all 400ms ease-in-out;
	-o-transition: all 400ms ease-in-out;
	-ms-transition: all 400ms ease-in-out;
	transition: all 400ms ease-in-out;
}

.home .header { background-color: transparent; border-bottom: none; }
.home .header:hover { background-color: #333; }

.header img.logo {
	float: left;
	margin:23px 0 0;
	display: block;
	width: 100%;
	height: auto;
	max-width: 222px;
	-webkit-transition: all 300ms ease-in-out;
	-moz-transition: all 300ms ease-in-out;
	-o-transition: all 300ms ease-in-out;
	-ms-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out;
}

.header nav { font-family: 'AvantGardeGothicITCW02Md', sans-serif; margin:35px 0 0; }
.header nav ul { margin:0; }
.header nav ul li { margin:0 40px 10px 0; font-size: 15px; }
.header nav ul li:last-child { margin-right: 0; float: right; }
.header nav ul li a { color: #fff; 
	-webkit-transition: all 300ms ease-in-out;
	-moz-transition: all 300ms ease-in-out;
	-o-transition: all 300ms ease-in-out;
	-ms-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out;
}
.header nav ul li a:hover { color: #00a8ff; }
.header nav ul li.current-menu-item a { color: #00a8ff; }


@media only screen and (max-width: 64em) {
	.header nav ul li { margin:0 30px 10px 0; }
}

@media only screen and (max-width: 40em) { 
	
}

/*--------------------------------
    Right Canvas
----------------------------------*/

a#toggle-menu {
	display: none;
	position: relative;
	float: right;	
	margin:10px 0 0;
	height: 50px;
	width: 40px;
	text-align: left;
	text-indent: -9999px;
	background-image: url(../images/ico-menu.png);
	background-position: center center;
	background-repeat: no-repeat;
	opacity: 0.9;
	-webkit-transition: all 400ms ease-in-out;
	-moz-transition: all 400ms ease-in-out;
	-o-transition: all 400ms ease-in-out;
	-ms-transition: all 400ms ease-in-out;
	transition: all 400ms ease-in-out;
}

a#toggle-menu:hover { opacity: 1; }

#right-canvas {	
	overflow: auto;
	display: none;
	opacity: 0;
	z-index: 203;
	text-align: left;
	background: #000;
	background-color: rgba(0,0,0,0.88);
	color: #fff;
	position: fixed;
	top:0;
	right:0;
	bottom:0;

	width: 100%;
	padding:60px 0 20px;
	margin: 0;
}

a#close-menu {
	display: block;
	position: absolute;
	top:0;
	right:0;
	height: 50px;
	width: 50px;
	text-align: left;
	text-indent: -9999px;
	background: url(../images/ico-close.png) center center no-repeat;
	z-index: 5;
}

a#close-canvas {
	position: fixed;
	z-index: 201;
	top:0;
	left:0;
	right: 0;
	bottom:0;
	background: #fff;
	background: rgba(255,255,255,0.3);
	display: none;
	text-align: left;
	text-indent: -9999px;
}

#right-canvas ul { margin:0; padding:0; list-style: none; text-align: center; }
#right-canvas ul li { margin:0; font-size: 22px; }
#right-canvas nav > ul > li { border-bottom: 1px solid #666; padding:10px 0; }

#right-canvas nav > ul > li:last-child { border-bottom: none; }
#right-canvas ul li a { display: block; color: #fff; font-family: 'AvantGardeGothicITCW01Bk'; line-height: 40px; letter-spacing: 1px; }
#right-canvas ul ul li a { font-family: 'AvantGardeGothicITCW01Bk'; font-size: 15px; }
#right-canvas ul ul { margin:0; }

@media only screen and (min-width: 64.063em) {
	#right-canvas { display: none !important; }
}

@media only screen and (max-width: 64em) {
	.header a#toggle-menu { display: block; }
	.header nav { display: none !important; }
}

/*--------------------------------
    Footer
----------------------------------*/

.footer {
	background-color: #333333;
	color: #fff;
	padding:35px 0 90px;
	position: relative;
}

.footer a:active, .footer a:focus { outline: none; }
.footer ul { margin:0 0 0 20px; }
.footer ul li { margin:0; padding:0 20px 10px; border-left:1px solid #666; min-height: 150px; }
.footer ul li.address-box { width: 270px; }
.footer ul li h4 { font-size: 15px; margin:5px 0 10px; letter-spacing: 1px; }
.footer ul li p { font-size: 13px; margin:0 0 10px; }
.footer ul li.instagram-url { padding-right: 5px; }
.footer ul li.linkedin-url { padding-left: 5px; }
.footer ul li.instagram-url, .footer ul li.linkedin-url { position: relative; }
.footer ul li.linkedin-url { border-left: none; }
.footer ul li.linkedin-url a,
.footer ul li.instagram-url a {
	display: block;
	margin:10px 0;
	height: 19px;
	width: 19px;
	background: url(../images/ico-instagram.png) 0 0 no-repeat;
	text-align: left;
	text-indent: -9999px;
}
.footer ul li.linkedin-url a {
	background: url(../images/ico-linkedin.png) 0 0 no-repeat;
	height: 21px;
	width: 21px;
}
.footer a.back-to-top { 
	display: block;
	position: absolute;
	top:0;
	right:0;
	height: 57px;
	width: 55px;
	background: url(../images/ico-up.gif) 0 0 no-repeat;
	text-align: left;
	text-indent: -9999px;
}

@media only screen and (max-width: 64em) {
	.footer ul li:nth-child(odd) { clear: both; }
	.footer ul li.instagram-url,
	.footer ul li.linkedin-url { clear: none; }	
}

@media only screen and (max-width: 40em) {
	.footer ul li { clear: both; }
	.footer ul { margin-left: 0; }
	.footer ul li { padding-left: 0; border-left: none; }
	.footer ul li.instagram-url,
	.footer ul li.linkedin-url { clear: none; }
}

/*--------------------------------
    Page Defaults
----------------------------------*/

.main-content { min-height: 550px; position: inherit; padding:0 0 80px; }
.canvas {
	margin:0 0 40px;
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-position: center center; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.large-text { margin:0 0 30px; max-width: 1010px; }
.entry-wrapper { max-width: 1010px; }

.content-grid { margin-top: 30px; }
.content-grid ul li { min-height: 160px; }
.content-grid ul li li { min-height: 10px; list-style-type: disc; }
.content-grid h4 { font-size: 15px; margin:0; padding:20px 0 10px; border-top: 1px solid #ccc; }
.content-grid h4 span { display: block; font-family: 'AvantGardeGothicITCW01Bk'; }
.content-grid.content-grid-with-images h4 { border-top: none; padding:15px 0 10px; }
.content-grid p { font-size: 12px; margin:0 0 20px; }
.content-grid.content-grid-with-images p { margin:0 0 40px; }

@media only screen and (max-width: 64em) {	
	.canvas { background-attachment: scroll; }
}

/*--------------------------------
    Home
----------------------------------*/

#home-slider { width: 100%; }
#home-slider .rsABlock { top: auto; left:0; bottom:50px; right:0; }
#home-slider .rsABlock .row { height: 0; }
#home-slider .rsABlock h2 { font-size: 40px; color: #fff; margin:0 0 10px; line-height: 1.1em; max-width: 420px; }
#home-slider .rsABlock p { margin:0; }
#home-slider .rsABlock a.button-outline:hover { color: #fff; background-color: #00a8ff; border-color: #00a8ff; position: relative; z-index: 2; }

#home-slider .rsSlide { border-bottom: 1px solid #fff; border-bottom: 1px solid rgba(255,255,255,0.5); cursor:url(../images/cursor.png) 8 8, move;  }
#home-slider .rsSlide img.rsImg { 
	opacity: 0.5; 
	
	-webkit-transition: all 400ms ease-in-out;
	-moz-transition: all 400ms ease-in-out;
	-o-transition: all 400ms ease-in-out;
	-ms-transition: all 400ms ease-in-out;
	transition: all 400ms ease-in-out;
}
#home-slider.button-hover .rsSlide.rsActiveSlide img.rsImg { opacity: 1; }

a.button-outline {
	margin:0;
	font-size: 12px;
	color: #fff;
	text-transform: uppercase;
	padding:9px 20px;
	border:1px solid #fff;
	background-color: transparent;
	cursor: pointer;
}

a.button-outline:hover { background-color: transparent; color: #fff; }

/*--------------------------------
    Projects
----------------------------------*/

.main-content.project-archive { padding: 0; position: relative; }

.project-terms { position: absolute; z-index: 3; top:10px; right:0; left:0; -webkit-font-smoothing: antialiased; }
.project-terms .terms { float: right; width: 270px; color: #fff; padding:0; margin:0 0 0 10px; }
.project-terms .terms .selected-label { font-size: 12px; letter-spacing: 1px; color: #fff; background-color: #00a8ff; padding:5px 15px; cursor: pointer; text-transform: uppercase; margin:0 0 6px; position: relative; }
.project-terms .terms .selected-label:after {
	display: block;
	content: "";
	background: url(../images/ico-arrow.png) center center no-repeat;
	height: 6px;
	width: 12px;
	position: absolute;
	right:13px;
	top:12px;

	-webkit-transition: all 300ms ease-in-out;
	-moz-transition: all 300ms ease-in-out;
	-o-transition: all 300ms ease-in-out;
	-ms-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out;

	-ms-transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}
.project-terms .terms:hover .selected-label:after {
	-ms-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);	
}
.project-terms .terms ul { margin:0; padding:0; list-style: none; background-color: #00a8ff; overflow: hidden; max-height: 0; 
	-webkit-transition: all 300ms ease-in-out;
	-moz-transition: all 300ms ease-in-out;
	-o-transition: all 300ms ease-in-out;
	-ms-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out;
}
.project-terms .terms:hover ul { max-height: 900px; }
.project-terms .terms ul li { margin:0; padding:0; font-size: 12px; letter-spacing: 1px; }
.project-terms .terms ul li:first-child { padding-top: 10px; }
.project-terms .terms ul li:last-child { padding-bottom: 10px; }
.project-terms .terms ul li a { color: #fff; text-decoration: none; display: block; padding:5px 15px; }
.project-terms .terms ul li a:hover { color: #fff; text-decoration: underline;}

ul.project-grid { margin:0; border-bottom: 1px solid #fff; }
ul.project-grid li { margin:0; padding:0; }
ul.project-grid li a { display: block; position: relative; color: #fff; }
ul.project-grid li a img { display: block; width: 100%; height: auto;
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
    filter: gray; /* IE6-9 */
    -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
    -webkit-backface-visibility: hidden; /* Fix for transition flickering */

		-webkit-transition: all 400ms ease-in-out;
		-moz-transition: all 400ms ease-in-out;
		-o-transition: all 400ms ease-in-out;
		-ms-transition: all 400ms ease-in-out;
		transition: all 400ms ease-in-out;
}
ul.project-grid li a:hover img {
    filter: none;
    -webkit-filter: grayscale(0%);
}
ul.project-grid li .project-meta { position: absolute; bottom:7px; left:7px; right:7px; opacity: 0;
		-webkit-transition: all 300ms ease-in-out;
		-moz-transition: all 300ms ease-in-out;
		-o-transition: all 300ms ease-in-out;
		-ms-transition: all 300ms ease-in-out;
		transition: all 300ms ease-in-out;
}
ul.project-grid li a:hover .project-meta { opacity: 1; }
ul.project-grid li .project-meta span { display: block; padding:5px 10px; text-transform: uppercase; color: #fff; font-size: 12px; background-color: #000; margin:0 0 2px; }

/*--------------------------------
    Project Detail
----------------------------------*/

#project-slider { width: 100%; border-bottom: 1px solid #fff; }
#project-slider .rsSlide img.rsImg { 
	opacity: 0.3 !important; 
	-webkit-transition: all 400ms ease-in-out;
	-moz-transition: all 400ms ease-in-out;
	-o-transition: all 400ms ease-in-out;
	-ms-transition: all 400ms ease-in-out;
	transition: all 400ms ease-in-out;
}
#project-slider .rsSlide.rsActiveSlide img.rsImg { opacity: 1 !important; }

#project-slider.rsDefault .rsBullets { right: 0; left:0; top:auto; bottom:16px; text-align: center; }
#project-slider.rsDefault .rsBullet { display: inline-block; *display: inline; zoom:1; margin:0 4px; }
#project-slider.rsDefault .rsBullet.rsNavSelected span { border-color: #00a8ff; background-color: #00a8ff; }

img.mobile-image { display: block; width: 100%; height: auto; border-bottom: 1px solid #fff; }

.project-content { position: relative; overflow: hidden; }
.project-content article { position: absolute; left: 0; right:0; bottom:16px; }
.project-content article .project-label { background-color: #00a8ff; cursor: pointer; width: 360px; color: #fff; line-height: 1.2em; padding:10px 45px 10px 15px; font-size:17px; position: absolute; left:20px; bottom:0; z-index: 36; }
.project-content article .project-label span { display: block; position: absolute; top:14px; right: 15px; width: 17px; height: 11px; background: url(../images/ico-open.png) 0 0 no-repeat; 
	-ms-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);	
}
.project-content article .entry { 
	display: block; 
	position: absolute;
	left:20px;
	bottom:-500px;
	opacity: 0;
	z-index: 37; 
	width: 360px; 
	height: 380px;
	padding:20px 40px 20px 20px;
	overflow: auto;
	background-color: #000;
	color: #fff;	
}
.project-content article .entry h1 { color: #fff; margin:0; font-size: 16px; }
.project-content article .entry h2 { color: #fff; font-size: 14px; font-family: 'AvantGardeGothicITCW01Bk'; margin:0; }
.project-content article .entry .project-content { padding:20px 0 0; }
.project-content a#close-project { position: absolute; top:20px; right:20px; text-align: left; text-indent: -9999px; display: block; width: 19px; height: 19px; background: url(../images/ico-close.png) 0 0 no-repeat; opacity: 0.6;
	-webkit-transition: all 200ms ease-in-out;
	-moz-transition: all 200ms ease-in-out;
	-o-transition: all 200ms ease-in-out;
	-ms-transition: all 200ms ease-in-out;
	transition: all 200ms ease-in-out;
}
.project-content a#close-project:hover { opacity: 1; }

@media only screen and (max-width: 40em) {
	.project-content { background-color: #000; }
	.project-content article { position: relative; left: auto; right:auto; bottom:auto; }
	.project-content article .entry { width: auto; height: auto; padding:20px 0; position: relative; bottom: auto; left: auto; opacity: 1; }
	.project-content article .project-label { display: none; }
	.project-content a#close-project { display: none; }
}

/*--------------------------------
    Contact
----------------------------------*/

.page-template-tpl-contact .main-content article { padding: 0; }

.contact-section { padding: 50px 0 10px; }
.contact-section h2 { font-size: 36px; font-family: 'AvantGardeGothicITCW02Dm', sans-serif; margin:0 0 20px; }

.contact-section a { color: #333; font-family: 'AvantGardeGothicITCW02Md', sans-serif; text-decoration: underline; }
.contact-section a:hover { text-decoration: none; }

.contact-section a.button {
	font-size: 12px;
	color: #fff;
	text-decoration: none;
	font-family: 'AvantGardeGothicITCW02Md', sans-serif;
	float: right;
	margin:0 0 20px;
}

.contact-section a.button:hover {
	text-decoration: none;
}

.contact-locations {}
.contact-locations img { margin:0 0 30px;}
.contact-locations h5 { margin:0 0 20px; padding:0 0 20px; border-bottom: 1px solid #ccc; color: #999; font-size:25px; font-family: 'AvantGardeGothicITCW02Dm', sans-serif; }
.contact-locations p { font-style: 15px; margin:0 0 10px; }

.contact-careers .large-text, 
.contact-careers .large-text p { font-size:21px; }

.acf-map { width: 100%; height: 540px; margin:0 0 40px; }
.acf-map .inner { padding:10px;}
.acf-map .inner h5 { font-size: 14px; margin:0 0 5px; }
.acf-map .inner h5 span { display: block; font-family: 'AvantGardeGothicITCW01Bk'; }
.acf-map .inner p { font-size: 12px; margin:0 0 5px; }
.acf-map .inner p b { color: #00a8ff; }
.acf-map .inner a.button { font-size: 13px; margin:5px 0 0; color: #fff; font-family: 'AvantGardeGothicITCW01Bk'; }

.contact-profile .entry { border-top: 1px solid #ccc; padding-top: 25px; }
.contact-profile .entry p strong { color: #999; font-size: 13px; }


.gform_wrapper h3.gform_title {font-weight: normal !important; margin:0 0 20px !important; font-size: 15px !important; }
#gform_wrapper_1.gform_wrapper { margin:0; max-width: 335px; width: 100%; }

body #gform_wrapper_1.gform_wrapper label.gfield_label + div.ginput_container { margin-top: 0px; }
#gform_wrapper_1.gform_wrapper input[type="text"],
#gform_wrapper_1.gform_wrapper input[type="email"],
#gform_wrapper_1.gform_wrapper select {
	width: 100%;
	border: none;
	background-color: #eaeaea;
	margin:0 0 4px 0 !important;
	padding:10px;
	height: auto;
	box-shadow: none;
	color: #666;
	font-size: 12px;
}

#gform_wrapper_1.gform_wrapper ::-webkit-input-placeholder { color: #666; opacity: 1; }
#gform_wrapper_1.gform_wrapper :-moz-placeholder { color: #666; opacity: 1; }
#gform_wrapper_1.gform_wrapper ::-moz-placeholder { color: #666; opacity: 1; }
#gform_wrapper_1.gform_wrapper :-ms-input-placeholder { color: #666; opacity: 1; }

#gform_wrapper_1.gform_wrapper .gform_footer { margin:0; padding:5px 0; }
#gform_wrapper_1.gform_wrapper .gform_footer input.button { font-size: 12px; font-family: 'AvantGardeGothicITCW01Bk'; font-weight: normal; color: #fff; }

#gform_wrapper_1.gform_wrapper div.validation_error { font-weight: normal; font-family: 'AvantGardeGothicITCW01Bd'; font-size: 13px; line-height: 1.1em; }
#gform_wrapper_1.gform_wrapper .top_label .gfield_label { font-weight: normal; font-size: 13px; }
#gform_wrapper_1.gform_wrapper .validation_message { font-size:12px; font-weight: normal; }

#gform_confirmation_message_1 {
	text-align: center;
	padding:10px;
	font-size: 13px;
	font-family: 'AvantGardeGothicITCW01Bd';
	color: #00a8ff;
}

@media only screen and (max-width: 64em) {
	.acf-map { height: 440px; }

	.contact-profile .medium-12 .entry { border-top: none; padding-top: 0; }
}

@media only screen and (max-width: 40em) {
	.acf-map { height: 340px; }
}