/*
Theme Name: Pure Worplace Landing Pages

Theme URI: http://newtheme.com
Description: A description about the theme
Author: Vaughn Tech Inc
Version: 1.0-lf
Tags: responsive, black, white, columns, custom menu, etc.

$char=#303030;
$lt_char=#8c8a8b' // primarily in footer txt
$very_lt_char=#c7c7c7


$orange=#f0682e;
$lt_orange_back=#f7eddd;
$dk_orange=#cd470e;

$blue=#0097c1;

$hover_blue=#2EB6F0;

$gray_back=#b3b3b3;
$lt_gray_back=#f1f1f1;


*/

.imgscale {
	max-width:100%;
	height:auto;
	
}

html,body {
	height: 100%;
	width: 100%;
}

body {
	margin:0;
	padding:0;
	font:400 16px 'Raleway', sans-serif;
	color:#303030;
}

.gen_content {

}

.gen_width_wide {
	max-width:1920px;
	margin-left:auto;
	margin-right:auto;
}

.gen_width {
	max-width:1750px;
	margin-left:auto;
	margin-right:auto;
}

.gen_width_small {
	max-width:1100px;
	margin-left:auto;
	margin-right:auto;
}

.gen_pad {
	padding-left:20px;
	padding-right:20px;
}

.gen_marg {
	margin-top:130px;
}

.gen_marg_med {
	margin-top:100px;
}

.gen_marg_small {
	margin-top:60px;
}

.centered {
	margin-left:auto;
	margin-right:auto;
}

.bar_pad {
	padding-top:100px;
	padding-bottom:100px;
}

.gray_back {
	background-color:#b3b3b3;

}

.lt_gray_back {
	background-color:#f1f1f1;
}

.gen_button,
.contact_inline input[type=submit],
#faq_toggle {
	display:inline-block;
	background-color: #f0682e;
	color:white;
	
	font-size:1.375rem !important;
	font-family: 'Montserrat', sans-serif;
	padding:15px 30px !important;
	border-radius: 300px;
	text-decoration: none;

	line-height:normal !important;

	cursor:pointer;
	border:none;
	outline:none;

	width:auto;
	max-width:250px;

	min-width:0 !important;
	font-weight:500 !important;

	letter-spacing:.015em;
}

#faq_toggle {
	padding:5px 20px !important;
	font-size:1rem !important;
}

.gen_button:hover,
.contact_inline input[type=submit]:hover,
#faq_toggle:hover  {
	opacity: .75;
}

* {
	box-sizing: border-box;
}

nav {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	background-color:rgba(255,255,255,.88);
	z-index:10;

	-webkit-box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.05); 
	box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.05);
}

.nav_inner {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
	/*padding:30px 20px;*/
	padding:0 20px;

	color:#303030;
	font-size:1.125em;
	font-weight:600;
	text-transform: uppercase;

	transition: padding .25s, font-size .25s;
}

.nav_inner>div {
	
}

#burger {
	display:none;
	cursor:pointer;
}

#burger span {
	display:block;
	background-color:#f0682e;
	padding:2px 0;
	width:100%;
	border-radius:100px;
	margin:4px 0;
}

.nav_inner img {
	width:100%;
	height:auto;
	/* orig 170px */
	max-width:200px;
	transition: max-width .25s, opacity .25s;
	padding:5px 0;

	min-width:100px;
}

.nav_inner img:hover {
	opacity:.65 !important;
}


.nav_inner.compressed {
	padding:10px 20px;
	font-size:.85em;
}

.nav_inner.compressed img{
	max-width:100px;
}


.nav_side {
	/*text-align:right;*/
}

.nav_side>ul {
	list-style:none;
	margin:0;
	padding:0;

	display:flex;
	justify-content:flex-end;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
	
}

.nav_side>ul a {
	text-decoration: none;
	color:#303030;
	transition: color 1s;

}

.nav_side>ul a:hover {
	transition: color .1s;
	color:#f0682e;
}


.nav_side>ul>li {
	display:inline-block;
	margin-left:0;
	position:relative;
}

.sub-menu {
	display:none;

	position:absolute;

	top: calc(100%); 
	left: 0;

	background-color:rgba(255,255,255,.88);
	/*background-color: white;*/
	text-align:center;
	padding:0 20px 20px 15px;
	margin:0;
	list-style:disc;
	text-align:left;

	xwidth:200%;

	white-space: nowrap;
}

.nav_side>ul>li>a {
	display:block;
	padding:50px 1em 50px 1em;
	transition:padding .25s;
}

@media all and (min-width:770px) {
	.menu-item-has-children:hover .sub-menu,
	.sub-menu:hover {
		/*display:block;*/
	}
}

.sub-menu li {
	display:block;
	padding:10px 0;
}

.sub-menu li a {
	xopacity:.3;

}

.sub-menu li:nth-child(4) a {
	xopacity:1;
}

.nav_inner.compressed .nav_side>ul>li>a{
	padding:8px 1em 8px 1em;
}

.nav_inner.compressed {
	padding:0 20px;
}

.nav_inner.compressed .sub-menu {
	top:100%;
}


.nav_inner img:hover {
	opacity:.75;
}



header {
	max-width:1920px;
	margin-left:auto;
	margin-right:auto;
}

.header_inner {
	max-width:1920px;
	padding-bottom:49%;
	background-size:cover;
	background-repeat: no-repeat;
	xbackground-position:center 85.71%;
	
}

