@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 ===*/
    --Barlow: "Barlow", sans-serif;

	/*=== Colors ===*/
    --white: #FFFFFF;
    --black: #000000;
    --gray: #A7A8AB;
	--lt-blue: #5E83CA;
    --md-blue: #37527D;
    --dk-blue: #243B61;
    
    /*=== Font Sizes ===*/
    --p: clamp(16px, 5vw, 20px);

	/*=== Spacing ===*/
	--lg-padding: clamp(75px, 5vw, 100px);
	--sm-padding: clamp(25px, 2.5%, 2.5%);
}

    .white{color: var(--white)}
    .black{color: var(--black)}
    .gray{color: var(--gray)}
    .lt-blue{color: var(--lt-blue)}
    .md-blue{color: var(--md-blue)}
    .dk-blue{color: var(--dk-blue)}

body {
    position: relative;
	font-family: var(--Barlow), sans-serif !important;
	height: auto !important;
    background-color: var(--white);
/*    background-image: url("/siteart/logo-background.svg");*/
}

.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-family: var(--Barlow);
    font-weight: 800;
}
p {
    font-size: clamp(16px, 5vw, 18px);
}
/*
.bold {
	font-family: var(--Barlow);
    font-weight: 700;
}
*/

.thick {
	font-family: var(--Barlow);
    font-weight: 700 !important;
}

.center {text-align: center;}

.xl-heading, .lg-heading, .md-heading, .sm-heading {
	font-family: var(--Barlow);
	text-transform: uppercase;
}

.xl-heading-bold {
	font-family: var(--Barlow);
	text-transform: uppercase;
    font-weight: 700 !important;
}


