@charset "utf-8";
/* CSS Document */
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}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,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,input,select{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;color:unset}html{scroll-behavior:smooth}a{text-decoration:none;cursor:pointer}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}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}button{cursor:pointer;border:none;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}img{max-width:100%;}
/*=== END RESET ===*/

/*=== CLEARFIX ===*/
.clear{clear:both}.cf:before,.cf:after{content:" ";display:table}.cf:after{clear:both}.cf{zoom:1}

/*=== GLOBAL ===*/
.flex-container{display:flex}.flex-vertical{flex-direction:column}.flex-horizontal{flex-direction:row}.flex-width{flex-grow:1;flex-shrink:1;flex-basis:100%}.flex-height{height:100%}.flex-wrap{flex-wrap:wrap}.set-width{flex-grow:0;flex-shrink:0;flex-basis:auto}.justify-center{justify-content:center}.justify-right{justify-content:flex-end}.justify-left{justify-content:flex-start}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.align-center{align-items:center}.align-top{align-items:flex-start}.align-bottom{align-items:flex-end}.align-stretch{align-items:stretch}.align-all-center{align-items:center;justify-content:center}.align-self-center{align-self:center}.align-self-right{align-self:flex-end}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.mobile-only{display: none}.max-width{margin:0 var(--sm-padding)}.map{min-height:350px;line-height:0;}


*,
*::before,
*::after {
    transition: all 0.3s ease;
}
a:hover {cursor: pointer !important;}

/*=== SELECT STYLES ===*/
::selection, ::-moz-selection {
	background: var(--red);
	color: var(--white);
	text-shadow: none;
}

:root {
	/*=== Fonts ===*/
    --Inter: "Inter", sans-serif;
    --Forum: "Forum", sans-serif;

	/*=== Colors ===*/
	--black: #000000;
	--white: #FFFFFF;
	--blue: #2445FF;
	--md-gray: #808080;
	--lt-gray: #D9D9D9;
    --gold: #a48740;
    --gold2: #e6d484;

    
    /*=== Font Sizes ===*/
    --p: clamp(16px, 5vw, 18px);

	/*=== Spacing ===*/
	--lg-padding: clamp(75px, 5vw, 100px);
	--sm-padding: clamp(25px, 2.5%, 2.5%);
}

    .black{color: var(--black)}
    .white{color: var(--white)}
    .blue{color: var(--blue)}
    .md-gray{color: var(--md-gray)}
    .lt-gray{color: var(--lt-gray)}
    .gold{color: var(--gold);}
    .gold2{color: var(--gold2);}

    .forum{font-family: var(--Forum);}
    .inter{font-family: var(--Inter);}


body {
    position: relative;
	font-family: var(--Inter), sans-serif !important;
	height: auto !important;
}

.page-shadow {
	max-width: 1920px!important;
    width: 100%!important;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 20px 0px!important;
    background-color: rgb(255, 255, 255)!important;
    margin: 0 auto!important;
	overflow-x: hidden;
}
strong, b {
    font-weight: 800;
}
p {
    font-size: clamp(16px, 5vw, 18px);
    line-height: 120%;
    font-weight: 300;
}

.p {
    font-size: clamp(16px, 5vw, 18px);
    line-height: 120%;
    font-weight: 300;
}

.thick {
    font-weight: 900 !important;
}

.center {text-align: center;}

.xl-heading, .lg-heading, .md-heading, .sm-heading {
	font-family: var(--Forum);
}

.xl-heading-bold {
	font-family: var(--Forum);
    font-weight: 900 !important;
}


.xs-heading {
	font-family: var(--Forum);
}
.xl-heading {font-size: clamp(51px, 5vw, 64px);line-height: clamp(51px, 5vw, 64px);}
.lg-heading {font-size: clamp(34px, 5vw, 42px);line-height: clamp(34px, 5vw, 42px);}
.md-heading {font-size: clamp(27px, 5vw, 35px);line-height: clamp(27px, 5vw, 35px);}
.sm-heading {font-size: clamp(18px, 5vw, 26px);line-height: clamp(18px, 5vw, 26px);}
.xs-heading {font-size: clamp(16px, 5vw, 18px);line-height: clamp(16px, 5vw, 18px);}

.sm-padding {padding: 20px 0;}
.md-padding {padding: 50px 0;}
.lg-padding {padding: 100px 0;}