.header_inner.sub_hero {
	padding-bottom:50%;

}

.hp_intro_inner {
	text-align:center;
	color:#303030;
}

.hp_intro_inner h1 {
	font-size:2.25em;
	letter-spacing:.025em;
	font-weight:400;
	margin:0;
}
.hp_intro_inner h1 span {
	white-space:nowrap;
}

.hp_intro_inner h1 span:nth-child(even) {
	/*padding:0 .15em;*/
}

.hp_intro_inner ul {
	
}

.hp_intro_inner ul li {
	display:inline-block;
}


.intro_blocks {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;

	margin-top:110px;
}

.intro_blocks figure {
	flex:0 0 15%;
	padding:0;
	margin:0 .75%;
	padding:0;
	position:relative;
	cursor:pointer;
}

.intro_blocks figcaption {
	text-align:left;
	font-size:1.5em;
	font-weight:400;
	color:#303030;
	margin:0 0 1em 0;
	padding:0;
}

.intro_blocks a {
	text-decoration:none;
}

.intro_blocks img {
	width:100%;
	height:auto;
	max-width:280px;
}

.intro_blocks figure div {
	background-color:#f0682e;
	color:white;
	font-size:3em;
	font-weight:400;
	position:absolute;
	bottom:10px;
	right:10px;
	border-radius:100px;

	line-height:.55em;
	width:.55em;

	transition: background-color .75s;
}

.intro_blocks figure:hover div {
	transition: background-color 0s;
	background-color:#2EB6F0 !important;
}

.hp_about {
	max-width:1000px;
	text-align:center;
	margin-left:auto;
	margin-right:auto;
}

.hp_about p {
	font-size:1.75em;
	color:#303030;
	letter-spacing:.05em;
	line-height:1.5em;
}

.hp_grid {
	max-width:1920px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row wrap;
}


.hp_grid div {
	position:relative;
	flex:0 0 25%;
	border:5px solid white;
	overflow:hidden;
	padding-bottom:15%;
}

.hp_grid a {
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	
	background-position: center center;
	background-size:cover;
	background-repeat: no-repeat;
	overflow:hidden;

	-webkit-box-shadow: 0px 0px 10px 5px rgba(0,0,0,0); 
	box-shadow: 0px 0px 10px 5px rgba(0,0,0,0);

	transition: transform 1s, box-shadow .25s, background-size 1.25s;
}

.hp_grid a:hover {
	transition: transform .25s, box-shadow .25s, background-size .25s;
	transform: scale(1.05);
}

.hp_logo_cloud {
	text-align:center;
}

.hp_logo_cloud img {
	width:100%;
	height:auto;
	max-width:1100px;
}


.contact_inline {
	padding:80px 20px;
}

.contact_inline_inner {
	max-width:600px;
	margin:0 auto;
	text-align:center;
}

.contact_inline_inner h2 {
	font-size:3em;
	margin:0;
	color:#303030;
}

.contact_inline_inner h3 {
	font-size:1.75em;
	margin:.5em 0 0 0;
	color:#303030;
}

.split_fields {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
	
}

.split_fields div:nth-child(1) {
	margin-right:20px;
}


.split_fields div:nth-child(2) {
	margin-left:20px;
}

.split_fields div,
.single_field {
	padding-top:2.5em;
	position:relative;
	/*outline:1px solid red;*/
}

.contact_inline input[type=text],
.contact_inline input[type=email] {
	display:block;
	width:100%;
	font:1em Arial,sans-serif;
	outline:none;
	border:1px solid #303030;
	padding:10px 5px 10px 15px;
	border-radius: 100px;
	margin-top:2.5em;
}

.contact_inline textarea {
	display:block;
	width:100%;
	font:1em Arial,sans-serif;
	outline:none;
	border:1px solid #303030;
	padding:10px 5px 10px 15px;
	border-radius: 20px;
	margin-top:2.5em;
	height:2.5em;

	transition: height .25s;

	resize: none;
}

.contact_inline textarea:focus {
	height:8em;
}

.contact_inline .gen_button {
	display:inline-block;
	margin-top:2.5em;
}

.contact_overlay {
	position: fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:999;
	background-color:rgba(0,0,0,.75);
	padding:20px;
	display:none;
}

.contact_modal {
	position:absolute;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%); 

	padding:0 0 20px 0;
	background-color:white;
	text-align:center;
	border-radius:5px;
	max-width:800px;
}

.modal_header {
	background-color: #f0682e;
	margin:0;
	color:white;
	font-size:1.5em;
	font-weight:600;
	width:100%;
	padding:10px 20px;
	border-radius:5px;
}

.modal_content {
	font-size:1.25em;
	padding:20px 0;
	margin:0;
}