.xs-heading {
	font-family: var(--Barlow);
    font-weight: 700;
	text-transform: uppercase;
	padding-top: 5px;
}
.xl-heading {font-size: clamp(40px, 4vw, 64px);line-height: clamp(40px, 4vw, 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;}

.width90 {width: 90%; margin: auto; max-width: 1600px;}

/*=== BODY STYLES 
============================================*/
.bg-texture-top {background: url("../siteart/bg-texture-top.png"); position: fixed; top: 0; width: 100%; height: 500px; background-position: top center; background-size: cover; z-index: -1;}
.bg-texture-bottom {background: url("../siteart/bg-texture-bottom.png"); position: fixed; bottom: 0; width: 100%; height: 500px; background-position: bottom center; background-size: cover; z-index: -1;}

.btn-blue {position: relative; z-index: 100; color: var(--white); background-color: var(--dk-blue); padding: 10px 20px; display: flex; flex-direction: row; justify-content: center; align-items: center; max-width: 200px; text-transform: uppercase; font-weight: 700; border: 1px solid var(--black);}
.btn-blue:hover {color: var(--dk-blue); background-color: var(--white);}

.btn-dk-blue {position: relative; z-index: 100; color: var(--white); background-color: var(--dk-blue); padding: 10px 20px; display: flex; flex-direction: row; justify-content: center; align-items: center; max-width: 200px; text-transform: uppercase; font-weight: 700; border: 1px solid var(--black);}
.btn-dk-blue:hover {color: var(--dk-blue); background-color: var(--white);}

.btn-white { color: var(--dk-blue); background-color: var(--white); padding: 10px 20px; display: flex; flex-direction: row; justify-content: center; align-items: center; max-width: 200px; text-transform: uppercase; font-weight: 700; border: 1px solid var(--black); height: auto;}
.btn-white:hover {color: var(--white); background-color: var(--lt-blue);}

/*=== HEADER STYLES
==============================*/
nav.primary.nav {display: flex; flex-direction: row; justify-content: space-between; align-items: center; height: 100px; width: 90%; margin: auto; max-width: 1600px;}
.header-logo img {max-height: 75px;}

.mobile-menu-fb {display: flex; flex-direction: row; justify-content: space-between; align-items: center; height: 100px; width: 90%; margin: auto; max-width: 1600px;}

/*=== FOOTER STYLES
==============================*/
.footer-wrapper {display: flex; flex-direction: row; justify-content: space-between; align-items: flex-start; padding-bottom: 50px;}
.footer-wrapper ul {line-height: 30px; text-transform: uppercase; color: var(--dk-blue);}
.footer-logo img {height: auto; max-width: 200px;}
.copyright {text-align: center; padding: 20px; color: var(--black); background-color: var(--gray);}

/*=== HOME PAGE 
==============================*/
.hero-wrapper {position: relative; background: url("../siteart/splatter.svg"), linear-gradient(rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.9) 100%), url("../siteart/bw-construction-site.jpg"); background-size: cover; background-position: center center; background-repeat: no-repeat !important; border: 10px solid var(--white); outline: 1px solid var(--black); overflow: hidden; margin-top: 50px;}
.hero-text {position: relative; display: flex; flex-direction: column; gap: 100px; width: 100%; max-width: 40%; padding: clamp(5px, 5vw, 50px);}
.heroSwiper {position: absolute; top: 0; right: 0; z-index: 99; width: 100vw; height: 100%;}
.heroSwiper .swiper-slide {overflow: visible;}
.heroSwiper .swiper-slide img {position: relative; right: -50%; height: 100%; width: auto; object-fit: contain;}
.heroSwiper .swiper-slide.swiper-slide-prev img {left: -50%;}
.heroSwiper .swiper-slide img:hover {cursor: grab;}
.heroSwiper .swiper-slide img:active {cursor: grabbing;}
.heroSwiper .swiper-pagination-bullet {width: 20px; height: 20px; text-align: center; line-height: 20px; font-size: 12px; color: #000; background: var(--lt-blue);}
.heroSwiper .swiper-pagination {margin-left: 5%;}

.quicklinks {margin-bottom: 20px;}
.quicklinks img { width: auto; height: 100%; object-fit: contain; object-position: right center; align-self: stretch;}
.quicklink-row {display: flex; flex-direction: row; justify-content: space-between; align-items: stretch; gap: 20px;}
.quicklink {display: flex; flex-direction: row; justify-content: space-between; align-items: flex-end; background-color: #FFFFFF; border: 10px solid var(--white); outline: 1px solid var(--black); margin: 20px 0 0 0; overflow: hidden;}
.quicklink:hover {border-color: var(--md-blue);}
.quicklink:hover img {transform: scale(1.05);}
.quicklink h2 {padding: 10px;}
.quicklink-short {width: 100%; max-width: 55%;}
.quicklink-long {width: 100%; max-width: 45%;}
.quicklink-full {width: 100%; background: linear-gradient(to right, var(--white) 0%, var(--white) 75%, var(--md-blue) 75%, var(--md-blue) 100%);}
.quicklink-full img {margin-right: 10vw;}

.blue-banner {width: 95%; margin-left: auto;background: linear-gradient(rgba(0,0,0,0)), url("../siteart/blue-ribbon.svg"); background-size: cover; background-position: left center; background-repeat: no-repeat; margin-bottom: 20px; margin-top: 90px; overflow: visible;}
.banner-fb { padding: 50px 0 50px 200px; display: flex; flex-direction: row; justify-content: flex-start; align-items: center; gap: 5%; padding-right: 50px;}
.banner-text { max-width: 700px;}

.adSwiper { margin-top: clamp(20px, 5vw, 100px);}
.adSwiper .swiper-slide img {width: 100%; height: 100%; max-height: 700px; align-self: center;}
.adSwiper .swiper-slide {position: relative;}
.adSwiper .swiper-slide .slide-text {position: absolute; top: 5%; left: 5%; max-width: 50%; display: flex; flex-direction: column; justify-content: space-between; height: 90%;}
.adSwiper .swiper-slide .slide-text > div {display: flex; flex-direction: column; gap: clamp(20px, 3vw, 100px);}

.about-home {display: flex; flex-direction: row; justify-content: space-between; align-items: stretch; gap: clamp(20px, 5%, 50px); padding: clamp(20px, 5vw, 100px) 0;}
.blue-side {width: 10%; background-color: var(--dk-blue);}
.about-text {padding: 50px; border: 1px solid var(--black); background-color: var(--white); display: flex; flex-direction: column;justify-content: center; align-items: flex-start; gap: 50px; width: 100%;}
.about-home > iframe {height: 100% !important; align-self: stretch !important; min-height: 500px; padding-right: 5%;}
.about-image {margin-right: 5%; width: 100%;}
.about-image img {width: 100%; align-self: stretch; height: 100%; object-fit: cover; object-position: center; border: 10px solid var(--white); outline: 1px solid var(--black); min-width: 300px;}

/*=== ABOUT PAGE 
==============================*/

.subpage-title { padding: 100px 0 0 0;}
.subpage-title h1 {width: 90%; margin: auto;}

.our-team {padding: 0 0 100px 0 ;}
.team-fb {display: flex; flex-direction: row; justify-content: center; align-items: stretch; gap: clamp(20px, 5vw, 1000px);}
.team-card {display: flex; flex-direction: row; justify-content: center; align-items: flex-start; gap: 5%; padding: 20px; box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.2); max-width: 32%; background-color: var(--white);}
.team-card > div { display: flex; flex-direction: column; gap: 20px; align-self: stretch; width: 100%;}
.team-card img { height: 100%; width: auto; min-width: 100px; object-fit: cover;}

.facebook-section {display: flex; flex-direction: row;}
.facebook-section iframe {width: 100%; height: 500px;}

/*=== MEDIA QUERIES 
============================================*/
@media screen and (max-width: 1200px) {
/*    .team-fb {flex-direction: column; }*/
    .team-card { width: 100%; max-width: none; height: 100%; gap: 25px}
    .team-card img {max-height: 300px; width: 100%; object-fit: cover;}
}

@media screen and (max-width: 1000px) /* Same as mobile menu breakpoint */ {
    .quicklink-row {flex-direction: column; gap: 0;}
    .quicklink {max-width: none;}
    
    .banner-fb {flex-direction: column; align-items: flex-start;}
    
    .footer-wrapper {flex-wrap: wrap;}
    .footer-logo {width: 100%; display: flex; justify-content: center; padding: 0 0 50px 0;}
}

@media screen and (max-width: 850px) {
    .hero-wrapper {background: linear-gradient(rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.9) 100%), url("../siteart/bw-construction-site.jpg"); background-size: cover !important; background-reapeat: no-repeat;}
    .hero-text {max-width: 100%;}
    .heroSwiper {position: relative;}
    .heroSwiper .swiper-slide img {position: relative; right: 0; height: 100%; width: auto; object-fit: contain;}
    .heroSwiper .swiper-slide.swiper-slide-prev img {left: 0;}
    .heroSwiper .swiper-pagination {width: 80%; margin-left: 0;}
    
    .blue-banner {background-position: center center; background-size: cover; width: 100%;}
    .banner-fb {padding: 50px 5%; margin: auto;}
    
    .about-home {flex-direction: column;}
    .about-home > iframe {padding-right: 0;}
    .about-image {margin-right: 0;}
    .about-image img {width: 100%;}
    
    .adSwiper {display: none;}
}

@media screen and (max-width: 650px) {
    .footer-wrapper {flex-direction: column;}
    .footer-wrapper ul {padding: 0 0 50px 0;}
    
    .team-fb {flex-direction: column; }
    .team-card {flex-direction: column;}
    .team-card img {max-height: 200px; width: auto;}
}


