/*=== BODY STYLES 
============================================*/
.width90 {max-width: 1600px; width: 90%; margin: auto;}

.btn-blue {width: 100%; max-width: 220px; background-color: var(--blue); color: var(--white); border: 1px solid var(--blue); display: flex; justify-content: center; align-items: center; gap: 10px; padding: 10px;}
.btn-blue:hover {background-color: var(--white); color: var(--blue);}

.btn-white {width: 100%; max-width: 220px; background-color: var(--white); color: var(--blue); border: 1px solid var(--white); display: flex; justify-content: center; align-items: center; gap: 10px; padding: 10px;}
.btn-white:hover {background-color: var(--blue); color: var(--white);}

.btn-gold1 {width: 100%; max-width: 220px; background: linear-gradient(rgba(0,0,0,0)); background-color: var(--gold); color: var(--white); border: 1px solid var(--gold); display: flex; justify-content: center; align-items: center; gap: 10px; padding: 10px;}
.btn-gold1:hover {background-color: var(--white); color: var(--gold);}

.btn-gold2 {width: 100%; max-width: 220px; background-color: var(--white) !important; color: var(--gold); border: 1px solid var(--white); display: flex; justify-content: center; align-items: center; gap: 10px; padding: 10px; background: linear-gradient(rgba(0,0,0,0));}
.btn-gold2:hover {background-color: var(--gold) !important; color: var(--white);}

.btns-row {display: flex; flex-direction: row; gap: 20px; padding-top: 50px; flex-wrap: wrap;}
.btns-row > a {width: 100%;}

/*=== HEADER STYLES
==============================*/
.top-runner {background-color: var(--black); color: var(--blue);}
.top-runner > div {display: flex; justify-content: space-between; align-items: center;}

.home-header .header-wrap {position: absolute; top: 0; z-index: 99;background: transparent;}
.header-wrap { background-color: var(--black); border-bottom: 1px solid var(--white); width: 100%;}
.primary.nav { display: flex; justify-content: space-between; align-items: center; padding: 20px 0;}
.header-logo img {max-height: 100px;}
.last-link {background-color: var(--blue); border: 1px solid var(--blue);}
.last-link:hover {background-color: var(--black) !important;}

#menu-button {display: flex; justify-content: space-between; align-items: center; gap: 50px; background: linear-gradient(to top, rgba(0,0,0,1), rgba(33,33,33,1), rgba(0,0,0,1)) !important;}
/*#menu-button .header-logo {display: flex; justify-content: space-between; align-items: center;}*/
.btn-phone i {padding: 10px; aspect-ratio: 1/1; background-color: var(--white); border-radius: 5px; border: 1px solid var(--blue);}
.mobile-menu-right {display: flex; justify-content: center; align-items: center;}

/*=== HOME PAGE 
==============================*/
/*
#home-hero {position: relative; top: 0px; margin-top: -120px; min-height: 100vh; height: 100%;}
.heroSwiper {position: relative; height: 100vh;}
.heroSwiper img {width: 100%; object-fit: cover; height: 100%;}
.heroSwiper .swiper-slide::before {content: ''; position: absolute; z-index: 98; width: 100%; height: 100%; background: rgba(0,0,0,0.50);}

.hero-text { position: relative; inset: 0; display: flex; align-items: flex-end; z-index: 98; width: 100%; padding: 200px 0 100px;}
.hero-text > div {display: flex; justify-content: space-between; gap: 100px; align-items: flex-start;}
.hero-text > div > div {flex: 1;}
*/

#home-hero {position: relative; width: 100%; height: 100%; min-height: 100vh; top: 0; background-size: cover !important; background-position: center center !important;}
.heroSwiper {height: 100% !important; max-height: none;}
.heroSwiper img {width: 100%; height: 100%; object-fit: cover;  min-height: 100vh;}
.heroSwiper .swiper-slide::before {content: ''; position: absolute; z-index: 98; width: 100%; height: 100%; background: rgba(0,0,0,0.50);}

.hero-text { top: 500px; z-index: 98; display: flex; align-items: flex-end; width: 100%; height: 100%; padding: 55vh 0 100px;}
.hero-text > div {display: flex; justify-content: space-between; gap: 100px; align-items: flex-start;}
.hero-text > div > div {flex: 1;}