.inline-blog {
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.inline-blog h3 {
	font-size:1.563em;
	font-weight:600;
	margin:20px 0 0 0;
}

.inline-blog p {
	font-size:1.125em;
	font-weight:400;
	margin:20px 0 0 0;
}

.inline-blog>div {
	flex:0 0 33.33%;
	padding:0 20px;
}

.inline-blog_img {
	padding-bottom:50%;
	background-size:cover;
	background-position: center center;
}

.inline_blog_readmore {
	display:block;
	text-align:right;
	font-weight:bold;
	color:#f0682e;
	margin-top:20px;
	text-decoration: none;
}

.inline_blog_readmore:hover {
	color:#2EB6F0;
}

footer {
	background-color:#f1f1f1;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row nowrap;
	margin-bottom:50px;

	width:100%;
	max-width:1920px;
	margin-left:auto;
	margin-right:auto;
}

footer div {
	
}

.footer_left {
	padding:80px 60px;
	border-right:30px solid white;
	flex:0 0 25%;

	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:column wrap;
}

.footer_left>div {
	
}

.footer_left>div:nth-child(2) {
	flex-grow:1;
	padding-top:20px;
}

.footer_left a {
	font-family: 'Montserat',sans-serif;
	font-size:1.125em;
	font-weight:600;
	color:#f0682e;
	text-decoration: none;
	text-transform: uppercase;
}

.footer_left a:hover {
	color:#2EB6F0;
}

.footer_left>div:nth-child(1) img {
	width:100%;
	height:auto;
	max-width:270px;
}


.footer_left>div:nth-child(3) img {
	width:100%;
	height:auto;
	max-width:250px;
}



.footer_right {
	padding:80px 60px 80px 5px;
	flex:1 1 75%;
	position:relative;
}

.foot_address_set {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
	margin:0 60px;
}

.foot_address_block {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;

	font:bold 1.125em 'Montserrat', sans-serif;
	color:#8c8a8b;
}

.foot_address_block a {
	color:#8c8a8b;
}

.foot_address_block a:hover {
	color:black;
}

.foot_address_block>div:nth-child(1) {
	flex:0 0 53px;
	padding-right:15px;
}

.foot_address_block>div:first-child img {
	width:100%;
	height:auto;
	max-width:38px;
}

.foot_address_block>div:first-child img:hover {
	opacity:.75;
}

.foot_quote {
	color:#8c8a8b;
	font:400 1.75em 'Raleway',sans-serif;
	font-style:italic;
	margin:85px 0;
	max-width:1000px;
}

.foot_socials {
	display:inline-flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
	padding-bottom:20px;
}

.foot_socials a {
	flex:0 0 15%;
	padding:5px;
	margin-left:1%;
	background-color:#8c8a8b;
	border-radius:100px;
	transition: background-color 1s;
	line-height:0;
	text-align:center;
}

.foot_socials a img {
	display:inline-block;
	width:100%;
	height:auto;
	max-width:50px;
}

.foot_socials a:hover {
	transition: background-color .15s !important;
}

.foot_socials a:nth-child(1):hover {
	/* insta */
	background-color:#7f38ae;

}

.foot_socials a:nth-child(2):hover {
	/* fb */
	background-color:#4267B2;
}

.foot_socials a:nth-child(3):hover {
	/* twit */
	background-color:#1c9ceb;
}

.foot_socials a:nth-child(4):hover {
	/* linked */
	background-color:#0073af;
}

.foot_socials a:nth-child(5):hover {
	/* tik */
	background-color:#f7034b;
}

.footer_copy {
	position:absolute;
	bottom:20px;
	right:20px;
	z-index:99999999;
	font-size:.75em;
}

.flex_quad_service {
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row wrap;

	max-width:1500px;
}

.flex_quad_service>div {
	flex:0 0 50%;
	padding:30px;
}

.flex_quad_service>div>div:first-child {
	text-align:center;
}

.flex_quad_service>div>div:first-child img {
	width:100%;
	height:auto;
	max-width:450px;
	opacity:.3;
}

.flex_quad_service h2 {
	font-size:2.125em;
	font-weight:400;
	text-align:center;
	line-height:1.25em;
}

.flex_quad_service {
	font:1 'Montserrat', sans-serif;
	line-height:1.5em;
}



h1.page_header  {

	margin-top:80px;

	padding-left:20px;
	padding-right:20px;
	color:#8c8a8b;
	text-align:left;

	font-size:2.5em;
	font-weight:400;
	text-align:center;
}

header+h1.page_header {
	margin-top:130px;
}

.double_header {
	text-align:center;
	padding:0 20px;
}

.double_header h1 {
	font-size:4.75em;
	font-weight:400;
	text-align:center;
	margin:.25em 0 0 0;
}

.double_header h2 {
	font-size:1.5em;
	font-weight:400;
	text-align:center;
	margin:0;
	letter-spacing:.125em;
}

/*  MARKETS #################### */

.market_list {
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row wrap;
}

.market_list>div {
	flex:0 0 48%;
	padding:20px;
	border-bottom:1px solid #DDD;
	margin:0 1% 0 0;
}

.market_list h2 {
	font-size:2em;
	font-weight:400;
	margin:0;
}

.market_list p {
	margin:1em 0 0 0;
	line-height:1.5em;
}
/*
.market_list p:nth-of-type(1) {
	margin:0;
}
*/

.market_brandlist h2 {
	font-size:2em;
	font-weight:400;
	margin:0;
	text-align:center;
}

.market_logo_cloud {
	text-align:center;
	max-width:1100px;
}

.market_logo_cloud img {
	width:100%;
	height:auto;
	vertical-align:middle;
	margin:10px;
}

.market_logo_cloud .long_logo {
	max-width:200px;
}

.market_logo_cloud .mid_long_logo {
	max-width:150px;
}

.market_logo_cloud .rect_logo {
	max-width:100px;
}

.market_logo_cloud .square_logo {
	max-width:80px;
}

/*  END MARKETS #################### */

.carousel_grid_placeholder {
	outline:1px solid #CCC;
	padding-bottom:40%;
	background-color:#FAFAFA;
}

.carousel_grid {
	max-width:1920px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row wrap;
	overflow:hidden;
	margin-bottom: 0 !important;
}

.slick-slide {
	overflow:hidden;
	border:5px solid white;
}

.slick-list {
	/* control the width of the slides here */
	/* height witht he padding on:
		.carousel_grid a,
		.carousel_grid .slide_bkg
		*/
		/* forces on image in the middle, and 30% of the images on each side */
		padding:0 15% !important;
		margin:0 !important;
	}

	.carousel_grid a,
	.carousel_grid .slide_bkg {
		display:block;
		flex:0 0 25%;

		padding-bottom:58%;
		background-position: center center;
		background-size:cover;
		background-repeat: no-repeat;
		overflow:hidden;

		-webkit-box-shadow: 0px 0px 10px 5px rgba(0,0,0,0); 
		box-shadow: 0px 0px 10px 5px rgba(0,0,0,0);

		transition: transform 1s, box-shadow .25s, background-size 1.25s;

		position:relative;
	}


	.carousel_grid a:hover {
		transition: transform .25s, box-shadow .25s, background-size .25s;
		xbackground-size: 102%;

		transform: scale(1.0125);

	/*
	transform:scale(1.015);
	-webkit-box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.2); 
	box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.25);
	*/
}

.embedded_caption {
	text-align:center;
	padding-top:20px;
	font-size:1em;
	max-width:900px;
	margin:0 auto;
}


.slick-track {
	padding:0 !important;
	margin:0 !important;
}

.slider-controls {

	display:flex;
	justify-content:center;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
	margin:0;
	padding-top:30px;
}

.slider-controls>div {
	
}	

.slide_button {
	/*
	border:none;
	outline:none;
	background-color:white;
	border:1px solid #999;
	border-radius:500px;
	cursor:pointer;
	padding:15px 10px;
	color:#999;
	line-height:0;
	*/
}

.slide_button:hover {
	background-color:#EEE;
}

.slide-m-dots {
	padding:0 10px;
	position:relative;
}

ul.slick-dots {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
	position:relative;
	top:0;
}

ul.slick-dots li {
	display:inline-block;
}


.slide-m-next svg,
.slide-m-prev svg{
	width:100%;
	height:auto;
	max-width:35px;
	display:block;
	margin:0;
	padding:0;
} 

.slide-m-next ,
.slide-m-prev {
	cursor:pointer;
	opacity:.45;
	transition:opacity .25s;
} 

.slide-m-next:hover,
.slide-m-prev:hover {
	background-color:white;
	opacity:.8;
}

.slide-m-next {

}

.slide-m-prev {
	
}

.slide-m-next:hover {
	
}

.slide-m-prev:hover {
	
}


.photo_tag_container {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:2;
	
	display:none;
}

/* the single tags */
.lifestyle_1_tag {
	bottom:15%;
	right:5%;
}

.lifestyle_2_tag {
	bottom:7%;
	left:40%;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%); 
}

