@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;
    --Zalando: "Zalando Sans Expanded", sans-serif;

	/*=== Colors ===*/
	--white: #FFFFFF;
	--black: #1A1A1A;
	--blue: #0782DF;
	--lt-blue: #15B9E9;
	--gray: #9D9F9F;
	--dk-gray: #3D3D3D;
    
    /*=== 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)}
    .dk-gray{color: var(--dk-gray)}
    .blue{color: var(--blue)}
    .lt-blue{color: var(--lt-blue)}

body {
    position: relative;
	font-family: var(--Inter), sans-serif !important;
	height: auto !important;
    background-color: var(--tan);
    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;
}

p {
    font-size: clamp(16px, 5vw, 18px);
}


.thick {
    font-weight: 900 !important;
}

.center {text-align: center;}

.xl-heading, .lg-heading, .md-heading, .sm-heading {
	font-family: var(--Zalando);
	text-transform: uppercase;
}

.xl-heading-bold {
	font-family: var(--Zalando);
/*	text-transform: uppercase;*/
    font-weight: 900 !important;
}


.xs-heading {
	font-family: var(--Zalando);
	text-transform: uppercase;
	padding-top: 5px;
}
.xl-heading {font-size: clamp(30px, 5vw, 64px);line-height: clamp(30px, 5vw, 64px);}
.lg-heading {font-size: clamp(30px, 5vw, 42px);line-height: clamp(30px, 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 {width: 90%; max-width: 1600px; margin: auto;}
.gimmespace {height: 50px;}

.bg-white {background: var(--white) !important;}
.bg-blue {background: linear-gradient(to right, var(--blue), var(--lt-blue), var(--blue));}

.btn-blue {background: linear-gradient(to right, var(--blue), var(--lt-blue), var(--blue)); color: var(--black); font-family: var(--Zalando); text-transform: uppercase; padding: 10px 20px; width: 100%; max-width: 265px; font-weight: 500; text-align: center; transition: 0.3s ease all !important;}
.btn-blue:hover {background: linear-gradient(var(--lt-blue)); transition: 0.3s ease all !important ;box-shadow: 0px 0px 5px 5px rgba(21,185,233,0.25);}

.btn-white {background: linear-gradient(to right, var(--gray), var(--white), var(--gray)); color: var(--black); font-family: var(--Zalando); text-transform: uppercase; padding: 10px 20px; width: 100%; max-width: 245px; font-weight: 500; text-align: center; transition: 0.3s ease all !important;}
.btn-white:hover {background: linear-gradient(var(--gray)); transition: 0.3s ease all !important;box-shadow: 0px 0px 5px 5px rgba(255,255,255,0.25);}

.btn-row {display: flex; justify-content: flex-start; align-items: center; gap: 20px; margin: 20px 0; flex-wrap: wrap;}
.btn-col {display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 20px; margin: 20px 0; flex-wrap: wrap;}

/*=== HEADER STYLES 
==============================*/
.top-runner {background: var(--black); padding: 10px 0;}
.top-runner > div {display: flex; justify-content: space-between; align-items: center; gap: 50px; color: var(--white);}
.top-runner a:hover {color: var(--blue);}
.header-wrap {background: linear-gradient(to right, var(--black), var(--dk-gray), var(--black));}
.primary.nav {display: flex; justify-content: space-between; align-items: center; gap: 50px; padding: 20px 0;}
/*a.last-link {background: linear-gradient(to right, var(--blue), var(--lt-blue), var(--blue));}*/
/*a.last-link:hover {background: linear-gradient(var(--lt-blue));}*/
.mobile-menu-fb {display: flex; justify-content: space-between; align-items: center; background: linear-gradient(to right, var(--black), var(--dk-gray), var(--black)) !important;}
.mobile-menu-right {display: flex; justify-content: flex-end; align-items: center; gap: 0; flex-wrap: wrap;}
.btn-phone {border: 1px solid var(--gray); aspect-ratio: 1/1 !important; padding: 10px; border-radius: 10px;}
.btn-phone:hover {background: var(--blue); color: var(--white) !important;}
.btn-phone i {aspect-ratio: 1/1 !important;}

.spinning {
  box-shadow: 0px 0px 5px 5px rgba(0,255,255,0);
  border: 3px solid #0000;
  color: white;
  background: 
      linear-gradient(to right, var(--blue), var(--lt-blue), var(--blue)) padding-box, 
      linear-gradient(
        var(--angle),
        transparent 0%,
        transparent 20%,
        var(--lt-blue) 35%,
        var(--white) 50%,
        var(--lt-blue) 65%,
        transparent 80%,
        transparent 100%
      ) border-box;
  animation: 8s rotate linear infinite;
}
.spinning:hover {box-shadow: 0px 0px 5px 5px rgba(21,185,233,0.25);}

@keyframes rotate {
  to {
    --angle: 360deg;
  }
}

@property --angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}    

/*=== FOOTER STYLES 
==============================*/
.footer-wrap {background: linear-gradient(to right, var(--black), var(--dk-gray), var(--black)); padding: 50px 0; position: relative;}
.footer-logo img {display: block; height: 100%; max-height: 200px;}
.footer-wrap > div {display: flex; justify-content: space-between; align-items: flex-start; gap: 50px; flex-wrap: wrap; position: relative; z-index: 2;}
.footer-wrap > div > div:not(.btn-col) {display: flex; justify-content: space-between; align-items: flex-start; gap: 50px; flex-wrap: wrap;}
.footer-wrap > div > div ul {display: flex; flex-direction: column; gap: 10px;}
.footer-wrap > div > div ul li a {display: flex; gap: 15px;}
.footer-wrap > div > div ul li a i {aspect-ratio: 1/1 !important; width: 15px;}
.footer-wrap > div > div ul li a:hover {color: var(--lt-blue) !important;}

/*=== HOME PAGE 
==============================*/
.home-hero {min-height: calc(100vh - 165px); background: linear-gradient(rgba(0,0,0,0.55)), url("../siteart/loader-haul.JPG"); background-size: cover; background-position: center; position: relative; display: flex; justify-content: flex-start; align-items: flex-end;}

.hero-text {margin: 0 auto; padding: 50px 0; color: var(--white); position: relative; z-index: 2;}
.hero-title {display: flex; flex-direction: column;}
.hero-text h1 {font-family: var(--Zalando); text-transform: uppercase; line-height: 50px;}
.hero-text h1 span:nth-child(1) {font-size: clamp(20px, 5vw, 27px); font-weight: 400; line-height: clamp(20px, 5vw, 27px);}
.hero-text h1 span:nth-child(2) {font-size: clamp(34px, 5vw, 42px); font-weight: 500; line-height: clamp(34px, 5vw, 42px);}
.hero-text h1 span:nth-child(3) {font-size: clamp(40px, 5vw, 64px); font-weight: 800; line-height: clamp(40px, 5vw, 64px);}
.hero-text p {max-width: 700px;}
.halftone-bottom-right {position: absolute; right: 0; bottom: 0; z-index: 1;}
.halftone-bottom-left {position: absolute; left: 0; bottom: 0; z-index: 1; transform: rotate(90deg);}
.halftone-top-left {position: absolute; left: 0; top: 0; z-index: 1; transform: rotate(180deg);}
.halftone-top-right {position: absolute; right: 0; top: 0; z-index: 1; transform: rotate(270deg);}

.quicklinks-section {padding: 100px 0; background: linear-gradient(to right, var(--black), var(--dk-gray), var(--black)); position: relative;}
.quicklink-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; align-items: stretch; padding: 50px 0 0 0; position: relative; z-index: 2;}
.quicklink-card {display: flex; flex-direction: column; gap: 20px; align-items: center; justify-content: flex-start; padding: 25px; background: #f6f6f6; border: 1px solid var(--gray); flex: 1; transition: 0.3s ease all !important;}
.quicklink-card img {object-fit: contain; height: 200px; width: 100%;}
.quicklink-card i:not(.ql-icon) {align-self: flex-end;}
.quicklink-card .ql-icon {font-size: 40px; padding: 20px 0;}
.quicklink-card:hover {transform: translateY(-10px); border-bottom: 10px solid var(--blue); transition: 0.3s ease all !important;}
.quicklink-card:hover i {color: var(--blue); transition: 0.3s ease all !important;}

.half-photo {margin: 100px auto; display: flex; justify-content: space-between; align-items: stretch; gap: 50px;}
.half-photo > div {flex: 1; display: flex; flex-direction: column; gap: 25px;}
.half-photo .subtitle {padding-left: 20px; border-left: 10px solid var(--blue);}
.half-photo > div > img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center;}
.blue5 { background: linear-gradient(to left, var(--lt-blue) 0%, var(--lt-blue) 5%, var(--white) 5%, var(--white) 100%);}
.blue5both { background: linear-gradient(to left, var(--lt-blue) 0%, var(--lt-blue) 5%, var(--white) 5%, var(--white) 95%, var(--lt-blue) 95%);}