.hero-box {display: flex; justify-content: flex-start; align-items: flex-start; padding: 100px 20px 20px 20px; flex: 1; background-size: cover !important; background-position: center center !important; box-shadow: 0px 0px 15px 5px rgba(255,255,255,0.25);}
.hero-box:hover {transform: translateY(-5px);}
.hero-box:hover i {transform: translateX(10px);}

.scrolling-banner {position: relative; top: 0; overflow: hidden; white-space: nowrap; padding: 50px 0; background: var(--black);}
.scroll-track {display: inline-flex;align-items: center;gap: 2rem;animation: scroll-left 40s linear infinite;}

@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

#lori.feature-section {position: relative; background: linear-gradient(to top, rgba(0,0,0,1), rgba(34,34,34,1), rgba(0,0,0,1)); padding-top: 50px;}
#lori .feature-top {position: relative;}
#lori .feature-top-inner {position: relative;overflow: hidden; background: linear-gradient(rgba(0,0,0,0.75)), url('/siteart/telehandler-construction-site.jpg') center/cover no-repeat; padding: 50px; display: flex; justify-content: space-between;}
#lori .feature-top-content p {max-width: 700px; padding: 20px 0;}
#lori .feature-top:hover {transform: translateY(-5px);}
#lori .feature-top-content:hover i {transform: translateX(10px); color: var(--blue);}
#lori .feature-arrow {display: inline-block;margin-top: 1rem;}
#lori .feature-badge {height: 100px; width: 100px;}
#lori .feature-main {position: relative;}
#lori .feature-grid {display: grid;grid-template-columns: 1fr 1fr;align-items: stretch;}
#lori .feature-left {padding: 3rem 0;max-width: 600px;}
#lori .feature-left p {padding-top: 50px;}
#lori .feature-buttons {display: flex;gap: 1rem;margin: 1.5rem 0;}
#lori .feature-right {position: relative;}
#lori .feature-person {position: absolute;bottom: 0;right: 0;}
#lori .feature-person img {display: block;max-height: 600px;}
#lori .feature-caption {position: absolute;right: 1rem;bottom: 2rem;}

#chris.feature-section {position: relative; background: linear-gradient(to top, rgba(0,0,0,1), rgba(34,34,34,1), rgba(0,0,0,1)); padding-top: 50px;}
#chris .feature-top {position: relative;}
#chris .feature-top-inner {position: relative;overflow: hidden; background: linear-gradient(rgba(0,0,0,0.75)), url('/siteart/futuristic-bar-chart.jpg') center/cover no-repeat; padding: 50px; display: flex; justify-content: space-between;}
#chris .feature-top-content p {max-width: 700px; padding: 20px 0;}
#chris .feature-top:hover {transform: translateY(-5px);}
#chris .feature-top-content:hover i {transform: translateX(10px); color: var(--blue);}
#chris .feature-arrow {display: inline-block;margin-top: 1rem;}
#chris .feature-badge {height: 100px; width: 100px;}
#chris .feature-main {position: relative;}
#chris .feature-grid {display: grid;grid-template-columns: 1fr 1fr;align-items: stretch;}
#chris .feature-left {padding: 3rem 0;max-width: 600px;}
#chris .feature-left p {padding-top: 50px;}
#chris .feature-buttons {display: flex;gap: 1rem;margin: 1.5rem 0;}
#chris .feature-right {position: relative;}
#chris .feature-person {position: absolute;bottom: 0;right: 0;}
#chris .feature-person img {display: block;max-height: 600px;}
#chris .feature-caption {position: absolute;right: 1rem;bottom: 2rem;}

.half-menu {display: grid; grid-template-columns: repeat(2, 1fr); align-items: stretch;}
.menu-right {background: linear-gradient(rgba(255,255,255,0.25)), url("/siteart/construction-blueprints-white.jpg"); background-size: cover; background-position: center center; padding: 100px 50px;}
.menu-right > div {background: linear-gradient(rgba(0,0,0,0.5)), url("/siteart/dumptruck-aerial.jpg"); background-size: cover; background-position: center center; padding: 50px; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; height: 100%;}
.menu-left {padding: 100px 0px 100px 10%;}