.lifestyle_3_tag {
	bottom:7%;
	left:25%;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%); 
}

.photo_tag_container>div,
.single_tag {
	/* the tag */
	position:absolute;
	
	background-color:#f0682e;
	color:white;
	padding:15px 20px;
	border-radius:100px;
	min-width:150px;

	text-align:center;

	font-size:1em;
	letter-spacing:.09em;
	font-weight:600;

	/*border:2px solid white;*/

	-webkit-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.25); 
	box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.25);
}

.tag_toggle {
	position:absolute;
	bottom:10px;
	right:10px;
	z-index:2;

	background-color:#f0682e;
	color:white;
	padding:15px 40px;
	border-radius:100px;

	text-align:center;

	cursor:pointer;


	font-size:1.125em;
	letter-spacing:.09em;
	font-weight:600;

	-webkit-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.25); 
	box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.25);

	transition: background-color .25s;
}

.tag_toggle:hover {
	background-color: #e84702;
}




.section_intro p {
	margin:1em 0 0 0;
	line-height:1.5em;
}

.brands_flex,
.brands_page_brands_flex {
	display:flex;
	justify-content:center;
	align-items:center;
	align-content:flex-start;
	flex-flow:row wrap;
}

.top_brands_container {
	padding-bottom:20px;
	margin-bottom:20px;
	border-bottom:2px dotted #CCC;
}

.brands_flex>div,
.brands_page_brands_flex>div {
	flex: 0 0 12.5%;
	text-align:center;
	font-size:1em;
	text-transform: uppercase;
	padding:10px;
	color:#666;
}

.brands_page_brands_flex>div {
	min-width:120px;
}

.brands_flex_inpage {
	max-width:900px;
}

.brands_flex_inpage>div {
	flex:0 0 25%;
	padding:0 1%;
}

.brands_5_columns {
	max-width:1100px;
}

.brands_5_columns>div {
	flex: 0 0 20% ;
}

.brand_logo_div img {
	
	display:block;
	width:100%;
	height:auto;
	/*transition: filter .25s;*/

	/*
	opacity:.5;
	transition-delay: 1.25s;
	transition-property:opacity;
	transition-duration: .25s;
	*/

}


.brand_logo_div:hover img {
	/*filter: invert(45%) sepia(91%) saturate(665%) hue-rotate(154deg) brightness(93%) contrast(104%);*/
	/*opacity:1;*/


}

.brand_logo_div {
	position:relative;
	padding:0 !important;
	/*border:10px solid #f0682e;*/
}