.mini-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;}
.mini-grid-item {padding: 15px; display: flex; justify-content: flex-start; align-items: flex-start; gap: 15px; background: #f6f6f6; border: 1px solid var(--gray); border-radius: 10px;}

.black-banner {background: linear-gradient(rgba(0,0,0,0.75)), url("/siteart/991DBB81-CFE7-4E68-801B-41DFB7500C1C-1.PNG"); background-size: cover !important; background-position: center !important; color: var(--white); padding: 50px 0; position: relative;}
.black-banner > div {display: flex; flex-direction: column; align-items: center; gap: 30px; flex-wrap: wrap; position: relative; z-index: 2;}
.black-banner > div > div {display: flex; justify-content: center; align-items: flex-start; gap: 50px; flex: 1; max-width: 1000px;}
.black-banner > div > div > h3 {text-align: right; flex:1;}
.black-banner > div > div > p {text-align: left; flex:1;}

.thin-banner {padding: 10px 0;}
.thin-banner:hover {padding: 15px 0; color: var(--white) !important;}
.thin-banner:hover i {transform: translateX(10px); color: var(--white);}

.map {
    position: relative;
    min-height: 600px; 
    background: 
        url("/siteart/map-blue.svg"),
        linear-gradient(rgba(255,255,255,0.90)),
        url("/siteart/halftone-circle-black.svg");
    background-position: center 25% !important;
    background-size: contain !important;
    background-repeat: no-repeat;
    margin-bottom: 100px;
}
.map:hover {cursor: none;}
.map-text:hover {cursor: auto;}
.map-text:hover .cursor-plane {display: none !important;}

.cursor-plane {
    display: none;
    transition: transform 0.08s linear;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    transform: translate(-50%, -50%);
    font-size: 24px;
    color: var(--blue);
    z-index: 9999;
}

.map .map-text {padding: 20px; border-radius: 10px; border: 1px solid var(--gray); background: #f6f6f6; position: absolute; left: 0; bottom: 0; display: flex; flex-direction: column; gap: 25px; max-width: 500px;}
.map-text > div {display: flex; justify-content: space-between; align-items: flex-start; gap: 20px;}
.map-text p {line-height: 120%;}

.subtitle {text-align: left; padding-left: 30px; border-left: 10px solid var(--blue);}

/*=== ABOUT PAGE
==============================*/
.subpage-header {padding: 100px 0; background-size: cover !important; background-position: center center !important;}
.subpage-header > div h1::before {content:"//"; color: var(--blue);}
.subpage-header.about {background: linear-gradient(rgba(0,0,0,0.75)), url("/siteart/991DBB81-CFE7-4E68-801B-41DFB7500C1C-1.PNG");}

/*=== CONTACT PAGE
==============================*/
.subpage-header.contact {background: linear-gradient(rgba(0,0,0,0.75)), url("/siteart/loader-lineup.jpg");}

.contact-form {display: flex; flex-direction: column; gap: 10px; font-size: var(--p); max-width: 100%; padding: 10px;}
.contact-form label {display: none;}
.contact-form input {padding: 20px; width: 100%; border: 1px solid var(--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(--gray);}
.contact-form button.submit-button{padding: 20px; width: 100%; border: 1px solid var(--gray); font-size: var(--p);}
.contact-form button.submit-button:hover {cursor: pointer ;}

.grecaptcha-badge{z-index:10;}

/*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;}
*/

.note {
    font-size: 15px;
}

@media screen and (max-width: 700px) {
    .contact-form .input-row {flex-direction: column; width: 100%;}
    .contact-form .dualFields {width: 100%;}
}

/*=== MEDIA QUERIES
==============================*/

@media screen and (max-width: 1400px) {
    .mini-grid {grid-template-columns: repeat(1, 1fr);}
}

@media screen and (max-width: 1000px) {
    .primary.nav {display: none !important;}
    .top-runner {display: none;}
    
    .quicklink-grid {grid-template-columns: repeat(2, 1fr);}
    
    .half-photo {flex-direction: column;}
    .blue5 {background: var(--white);}
    .blue5both {background: var(--white);}
    .mini-grid {grid-template-columns: repeat(2, 1fr);}
}

@media screen and (max-width: 750px) {
    .quicklink-grid {grid-template-columns: repeat(1, 1fr);}
    
    .mini-grid {grid-template-columns: repeat(1, 1fr);}
    
    .black-banner > div > div {flex-direction: column;}
    .black-banner > div > div > h3 {text-align: center;}
}

@media screen and (max-width: 500px) {

}