/*--- ACCORDION  ---*/
.accordion,.subaccordion{display:block;position:relative;margin-bottom:10px;color:#666;border-radius:5px;transition:all .2s ease-in-out;}
.accordion .accordion-header,.subaccordion .subaccordion-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;margin-bottom:10px;font-weight:700;border-radius:5px;}
.accordion .accordion-header h2,.accordion .accordion-header h3,.accordion .accordion-header a{line-height:1; padding: 20px 0;}
.subaccordion .subaccordion-header h4{line-height:2;font-size:16px;}
.accordion .accordion-header h3{color:#808080; font-weight: 300;}
.accordion .accordion-header:hover h3{color:#000;}
.inner-title{display:inline-flex;align-items:baseline;justify-content:space-between;width:100%;margin-right:2%;}
.accordion .accordion-header a{color:var(--skyblue);transition:.3s all;}
.accordion .accordion-header a:hover{color:var(--blue);}
.accordion .accordion-content,.subaccordion .subaccordion-content{display:none;padding:0 30px 30px;border-left:none;}
/*.accordion .accordion-content p{color:#000;}*/
.accordion .accordion-content a{margin:20px 0 10px;}
.accordion .accordion-content ul li a,.subaccordion .subaccordion-content ul li a{line-height:2;font-weight:600;font-size:15px;}
.accordion.active .accordion-header h3{color:var(--black)!important;}
.accordion.active h2,.subaccordion.active h4{color:#111;}
.accordion.active .accordion-header:after,.subaccordion.active .subaccordion-header:after{transform:rotate(90deg);color:#999;}
.service-accordion .accordion-header::before{content:" ";}

.two-divisions {text-align:left; padding: 100px 0 50px;}
.container {  background: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 20%, rgba(255,255,255,1) 20%, rgba(255,255,255,1) 100%);}
.intro {margin-bottom:50px;}
.intro p {max-width:600px; margin-top: 20px;}
.cards {display:flex;gap:30px;justify-content:center;}
.card {background:#f6f6f6;border: 1px solid var(--lt-gray);border-radius:20px;padding:40px;text-align:left;flex:1;}
.card:hover {transform: translateY(-10px);}
.card:hover i.fa-arrow-right {transform: translateX(-10px); color: var(--blue);}
.card .icon { display: flex; justify-content: space-between;}
.card .icon i:not(.fa-arrow-right) {font-size:30px;margin-bottom:20px;}
.card .icon i.fa-arrow-right {font-size:15px;margin-bottom:20px;}
.card h3 {margin-bottom:15px;}
.card p {color:#555;}
.card ul li {color:#555;}
.card ul li::before {content:"•  "; color: var(--blue); font-family: "Font Awesome 6 Free"; font-size: 12px;}



.black-banner {background:#000;color:#fff;padding:60px 20px;}
.black-banner h3 {margin-bottom:20px; padding: 0 5%;}
.black-banner p {margin-bottom:20px; padding: 0 5%;}
.black-banner .btns-row {align-self: center; margin: auto; justify-content: center; padding-top: 20px;}

.quicklinks {display:grid;gap:30px;padding:50px 0 50px; grid-template-columns: repeat(4, 1fr);}
.quicklinks > div {flex:1; display: flex; flex-direction: column; justify-content: space-between; gap: 30px; background: #f6f6f6; border: 1px solid var(--lt-gray); border-radius:25px; text-align:center; overflow: hidden;}
.quicklinks > div:hover {transform: translateY(-10px); box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.15);}
.quicklinks img {width:100%; max-height: 200px; display: inline-block; object-fit: cover;}
.quicklinks img.contain {object-fit: contain;}
.quicklinks h3 { padding: 0 20px}
.quicklinks a {margin-bottom: 50px; align-self: center;}

.half-photo > div {display: flex; justify-content: space-between; align-items: stretch; gap: 50px; padding: 50px 0;}
.half-photo > div > div {flex: 1; display: flex; flex-direction: column; align-items: stretch; gap: 20px; align-self: stretch;}
.half-photo > div > div .btns-row {padding-top: 0;}
.half-photo > div > div div:has(ul) {display: flex; justify-content: flex-start; gap: 20px;}
.half-photo > div > div div:has(ul) li {display: flex; justify-content: flex-start; gap: 20px; padding: 10px 0;}
.half-photo .half-image {display: flex; align-self: stretch; overflow: hidden; box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.15);}
.half-photo .half-image img {display: block; object-fit: cover; object-position: center center; width: 100%; height: 100%;}
.half-photo .half-image.quote { display: flex; justify-content: flex-end; box-shadow: none; background: linear-gradient(to top, rgba(0,0,0,0.85) 20%, transparent), url("../siteart/Chris-Rice-Headshot-Outdoors.jpg"); background-repeat: no-repeat; background-size: cover !important; background-position: center center !important; background-color: var(--black); padding: 0 30px;}



/*=== FOOTER STYLES
==============================*/
.footer{background:#eee;padding:40px 20px;}
.footer a:hover {color: var(--blue); transform: translateX(5px);}
.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;flex-wrap: wrap;}
.footer-left img{max-width:220px;margin-bottom:10px;}
.footer-left p{font-size:12px;color:#777;}
.footer-links{display:flex;gap:60px;}
.footer-links div{display:flex;flex-direction:column;gap:8px;}
.footer-links a{text-decoration:none;color:#222;font-size:14px;}
.footer-contact a{margin:5px 0;font-size:14px;text-align:right;}
.footer-badge img{width: 100%;max-width:100px;}
.copyright {background: linear-gradient(rgba(0,0,0,0));}

/*=== CONTACT PAGE
==============================*/
.contact .half-image {border-radius: 10px; overflow: hidden; max-height: none !important;}
.contact .half-image img {max-width: 200px; margin: auto;}

#contact-form {display: flex; flex-direction: column; gap: 10px; font-size: var(--p); max-width: 100%; padding: 20px;}
#contact-form label {display: none;}
#contact-form input {padding: 20px; width: 100%; border: 1px solid var(--lt-gray);}
#contact-form .input-row {display: flex; flex-direction: row; gap: 10px;}
#contact-form .dualFields {width: 50%;}
#contact-form textarea {width: 100%; height: 200px; border: none; font-family: var(--Inter); padding: 20px; font-size: var(--p); border: 1px solid var(--lt-gray);}
#contact-form input.submit:hover {cursor: pointer ;}

/*control the Captcha */
.CaptchaPanel {margin:0 0 0 0 !important;padding:0 0 0 0 !important;text-align: center;line-height:normal !important;}
.CaptchaImagePanel {margin:0 0 0 0;padding:0 0 0 0;}
.CaptchaMessagePanel {padding:0 0 0 0 !important;margin:0 0 0 0 !important;font-weight:normal !important;font-size:12px;line-height:14px;}
.CaptchaAnswerPanel {margin:0 0 0 0;padding:2px 0px 2px 0px !important;}
.CaptchaWhatsThisPanel {line-height:2;text-decoration: underline !important;margin:0 0 0 0;padding:8px 0 8px 0 !important;}
.CaptchaWhatsThisPanel a {color:#000;}
.CaptchaWhatsThisPanel a:hover {text-decoration:none;}

@media screen and (max-width: 700px) {
    #contact-form .input-row {flex-direction: column; width: 100%;}
    #contact-form .dualFields {width: 100%;}
}
/*=== CONSULTING PAGE
==============================*/
.gray-banner {background: linear-gradient(to bottom, rgba(33,33,33,1), rgba(0,0,0,1)); color:#fff ;padding:20px;}
.gray-banner h3 {margin-bottom:20px; padding: 0 5%;}
.gray-banner p {margin-bottom:20px; padding: 0 5%;}
.gray-banner img {max-height: 200px; height: 100%}
.gray-banner .btns-row {align-self: center; margin: auto; justify-content: center; padding-top: 20px;}

.consulting.half-menu {display: grid; grid-template-columns: repeat(2, 1fr); align-items: stretch; background: linear-gradient(to top, rgba(33,33,33,1), rgba(0,0,0,1)) !important;}
.consulting .menu-right {background: linear-gradient(rgba(0,0,0,0.85)), url("/siteart/construction-blueprints-black.jpg"); background-size: cover; background-position: center center; padding: 100px 50px;}
.consulting .menu-right > div {background: linear-gradient(rgba(0,0,0,0.5)), url("/siteart/construction-laptop.jpg"); background-size: cover; background-position: center center; padding: 50px; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; height: 100%;}
.consulting .menu-left {padding: 100px 0px 100px 10%;}
.consulting .accordion-header:hover h3 {color: var(--white) !important;}
.consulting .active .accordion-header h3 {color: var(--white) !important;}
.consulting .accordion .accordion-content p {color: var(--white);}

#consulting .feature-top-inner {position: relative;overflow: hidden; background: linear-gradient(rgba(0,0,0,0.75)), url('/siteart/construction-site.jpg') top/cover no-repeat; padding: 50px; display: flex; justify-content: space-between;}
#consulting.feature-section {position: relative; background: linear-gradient(to top, rgba(0,0,0,1), rgba(34,34,34,1), rgba(0,0,0,1)); padding-top: 50px;}
#consulting .feature-top {position: relative;}
#consulting .feature-top-content p {max-width: 700px; padding: 20px 0;}
#consulting .feature-top-content p:has(.problem-area) {display: flex; justify-content: flex-start; align-self: center; flex-wrap: wrap; gap: 3px;}
#consulting .problem-area {padding: 5px 10px; border-radius: 3px; border: 1px solid rgba(255,255,255,0.2); line-height: 200%;}
#consulting .problem-area:hover {background: rgba(255,255,255,0.2);}
#consulting .feature-top:hover {transform: translateY(-5px);}
#consulting .feature-top-content:hover i {transform: translateX(10px); color: var(--gold);}
#consulting .feature-arrow {display: inline-block;margin-top: 1rem;}
#consulting .feature-badge {height: 100px; width: 100px;}
#consulting .feature-main {position: relative;}
#consulting .feature-grid {display: grid;grid-template-columns: 1fr 1fr;align-items: stretch;}
#consulting .feature-left {padding: 3rem 0;max-width: 600px;}
#consulting .feature-left p {padding-top: 50px;}
#consulting .feature-buttons {display: flex;gap: 1rem;margin: 1.5rem 0;}
#consulting .feature-right {position: relative;}
#consulting .feature-person {position: absolute;bottom: 0;right: 0;}
#consulting .feature-person img {display: block;max-height: 600px;}
#consulting .feature-caption {position: absolute;right: 1rem;bottom: 2rem;}

.word-box {display: flex; justify-content: flex-start; align-self: center; flex-wrap: wrap; gap: 3px;}
.word-bubble {padding: 5px 10px; border-radius: 3px; border: 1px solid rgba(0,0,0,0.2); line-height: 200%;}
.word-bubble:hover {background: rgba(0,0,0,0.2);}


.timeline {position: relative; padding: 0 0 0 50px; border-left: 1px solid var(--black); display: flex; justify-content: flex-start; align-items: flex-start; gap: 50px;}
.timeline > div {flex: 1; width: 100%;}
.timeline .timeline-header {max-width: 300px; position: sticky; z-index: 2; top: 0; background: var(--white); padding: 30px 0;}
.time-box {padding: 20px; margin: 20px 0; background: #f6f6f6; border-radius: 20px; border: 1px solid var(--lt-gray);}
.time-box p {margin: 10px 0; max-width: 600px;}
.time-box ul {margin: 20px 0;}
.time-box ul li {margin: 10px 0;}
.time-box ul li::before {content:'\f007'; padding-right: 10px; font-family: "Font Awesome 6 Free"}

.steps .time-box {background: linear-gradient(rgba(255,255,255,1)), linear-gradient(to left, var(--gold) 0%, rgba(0,0,0,0) 10%, rgba(0,0,0,0) 100%) !important; border-left: 5px solid var(--gold); border-color: var(--gold);}

div:has(> .team-box) {display: grid; grid-template-columns: repeat(2, 1fr); justify-content: space-between; gap: 50px;}
.team-box {display: flex; flex-direction: column-reverse; justify-content: space-between; align-items: stretch; gap: 60px; border: 1px solid var(--lt-gray); border-radius: 20px; overflow: hidden;}
.team-box > div {display: flex; flex-direction: column; gap: 20px; flex: 1 1 0;}
.team-box img {display: block; object-fit: cover; height: 100%; object-position: 50% 25%;}
.team-box div:has(> img) {max-height: 350px;}
.team-box > div:first-child {padding: 20px 0 20px 20px;}
/*.team-box > div > div:has(> ul) {display: flex; gap: 20px;}*/
.team-box > div > div > ul li {display: flex; gap: 20px; align-items: center; margin-bottom: 20px; border-left: 2px solid var(--gold); padding-left: 10px;}
.team-box > div > div > ul li:hover {color: var(--gold); border-width: 5px;}

/*=== PARTNERS PAGE
==============================*/
.subpage-hero {background-size: cover !important; background-position: center center !important;}
.subpage-hero.partners {background: linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,0.55)), url(/siteart/dumptruck-aerial.jpg);}
.subpage-hero > div { padding: 100px 0;}
.subpage-hero p { max-width: 500px;}

.logo-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; align-items: stretch; border-radius: 0px;}
.logo-grid > div {display: flex; flex-direction: column; gap: 20px; border: 1px solid var(--lt-gray); border-radius: 20px; justify-content: center; align-items: center; padding: 20px;}
.logo-grid img {max-width: 200px; display: inline-block; object-fit: contain;}

/*=== ABOUT PAGE
==============================*/
.subpage-hero.about {background: linear-gradient(rgba(0,0,0,0.75)), url("/siteart/excavator-dark.jpg");}

.values {display:grid; grid-template-columns: repeat(4, 1fr); gap:30px;justify-content:center;}
.values-card {background: var(--blue); border: 1px solid var(--lt-gray);border-radius:20px;padding:40px;text-align:left;flex:1;}
.values-card:hover {transform: translateY(-10px);}
.values-card:hover i.fa-arrow-right {transform: translateX(-10px); color: var(--white);}
.values-card .icon { display: flex; justify-content: space-between;}
.values-card .icon i:not(.fa-arrow-right) {font-size:30px;margin-bottom:20px;}
.values-card .icon i.fa-arrow-right {font-size:15px;margin-bottom:20px;}
.values-card h3 {margin-bottom:15px;}
.values-card p {color: var(--white);}
.values-card ul li {color: var(--white);}
.values-card ul li::before {content:"•  "; color: var(--white); font-family: "Font Awesome 6 Free"; font-size: 12px;}

/*=== INDUSTRIES PAGE
==============================*/
.subpage-hero.industries {background: linear-gradient(rgba(0,0,0,0.75)), url("/siteart/semi-stalls.jpg");}

.industries .time-box {background: linear-gradient(rgba(255,255,255,1)), linear-gradient(to left, var(--blue) 0%, rgba(0,0,0,0) 10%, rgba(0,0,0,0) 100%) !important; border-left: 5px solid var(--blue); border-color: var(--blue);}

/*=== MEDIA QUERIES
==============================*/
@media screen and (max-width: 1500px) {
    div:has(> .team-box) {grid-template-columns: repeat(1, 1fr);}
    .team-box {flex-direction: row;}
    .team-box div:has(> img) {max-height: none;}
}

@media screen and (max-width: 1250px) {
    .values {grid-template-columns: repeat(2, 1fr);}
}

@media screen and (max-width: 1000px) {
    .primary.nav {display: none;}
    
    .hero-text > div  {flex-direction: column; gap: 50px;}
    
    .feature-grid {grid-template-columns: repeat(1, 1fr) !important;}
    .feature-grid .feature-right {display: none !important;}
    .feature-grid .feature-left {max-width: none !important;}
    
    .half-menu {display: flex !important; flex-direction: column-reverse !important;}
    .menu-right {padding: 5vw; border-top: 1px solid var(--lt-gray);}
    
    .quicklinks {grid-template-columns: repeat(2, 1fr);}
/*    .quicklinks > div a {margin-bottom: 0;}*/
    
    .half-photo > div {flex-direction: column;}
    .half-photo .half-image {max-height: 300px;}
    
    .timeline {flex-direction: column;}
    .timeline .timeline-header {max-width: none; width: 100%; box-shadow: 0px 20px 10px -20px rgba(0,0,0,0.15);}
    
    .cards {flex-wrap: wrap;}
    
    .half-image.quote {background: var(--white) !important; padding: 50px 20px !important;}
    
    .half-image.quote .white {color: var(--black) !important;}
    
    .team-box {flex-direction: column-reverse;}
}

@media screen and (max-width: 750px) {
    .cards {flex-direction: column;}
    
    
    .team-box > div img {max-height: 300px;}
    
}

@media screen and (max-width: 600px) {
    .btns-row:has(.hero-box) {flex-direction: column;}
    
    .feature-top-inner {flex-direction: column-reverse; gap: 50px;}
    
    .quicklinks {grid-template-columns: repeat(1, 1fr);}
    
    .half-photo > div > div div:has(ul) {flex-direction: column; gap: 0;}
    .logo-grid {grid-template-columns: repeat(1, 1fr) !important;}
    
    .timeline {padding: 0; border: none;}
    
    .values {grid-template-columns: repeat(1, 1fr);}
}