.brand_logo_overlay {
	position: absolute; 
	content: ''; 
	display: block; 
	top: 0; 
	left: 0; 
	height: 100%; 
	width: 100%;
	background-color:white;
	opacity:.4;

	transition:opacity .25s;
}

.brand_logo_div a {
	position: absolute; 
	content: ''; 
	display: block; 
	top: 0; 
	left: 0; 
	height: 100%; 
	width: 100%;


	filter: brightness(70%) saturate(200%) ;
	background: #f0682e; /*#bb3300;*/
	mix-blend-mode: screen;
	opacity:0;
	z-index:2;

	transition:opacity 1.25s;
}

.brand_logo_div a:hover {
	transition:opacity .25s;
	opacity:1;
}

.brand_logo_div a:hover + img{
	/*
	transition-delay: 0s;
	transition-property:opacity;
	transition-duration: 0s;
	opacity:1;
	*/
}

.brand_logo_div a:hover + .brand_logo_overlay {
	opacity:0;
}


a.special_logo {
	/*
	background: #0097c1;
	opacity:1;
	*/
}


/*
.brands_flex img.wide {
	max-width:200px;

}

.brands_flex img.med {
	max-width:150px;

}

.brands_flex img.sq {
	max-width:100px;

}
*/

blockquote {
	margin-top:100px;
	max-width:900px;
	margin-left:auto;
	margin-right:auto;
	
	position:relative;
	padding:40px;
	border:2px solid #c7c7c7;
	border-radius:5px;
}

blockquote>div:first-of-type {
	/* mask to create the  [ ] */
	background-color:white;
	position:absolute;
	height:110%;
	width:95%;
	position:absolute;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%); 
	z-index:0;

}



blockquote span {
	position:absolute;
	top:-5px;
	left:10px;
	font:bold 5em Times,serif;
	z-index:1;
	opacity:.20;
	color:#f0682e;
}

blockquote p {
	font-size:1.25em;
	font-style:italic;
	line-height:1.5em;
	position:relative;
	z-index:1;
}

blockquote p:first-of-type {
	margin-top:0;
}

blockquote cite {
	display:block;
	text-align:right;
	font-size:1.125em;

	position:relative;
	z-index:1;
}

blockquote cite b {
	display:block;
}

.people_grid_wrap {
	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
	border-bottom:1px solid #CCC;

	padding-bottom:120px;
	margin-top:120px;
}


.people_grid_wrap h2 {
	font-size:1.875em;
	font-weight:800;
	color:#8c8a8b;
	margin:0;
}

.people_grid_wrap address {
	font-family: 'Montserrat', sans-serif;
	font-style:normal;
	line-height:1.5em;
	font-size:1.125em;
	margin-top:10px;
}

.people_grid {
	display:flex;
	justify-content:center;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row wrap;
	margin-top:40px;
}

.people_grid p {
	margin:1em 0 0 0;
}

.people_grid a {
	color:#0097c1;
	font-size:.85em;
}

.people_grid a:hover {
	color:#2EB6F0;
}

.people_grid>div {
	flex:0 0 20%;
	border:15px solid white;
	position: relative;
	min-width:200px;
	max-width:265px;
}

.people_grid>div>div {
	width:100%;
	padding-bottom:85%;
	position:relative;
	background-size:cover;
	background-position:center center;
}

.people_grid>div>div>div {
	position:absolute;
	bottom:10px;
	right:-15px;
	width: calc(100%);
	text-align:right;
	background-color:#303030;
	color:white;
	z-index:1;
	padding:5px 10px;
	font-size:1em;
	letter-spacing:.025em;

	font-family: 'Montserrat', sans-serif;
}

.address_flex {
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.address_flex>div:first-child {
	padding-right:20px;
}

.address_flex img {
	width:100%;
	height:auto;
	max-width:30px;
}

.address_flex a img {
	opacity:.65;
	transition:opacity .25s;
}

.address_flex a:hover img {
	opacity:1;
}

.address_flex address a {
	text-decoration: none;
	color:#303030;
	font-weight:bold;
	transition:color .25s;
}

.address_flex address a:hover {
	color:#2EB6F0;
}

.inpage_nav {
	
}

.inpage_nav ul {
	list-style: none;
	text-align:center;
	display:flex;
	justify-content:center;
	align-items:center;
	align-content:flex-start;
	flex-flow:row wrap;
	font-size:1.125em;
	margin:0;
	padding:0;
}

.inpage_nav ul li {
	display:inline;
	padding:0 5px;
	margin:0 5px;
	white-space: nowrap;
}

.inpage_nav ul li a {
	color:#8c8a8b;
	text-decoration: none;
	transition: color .25s;
}

.inpage_nav ul li a:hover {
	color:#f0682e;
}


.references_section {
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row wrap;

}

.ref_block_wrap {
	flex:0 0 45%;
	padding: 20px;
	margin-top:60px;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:column nowrap;
	position:relative;
	border:1px solid #8c8a8b;
}

.ref_block_wrap_mask {
	background-color:white;
	position:absolute;
	height:90%;
	width:102%;
	position:absolute;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%); 
	z-index:0;
}

.ref_block,
.proj_ref_block {
	position:relative;
	z-index:1;
}

.ref_block>div:last-child {
	margin-top:30px;
}

.ref_block h3,
.proj_ref_block h3 {
	font-size:1.45em;
	font-weight:600;
	margin:0;
}

.ref_block address,
.proj_ref_block address {
	margin-top:5px;
}

