/*
Theme Name: Fairerol
Theme URI: https://fairerol.com/
DESCRIPTION: Fairerol custom Wordpress theme
Version: 1.0
Author: Tonya Lawrence / tjldesigns.com
Author URI: https://tjldesigns.com
Tags: Fairerol
*/

/** reset **/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,button{border:0;outline: none;font-size:100%;font:inherit;background: transparent; vertical-align:baseline;margin:0;padding:0}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
body{line-height:1; -webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:''; content:none;}
table{border-collapse:collapse;border-spacing:0}

/**

@font-face {
    font-family: 'DM Sans';
    src: url('/wp-content/themes/fairerol/fonts/DMSans-Bold.woff2') format('woff2'),
        url('/wp-content/themes/fairerol/fonts/DMSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DM Sans';
    src: url('/wp-content/themes/fairerol/fonts/DMSans-BoldItalic.woff2') format('woff2'),
        url('/wp-content/themes/fairerol/fonts/DMSans-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

**/

@font-face {
    font-family: 'DM Sans';
    src: url('/wp-content/themes/fairerol/fonts/DMSans-Medium.woff2') format('woff2'),
        url('/wp-content/themes/fairerol/fonts/DMSans-Medium.woff') format('woff');
    font-weight: 500; font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'DM Sans';
    src: url('/wp-content/themes/fairerol/fonts/DMSans-MediumItalic.woff2') format('woff2'),
        url('/wp-content/themes/fairerol/fonts/DMSans-MediumItalic.woff') format('woff');
    font-weight: 500; font-weight: bold;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'DM Sans';
    src: url('/wp-content/themes/fairerol/fonts/DMSans-Regular.woff2') format('woff2'),
        url('/wp-content/themes/fairerol/fonts/DMSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'DM Sans';
    src: url('/wp-content/themes/fairerol/fonts/DMSans-Italic.woff2') format('woff2'),
        url('/wp-content/themes/fairerol/fonts/DMSans-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

:root {
  --dmsans:'DM Sans', sans-serif;
  --navy: #1E1E32;
  --orange: #F84600;
  --black: #000;
  --white: #fff;
  --grey: #E5E5E5;
    /**
  --grey: #4D4D4D;
  --grey-bkg: #F5F5F4;
  --purple: #301D41;
  --cian: #45C2CC;
  --yellow: #FABD30;
  --dmsans:"stolzl", sans-serif;
  **/
}

/**
color:var(--yellow)
font-family:var(--alderwood)
background-color:var(--dark-greenop)
**/

@view-transition {navigation: auto;}

/* general */

#overall-wrapper { /**** overflow:hidden;  *****/ }
#overall-wrapper.noscroll { /** height: 100vh; **/ overflow: hidden; }
html.noscroll, html.noscroll body { overflow: hidden; position: relative; /** height: 100%; **/ }

html,body { /** overflow-x: hidden; **/   -webkit-tap-highlight-color: rgba(0,0,0,0); }
html { /** overflow-y: scroll; **/  overflow-y: scroll; }

body::-webkit-scrollbar, body *::-webkit-scrollbar { width: 10px; }
body::-webkit-scrollbar-thumb, body *::-webkit-scrollbar-thumb { background-color: var(--orange); }
body::-webkit-scrollbar-track, body *::-webkit-scrollbar-track { background: var(--navy); background: #D9D9D9; background: #D5D5D5; }
body *::-webkit-scrollbar { width: 6px; }

/** below copied to wp-admin.css - START **/

body { font: 400 2rem/107% var(--dmsans); letter-spacing: -0.02em; background: var(--grey); color: var(--black); }
body.wp-theme-fairerol:not(.wp-admin) { background: var(--navy);}
#overall-wrapper { background: var(--grey); border-bottom: 40px solid var(--grey);}

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
img, canvas, figure { max-width: 100%; height: auto; }

strong { font-weight: bold; }
em { font-style: italic; }

h1, h2, h3, h4, h5, h6, p { padding: 0 0 25px 0; padding: 0 0 32px 0; }
h1, h2, h3, h4, h5, h6, .h1_styler, .h2_styler, .h3_styler { font-weight: bold; color: var(--orange); }
h1, .h1_styler {  } 
h2, .h2_styler {  } 
h3, .h3_styler {  } 
h4 {  }
h5 {  }
p {  }
a, button { color: var(--black); text-decoration: underline; transition: all .3s ease; -o-transition: all .3s ease; -moz-transition: all .3s ease; -webkit-transition: all .3s ease;    -webkit-font-smoothing: antialiased; }
a:hover { text-decoration: none; }
	a[href^="tel:"] { text-decoration: none !important; cursor: default; }
a, button, h2, h3, h4 { text-underline-offset: 3px; }

ul, ol { margin: 0 0 0 14px; padding: 0 0 27px 0; }
ul { list-style: disc; margin: 0 0 0 20px; }
ol { list-style: decimal; margin: 0 0 0 18px; }
ul li, ol li { padding: 0 0 10px 0; margin: 0;  padding: 0 0 5px 0; }
ul ul { padding: 10px 0 0 0; }
ul ul li { padding: 0 0 10px 0; }

table { margin: 0 0 15px 0; }
table td, table th { padding: 10px 5px; }

hr {  }

::-moz-selection { background-color: var(--navy); color: #fff; }
::selection { background-color: var(--navy); color: #fff; }

.clearfix { zoom: 1; }
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
.clearfix:after { clear: both; }

.txt_small { font-size: 1rem; letter-spacing: -0.02em; line-height: 130%; }
.button_cta { display:inline-block; font-size:16px; line-height:20px; padding:16px 35px; text-align:center; text-decoration: none; color:var(--purple); border: 2px solid var(--purple); -webkit-border-radius: 50px; -moz-border-radius: 50px; border-radius: 50px; }
.button_cta:hover { color:var(--cian); border-color:var(--cian); }

/** below copied to wp-admin.css - END **/

/** general layout **/

.container { margin: 0 auto; width: 100%; padding: 0 40px;          max-width: 2100px; }

input, textarea, #header_main, .builder_projects_archive_gallery ol li, #header_main nav, .client_list_section { transition: all .3s ease; -o-transition: all .3s ease; -moz-transition: all .3s ease; -webkit-transition: all .3s ease; }
#search_form, #search_form_bkg, #home_loader .container::after { transition: all .8s ease; -o-transition: all .8s ease; -moz-transition: all .8s ease; -webkit-transition: all .8s ease; }
#home_loader, #home_loader .container > div, #home_loader_v2 { transition: all 1.2s ease; -o-transition: all 1.2s ease; -moz-transition: all 1.2s ease; -webkit-transition: all 1.2s ease; }
#home_loader { overflow: hidden;}

a.view-article { display: none; }

.clear { clear: both; }
.float_left, .alignleft { float: left; margin: 5px 35px 10px 0; }
.float_right, .alignright { float: right; margin: 5px 0 10px 35px; }
.no_padding { padding: 0; }

.embed-container { position: relative; height: 0; overflow: hidden; padding-bottom: 56.25%; /* 16x9 Aspect Ratio */  max-width: 100%; height: auto; }
.embed-container-4x3 { padding-bottom: 75%; /* 4x3 Aspect Ratio */ }
.embed-container-square { padding-bottom: 100%; }
.embed-container-mobile { padding-bottom: 132%; }
.embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top:0; left: 0; width: 100%; height: 100%; }
    .embed-container-wrapper { margin-top: 20px; margin-bottom: 40px; }

.disable_select { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; }

.pag_nav { display: block; clear: both; text-align: center; }
.pag_nav a { text-decoration: none; }

/** general form styles **/

form { margin: 0; }

input { outline: none !important; }
input, select, textarea { -webkit-border-radius: 0px; -moz-border-radius: 0px; border-radius: 0px; }
input.text, select, textarea,  .sf-field-search input { padding: 10px 15px; margin: 0; border: 1px solid #fff; outline: none; background-color: #fff; font: inherit; }
select { /** min-height: 43px; padding: 0 10px; **/ }
label {  }
input.text, textarea, select { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
input[type='submit'] { -webkit-appearance: none; -moz-appearance: none; appearance: none; }

::-webkit-input-placeholder { color: #1E1E32 !important; }
:-moz-placeholder { /* Firefox 18- */ color: #1E1E32 !important; }
::-moz-placeholder {  /* Firefox 19+ */ color: #1E1E32 !important; }
:-ms-input-placeholder { color: #1E1E32 !important; }

/* remove the default icon */
input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; width: 24px; height: 24px; background: url('/wp-content/themes/fairerol/images/icon-cross.svg') no-repeat center; background-size: 24px 24px; cursor: pointer; }

/** contact form **/

.form_list { margin: 0 auto; padding: 0; list-style: none; list-style-image: none; /** max-width: 380px;  **/ }
.form_list li { margin: 0; padding: 0 0 19px 0; display: block; }
.form_list li label {  }
.form_list li .text, .form_list li textarea, .form_list li select { width: 100%; display: block; padding-top: 10px; padding-bottom: 10px; }
.form_list li .text.wpcf7-not-valid { border-color: #E30428 !important; }
.form_list li textarea { height: 120px; }
.form_list li.form_button { padding: 0; }
.form_list li.form_button input {  }

.form_list li select, .searchandfilter select { -webkit-appearance: none; -moz-appearance: none; appearance: none; display: block; width: 100%; background: url(/wp-content/themes/osbornes/images/arrow-down-select.png) 100% 50% no-repeat #fff; background-size: auto 9px; padding-right: 35px; }
.form_list li select::-ms-expand, .searchandfilter select::-ms-expand { display: none; }

.wpcf7-not-valid-tip { display: block; padding: 5px 0 0 0;  display: none !important; }
.wpcf7-not-valid-tip, .wpcf7-not-valid-tip * {  }
form.invalid .wpcf7-not-valid { /** background: #fbe122;  border: 1px solid #fbe122; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; **/ }

.wpcf7 form .wpcf7-response-output { clear: both; border: none; margin: 0; color: #269FC7; padding: 20px 0 0 0; text-align: left; font-weight: bold; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { color: #E10600; font-weight: bold; }

.form-hidden-fields { display: none !important; }
.ajax-loader { display: none !important; }

/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none;
    -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent;  padding: 0; margin: 0; }
.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track { position: relative; top: 0; left: 0; display: block; }
.slick-track:before, .slick-track:after { display: table; content: ''; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;  padding: 0; margin: 0; }
[dir='rtl'] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden { display: none; }

/**
.slick-arrow { z-index: 10; z-index: 3; background: url(/wp-content/themes/exagen/images/scroller-left.svg) center no-repeat; background-size: 50px 50px; border: none; outline: none; text-indent: -9999px; width: 50px; height: 50px; cursor: pointer;  transition: all .3s ease; -o-transition: all .3s ease; -moz-transition: all .3s ease; -webkit-transition: all .3s ease; }
.slick-arrow:hover {  }
.slick-prev.slick-arrow {  }
.slick-next.slick-arrow { background-image: url(/wp-content/themes/exagen/images/scroller-right.svg); }
.slick-prev.slick-arrow.slick-disabled { background-image: url(/wp-content/themes/exagen/images/scroller-left-inactive.svg); }
.slick-next.slick-arrow.slick-disabled { background-image: url(/wp-content/themes/exagen/images/scroller-right-inactive.svg); }

.slick-dots { margin: 0; padding: 35px 0 0 0; list-style: none; list-style-image: none; display:flex; align-items:center; justify-content:center; gap: 0 14px; }
.slick-dots li { margin: 0; padding: 0 !important; width: auto !important; float: none !important; }
.slick-dots li button { cursor: pointer; background: rgba(255,255,255,0.3); text-indent: -9999px; outline: none; border: none; padding: 0; width: 10px; height: 10px; line-height: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; transition: all .3s ease; -o-transition: all .3s ease; -moz-transition: all .3s ease; -webkit-transition: all .3s ease; }
.slick-dots li button:hover, .slick-dots li.slick-active button { background: var(--cian); }

**/

.wobble { -webkit-animation: wobble 2.5s ease-out; -webkit-animation-iteration-count: infinite; }
@-webkit-keyframes wobble {
    0% {-webkit-transform: translate3d(0, 0, 0); }
    50% {-webkit-transform: translate3d(0, -10px, 0); }
    100% {-webkit-transform: translate3d(0, 0, 0); }    
}

    .hamburger { padding: 0; display: flex; gap: 0 10px; align-items: center; cursor: pointer; transition-property: opacity, filter; transition-duration: 0.15s; transition-timing-function: linear; font: inherit; color: inherit; text-transform: none; background-color: transparent; border: 0; margin: 0; overflow: visible;           display: none; }
    .hamburger:hover { /** opacity: 0.7; **/ }
    .hamburger.is-active {  }

    .hamburger-box { width: 26px; height: 11px; top: 0; display: inline-block; position: relative; }

    .hamburger-inner { display: block; top: 50%; top: 0; }
    .hamburger-inner, .hamburger-inner::after { width: 26px; height: 2px; background-color: var(--black); position: absolute; transition-property: transform; transition-duration: 0.15s; transition-timing-function: ease; }
    .hamburger-inner::after { content: ""; display: block; }
    .hamburger-inner::after { bottom: -8px; }

    .hamburger--spin .hamburger-inner { transition-duration: 0.22s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
    .hamburger--spin .hamburger-inner::after { transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

    .hamburger--spin.is-active .hamburger-inner { transform: rotate(225deg); transition-delay: 0.12s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
    .hamburger--spin.is-active .hamburger-inner::after { bottom: 0 !important; transform: rotate(-90deg); transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

    .hamburger-label { color: #fff; font-size:17px; line-height: 17px; font-weight:400; font-weight:300; letter-spacing: -0.01em; }

/** header **/

#header_main { padding: 29px 0; width: 100%; position: fixed; top: 0; left: 0; background-color: rgba(229, 229, 229, .7); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); z-index: 99999; }
#header_main .container { display: flex; align-items: center;}
#header_main #logo_fairerol { display: block; line-height: 7px; }
#header_main nav { flex-grow: 1;}
#header_main nav ul { margin: 0; padding: 0 0 0 32px; list-style: none; list-style-image: none; display: flex; gap: 10px 24px; flex-wrap: wrap;}
#header_main nav ul li { margin: 0; padding: 0; font-size: 1rem; letter-spacing: -0.02em;}
#header_main nav ul li a { text-decoration: none;}
#header_main nav ul .current-menu-item a, #header_main nav ul li a:hover { color: var(--orange); }
    .industry-architecture #header_main nav ul .menu-item-29 a,
    .industry-retail #header_main nav ul .menu-item-28 a,
    .industry-furniture #header_main nav ul .menu-item-27 a { color: var(--orange); }
#header_main nav ul li.menu_search { margin-left: auto; }
#header_main span.menu_search { display: none; }
.search-open #header_main nav ul li.menu_search a { color: var(--orange);}

.scrolling #header_main { -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.12); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.12); box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.12);      padding: 12px 0; }

#section_main { padding: 123px 0 0 0;}

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; /* prevents the text wrapping */ border: 0;}

/** home **/

.page_intro { width: 52.6%;     width: 40.5%; max-width: 965px;}
.page_intro h1 { font-weight: normal; color: var(--black);}
.page_intro h1 strong { font-weight: normal; color: var(--orange);}
#home_projects { width: 59.5%; margin-left: auto; padding: 0 0 30px 0;   /** margin-top: -57px; **/ }
#home_projects h2 { /** font-size: 1rem; **/ color: var(--black); letter-spacing: -0.02em; font-weight: 400;}

.toggle_more { font-weight: bold; font-size: 1rem; line-height: 100%; }
.toggle_more button { text-decoration: none; cursor: pointer;}
.toggle_more button:hover { text-decoration: underline;}
.toggle_content { display: none;}

.page.search .page_intro { width: 100% !important; max-width: 100% !important; padding: 0 0 30px 0;}

/** projects **/

.single-projects .page_intro h1 { color: var(--orange); padding: 0 0 8px 0; font-weight: bold;}
.project_stats { margin: 0; padding: 0 0 40px 0; list-style: none; list-style-image: none; display: flex; flex-direction: column;}
.project_stats li { margin: 0; padding: 0; font-size: 1rem; line-height: 130%; letter-spacing: -0.02em; display: block;}
.project_stats li strong { color: var(--orange);}
.project_back, .project_back_base { font-size: 1rem; line-height: 130%;  letter-spacing: -0.02em; padding: 0 0 30px 0; margin: -20px 0 0 0; }
.project_back_base { margin: 0; padding-top: 30px; }
.project_back_base a { color: var(--orange); text-decoration: none;}
.project_back_base a:hover { text-decoration: underline;}

/** builder **/

.builder { padding: 0 0 40px 0; }
.builder_banner { line-height: 7px;}
.builder_banner img { width: 100%; height: auto;}

.builder_imgtxt { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 40px 0; }
.builder_imgtxt.middle { align-items: center;}
.builder_imgtxt.base { align-items: flex-end;}
.builder_imgtxt.txtimg { flex-direction: row-reverse; }

.builder_imgtxt_img { width: 59.5%; line-height: 7px; }
.builder_imgtxt_img img { width: 100%; height: auto; }
.builder_imgtxt_txt { width: 40.5%; padding: 0 118px 0 30px;           margin-bottom: -32px; }

.builder_imgtxt_portrait .builder_imgtxt_img, .builder_imgtxt_portrait .builder_imgtxt_txt, .builder_imgtxt_fixed_portrait .builder_imgtxt_img, .builder_imgtxt_fixed_portrait .builder_imgtxt_txt { width: 50%; }
.builder_imgtxt_portrait .builder_imgtxt_txt *, .builder_imgtxt_fixed_portrait .builder_imgtxt_txt * { max-width: 424px;}

/** .testimonial .builder_imgtxt_txt p { line-height: 125%;} **/
.testimonial .builder_imgtxt_txt footer.txt_small { margin-top: -23px;      color: var(--orange); }
.builder_imgtxt.txtimg .builder_imgtxt_txt { padding: 0 30px 0 118px; text-align: right;}

@media all and (min-width: 671px) {
    .testimonial .builder_imgtxt_txt { margin-bottom: -40px;}
    .testimonial .builder_imgtxt_txt p, .testimonial .builder_imgtxt_txt h2, .testimonial .builder_imgtxt_txt h3, .testimonial .builder_imgtxt_txt footer.txt_small { padding: 0 0 40px 0;}
    .testimonial .builder_imgtxt_txt ul { padding-bottom: 35px;}
}

.builder_2cols { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px;       gap: 40px 20px; }
.builder_2cols_col { display: flex; flex-direction: column; gap: 30px 0;}
.builder_2cols_col_img { padding: 0; line-height: 7px;}
.builder_2cols_col_img img { width: 100%; height: auto;}
.builder_2cols_col_img_info { width: 100%; max-width: 266px; max-width: 40%;}
.builder_2cols_col_img_info.wide { max-width: 100%;}
.builder_2cols_col_img_info p, .builder_2cols_col_img_info li { font-size: 1rem; letter-spacing: -0.02em; line-height: 120%;}

@media all and (min-width: 671px) and (max-width: 1200px) {
    .builder_2cols_fixed_landscape .builder_2cols_col_img img, .builder_imgtxt_fixed_landscape .builder_imgtxt_img img { height: 350px; min-height: 100%; object-fit: cover; object-position: center; }
    .builder_2cols_fixed_portrait .builder_2cols_col_img img, .builder_imgtxt_fixed_portrait .builder_imgtxt_img img { height: 600px; min-height: 100%; object-fit: cover; object-position: center; }
}
@media (min-width:1201px) and (max-width: 1649px) {
    .builder_2cols_fixed_landscape .builder_2cols_col_img img, .builder_imgtxt_fixed_landscape .builder_imgtxt_img img { height: 482px; min-height: 100%; object-fit: cover; object-position: center; }
    .builder_2cols_fixed_portrait .builder_2cols_col_img img, .builder_imgtxt_fixed_portrait .builder_imgtxt_img img { height: 827px; min-height: 100%; object-fit: cover; object-position: center; }
}
@media (min-width:1650px) {
    .builder_2cols_fixed_landscape .builder_2cols_col_img img, .builder_imgtxt_fixed_landscape .builder_imgtxt_img img { height: 620px; min-height: 100%; object-fit: cover; object-position: center; }
    .builder_2cols_fixed_portrait .builder_2cols_col_img img, .builder_imgtxt_fixed_portrait .builder_imgtxt_img img { height: 1024px; min-height: 100%; object-fit: cover; object-position: center; }
}

/** @media (min-width:1801px) { **/
@media (min-width:1400px) {
    .builder_banner.builder_banner_fixed img, .builder_projects_other .projects_grid li:first-of-type img { width: 100%; max-height: 90svh; object-fit: cover; object-position: center; }
}

.builder_projects_archive { display: flex; flex-wrap: wrap; position: relative; align-items: flex-start;}
.builder_projects_archive_nav { width: 40.5%; }
.builder_projects_archive_gallery { width: 59.5%; position: sticky; top: 0; top: 142px; }

.builder_projects_archive_nav > ol { margin: 0; padding: 0 40px 0 0; list-style: none; list-style-image: none; display: flex; flex-direction: column;}
.builder_projects_archive_nav > ol > li, .builder_projects_archive_nav > ol > li > ol > li { margin: 0; padding: 0; font-size: 1.5rem; line-height: 115%; letter-spacing: -0.02em; }
.builder_projects_archive_nav > ol > li a { color: var(--black); text-decoration: none; }
.builder_projects_archive_nav > ol > li a:hover, .builder_projects_archive_nav > ol li a.active { color: var(--orange); text-decoration: none;}

        /* new submenu **/
        .builder_projects_archive_nav > ol > li > ol > li { font-size: 1.4rem;}
        /* Base state: collapsed children */
        .builder_projects_archive_nav li.has-children > ol.children { max-height: 0; opacity: 0; visibility: hidden; overflow: hidden;
            transition: max-height 1.5s ease-in-out, opacity 1.1s ease-in-out, visibility 0s linear 1.5s; /* delay hiding until after animation */
            will-change: max-height, opacity;
            margin: 0 0 0 1rem; list-style: none; list-style-image: none; padding: 0;
        }

        /* Reveal on hover or keyboard focus */
        .builder_projects_archive_nav li.has-children:hover > ol.children,
        .builder_projects_archive_nav li.has-children:focus-within > ol.children {
            max-height: 1000px; opacity: 1; visibility: visible;
            transition: max-height 1.5s ease-in-out, opacity 1.1s ease-in-out, visibility 0s; /* show immediately */
        }
        .builder_projects_archive_nav li.has-children > ol.children > li:first-child { margin-top: 0.25rem; }
        .builder_projects_archive_nav li.has-children > ol.children > li:last-child { margin-bottom: 15px; }

        /* Optional reset */
        .builder_projects_archive_nav ol ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
        .builder_projects_archive_nav li.has-children { position: relative; }

        /* Respect motion settings */
        @media (prefers-reduced-motion: reduce) {
            .builder_projects_archive_nav li.has-children > ol.children { transition: none; }
        }

        .builder_projects_archive_nav li.has-children > a { position: relative; }
        .builder_projects_archive_nav li.has-children > a::after { content: "+"; position: absolute; margin-top: 1px; right: -1.2rem; top: 50%; transform: translateY(-50%); transition: transform 0.2s ease, content 0.2s ease; }

        .builder_projects_archive_nav li.has-children:hover > a::after,
        .builder_projects_archive_nav li.has-children:focus-within > a::after,
        .builder_projects_archive_nav li.has-children.touch-open > a::after { content: "–"; }


.builder_projects_archive_gallery ol { margin: 0; padding: 0; list-style: none; list-style-image: none; position: relative; }
.builder_projects_archive_gallery ol > li { margin: 0; padding: 0; /** position: absolute; top: 0; right: 0; **/   opacity: 0; visibility: hidden; z-index: -1;     height: 0; overflow: hidden;}
.builder_projects_archive_gallery ol > li.active { opacity: 1; visibility: visible; z-index: 1;     height: auto; }
.builder_projects_archive_gallery ol li article { position: relative;}
.builder_projects_archive_gallery ol li article a.full { position: absolute; top: 0; left: 0; right: 0; bottom: 0; text-indent: -9999px; overflow: hidden;}
.builder_projects_archive_gallery ol li article .builder_projects_archive_gallery_img { padding: 0; line-height: 7px; margin: 0 0 39px 0; overflow: hidden;}
.builder_projects_archive_gallery ol li article .builder_projects_archive_gallery_img img { width: 100%; height: auto; transition: transform 0.3s ease; transform-origin: center center;  max-height: 60svh; object-fit: cover; object-position: center; }
/** .builder_projects_archive_gallery ol li article:hover .builder_projects_archive_gallery_img img {transform: scale(1.025); } **/
.builder_projects_archive .project_stats { padding: 0;}
.builder_projects_archive_heading { width: 100%; padding: 0 0 15px 0;}
.builder_projects_archive_heading > * { max-width: 780px;}
.project_stats li a { text-decoration: none;}
.project_stats li a:hover {text-decoration: underline;}

/** .builder_team { display: flex; flex-direction: column; gap: 40px 0; } **/
.builder_team article { width: 100%; padding: 30px 0 0 0;}
.builder_team .builder_team_info { max-width: 610px; max-width: 45.6%;}
.builder_team .builder_team_img { line-height: 7px; width: 100%; max-width: 793px; max-width: 59%; height: auto; }
.builder_team .builder_team_img img { width: 100%; height: auto; }

.builder_info_holder { max-width: 755px; max-width: 56%;}

.builder_services ul { margin: 0; padding: 53px 0 85px 0; list-style: none; list-style-image: none; column-count: 2; column-gap: 50px; max-width: 1076px; /** max-width: 79%; **/ }
.builder_services ul li { margin: 0; padding: 0; font-weight: bold;}

.builder_contact { display: flex; flex-wrap: wrap;}
.builder_contact h2.builder_contact_header { width: 100%;}
.builder_contact_left { width: 40.5%; padding: 0 40px 0 0; font-size: 1.5rem; line-height: 115%; letter-spacing: -0.02em; }
    .page-id-16 .builder_projects_archive_heading { font-size: 1.5rem; line-height: 115%; letter-spacing: -0.02em; }
    .page-id-16 .builder_projects_archive_heading p { width: 40.5%; padding-right: 40px; }
.builder_contact_right { width: 59.5%; }
.builder_contact_right img { width: 100%; height: auto;}

/** project grid **/

.builder_projects h2 { font-weight: normal; padding-top: 45px;}
.projects_grid { margin:0; padding: 0; list-style: none; list-style-image: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px;       gap: 40px 20px; }
.projects_grid li { margin: 0; padding: 0;}
.projects_grid li article { position: relative; overflow: hidden; }
.projects_grid li .projects_grid_img { line-height: 7px; padding: 0; overflow: hidden;}
.projects_grid li img { width: 100%; height: auto;       object-fit: cover; object-position: center;       transition: transform 0.3s ease; transform-origin: center center; }
    .projects_grid_resize li img { aspect-ratio: 11 / 7.5; }
.projects_grid li h3 { font-size: 1rem;  letter-spacing: -0.02em; line-height: 120%; font-weight: normal; color: var(--black); padding: 21px 0 0 0; }
.projects_grid li a { display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; text-indent: -9999px; overflow: hidden;}
/** .projects_grid li article:hover img { transform: scale(1.05); } **/
.projects_grid li article:hover h3 { text-decoration: underline;}

#home_projects .projects_grid { grid-template-columns: repeat(1, 1fr); }

.builder_projects_other h2 { padding-bottom: 7px;}
.builder_projects_other .projects_grid li:first-of-type { grid-column: 1 / -1; }
.builder_projects_other .projects_grid li:not(:first-of-type) img { /** aspect-ratio: 11 / 5.5; **/ aspect-ratio: 11 / 7.5; }
.builder_projects_other .projects_grid li:first-of-type article { display: flex; flex-direction: column-reverse; gap: 40px 0; }
.builder_projects_other .projects_grid li:first-of-type article h3 { font-size:1.5rem; line-height: 115%; letter-spacing: -0.02em; }

#search_form { position: fixed; top: -1000px; opacity: 1; left: 0; right: 0; padding: 200px 0 80px 0; background: var(--grey); z-index: 10; }
#search_form.open { top: 0; opacity: 1;  -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.12); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.12); box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.12); }
#search_form label, #search_form button { display: none;}
#search_form #menu_search_keyword { font-size: 2rem; line-height: 100%; letter-spacing: -0.02em; padding: 10px 0; border: 0; background: transparent; border-bottom: 0.5px solid var(--black); width: 100%; }
#search_form_bkg { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.4); opacity: 0; pointer-events: none; }
.search-open #search_form_bkg, .open-menu #search_form_bkg { opacity: 1; pointer-events: auto; }

form.searchandfilter { display: none;}

#home_loader { position: fixed; top: 0; left: 0; width: 100%; z-index: 999999999; background: var(--grey);      -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.12); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.12); box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.12); }
#home_loader .container { min-height: 100svh; display: flex; flex-direction: column; justify-content: space-between; padding-top: 34px; padding-bottom: 40px; }
#home_loader .container > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px 35px;         left: 0; position: relative; }
#home_loader .container > div p { font-size: 2rem; line-height: 130%; color: var(--navy); padding: 0;}

#home_loader_scroller { margin: 0 -20px; padding: 0; list-style: none; list-style-image: none;}
#home_loader_scroller li { margin: 0; padding: 0 20px; line-height: 7px; }
#home_loader_scroller li.logo img { width: calc(100vw - 80px) !important;}

#home_loader .slick-list { overflow: visible;}

#home_loader.slideaway { left: calc(-100% - 30px);}
#home_loader.slideaway .container > div { left: -20%; left: -400px; }

#home_loader .container::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--grey); z-index: 10; pointer-events: none; opacity: 0; }
#home_loader.slideaway .container::after { opacity: 1; }

/** new homepage loader **/

#home_loader_v2 { position: fixed; top: 0; left: 0; width: 100%; z-index: 999999999; background: var(--grey); cursor: pointer;}
#home_loader_v2 .container { min-height: 100svh; max-width: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 34px; padding-bottom: 34px; position: relative; z-index: 1; }
#home_loader_v2 .container #home_loader_v2_logo { width: 100%; height: auto; }
#home_loader_v2 > img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; object-position: center; object-fit: cover;}
#home_loader_v2.fadeaway { opacity: 0; z-index: -1; pointer-events: none; visibility: hidden;}

/** client list **/

.client_list_section { opacity: 0; height: 0; overflow: hidden; visibility: hidden; position: relative;}
.client_list_section.open {opacity: 1; height: auto; overflow: visible; visibility: visible; z-index: 1; }


.client_list_section ul { margin:0; padding:0 0 20px 0; list-style: none; list-style-image: none; max-width: 1130px; max-width: 1440px; column-count: 3; column-gap: 50px; }
.client_list_section ul li { margin:0; padding:0; display: block; break-inside: avoid-column; font-weight: 400; font-size: 1.5rem; line-height: 117%; letter-spacing: -2%; }
.client_list_section ul li a, .client_list_back a { text-decoration: none;}
.client_list_back a { display: flex; align-items: center; gap: 3px; font-weight: bold; }
.client_list_section ul li a:hover, .client_list_back a:hover { color: var(--orange);}
.client_list_section.client_list_info h3 { font-weight: 400; font-size: 24px; line-height: 117%; letter-spacing: -2%; padding: 0 0 20px 0; }
.client_list_section.client_list_info ul li, .client_list_back { font-size: 1rem; line-height: 120%; }
.client_list_section.client_list_info ul li p { padding: 0 0 20px 0;}

.builder_services ul { max-width: 941px; padding-top: 0; padding-bottom: 65px; }
.builder_services ul li { font-weight: 400; font-size: 1.5rem; line-height: 28px; }

/** footer **/

#site_footer { background: var(--navy); padding: 38px 0; /** margin: 40px 0 0 0; **/ }
#site_footer * { color: var(--white);}
#site_footer #logo_fairerol_footer { padding: 0 0 190px 0;}

#site_footer_flex { display: flex; justify-content: space-between; gap: 40px; }
#site_footer_flex nav { display: flex; flex-wrap: wrap; width: calc(100% - 244px); gap: 40px 90px; }
#site_footer_flex nav div { max-width: 135px;}
#site_footer_flex nav div p { font-size: 0.875rem; letter-spacing: -0.02em; line-height: 130%; padding: 0; }
#site_footer_flex nav div ul { margin: 0; padding: 0; list-style: none; list-style-image: none; }
#site_footer_flex nav div ul li { margin: 0; padding: 0; font-size: 0.875rem; letter-spacing: -0.02em; line-height: 130%; }
#site_footer_flex nav div a { text-decoration: none;}
#site_footer_flex nav div a:hover { text-decoration: underline;}
#site_footer_flex small { width: 244px; font-size: 0.875rem; letter-spacing: -0.02em; line-height: 130%;}

@media all and (min-width: 0px) and (max-width : 1800px) {



}

@media all and (min-width: 0px) and (max-width : 1600px) {
    #site_footer_flex nav { gap: 40px 56px; }
}

@media all and (min-width: 0px) and (max-width : 1530px) {

}

@media all and (min-width: 0px) and (max-width : 1500px) {

    .builder_2cols_col_img_info { max-width: 60%;}

}

@media all and (min-width: 0px) and (max-width : 1450px) {

    .builder_team .builder_team_info { max-width: 610px; }
    .builder_team .builder_team_img { max-width: 793px; }

    .builder_info_holder { max-width: 755px; }

    /* .builder_services ul { max-width: 1076px; } */

}

@media all and (min-width: 0px) and (max-width : 1400px) {


}

@media all and (min-width: 0px) and (max-width : 1380px) {


}

@media all and (min-width: 0px) and (max-width : 1320px) {

    .page_intro { width: 80%;}

    #home_projects { margin-top: 0;}

    .builder_imgtxt_txt { padding-right: 30px;}
    .builder_imgtxt.txtimg .builder_imgtxt_txt { padding-left: 30px;}

}

@media all and (min-width: 0px) and (max-width : 1200px) {



}

@media all and (min-width: 0px) and (max-width : 1180px) {




}

@media all and (min-width: 0px) and (max-width : 1080px) {




}

@media all and (min-width: 0px) and (max-width : 1024px) {

    .builder_imgtxt_img, .builder_imgtxt_txt { width: 100% !important;}
        /** .builder_imgtxt_img img { width: 100% !important; height: auto !important;} **/
    .builder_2cols_col_img_info { max-width: 100% !important;}

    .client_list_section ul { column-count: 2;}

}

@media all and (min-width: 0px) and (max-width : 980px) {



}

@media all and (min-width: 0px) and (max-width : 950px) {



}

@media all and (min-width: 0px) and (max-width : 900px) {


}

@media all and (min-width: 0px) and (max-width : 850px) {


}

@media all and (min-width: 0px) and (max-width : 800px) {


}

@media all and (min-width: 0px) and (max-width : 780px) {

}

@media all and (min-width: 0px) and (max-width : 760px) {



}

@media all and (min-width: 0px) and (max-width : 750px) {



}

@media (max-width: 767px) {

    .builder_projects_archive_nav { width: 100%;}
    .builder_projects_archive_nav ol { padding: 0;       gap: 2px 0; }
    /** .builder_projects_archive_nav > ol > li a:not(.partner-link) { display: block;} removed as we now have + / - **/
    .mobile-content { padding: 20px 0; position: relative; }
    .mobile-content a:not(.partner-link) { position: absolute; top: 0; left: 0; right: 0; bottom: 0; text-indent: -9999px; overflow: hidden;}
    .mobile-content .builder_projects_archive_gallery_img { padding: 0 0 15px 0;}
    .mobile-content .builder_projects_archive_gallery_img img { width: 100%; height: auto;}
    .builder_contact_left, .builder_contact_right { width: 100%;}
    .builder_contact_left { padding: 0 0 12px 0;}
    .page-id-16 .builder_projects_archive_heading p { width: 100%;padding-right: 0;}

}

/** mobile **/

@media all and (min-width: 0px) and (max-width : 670px) {

    body { font-size: 1.6rem; font-size: 1.375rem; }

    h1, h2, h3, h4, h5, h6, p { padding: 0 0 20px 0;}
    h1, .h1_styler { }
    h2, .h2_styler { padding: 0 0 20px 0; }
    h3, .h3_styler { padding: 0 0 20px 0; }

    .container { padding: 0 25px; }

    #home_loader_v2 .container { padding: 10px 12px; }

    #overall-wrapper { border-bottom: 10px solid var(--grey);}
    #section_main { padding: 93px 0 0 0;}

    .builder_imgtxt_txt { padding: 0 !important;}
    .page_intro { width: 100%;}

    .builder { padding: 0 0 30px 0;}

    .testimonial .builder_imgtxt_txt footer.txt_small { padding: 0 0 32px 0;        margin-top: -3px;}

    .builder_2cols { grid-template-columns: repeat(1, 1fr); gap: 10px;      gap: 30px; }
    .projects_grid { grid-template-columns: repeat(1, 1fr); gap: 20px; }
    .projects_grid li h3 { padding: 12px 0 0 0;}

    .builder_team .builder_team_img { padding: 0;}
    .builder_info_holder p:last-of-type { padding-bottom: 0;}

    .builder_services ul { padding: 0 0 32px 0; padding: 0;}

    .builder_projects h2 { padding-top: 0;}

    .builder_team article { padding: 0;}

    .builder_projects_archive_nav > ol > li, .builder_projects_archive_nav > ol > li > ol > li { font-size: 1.25rem;}

    #home_projects { width: 100%; }

    #search_form { padding-top: 150px;}
    #search_form #menu_search_keyword { font-size: 1.2rem;}

    #site_footer { padding: 25px 0;}
    #site_footer #logo_fairerol_footer { padding: 0 0 30px 0;}
    #site_footer #logo_fairerol_footer img { width: 50%;}
    #site_footer_flex { flex-wrap: wrap; gap: 60px 40px;}
    #site_footer_flex nav, #site_footer_flex small { width: 100%;}
    #site_footer_flex nav { gap: 20px 56px;}
    #site_footer_flex nav div { max-width: unset; width: 100%;}
    #site_footer_flex nav div:nth-child(1), #site_footer_flex nav div:nth-child(2) { display: none;}
    #site_footer_flex nav div:nth-child(4) { order: 1; }
    #site_footer_flex nav div:nth-child(5) { order: 2; }
    #site_footer_flex nav div:nth-child(3) { order: 3; }
    #site_footer_flex small { width: 71%;}

}

@media all and (min-width: 0px) and (max-width : 650px) {



}

@media all and (min-width: 0px) and (max-width : 620px) {



}

@media all and (min-width: 0px) and (max-width : 580px) {



}

@media all and (min-width: 0px) and (max-width : 550px) {

    .builder_services ul, .client_list_section ul { column-count: 1;}

}

@media all and (min-width: 0px) and (max-width : 540px) {

    #header_main nav { opacity: 0; pointer-events: none; z-index: -1; position: fixed; top: 72px; top: 10px; top: 0; left: 0; right: 0; background-color: rgba(229, 229, 229, 0); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
    #header_main nav ul { padding: 85px 25px 25px 25px; flex-direction: column; }
    #header_main nav ul li { font-size: 1.6rem;}
    #header_main span.menu_search { display: block; position: absolute; right: 80px; font-size: 1rem; }
    #header_main span.menu_search a { text-decoration: none;}
    .hamburger { display: flex; margin-left: auto;}
    .open-menu #header_main nav { background-color: rgba(229, 229, 229, .975); top: 72px; top: 0; opacity: 1; pointer-events: auto; /** z-index: 99999; **/ -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.12); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.12); box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.12);}

    .scrolling #header_main { padding: 17px 0; }

}

@media all and (min-width: 0px) and (max-width : 470px) {



}

@media all and (min-width: 0px) and (max-width : 450px) {



}

@media all and (min-width: 0px) and (max-width : 400px) {


}

@media all and (min-width: 0px) and (max-width : 370px) {


}

@media all and (min-width: 0px) and (max-width : 360px) {

}

.grecaptcha-badge { visibility: hidden; }