/*  
Theme Name: Millards Studio Wordpress Theme
Theme URI: http://www.lookhappydesign.com
Description: Theme designed by <a href="http://www.lookhappydesign.com">Joe Latham</a>.
Version: 1.0
Author: Joe Latham
Author URI: http://www.lookhappydesign.com
*/

/* CSS Document */

html {}

body { font-family: "Work Sans", sans-serif;  font-optical-sizing: auto;  font-weight: 400;  font-style: normal; font-size:0.9em; line-height:1.4em; font-style: normal;  font-size:; line-height:; color:#292B35; background-color:#FFF; padding:0px; margin: 0 ;  }

h1 {margin:0; padding:0 0 30px;}
h2 {font-size:2.5em; line-height: 1.2em; margin:0 0 20px 0; padding:0;}
h3 {font-size:1.4em; line-height: 1.2em; margin:0; padding:0 0 10px;}
h4 {font-size:1.3em; line-height: 1.2em; margin:0; padding:0 0 10px;}
h5 {font-size:1.2em; line-height: 1.2em; margin:0; padding:0 0 10px;}
h6 {font-size:1.1em; line-height: 1.2em; margin:0; padding:0 0 10px;}
h2, h3, h4, h5, h6 {  font-family: "Fraunces", serif;  font-optical-sizing: auto;  font-weight: 700;  font-style: normal;  font-variation-settings:    "SOFT" 0,    "WONK" 0;}

blockquote {}
blockquote p {}

a.fade, .fade, .fade img {zoom: 1; filter: alpha(opacity=100); opacity: 1.00; /* -webkit-transition: all 0.2s ease-out;	-moz-transition: all 0.2s ease;	-o-transition: all 0.2s ease; */ }
a.fade:hover, .fade:hover, .fade:hover img {filter: alpha(opacity=80); opacity: 0.80; }
a img {border:none;}
a {color:#292B35; text-decoration:none;}
a:hover {}
a:hover img {text-decoration: none;}

.page_width_container {max-width:1040px; margin:0px auto;}

header {padding:20px; display:flex;  flex-wrap: nowrap; justify-content: space-between; align-items:flex-start; position:absolute; box-sizing:border-box; z-index:100;  width:100%; margin:0 auto;}
h1#main_logo {}
h1#main_logo a {}
h1#main_logo a img {width:150px; height:auto;}
ul.main_menu {display: flex; padding:0 0 0 15px; margin:5px 0px 0px; top:0px; list-style-type:none; background-color:#e8e8e8; border-radius: 7px; }
.menu_hidden {position:fixed; right:20px; margin-top:20px !important; margin-left:-85px !important; zoom: 1; filter: alpha(opacity=0); opacity: 0.00; }
.menu_fadein {-webkit-transition: all 0.2s ease-out;	-moz-transition: all 0.2s ease;	-o-transition: all 0.2s ease; }
.scroll_up { z-index:250; zoom: 1; filter: alpha(opacity=100); opacity: 1.00;}
ul.main_menu li {display: flex;  padding: 0; position:relative; margin:0 8px;}
ul.main_menu li a {text-decoration:none; color:#2b2822; font-weight:700; padding: 15px 5px; text-transform: uppercase;  font-size: 0.8em;}
ul.main_menu li a:hover {color:#999736; text-decoration:none;}
ul.main_menu li ul {display:none; list-style-type: none; position:absolute; top: calc(100%); left:0px;  padding:10px 20px; margin:0px; max-width:150px; background-color:#FFF; border-radius: 0px 0px 7px 7px; -webkit-box-shadow: 1px 3px 3px 1px rgba(0,0,0,0.1); box-shadow: 1px 3px 3px 1px rgba(0,0,0,0.1); }
ul.main_menu li:hover ul {display:block; }
ul.main_menu li ul li {display:block; padding:0px; margin:0px;}
ul.main_menu li ul li a {color:#292B35; line-height:11px; margin:7px 0; padding:2px 0 2px 15px; display:block; position:relative;}
ul.main_menu li ul li a:before {content:'';   width: 5px;  height: 5px; border-radius:5px; background: #999736;  position:absolute; top:5px; left:0px; }
ul.main_menu li ul li a:hover {text-decoration:underline; color:#292B35;}
ul.main_menu li:last-of-type a {padding-right:15px;}
ul.main_menu li.talk_to_us {margin-right:0px; padding: 0;}
ul.main_menu li.talk_to_us a {display: flex;  align-items: center;  padding: 0 23px 0; background-color:#999736; color:#e8e8e8; margin-left:0px; border-radius:0 7px 7px 0;}
ul.main_menu li.talk_to_us a:hover {background-color:#86842e; color:#FFF; text-decoration:none;}

#mobile_navigation {display:none;}

#page_header {min-height: 100svh; /* fallback-safe height */  min-height: 100dvh; /* dynamic viewport height */ box-sizing:border-box; display:flex; align-items:center; width:100%; margin:0px auto; padding:0; background-color:#000; background-repeat:no-repeat;  -webkit-background-size: auto 100%;  -moz-background-size: auto 100%;   -o-background-size: auto 100%;  background-size: auto 100%; }
#page_header.no_header_content { }
.page_header_inner { border:0px solid white; display:flex;  flex-wrap: nowrap; justify-content: space-between; align-items:stretch; padding:0; margin:0 auto; position:relative; z-index:10;}
.page_header_left { color:#FFF; width:70%; height:auto; padding:0; margin:0px auto; text-align:center; }
.page_header_left h2 {padding:0px 0px 20px; margin:0px; font-size:5.4em; font-weight: 700; text-shadow: 1px 1px 3px rgba(0,0,0,0.27); 
  font-family: "Fraunces", serif;  font-optical-sizing: auto;  font-weight: 700;  font-style: normal;  font-variation-settings:    "SOFT" 0,    "WONK" 0;}
p.subtitle {padding:20px 0px 40px; margin:0px auto; max-width: 520px; font-size: 1.1em;  line-height: 1.3em; text-transform:uppercase;}
a.button_link {line-height:1em;  padding:18px 30px;  border-radius: 7px; background-color:#999736; color:#FFF; display:inline-block; margin:0px 0px 15px;  text-decoration:none; text-transform: uppercase;  font-size: 0.9em;  font-weight: 600;}
a.button_link:hover {background-color:#86842e; color:#FFF;}
.custom_background_image {position:relative; background-position:bottom -30px right 0px !important; -webkit-background-size: cover !important;  -moz-background-size: cover !important;  -o-background-size: cover !important;  background-size: cover !important; background-position:top right !important;}

.video_bg_holder {position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  overflow: hidden; zoom: 1; filter: alpha(opacity=60); opacity: 0.60; }
.video_bg_holder video {min-width: 100%;  min-height: 100%;}

.half_height {min-height: 60svh !important; /* fallback-safe height */  min-height: 60dvh !important; /* dynamic viewport height */}

body.page .half_height .page_header_inner {width: 1080px;  text-align: left;}
body.page .half_height .page_header_inner .page_header_left {text-align: left; width:100%; padding:0 30px;}
body.page .half_height .page_header_left h2 {font-size:3.4em; max-width:600px;}
body.page .half_height .page_header_left p.subtitle {font-size:0.9em; max-width:375px; margin: 0;}

.full_width_outer {display:block; width:100%; margin:0px auto;}

.logos_block_container {display:block; padding:60px 20px; box-sizing: border-box; background-color:#2e2e2e; }
.logos_block_inner {max-width:1280px;}
.logos_block {}
ul.logos_container {list-style-type:none; padding:0px; margin:0px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;}
ul.logos_container li {}
ul.logos_container li img {display:inline-block; max-height:115px; max-width:266px;}

.split_block_inner {padding:0 20px;}
.split_block_text {padding:100px 0px 80px;}
.split_block_text h2 {display:inline-block;}
.text_container {display:flex; width:100%; height:auto; box-sizing: border-box; flex-wrap:nowrap; padding:25px 0; margin:0;}
.text_container .left_col {width:55%; padding:0px 75px 30px 0px; box-sizing:border-box; font-size: 1.6em;  line-height: 1.4em; font-weight:600; color:#999736; font-family: "Fraunces", serif;  font-optical-sizing: auto;  font-weight: 600;  font-style: normal;  font-variation-settings:    "SOFT" 0,    "WONK" 0;}
.text_container .left_col p {margin:0 0 20px; padding:0;}
.text_container .right_col {width:45%; padding:0px 30px 30px 0px; box-sizing:border-box;}
.text_container .right_col p {margin:0 0 20px; padding:0;}
.text_container .left_col a {color:#2e2e2e;}
.text_container .right_col a {color:#999736;}
.text_container a {text-decoration:underline;}
.text_container a:hover {text-decoration:none;}
.text_container a.button_link {color:#FFF; text-decoration:none;}
.text_container a.button_link:hover {color:#FFF; text-decoration:none;}

ul.image_links {list-style-type:none; padding:50px 0; margin:0; display:flex; flex-wrap:wrap; justify-content:space-between;}
ul.image_links li {width:48%; height:auto; margin:0; padding:0 0 35px;}
ul.image_links li a {display:block; position:relative;}
ul.image_links li a img {display:block; object-fit: cover; width:100%; height:500px;}

#projects-list-container {padding:50px 20px; box-sizing:border-box; margin:0; display:flex; flex-wrap:wrap; justify-content:space-between;}
.projects_list_item {width:48%; height:auto; margin:0; padding:0 0 35px;}
.projects_list_item:nth-child(3n + 1) {    width:100%;    flex-basis:100%;}
.projects_list_item a {display:block; background-color:#000; position:relative; overflow:hidden;}
.projects_list_item a .projects_list_image {display:block; width:100%; height:400px; zoom: 1; filter: alpha(opacity=100); opacity: 1.00; -webkit-transition: all 0.2s ease-out;	-moz-transition: all 0.2s ease;	-o-transition: all 0.2s ease; }
.projects_list_item a .projects_list_image img {display:block; width:100%; height:100%; object-fit: cover;}
.projects_list_text {display:block; position:absolute; bottom:0; left:0; width:100%; height:auto; z-index:1;  transform: translateY(calc(100% - 4.5em)); /* only show title */    transition: transform 0.25s ease;    overflow:hidden;}
.projects_list_text:after {content:''; background-color:#2e2e2e; display:block; position:absolute; bottom:0; left:0; width:100%; height:100%;}

.projects_list_text h3 {display:block; padding:20px; color:#FFF; font-size:1.3em; position:relative; z-index:10;}
#projects-list-container .projects_list_item {}

.projects_list_text .single_post_details {position:relative; z-index:10;  font-size:1.2em; line-height:1.5em; padding: 0 25px 10px;  width: 100%;  max-width: 450px; margin:0 0 15px; opacity: 0;    transition: opacity 0.2s ease 0.05s;}

.projects_list_item a:hover .projects_list_image {filter: alpha(opacity=80); opacity: 0.80;}
.projects_list_item a:hover .projects_list_text:after {opacity: 1; }
.projects_list_item a:hover .projects_list_text {transform: translateY(0);}
.projects_list_item a:hover .projects_list_text .single_post_details { opacity: 1;}


ul.image_links li a .link_text_holder { position:absolute; bottom:0; left:0; width:100%; height:auto; -webkit-transition: all 0.2s ease-out;	-moz-transition: all 0.2s ease;	-o-transition: all 0.2s ease; }
ul.image_links li a .link_text_holder:after {content:''; position:absolute; bottom:0; left:0; display:block; width:100%; height:100%;  zoom: 1; filter: alpha(opacity=40); opacity: 0.40; background-color:#2e2e2e; z-index:1; -webkit-transition: all 0.2s ease-out;	-moz-transition: all 0.2s ease;	-o-transition: all 0.2s ease;}
ul.image_links li a .link_text_inner {color:#FFF; display:block; padding:40px 40px; margin:0 auto; width:auto; text-align:center; z-index:10; position:relative;}
ul.image_links li a .link_text_inner h3 {font-size:2em; font-weight:600;}
ul.image_links li a span.link_subtitle {font-size:0.8em; text-transform:uppercase; display:block; position:relative; top:-10px; zoom: 1; filter: alpha(opacity=0); opacity: 0.00; height:0px; -webkit-transition: all 0.2s ease-out;	-moz-transition: all 0.2s ease;	-o-transition: all 0.2s ease; }
ul.image_links li a:hover .link_text_holder:after { filter: alpha(opacity=100); opacity: 1.00;}
ul.image_links li a:hover span.link_subtitle {filter: alpha(opacity=100); opacity: 1.00; height:10px;}

.quote_outer {position:relative;}
.quote_block_inner {border:0px solid white; padding:75px 20px; position:relative; z-index:5;}
.quote_block_text {display:block; width:45%; position:relative; color:#FFF; padding-bottom:40px;}
.quote_block_text h2 {font-size:2em; display:block; padding:20px 45px 0 0; margin:0px; font-weight:700;}
.quote_block_text h2 p {padding:0 0 20px; margin:0px;}
.quote_block_text .quote_small_text p {font-size:1em; line-height:1.5em; margin:0 0 20px; padding:0;}
.quote_block_text p a {text-decoration:underline; color:#FFB600;}
.quote_block_text p a:hover {text-decoration:none;}
.quote_block_text span.quote_author { font-size:1.1em; font-weight:700; display:block; padding:0 60px 40px 0; text-transform:uppercase; }
.quote_background_image {position:absolute; top:0px; right:0px; width:100%; height:100%; z-index:1;}
.gradient {z-index:0; position:absolute; top:0px; left:0%; height:100%; width:75vw; background: rgb(41,43,53); background: linear-gradient(90deg, rgba(41,43,53,1) 33%, rgba(41,43,53,0) 100%);}
.quote_background_image img {display:block; width:100%; height:100%; object-fit: cover; object-position: top right;}
.full_width_quote { background-position:bottom right; background-repeat:no-repeat; -webkit-background-size: cover !important;  -moz-background-size: cover !important;  -o-background-size: cover !important;  background-size: cover !important;}

.slick-slide {margin:0px 10px;}
.slider_block_title {padding:30px 0px; text-align:center;}
.slider_block_title h2 {text-align:center; display:inline-block; padding:0px; margin:20px 0 45px;}
.slider_block_inner {border:0px solid grey; padding:30px 0 190px;}
.slide_single {position:relative; box-sizing:border-box; overflow:hidden;}
.slider_single_text { color:#FFF;  position:absolute;    bottom:0;    left:0;    width:100%;    padding:15px 20px;    box-sizing:border-box;
    transform: translateY(calc(100% - 4em)); /* only show title */    transition: transform 0.25s ease;    overflow:hidden;}
.slider_single_text > * {    position:relative;    z-index:2; }
.slider_single_text:after {content:'';    position:absolute;    inset:0;    background-color:#2e2e2e;    opacity:0;    z-index:1;  transition: opacity 0.2s ease 0.05s;}
.slider_single_text h3 {position:relative; z-index:10; font-size:1em; }
.slider_single_text .name_holder {padding:0; margin:0;}
.slider_single_text .name_holder h3 {color:#FFF !important; font-size:1.5em; display:block; padding:0 0 5px;}
.slider_single_text p {position:relative; z-index:10; zoom: 1; filter: alpha(opacity=0); opacity: 0.00; font-size:0.9em; line-height:1.5em; padding-right:0; margin:0 0 15px; -webkit-transition: all 0.2s ease-out;  -moz-transition: all 0.2s ease;  -o-transition: all 0.2s ease;}
.slider_single_image {}
.slider_single_image img {display:block; width:100%; height:350px; object-fit: cover; position:relative; top:0; right:0; }

.slide_single a:hover {}
.slide_single a:hover .slider_single_text {    transform: translateY(0);}
.slider_single_text p {    opacity: 0;    transition: opacity 0.2s ease 0.05s;}
.slide_single a:hover .slider_single_text p {    opacity: 1;}
.slide_single a:hover .slider_single_text:after {    opacity: 1;}

.slick-dotted.slick-slider {margin-bottom:0px !important; margin-top:20px !important;}
.slick-dots {bottom:-80px !important;}
.slick-dots li {margin:0 9px !important;}
.slick-dots li button {position:relative;}
.slick-dots li button::before {content:'' !important;  opacity:1 !important; width: 5px;  height: 5px;  background: #292B35;  border-radius:5px; transform:rotate(45deg); position:absolute; top:8px; left:0px;  border-radius:20px;   }
.slick-dots li.slick-active button::before {opacity:1; background: #999736;}

.large_breaker {background-color:#eaeaea; color:#999898; text-align:center; padding:120px 20px; box-sizing:border-box;}
.large_breaker .page_width_container {max-width:1080px;}
.large_breaker h2 {font-size:3.5em;}
.large_breaker.reduced_padding {padding:60px !important;}

.large_breaker.background_white {background-color:#FFF; color:#999898;}
.large_breaker.background_light_grey {background-color:#eaeaea; color:#999898;}
.large_breaker.background_dark_grey {background-color:#2e2e2e; color:#eaeaea;}

.large_image_outer.background_white {background-color:#FFF; color:#999898;}
.large_image_outer.background_light_grey {background-color:#eaeaea; color:#999898;}
.large_image_outer.background_dark_grey {background-color:#2e2e2e; color:#eaeaea;}

.background_white h2 {color:#999898;}
.background_white {background-color:#FFF; color:#808080;}
.background_light_grey {background-color:#eaeaea; color:#999898;}
.background_dark_grey {background-color:#2e2e2e; color:#eaeaea;}

.background_light_grey h2, .background_light_grey .text_container p {color:#606060;}

.large_image_block {padding:0px 20px; box-sizing:border-box; overflow:hidden;}
.large_image_block_inner {display:block; position:relative;}
.large_image_block_inner img {display:block; width:100%; height:auto; position:relative; }
.large_image_block_inner .text_container {width:100%; height:100%; display:flex; position:absolute; top:0; left:0; justify-content:center; box-sizing:border-box; padding:60px;align-items:center;}
.large_image_block_inner .text_container_inner {}
.large_image_block_inner .text_container_inner h2 {font-size: 3em;  font-weight: 700;  color: #FFF; text-align:center;}
.has_text_overlay {background-color:#000;}
.has_text_overlay img {zoom: 1; filter: alpha(opacity=70); opacity: 0.70; max-height:500px; object-fit: cover;}
.full_width_image {max-width:100%; padding:0; margin:60px 0;}

.list_block_container {position:relative; padding: 70px 0 120px;}

.list_block_inner {}
.list_block {text-align:center; padding-bottom:20px;}
.list_block h2 {margin:40px 0px; padding:0; display:inline-block;}
.list_block p {display:block; padding:0 0 20px;}
.list_block_description {display:block;}
.list_block_description p {font-size: 1.6em;  line-height: 1.4em;  font-weight: 600;  color: #999736;  font-family: "Fraunces", serif;  font-optical-sizing: auto;  font-weight: 600;  font-style: normal;  font-variation-settings: "SOFT" 0, "WONK" 0;}
.list_block .text_container {max-width:920px; margin:0px auto; display:block !important;}
ul.unordered_list_block {list-style-type: none; padding:0 0 0 80px; margin:0; text-align:left;}
ul.unordered_list_block li {display:block; position:relative; padding:20px 0 20px 0px; margin:0px;}
ul.unordered_list_block li:before {content:''; width: 22px;  height: 22px;  background: #999736; border-radius: 30px;  position:absolute; top:40px; left:-45px;  }
ul.unordered_list_block ul li {position:relative;}
ul.unordered_list_block ul li:before { width: 11px;  height: 11px;  position:absolute; top:11px; left:0px;  }
ol.ordered_list_block {padding:0 0 0 80px; margin:0; list-style: none;   counter-reset: item; text-align:left;}
ol.ordered_list_block li {display:block; padding:20px 0 20px 0px; margin:0; position:relative;}
ol.ordered_list_block li:before {   margin-right: 10px;   counter-increment: item;    content: counter(item)""; font-size:3em; font-weight:700;   color: #999736;  font-family:"Fraunces", serif; font-style:italic; text-align: center;   display: block; position:absolute; top:40px; left:-128px; width:85px; text-align:right;}
ol.ordered_list_block li:after {content:'';  position:absolute; background-color:#999736; width:8px; height:8px; border-radius: 10px; top:50px; left:-35px;}
ol.ordered_list_block ol { counter-reset: subitem; padding:0 0 20px 0;}
ol.ordered_list_block ol li:before{  counter-increment: subitem;    content: counter(subitem)"."; font-size:1.4em; font-weight:700;   color: #999736;    text-align: center;   display: block; position:absolute; top:10px; left:-33px; }
ol.ordered_list_block ol li:after {display:none;}
ol.ordered_list_block ul li:after {background-color:#000; top:14px; left:5px;}
ol.ordered_list_block ul li:before{  content:''; counter-increment: none;}
ul.unordered_list_block li, ol.ordered_list_block li {border-bottom:2px solid grey;}
ul.unordered_list_block li ul, ol.ordered_list_block li ul {padding:0;}
ul.unordered_list_block li ul li, ol.ordered_list_block li ul li, ul.unordered_list_block li ol li, ol.ordered_list_block li ol li  {border-bottom:0px; padding:10px 10px 10px 30px; margin:0px;}
ul.unordered_list_block li h3, ol.ordered_list_block li h3 {font-size:1.6em; font-weight:600; margin:8px 0 0; padding:10px 0;}
ul.unordered_list_block li p, ol.ordered_list_block li p {margin:0; padding:0px 0px 20px;}
ul.two_column_list, ol.two_column_list {padding:0; margin:0; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items:flex-start; align-content: flex-start;}
ul.two_column_list li {width:41%; padding:0 5% 20px 3%; border-bottom:none;}
ol.two_column_list li {width:32%; padding:0 5% 20px 3%; border-bottom:none;}
ol.two_column_list li:before {left:-90px; top:24px; font-size:2em;}
ol.two_column_list li::after {width: 6px;  height: 6px;  top: 33px;  left: 5px;}
ul.two_column_list li:before {background-color:#FFF; width:8px; height:8px; top:25px; left:10px;}
.background-white ul.two_column_list li:before {background-color:#999736; }
ul.two_column_list li h3, ol.two_column_list li h3 {color:#999736;}
.background-orange ul.two_column_list li h3, .background-orange ol.two_column_list li h3 {color:#292B35;}
ul.two_column_list li p, ol.two_column_list li p {}
ul.two_column_list li ul li, ol.two_column_list li ul li {width:100%;}
ul.two_column_list li ol li, ol.two_column_list li ol li {width:100%;}
ul.two_column_list li ul li:before { width: 6px;  height: 6px;  position:absolute; top:13px; left:0px;  }
.background-grey ol.ordered_list_block li ul li:before, .background-grey ol.ordered_list_block li ul li:after {background-color:#FFF;}
ul.unordered_list_block.checkbox_list.full_width_list  {max-width:530px; margin:0 auto;}

ul.unordered_list_block.checkbox_list  {padding-left:60px;}
ul.unordered_list_block.checkbox_list li:before {content:''; background-image:url(images/checkbox.svg); background-color: transparent !important; background-repeat:no-repeat; width: 45px;  height: 45px;  transform:rotate(0deg) !important; border-radius:0 !important; position:absolute; top:22px; left:-60px;}
ul.unordered_list_block.checkbox_list li h3 {}

ul.unordered_list_block.checkbox_list.two_column_list {justify-content: space-between;}
ul.unordered_list_block.checkbox_list.two_column_list li { padding:0 20px 20px 0; border-bottom:none;}
ul.unordered_list_block.checkbox_list.two_column_list li:before { top:16px; }

ul.remove_line_between_items li, ol.remove_line_between_items li {border-bottom:0;}

.carousel_breaker.slick-dotted.slick-slider { margin-top:0px !important; }
.image_carousel_inner {max-width:100%;}
.image_carousel_holder {max-width: 1280px;  margin: 0 auto;  padding: 20px 20px 200px;}
.image_carousel_holder .slick-slide div {box-sizing:border-box; overflow:hidden; margin-bottom:-5px; padding:0;}
.image_carousel_holder .slick-slide img {width:100%; height:750px; object-fit: cover;}
.carousel_breaker .slick-dots {bottom:40px !important;}
.carousel_breaker .slick-dots li {width:12px; height:12px; margin: 0 7px !important;}
.carousel_breaker .slick-dots li button::before {width:12px; height:12px; background:#FFF;}
.carousel_breaker .slick-dots li.slick-active button::before {background: #FFB600;}

.image_grid_inner {max-width:1280px;}
.image_grid_holder {text-align:center; padding:60px 0px 30px;}
.image_grid_holder h2 {display:inline-block;}
ul.image_grid {list-style-type:none; padding:30px 0; margin:0 auto; display: flex; flex-wrap: wrap; justify-content:flex-start; align-items:flex-start; align-content: flex-start;}
ul.image_grid li {padding:0; margin:0 3% 3%; width:27%; }
ul.image_grid li a {zoom: 1; filter: alpha(opacity=100); opacity: 1.00;}
ul.image_grid li a img {display:block; width:100%; height:100%;}
ul.image_grid li a:hover {filter: alpha(opacity=80); opacity: 0.80;}
ul.image_grid.center_image_grid {justify-content:center;}

.single_column_block {padding:50px 20px;}
.single_column_block_inner {text-align:center;}
.single_column_block_inner p {text-align:left; margin:0 auto; padding:0 0 20px; max-width:600px;}
 .single_column_block_inner p strong {color:#999736;  font-family: "Fraunces", serif;  font-optical-sizing: auto;  font-weight: 700;  font-style: normal;  font-variation-settings:    "SOFT" 0,    "WONK" 0; font-style:italic;}
.single_column_block_inner h1, .single_column_block_inner h2, .single_column_block_inner h3, .single_column_block_inner h4, .single_column_block_inner h5, .single_column_block_inner h6 {display:inline-block; text-align:center; margin:0 auto 50px; padding:20px 0 0; max-width:600px;}
.single_column_block_inner blockquote {display:block; padding:40px 30px; margin:0 auto; text-align:center; font-family: "Fraunces", serif;  font-optical-sizing: auto;  font-weight: 700;  font-style: normal;  font-variation-settings:    "SOFT" 0,    "WONK" 0; font-size:1.7em; font-style:italic; color:#999736;}
.single_column_block_inner blockquote p {max-width:700px; line-height:1.2em;}

#single_post_header {box-sizing: border-box;  width: 100%;  margin: 0px auto;  padding: 0;}
.single_post {display:flex; justify-content:space-between; flex-wrap:no-wrap; background-color:#2e2e2e;}
.single_post_masthead_left {width:50%; position:relative;}
.single_post_masthead_text {width:100%; max-width:750px; position:absolute; bottom:0px; left:0px; padding:20px; box-sizing:border-box;}
.single_post_masthead_text h2 {display:inline-block; color:#FFF; max-width:520px; padding-right:20px;}
ul.single_post_details {list-style-type:none; display:block; padding:0px 10px; font-size:1.5em; width:90%;}
ul.single_post_details li {display:flex; align-items:flext-start; width:100%; border-bottom:1px solid #6c6c6c; padding:15px 0; font-size:0.7em; line-height:1.5em; text-transform: uppercase; font-weight: 600;}
.single_post_detail_left {width:46%; color:#aeaeae; position:relative; top:-3px;}
.single_post_detail_right {width:46%; color:#FFF; font-size:0.8em; line-height: 1.2em; font-weight:400;}
.single_post_masthead_right {width:50%; position:relative; min-height: 100svh; /* fallback-safe height */  min-height: 100dvh; /* dynamic viewport height */}
.single_post_masthead_right img {display:block; width:100%; height:100%; position:absolute; top:0; right:0; object-fit: cover;}
ul.single_post_images {list-style-type:none; display:flex; flex-wrap:wrap; padding:0; margin:0;}
ul.single_post_images li {box-sizing:border-box; padding:10px;}
ul.single_post_images li.thirds {width:33.333%;}
ul.single_post_images li.half {width:50%;}
ul.single_post_images li.full {width:100%;}
ul.single_post_images li img {display:block; width:100%; height:550px;  object-fit: cover;}
ul.single_post_images li.half img {}
ul.single_post_images li.thirds img {height:450px; }

.three_column_block_inner {padding:60px 0px 40px;}
.three_column_block {text-align:center; padding:20px;}
.three_column_block_inner h2 {display:inline-block; text-align:center; margin:0 auto 20px;}
ul.unordered_three_col {list-style-type:none; display: flex; flex-wrap: wrap; align-items: flex-start; text-align:left; justify-content:flex-start; padding:20px 0 0; margin:0; width:100%;}
ul.unordered_three_col li {width:33.333%; padding:0 20px; box-sizing:border-box;}
ul.unordered_three_col li img {margin-bottom:20px; max-width:110px; height:auto;}
ul.unordered_three_col li h3 {font-size:1.5em; font-weight:400; color:#999736;}
ul.unordered_three_col li ul li {width:100%; text-align:left;}
.include_bullets {}
.include_bullets li {position:relative; padding:0 30px 30px 20px !important;}
.include_bullets li:before {content:''; transform:rotate(45deg); position:absolute; background-color:#999736; width:7px; height:7px;  border-radius: 7px; top:8px; left:0px;}
.left_align_three_col li p {margin:0 0 20px 0; padding:0 40px 0 0;}
.left_align_three_col li p a {font-weight:700; text-decoration:underline;}
.left_align_three_col li p a:hover {text-decoration:none; }
.three_column_block_inner p {margin:0 0 15px;}


.four_column_block_inner {padding:90px 0px; max-width:1980px;}
.four_column_block {text-align:center; padding:20px;}
.four_column_block_inner h2 {display:inline-block; text-align:center; margin:0 auto 60px; max-width:1280px;}
ul.unordered_four_col {list-style-type:none; display: flex; flex-wrap: wrap; align-items: flex-start; text-align:left; justify-content:flex-start; padding:20px 0 0; margin:0; width:100%;}
ul.unordered_four_col li {width:25%; padding:0 20px; box-sizing:border-box;}
ul.unordered_four_col li img {max-width: 100%;  height: 240px;  width: auto;  margin: 0 auto 20px;  display: block; object-fit:contain;}
ul.unordered_four_col li h3 {font-size:1.7em; line-height:1.8em; font-weight:400; color:#999736;}
ul.unordered_four_col li ul li {width:100%; text-align:left;}
.four_column_block_inner p {margin:0 0 15px;}

.unordered_three_col i {  margin-right: 0.4em;   color: #999736;}
a i {  margin-right: 0.4em;   color: #999736;}
a.contact_link {display:inline-block; margin-bottom:8px;}

.selected_posts {margin:0 auto; padding:80px 0 20px; text-align:center;}
.selected_posts h2 {display:inline-block; margin:0px auto;}
.selected_posts .projects-list-container {text-align:left;}

.contact_form {padding:60px 20px; box-sizing: border-box; text-align:center;}
.contact_form h2 {margin:0 auto 50px; display:inline-block;}
.hs-form-frame {width:100%; text-align:left; box-sizing: border-box;}

.wpcf7-form {margin:0 auto; padding:50px 0;}
.wpcf7-form label {color:#9d9d9d; font-size:18px;}
.wpcf7-form input {display:block; border-radius: 7px; color:#5c6561 !important; font-weight:400 !important; border:1px solid #f4890e; padding:8px 10px; margin:0;   font-style: normal; font-size:18px;  }
.wpcf7-form textarea { display:block; border-radius: 7px; color:#5c6561 !important; font-family: "Work Sans", sans-serif;  font-optical-sizing: auto;  font-weight: 400;  font-style: normal; position: relative;  padding:8px 10px; margin:0px;   border:1px solid #f4890e; font-size:19px; height:200px; }
.wpcf7 p {margin:0px auto;}
.wpcf7-form input, .wpcf7-form textarea {    -webkit-appearance: none;    appearance: none; box-sizing: border-box;    width: 100%;}
#wpcf7-f310-o1 form.wpcf7-form {display:block; width:100%; max-width:304px; height:auto; float:none; clear:both;  background-color:#bfc7c9; color:#000; width:100%; height:auto;}
.submit_holder {display:block; text-align:right; overflow:hidden;}

.wpcf7-form input:focus, .wpcf7-form textarea:focus {    outline: none;    border-color: #86842e;    box-shadow: 0 0 0 2px rgba(134,132,46,0.2);}
.wpcf7-form input, .wpcf7-form textarea, .wpcf7-form input.wpcf7-submit {    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;}
span.wpcf7-not-valid-tip {    font-size: 0.8em;    padding: 4px 8px;    border-radius: 4px;    white-space: nowrap;}

.wpcf7-form input.wpcf7-submit {font-family: "Work Sans", sans-serif;  font-optical-sizing: auto;  line-height:1em; border:0px solid #de3d44; padding:18px 30px;  border-radius: 7px; background-color:#999736; color:#FFF !important; display:inline-block; margin:0px 0px 15px;  text-decoration:none; text-transform: uppercase;  font-size: 0.9em;  font-weight: 600 !important; width:auto; min-height: 48px; /* Apple recommended tap size */}
.wpcf7-form input.wpcf7-submit:hover {cursor:pointer;background-color:#86842e; color:#FFF;}
.wpcf7-form input.wpcf7-submit {    letter-spacing: 0.08em;}
.wpcf7-form input.wpcf7-submit:disabled {    opacity: 0.6;    cursor: not-allowed;}

.expandable_list_holder {padding:120px 20px; text-align:center;}
.title_on_left {display: flex; flex-wrap: nowrap; justify-content:space-between; align-items:flex-start; align-content: flex-start;}
.title_on_left .expandable_list_intro {width:20%; text-align:left;}
.title_on_left .expandable_list {width:80%;}
.expandable_list_holder h2 {display:inline-block;}
.title_on_left h2:after {background-image:url(images/white/underline_short.svg) !important; width:100% !important;}
.expandable_list h3:hover {cursor:pointer;}
.expandable_content {display:none;}
ul.expandable_list {list-style-type:none; padding:0 0 20px; margin:0; text-align:left;}
ul.expandable_list li {border-bottom:1px solid grey; padding:10px 0;}
ul.expandable_list li h3 {font-size:1.7em; font-weight:400; display:block; padding:10px 40px; position:relative; }
ul.expandable_list li h3:before {content:''; transform:rotate(45deg); position:absolute; background-color:#FFB600; width:7px; height:7px; border-radius: 7px; top:21px; left:10px;}
ul.expandable_list li .expandable_content {}
ul.expandable_list li .expandable_content p {}
ul.expandable_list li .expandable_content p a {}
ul.expandable_list li .expandable_content ul {}
ul.expandable_list li .expandable_content ul li {}

.background_light_grey .expandable_content p {color:#575757;}

.background_orange {background-color:#b79f58;}
.background_orange ul.expandable_list p {color:#FFF;}
.background_orange ul.expandable_list li h3:before {background-color:#FFF;}
.background_orange ul.expandable_list li {border-bottom: 1px solid #FFF;}

.reduced_padding {padding-top:0 !important; padding-bottom:0 !important;}

.contact-popup {   position: fixed;    bottom: 30px;    right: 0px;  line-height:1em;  padding:15px 30px 10px;  border-radius: 7px 0 0 7px; background-color:#999736; color:#FFF;   text-decoration: none;   text-transform: none;  font-weight: 600;    z-index: 10;    opacity: 0;    transform: translateY(20px);    transition: opacity 0.4s ease, transform 0.4s ease; -webkit-box-shadow: 1px 3px 3px 1px rgba(0,0,0,0.1);  box-shadow: 1px 3px 3px 1px rgba(0,0,0,0.1);
}
.contact-popup.visible {    opacity: 1;    transform: translateY(0);}
.contact-popup:hover {background-color:#86842e; color:#FFF;}
.contact-popup i {color:#F0CDA7; margin:0 0 0 5px; transition: 0.3s ease;}
.contact-popup:hover i { color:#FFF;}

footer {width:100%; background-color:#86842e; color:#FFF; position: relative; z-index:20;}
.footer_container { border:0px solid grey; padding:30px 20px; display:flex;  flex-wrap: nowrap; justify-content: space-between; align-items:flex-start; }
.footer_left {}
img.footer_logo {width:110px; height:auto; margin:0 0 20px 0;}
.footer_left a {color:#e8e8e8; text-decoration:none;}
.footer_left a:hover {color:#FFF; text-decoration:underline;}
ul.social_links { display:flex; list-style-type:none; padding:0px 0px 0px; margin:0px;}
ul.social_links li {display:inline-block; margin:0 0 0 5px;}
ul.social_links li a {}
ul.social_links li a img {width:40px; height:auto;}
ul.social_links li a:hover {}
.footer_right {flex-grow: 2;}
.signup_placeholder {display:block; padding:10px 0; margin:0; width:100%; height:auto;}
.signup_form_container {display:flex; justify-content:end;}
.signup_form_container h3 {font-size:1.5em; padding:0 0 20px; margin:2px 20px 0 0; position:relative; top:1px;}
.signup_form_container a.sign_up_button { padding:5px 20px;  border-radius: 5px; background-color:#2f2f2f; color:#FFF; display:inline-block; margin:0px 0px 15px;   text-decoration:none; text-transform: uppercase;  font-size: 0.8em;  font-weight: 600;}
.signup_form_container a.sign_up_button:hover {background-color:#5b5b5b; color:#FFF; /* -webkit-box-shadow: inset 0px 0px 0px 1px #FFF; box-shadow: inset 0px 0px 0px 1px #FFF; */}

ul.footer_menu {display:block;  text-align:left; list-style-type:none; font-size:0.8em; padding:18px 18px 0 0; margin:0;}
ul.footer_menu li {display:inline-block; margin:0; padding:0;}
ul.footer_menu li:after {content:'|'; padding:0; margin:0 5px;}
ul.footer_menu li:last-of-type:after {content:'';}
ul.footer_menu li a {color:#e8e8e8; text-decoration:none;}
ul.footer_menu li a:hover {color:#FFF; text-decoration:underline;}

.footer_links_holder {display:flex; justify-content:flex-end; align-items:center;}
.copyright_holder {font-size:0.8em;}

.mobile_show {display:none;}
img.mobile_show {display:none;}

@media only screen and (max-width: 1080px) {

	ul.unordered_four_col li {width:50%;}
}


@media only screen and (max-width: 768px) {

	body {font-size:0.8em;}

	.mobile_hide {display:none !important;}
	.mobile_show {display:block !important;}

	.menui {  display: block;  background: #e8e8e8;  transition: 0.6s ease;  transition-timing-function: cubic-bezier(0.75, 0, 0.29, 1.01);  margin-top: 6px;}
	.icon {  display: inline-block;  vertical-align: middle;  z-index: 2000;  background-color: transparent;  padding: 0px;  height: 35px;  width: 35px;  margin: 0px;  top: 0px;  left: 2px;}
	.hamburger {  position: relative;  margin-left: 5px;  top: -5px; }

	a.handheld_nav {display: block; width:30px; height:30px;}
	.top-animate {  background: #fff !important;  top: 13px !important;  -webkit-transform: rotate(45deg);  transform: rotate(45deg);}
	.mid-animate {  opacity: 0;}
	.bottom-animate {  background: #fff !important;  top: 13px !important;  -webkit-transform: rotate(-225deg);  transform: rotate(-225deg);}
	.top-menu {  top: 8px;  width: 30px;  height: 3px;  border-radius: 15px;  background-color: #e8e8e8;  position: absolute;}
	.mid-menu {  top: 15px;  width: 30px;  height: 3px;  border-radius: 15px;  background-color: #e8e8e8;  position: absolute;}
	.bottom-menu {  top: 22px;  width: 30px;  height: 3px;  border-radius: 15px;  background-color: #e8e8e8;  position: absolute;}

	.hamburger_holder {  width: 35px;  height: 35px;  position: fixed;  top: 30px;  right: 20px;  padding: 5px 13px 5px 10px; border-radius: 7px;  z-index: 33333;  background-color: #999736;  -webkit-transition: all 0.2s ease-out;  -moz-transition: all 0.2s ease;  -o-transition: all 0.2s ease;}
	body.visible_nav .hamburger_holder {  background-color: #86842e;}
	body.visible_nav {overflow:hidden;}

	#mobile_navigation {display:none; position:fixed; top:0px; left:0px; width:100vw; height:100vh; background-color:#999736; color:#e8e8e8; z-index:1111; background-image:url(images/mobile_quote_yellow.svg); background-position:bottom right; background-repeat:no-repeat;  -webkit-background-size: cover;  -moz-background-size: cover;   -o-background-size: cover;  background-size: cover;}
	#mobile_navigation.expanded_nav {display:block;}
	#mobile_navigation .container {width:100%; height:100%; position:absolute; top:0px; left:0px; display:flex;  align-items:center; justify-content: center;}
	#mobile_navigation ul.mobile_menu {list-style-type:none; display:block; padding:0px 10px; font-size:1.5em; width:90%;}
	#mobile_navigation ul.mobile_menu li { display:flex; align-items:flext-start; width:100%; border-bottom:1px solid #b7b568; padding:15px 0 10px;}
	#mobile_navigation ul.mobile_menu li a {color:#e8e8e8; width:42%; font-size:0.9em; line-height:1.5em; text-transform: uppercase;    font-weight: 600;}
	#mobile_navigation ul.mobile_menu li a:hover {color:#FFF;}
	#mobile_navigation ul.mobile_menu li ul {width:55%; padding:0 0 0 3%; margin:0; font-size:0.8em;}
	#mobile_navigation ul.mobile_menu li ul li {display:block; width:100%;  border-bottom:none; padding:5px 0px;}
	#mobile_navigation ul.mobile_menu li ul li a {font-size:0.9em; line-height: 1.2em;}

	h1#main_logo a img {width:140px;}
	#mobile_logo {position:absolute; top:20px; left:20px;}
	#mobile_logo a {}
	#mobile_logo a img { width:140px; height:auto; }

	#page_header {padding-top:90px; min-height:100vh; height:auto; position:relative; box-sizing:border-box;}
	body.page .half_height:after {content:''; position:absolute; top:0; left:0; width:100%; height:100%; background-color:#000; opacity:0.6; z-index:1;}

	.quote_outer {background-color:#000;}
	.quote_background_image {opacity:0.5;}

	.page_header_inner {z-index:100;}
	.page_header_left {width:77%;}
	.page_header_left h2 {font-size:2.7em;}
	.half_height {height:auto !important; min-height:70vh !important;}
	
	body.page .half_height .page_header_left h2 {font-size:3em;}

	ul.logos_container {text-align:center; display:block;}
	ul.logos_container li {margin:20px 0;}
	ul.logos_container li img {max-height: 90px;  max-width: 190px;}

	.text_container {display:block;}
	.text_container .left_col, .text_container .right_col {width:auto; padding:0px 20px 0px 0px;}
	ul.image_links {display:block;}
	ul.image_links li {width:100%; padding-bottom:20px;}
	ul.image_links li a img {height:350px;}
	ul.image_links li a .link_text_inner {padding:20px;}
	ul.image_links li a .link_text_inner h3 {font-size:1.5em;}
	ul.image_links li a span.link_subtitle {font-size:1em;}
	
	.quote_block_text {width:90%;}

	.large_breaker { padding:100px 30px;}
	.large_breaker h2 {font-size:2.9em;}

	.large_image_block_inner .text_container {padding:30px;}
	.large_image_block_inner .text_container_inner h2 {font-size:2em;}
	.full_width_image { margin:20px 0;}

	.single_post {flex-wrap:wrap-reverse;}
	.single_post_masthead_left {width:100%; position:relative;}
	.single_post_masthead_text {width:100%; max-width:650px; position:relative; padding:80px 20px;}
	.single_post_masthead_text h2 {}
	ul.single_post_details {}
	ul.single_post_details li {}
	.single_post_detail_left {}
	.single_post_detail_right {}
	.single_post_masthead_right {width:100%; position:relative; height:50vh;}
	ul.single_post_images li.thirds {width:100%;}
	ul.single_post_images li.half {width:100%;}

	.image_carousel_inner {padding-left:0px !important; padding-right:0px !important;}
	.image_carousel_holder .slick-slide img {height:auto;}
	.image_grid_holder {padding-top:40px; padding-bottom:20px;}
	ul.image_grid li {width:43%;}

	.list_block {padding:0px  20px;}
	ul.two_column_list li , ol.two_column_list li {width:100%;}
	ul.unordered_list_block li h3 {padding-left:0px;}
	ol.ordered_list_block li h3 {padding-left:0px;}
	ul.unordered_list_block.checkbox_list {padding-left:35px;}
	ul.unordered_list_block li {padding:8px 0 12px 0; }
	ul.unordered_list_block.checkbox_list li:before {width:25px; height:25px; left:-35px;}

	#projects-list-container {padding:50px 20px; box-sizing:border-box;  display:block;}
	.projects_list_item {width:100%;  padding:0 0 20px;}
	.projects_list_item a {display:block; background-color:#000; position:relative; overflow:hidden;}
	.projects_list_item a .projects_list_image {height:auto;}
	.projects_list_item a .projects_list_image img {display:block; width:100%; height:250px; object-fit: cover;}
	.projects_list_text { position:relative; width:100%; height:auto; z-index:1;  transform: translateY(0); }
	.projects_list_text h3 {}

	.projects_list_text .single_post_details { opacity:100; }

	ul.unordered_three_col {display: block;}
	ul.unordered_three_col li {width:100%; padding:0 20px 20px; box-sizing:border-box;}
	ul.unordered_three_col li ul {padding:0 0 0 10px;}
	ul.unordered_three_col li ul li {padding:0 5px 5px;}

	.title_on_left {display:block;}
	.title_on_left .expandable_list_intro {display:block; width:100%;}
	.title_on_left .expandable_list {width:100%;}
	ul.expandable_list li h3 {font-size:1.5em;}

	.footer_container {display:block;}
	.footer_left {  padding-bottom: 20px;}
	.signup_form_container {flex-wrap: wrap; justify-content: flex-start; padding-bottom: 20px;}
	.signup_form_container h3 {display:block; width:100%; padding-bottom:10px !important;}
	.footer_links_holder {flex-wrap:wrap-reverse;}
	.footer_menu {width:100%;}
	.social_links {width:100%;}
	.footer_menu .menu ul {padding-left:0;}
}

@media only screen and (max-width: 540px) {

	ul.unordered_four_col li {width:100%;}

}

@media only screen and (max-width: 380px) {

}