.ref_block address p,
.proj_ref_block address p {
	margin:0;
	font-size:1.125em;
	font-style: normal;
	font-family: 'Montserrat', sans-serif;
}

.ref_block>div>p {
	margin:0;
}

.ref_block>div>p:first-of-type {
	font:bold 1em 'Montserrat', sans-serif;
}

.proj_ref_block .contacts {
	margin-top:1em;
}

.proj_ref_block .contacts p {
	font:bold 1em 'Montserrat', sans-serif;
	margin:0;
}

.ref_block>div>p:last-of-type {
	
	font:italic normal 1em 'Montserrat', sans-serif;
}

.ref_block a {
	color:#8c8a8b;
	text-decoration: none;
	transition: color .25s;
	font:bold 1.25em 'Montserrat', sans-serif;
	display:inline-block;
	margin-top:.25em;
}

.ref_block a:hover {
	color:#f0682e;

}


.contracts_section h2 {
	font-size:2.125em;
	font-weight:400;
	text-align:left;
	color:#8c8a8b;
}

ul.contract_quick_reference {

}

ul.contract_quick_reference>li {
	font-size:1.125em;
	margin-top:1em;
}

ul.contract_quick_reference>li div {
	font-weight:normal;
}

/* contact from 7 **/



.wpcf7 input {
	margin:0 0 1em 0;
}

.wpcf7 br {
	display:none;
}

.contact_form_wrap input[type=text],
.contact_form_wrap input[type=email],
.contact_form_wrap input[type=date],
.contact_form_wrap select,
.contact_form_wrap textarea {
	display:block;
	width:100%;
	max-width:600px;

	font:1.125em 'Montserrat', sans-serif;
	padding:5px;
	margin-top:1em;
	border-radius:5px;
	border:1px solid #CCC;
	outline:none;
}

.contact_form_wrap textarea {
	height:8em;
}

.contact_form_wrap input[type=button],
.contact_dialog input[type=button],
.contact_form_wrap input[type=submit],
.contact_dialog input[type=submit] {
	background-color:#ff3e00;
	color:white;
	border:none;
	font-size:1.25em;
	font-weight:bold;
	padding:5px 60px;
	border-radius:5px;
	margin-top:2em;
	cursor:pointer;
	text-transform: uppercase;
	transition: opacity .25s;
	outline:none;
}

.contact_dialog input[type=button] {
	margin-top:1em;
}

.contact_form_wrap input[type=button]:hover,
.contact_dialog input[type=button]:hover,
.contact_form_wrap input[type=submit]:hover,
.contact_dialog input[type=submit]:hover  {
	opacity: .65;
}



.contact_form_wrap .checkbox_col {
	list-style:none;
}

.contact_form_wrap .checkbox_col>span {
	display:block;

}

.required_warning {
	border:2px solid red !important;
}

.wpcf7-not-valid-tip {
	margin-top:0 !important;
}

.contact-overlay {
	/* also used for the join/download */
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	height:100vh;
	background:rgba(0,0,0,.75);
	z-index:999;
	display:none;
}

.contact_dialog {
	position:absolute;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%); 
	
	text-align:center;
	background:#FAFAFA;
	display:inline-block;
	padding:20px;
	width:90%;
	min-width:30%;
	max-width:600px;
	color:#2d4696;
	border-radius:3px;
	display:none;
	font-size:1.25em;
}

.contact_dialog p {
	margin:0;
}

.contact_wait {
	/* also used for the join/download */
	position:absolute;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	display:none; 
}

.loader {
	display: inline-block;
	position: relative;
	width: 80px;
	height: 80px;
}

.loader div {
	position: absolute;
	border: 4px solid #fff;
	opacity: 1;
	border-radius: 50%;
	animation: loaderanim 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.loader div:nth-child(2) {
	animation-delay: -0.5s;
}

@keyframes loaderanim {
	0% {
		top: 36px;
		left: 36px;
		width: 0;
		height: 0;
		opacity: 1;
	}
	100% {
		top: 0px;
		left: 0px;
		width: 72px;
		height: 72px;
		opacity: 0;
	}
}

.contact_thanks {
	display:none;
	padding:20px;
	text-align:center;

}

.contact_thanks h2{
	font-size:2em;
}

.contact_thanks p{
	font-size:1.125em;
}

.clickable_tel {
	/*
	color:#f0682e;
	font-weight:bold;
	transition: color .25s;
	font-size:1.3em;
	border:2px solid #f0682e;
	padding:5px 10px;
	border-radius:50px;
	text-decoration:none;
	*/
}


/*
.mondrian_grid {
	display:flex;
	justify-content:center;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row wrap;
}

*/


.masonry_grid_wrap {
	padding:0 5px;

}

.masonry_grid {
	/*outline:1px solid blue;*/
	text-align:center;
}

.masonry_grid img {
	width:100%;
	height:auto;
	max-width:600px;
	transition: transform .25s;
}

.masonry_grid a:hover img {
	transform: scale(1.025);
}

.masonry_grid_item { 
	width: 33%; 	
	border:5px solid white !important;
	overflow:hidden;
}

.masonry_grid_item_wide { width: 400px; }

.masonry_title {
	padding:8% 10px;
	position:relative;
}

.masonry_title h2 {
	font-weight:300;
	color:#8c8a8b;
	margin:0;
	padding:0;
	width:100% !important;
}

.masonry_title_inner {
	/*  internal border */
	position:absolute;
	top:0;
	left:0;
	width:100% !important;
	height:100%  !important;
	outline:1px solid #CCC;
}




.products_main_grid {
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	align-content:flex-end;
	flex-flow:row wrap;

	margin-top:110px;

	xoutline:1px solid blue;

	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
}

.markets_grid {
	justify-content: center;
}

.products_main_grid a {
	text-decoration:none;
	/*
	display:flex;
	justify-content:flex-start;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
	*/
	transition:opacity .25s;
	flex:0 0 33%;
	margin:0;
	position:relative;
}

.products_main_grid a:hover {
	opacity:.75;
}


.products_main_grid figure {
	width:100%;
	text-align:center;
	padding:0;
	margin:0;
	padding:20px;
}

.products_main_grid figcaption {
	font-size:1.25em;
	font-weight:600;
	color:#8c8a8b;
	margin:0;
	padding:0;
	min-height:2.5em;

}



.products_main_grid img {
	width:100%;
	height:auto;
	max-width:450px;
}

/*
.products_main_grid figure div {
	background-color:#f0682e;
	color:white;
	font-size:3em;
	font-weight:700;
	position:absolute;
	bottom:10px;
	right:10px;
	border-radius:100px;

	line-height:.55em;
	width:.55em;

	transition: background-color .75s;
}

.products_main_grid figure:hover div {
	transition: background-color 0s;
	background-color:#2EB6F0 !important;
}
*/


.product_mid_hero {
	background-size:cover;
	background-position: center center;
	
	padding-bottom:50%;

}

.space_types {
	max-width:900px;
	margin-left:auto;
	margin-right:auto;

	display:flex;
	justify-content:center;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row nowrap;

}

.space_types ul {
	flex:0 0 50%;
	margin:0 auto;
	xoutline:1px solid blue;
}

.space_types ul li {
	font-size:1.5em;
	margin-bottom:.5em;
	text-align:left;
	max-width:500px;
	color:#303030;
}


.product_content_block {
	text-align:center;

	max-width:950px;
	margin-left:auto;
	margin-right:auto;
	margin-top:130px;

	padding:0 20px;
}

.product_content_block p {
	margin:1em 0 0 0;
	line-height:1.5em;
	font-size:1.125em;
}

.product_content_block_left {
	text-align:left;
}

.intro_large p {
	text-align:center;
	font-size:1.5em;
	font-weight:400;
	line-height:1.5em;
	letter-spacing:.03em;
}


.residential_blocks_wrap {
	padding:80px 20px;
}

.residential_blocks_inner h2 {
	font-size:2.5em;
	font-weight:400;
	margin:0;
}


.residential_blocks {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row wrap;

	margin-top:60px;
}

.residential_blocks figure {
	flex:0 0 22%;
	margin:0 1.5%;
	padding:0;
	position:relative;
}

.residential_blocks figure:first-child {
	margin:0 1.5% 0 0;
}

.residential_blocks figure:last-child {
	margin:0 0 0 1.5%;
}


.residential_blocks figcaption {
	text-align:left;
	font-size:1.25em;
	font-weight:400;
	color:#303030;
	margin:.45em 0 0 0;
	padding:0;
	text-transform: uppercase;
}


.residential_blocks img {
	width:100%;
	height:auto;
	max-width:500px;
}

.residential_blocks figure div {
	color:white;
	font-size:3em;
	font-weight:400;
	position:absolute;
	bottom:10px;
	right:10px;
	border-radius:100px;

	line-height:.55em;
	width:.55em;

	transition: background-color .75s;
}

.residential_blocks figure:hover div {
	transition: background-color 0s;
	background-color:#2EB6F0 !important;
}

.resi_order_block {
	background-color:#0097c1;
	color:white;
	padding:80px 0;
	text-align:center;
}

.resi_order_block h2 {
	font-size:4em !important;
	font-weight:400;
	margin:0;
}

.resi_order_block h3 {
	font-size:2.5em;
	font-weight:400;
	margin:1em 0 0 0;
	font-family: Raleway;
}

.resi_order_block h3 span {
	font-family: Verdana;
}

.resi_order_block h3:first-of-type {
	margin:0 0 0 0;
}

.resi_order_split {
	display:flex;
	justify-content:center;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row nowrap;
	margin:60px auto 0 auto;
	max-width:1500px;
}

.resi_order_split p {
	font-size:1.5em;
	margin:.5em 0 0 0;
	line-height:1.5em;
}

.resi_order_split>div {
	flex:0 0 50%;
}

.resi_order_split>div:first-child {
	border-right:5px dotted white;
	padding-right:40px;
}

.resi_order_split>div:last-child {
	padding-left:40px;
}

.resi_order_block>p {
	/* Due to contractual obligations with the manufacturer... */
	font-size:1.15em;
	line-height:1.5em;
	max-width:1500px;
	margin:3em auto 0 auto;
	padding:0 20px;
}

.resi_order_block h2 {
	font-size:5em;
	font-weight:400;
	margin:0;
}




.residential_grid_wrap {
	padding:0 20px;
}

.residential_grid_inner h2 {
	font-size:2.875em;
	font-weight:700;
	margin:2em 0 0 20px;
}


.residential_grid {
	display:flex;
	justify-content:center;
	align-items:center;
	align-content:flex-start;
	flex-flow:row wrap;

	margin:0;
}

.residential_grid figure {
	flex:0 0 22%;
	margin:60px 1.5% 0 1.5%;
	padding:0;
	position:relative;
}

.residential_grid figcaption {
	text-align:left;
	font-size:1.5em;
	font-weight:400;
	color:#303030;
	margin:.45em 0 0 0;
	padding:0;
	text-transform: uppercase;
}

.residential_grid img {
	width:100%;
	height:auto;
	max-width:500px;
	transition:opacity .25s;
}

.residential_grid a img:hover {
	opacity:.75;
}

.residential_grid figure div {
	color:white;
	font-size:3em;
	font-weight:400;
	position:absolute;
	bottom:10px;
	right:10px;
	border-radius:100px;

	line-height:.55em;
	width:.55em;

	transition: background-color .75s;
}

.residential_grid figure:hover div {
	transition: background-color 0s;
	background-color:#2EB6F0 !important;
}

.residential_split {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.residential_split h2 {
	font-size:2.5em;
	color:#f0682e;
	margin-top:0;
}

.residential_split p {
	font-size:1.75em;
	line-height:1.25em;
}

.residential_split img {
	width:100%;
	height:auto;
	max-width:850px;
}

.residential_split>div {
	position:relative;
}

.residential_split>div:first-child {
	flex:1 1 52%;
	max-width:850px;
}

.residential_split>div:last-child {
	flex:0 0 48%;
	padding:0 80px;
	min-width:415px;
}

.residential_double_image {
	display:flex;
	justify-content:center;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.residential_double_image>div {
	position:relative;
}

.small_side {
	padding-right:35px;
}

.big_side {
	padding-left:35px;
}


.small_side img {
	width:100%;
	height:auto;
	max-width:790px;
}

.big_side img {
	width:100%;
	height:auto;
	max-width:1055px;
}

.lt_orange_back {
	background-color:#f7eddd;
}


.blog_hero_image_wrap {
	margin:40px 0;
}

.blog_hero_image_wrap img{
	width:100%;
	max-width:1920px;
	height:auto;
}


.blog_post h1 {
	font-size:2em;
	font-weight:600;
	margin:0;
	padding:0;
}

p.blog_date {
	margin:.5em 0 0 0;
	line-height:1em;
}


.blog_content p,
.blog_content ul {
	font-size:1.125em;
	font-weight:400;
	margin:20px 0 0 0;
	line-height:1.5em;
}

.blog_content a {
	color:#cd470e;
}

.hp_blog_head {
	text-align:center;
	font-size:2.25em;
	
}

.hp_blog_head a {
	color:#f0682e;
	text-decoration: none;
	transition: color .25s;
}

.hp_blog_head a:hover {
	color:#0097c1;
}


.em_overlay {
	position:fixed;
	z-index:99999;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color: rgba(0,0,0,.85);
	display:none;
}



.loader {
	display: inline-block;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	width: 80px;
	height: 80px;
}

.loader div {
	position: absolute;
	border: 4px solid #fff;
	opacity: 1;
	border-radius: 50%;
	animation: loaderanim 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.loader div:nth-child(2) {
	animation-delay: -0.5s;
}
@keyframes loaderanim {
	0% {
		top: 36px;
		left: 36px;
		width: 0;
		height: 0;
		opacity: 1;
	}
	100% {
		top: 0px;
		left: 0px;
		width: 72px;
		height: 72px;
		opacity: 0;
	}
}


.prompt {
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);

	background-color: white;
	padding:20px;

	width:90%;

	max-width:500px;

}

.prompt h4 {
	margin:0; padding:0;
	font-size:1.5em;
}

.prompt p {
	margin:1em 0 0 0; 
	padding:0;
	font-size:1.125em;
}

.ok_butt {
	cursor:pointer;
	display:inline-block !important;
	margin:20px auto 0 auto;
}

.ok_butt:hover {
	
}

.contact_inline input[type=submit] {
	margin:20px auto !important;
	display:block !important;
}


/* reposition the "invalid" tip, and hilight the field */
.wpcf7-not-valid-tip {
	margin:0 !important;
	padding:0 !important;
	/*outline:1px solid red;*/

	position:absolute;
	top:10px;
	left:0;

	/*display:none;*/
}

.wpcf7-not-valid {
	border: 2px solid red !important;
}


.wpcf7-form-control-wrap {
	padding:0 !important;
	height: auto !important;
	/* allow abs elements to escape */
	position:static;
}

.wpcf7-form-control-wrap input, 
.wpcf7-form-control-wrap textarea {
	margin:0 !important;
}


ul.sitelist_404 {
	list-style:none;
	columns:3;
	margin:0 auto;
	padding:0;

	max-width:800px;
}

ul.sitelist_404 li {
	margin-top:.5em;
}

ul.sitelist_404 a {
	text-decoration:none;
	color:#303030;
	font-weight:600;
	transition: color 1.5s;
}

ul.sitelist_404 a:hover {
	transition: color 0s;
	color:#f0682e;
}

.resi_faq_header {

}

.resi_faq_header h2{
	font-size:2.875em;
	font-weight:700;
	margin:0;
}

.resi_faq_header p {
	font-size:1.25em;
	line-height:1.25em;
}

.resi_faq {
	display:none;
}

.resi_faq h5 {
	font-size:1.5em;
	color:#303030;
	margin:0;
}

.resi_faq h5+p {

}


.resi_faq p {
	font-size:1.125em;
	line-height:1.125em;
}

#faq_toggle {
	cursor:pointer;
}