@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: #4d100a; color: #fff; text-shadow: none;}

:root {
	/*=== Fonts ===*/
    --Bahn: "Bahnschrift", sans-serif;
    --Bahn-Con: "Bahnschrift Condensed", sans-serif;
    --Bahn-Lite: "Bahnschrift Light", sans-serif;

	/*=== Colors ===*/
	--white: #FFFFFF;
	--black: #000000;
	--red: #7c1f17;
	--darkred: #4d100a;
    --gray: #ddd;
    --darkgray: #aaaaaa;
    
    /*=== Font Sizes ===*/
    --p: clamp(16px, 5vw, 20px);

	/*=== Spacing ===*/
	--lg-padding: clamp(75px, 5vw, 100px);
	--md-padding: clamp(50px, 2.5%, 2.5%);
	--sm-padding: clamp(25px, 2.5%, 2.5%);
}

    .white{color: var(--white)}
    .black{color: var(--black)}
    .red{color: var(--red)}
    .darkred{color: var(--darkred)}
    .gray{color: var(--gray)}
    .darkgray{color: var(--darkgray)}
    .green{color: #5cbb00;}

body {
    position: relative;
	font-family: var(--Bahn-Con), sans-serif !important;
	height: auto !important;
    background-color: var(--white);
}

.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);
    font-weight: 300;
    line-height: 150%;
}

.thick {
    font-weight: 700 !important;
}

.nocaps {text-transform: none !important;}

.center {text-align: center;}

.xl-heading, .lg-heading, .md-heading, .sm-heading {
	font-family: var(--Bahn-Con);
	text-transform: uppercase;
    font-weight: 400;
}

.xl-heading-bold {
	font-family: var(--Bahn-Con);
	text-transform: uppercase;
    font-weight: 900 !important;
}


.xs-heading {
	font-family: var(--Bahn-Con);
/*    font-weight: 900;*/
	text-transform: uppercase;
	padding-top: 5px;
}
.xl-heading {font-size: clamp(56px, 5vw, 64px);line-height: clamp(56px, 5vw, 64px); letter-spacing: -0.1rem;}
.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); letter-spacing: 0.1rem;}
.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;}

.btn-red {color: var(--white); background-color: var(--red); border: 1px solid var(--red); display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 15px 35px; border-radius: 30px; max-width: 300px; text-transform: uppercase; font-weight: 600; font-size: 18px; font-family: var(--Bahn-Con);}
.btn-red:hover {color: var(--red); background-color: var(--white); border: 1px solid var(--red); transform: translateX(5px);}

.display-mobile {display: none!important;}

.btn-white {color: var(--red); background-color: var(--white); border: 1px solid var(--red); display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 15px 35px; border-radius: 30px; max-width: 300px; text-transform: uppercase; font-weight: 600; font-size: 18px; font-family: var(--Bahn-Con);}
.btn-white:hover {color: var(--white); background-color: var(--red); border: 1px solid var(--red); transform: translateX(5px);}

.btn-text {color: var(--red); font-weight: 600; text-transform: uppercase; text-decoration: underline; text-decoration-color: transparent; font-family: var(--Bahn-Con);}
.btn-text:hover {color: var(--red); font-weight: 600; text-transform: uppercase; text-decoration-color: var(--red);}

.bg-red {background: var(--red);}
.bg-darkred {background: var(--darkred);}
.bg-gray {background: #ebebeb;}
.bg-black {background: var(--black);}
.bg-white {background: var(--white);}

section {overflow: hidden;} /* prevents animations from creating horizontal scroll before executing */

/*=== HEADER STYLES
==============================*/
.primary.nav {display: flex; justify-content: space-between; align-items: center; box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.05); z-index: 3; background: var(--white);}
.primary.nav .header-logo {}
.header-logo {max-width: 190px; padding: 15px 20px; background: var(--white); display: flex; justify-content: center; align-items: center;} 
.header-logo img:hover {transform:rotate(360deg);} 
.socials-right {padding-right: 2.5vw; display: flex; justify-content: center; align-items: center; gap: 20px;}
.socials-right a {padding: 10px; height: 50px; border-radius: 100px; aspect-ratio: 1 / 1; background-color: var(--red); justify-content: center; align-items: center; display: flex; overflow: hidden; color: var(--white); border: 1px solid var(--red);}
.socials-right a:hover {background-color: var(--white); color: var(--red) !important;}
.socials-right a i {/*aspect-ratio: 1 / 1;*/ font-size: 22px;}

#menu-button {background: var(--white) !important;}
.mobile-menu-fb {display: flex; justify-content: space-between; align-items: center; padding: 0 2.5vw 0 0 !important;}
.mobile-menu-right {display: flex; flex-direction: row-reverse; flex-wrap: wrap;}

.home-header {position: absolute; width: 100%; z-index: 99; overflow: visible;}
.home-header .primary.nav {box-shadow: none !important; background: transparent !important;}
.home-header .primary.nav ul li a:not(ul ul li a) {color: var(--white);}
.home-header #menu-button {background: transparent!important; box-shadow: none;}
.home-header #menu-button .menu-toggle { color: var(--white) !important;}


/*=== FOOTER STYLES
==============================*/
.footer-wrap {border-top: 1px solid #ebebeb;}
.footer-fb {display: flex; justify-content: space-between; align-items: center; padding: 3em 0; flex-wrap: wrap; font-size: 18px; text-transform: uppercase; }
.footer-fb > div {display: flex; flex-direction: column; gap: 40px;}
.footer-fb > div > div {display: flex; justify-content: space-between; align-items: center; gap: 3vw; margin-top: 1em;}
.footer-fb  > div > div a:not(.btn-white) {border-bottom: 3px solid transparent; padding: 15px 0;}
.footer-fb  > div > div a:not(.btn-white):hover {color: var(--red); border-color: var(--red);}
.footer-fb a i {font-size: 24px;}
.footer-logo img {max-width: 200px; padding: 25px; background: var(--white);} 
.footer-logo img:hover {transform:rotate(360deg);} 

/*=== HOME PAGE 
==============================*/
.home-hero {position: relative; z-index: 1; background: linear-gradient(rgba(0,0,0,0.75)), url("/siteart/hero2.jpg"); width: 100%; max-height: 900px; min-height: 800px; display: flex; justify-content: flex-start; align-items: center; background-position: center center; background-size: cover; aspect-ratio: 4 / 3; object-fit: cover;}
.hero-bottom {position: absolute; bottom: 0; width: 100%; height: auto;}
.hero-bottom img {display: block;}
.hero-text {width: 90%; max-width: 1600px; margin: 0 auto; display: flex; justify-content: flex-start; align-items: center;}
.hero-text > div {max-width: 435px; padding: 1em 0; display: flex; flex-direction: column; justify-content: flex-start; gap: 20px;}

.half-photo {padding: 100px 0;}
.half-photo > div {display: flex; justify-content: space-between; align-items: stretch; gap: 100px;}
.half-photo > div > div {display: flex; flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 30px; flex: 1;}
.half-photo > div > div > h2 {padding-left: 10px; border-left: 3px solid var(--red);}
.half-photo > div > div > h2 > span{padding-top: 10px;}
.half-photo > div > div:has(.swiper) {flex: 1; display: flex; align-items: stretch; min-width: 0;}
.half-photo > div > div .swiper {border-radius: 25px; height: 100%;}
.half-photo > div > div .swiper:hover {cursor: grab;}
.half-photo > div > div .swiper:active {cursor: grabbing;}
.half-photo > div > div > img {display: block; border-radius: 30px; height: 100%; width: 100%; object-fit: cover;}
.half-photo > div > div > iframe {display: block; border-radius: 30px; height: 100%; min-height: 300px; width: 100%; object-fit: cover;}
.half-photo > div > div > .bullets li a {display: flex; gap: 20px; align-items: center; padding-bottom: 20px;}
.half-photo > div > div > .bullets li a:hover {transform: translateX(5px); color: var(--red);}
.half-photo > div > div > .bullets img {max-width: 50px;}
.half-photo > div > div > .bullets i {width: 50px; text-align: center; font-size: 30px;}

.swiper {width: 100%; height: 100%; overflow: hidden;}
.swiper-slide { width: 100%; height: 100%;}
.swiper-slide img { width: 100%; height: 100%; object-fit: cover;}
.swiper-header {display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 50px; flex-wrap: wrap;}
.swiper-header > div {display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 15px; flex-wrap: nowrap;}
.qlSwiper:active {cursor: grabbing; }
/*.qlSwiper .swiper-wrapper {width: 120% !important; max-width: none;}*/
.qlSwiper .swiper-slide {position: relative; border-radius: 20px; overflow: hidden;}
.qlSwiper .swiper-slide > div > img {position: absolute; z-index: 1; width: 100%; height: 100%; object-fit: cover;}
.qlSwiper .swiper-slide > div:hover > img {transform: scale(1.05);}
.qlSwiper .swiper-slide > div > div {position: relative; z-index: 2; display: flex; flex-direction: row; justify-content: flex-start; align-items: center; gap: 20px; width: 100%; height: 100%; padding: 300px 20px 20px 20px; background: linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0)); color: var(--white);}
.qlSwiper .swiper-slide > div > div > img {max-width: 50px; widht: 100%; height: auto;}
.qlSwiper .swiper-slide > div > div > div {display: flex; flex-direction: row; justify-content: flex-start; align-items: center;}
/*.qlSwiper .swiper-arrow-right, .qlSwiper .swiper-arrow-left {height: 50px !important; width: 50px; padding: 10px; border-radius: 100px; background-color: var(--red); position: static; aspect-ratio: 1/1; color: var(--white); border: 1px solid var(--white);}*/
.qlSwiper .swiper-arrow-right, .qlSwiper .swiper-arrow-left {display: flex; justify-content: center; align-items: center; height: 60px; width: 60px; border: 1px solid var(--white); border-radius: 100px; color: var(--white); font-size: 24px;}
.qlSwiper .swiper-arrow-right:hover, .qlSwiper .swiper-arrow-left:hover {cursor: pointer;}

section:has(.info-grid) {position: relative;}
section:has(.info-grid) h2 {position: absolute; top: 60px; right: 50%; transform: translateX(50%); padding: 20px; background-color: var(--white);}
section:has(.info-grid) div:has(.btn-red) {position: absolute; bottom: 60px; right: 50%; transform: translateX(50%); padding: 20px; background-color: var(--white);}
.info-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; border: 2px solid var(--red); padding: 80px 50px; border-radius: 25px;}
.grid-item {background-color: #f4f4f4; padding: 40px 20px; text-align: center; border: 1px solid #f4f4f4; display: flex; flex-direction: column; align-items: center; justify-content: center;}
.grid-item h3 {background: linear-gradient(rgba(0,0,0,0)); color: var(--darkgray); font-size: 20px;}
.grid-item p {font-weight: 600; font-size: 20px;}
.grid-item:hover {transform: scale(1.05); border: 1px solid var(--red);}

.text-scroller {overflow:hidden; white-space:nowrap; width:100%;}
.text-track {display:inline-flex; animation:scrollText 20s linear infinite; white-space: nowrap;}
.text-track:hover {animation-play-state: paused;}
.text-track span {position:relative; font-size: 22px; padding: 0 30px;}
.text-track span:not(:last-child)::after {content:'•'; position:absolute; top: -3px; right:-3px; font-size: 45px;}
@keyframes scrollText { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }

/*=== SERVICE PAGE 
==============================*/
.service-subnav {position: sticky; top: 0; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr);}
.service-subnav a {display: flex; justify-content: center; align-items: center; text-align: center; padding: 20px; background: var(--white); border: 1px solid #ebebeb; text-transform: uppercase;}
.service-subnav a:hover {background-color: var(--gray);}
.service-subnav a.active {background-color: var(--red); color: var(--white); border-color: var(--red);}

/*=== ABOUT PAGE 
==============================*/
.subpage-hero {background-size: cover !important; background-position: center center !important;}
.subpage-hero > div {padding: 100px 0;}

.subpage-hero.about {background: linear-gradient(rgba(0,0,0,0.75)), url("/siteart/welder-trailer.jpg");}

/*=== CONTACT PAGE 
==============================*/
.subpage-hero.contact {background: linear-gradient(rgba(0,0,0,0.75)), url("/siteart/hero1.jpg");}

#contact-form {display: flex; flex-direction: column; gap: 10px; font-size: 16px;; max-width: 100%;}
#contact-form label {display: none;}
#contact-form label span {width: 100%;}
#contact-form h3 {font-size: 18px; margin-top: .5em;}
#contact-form input {padding: 20px; width: 100%; font-size: 16px;}
#contact-form input[type="checkbox"] {width: fit-content;}
#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(--Bahn-Con); padding: 20px; font-size: 16px;}
#contact-form input.submit:hover {cursor: pointer ;}
/*#contact-form .checkbox-group {display: grid; grid-template-columns: repeat(2, 1fr); place-items: center !important;}*/
#contact-form .checkbox-group {display: flex; flex-direction: column; align-items: flex-start; font-size: 16px; margin-bottom: .5em;}
#contact-form .checkbox-row {display: flex; align-items: center; gap: 8px; margin: 5px 0; width: fit-content; font-size: 16px;}
#contact-form button {font-family: var(--Bahn-Con); margin: 0 auto;}


/*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%;}
}

/*=== SERVICE PAGE 
==============================*/
.subpage-hero.service {background: linear-gradient(rgba(0,0,0,0.75)), url("/siteart/gas-fuel-tank-trailers1.jpg");}


/*=== CALCULATOR PAGE 
==============================*/

.calculator-wrapper, .calculator-wrapper * { box-sizing: border-box; }
.reset, .column6.left { float: none !important; width: 100% !important; }
.calculator-wrapper { max-width: 900px; margin: 40px auto; padding: 30px; background: #ffffff; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.08); font-family: var(--Bahn-Con); }
.reset { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
@media (max-width: 768px) { .reset { grid-template-columns: 1fr; } }
.cf { grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: center; margin-bottom: 14px; }
label { font-size: 14px; color: #333; }
input[type="text"], select { width: 100%; padding: 8px 10px; border: 1px solid #ccc; border-radius: 6px; font-size: 14px; }
.cf label:last-child { font-size: 14px; color: #666; }
.cf:last-child { grid-template-columns: 1fr 1fr; }
.btn { padding: 10px; border: none; border-radius: 6px; background: var(--red); color: #fff; font-weight: bold; cursor: pointer; transition: background 0.2s ease; }
.btn:hover { background: var(--gray); color: var(--red); }
.btn:last-child { background: #e5e5e5; color: #333; }
.btn:last-child:hover { background: #ccc; }
.column6:last-child .cf { grid-template-columns: 1fr auto; }
.inline.bold { font-weight: bold; font-size: 15px; }
.reset-text { font-size: 16px; color: var(--red); font-weight: bold; }
.m-bottom-10 { margin-bottom: 10px; }


/*============== MEDIA QUERIES ===============*/
@media screen and (max-width: 1200px) {
	.footer-logo img {max-width: 175px; margin-top: .75em;}
	.footer-fb {flex-direction: column-reverse; justify-content: center; width: 100%;}
	.footer-logo {display: flex; flex-direction: column; justify-content: center; align-items: center;}	
	.footer-fb > div > div:nth-child(2) {display: none;}
	.header-logo {max-width: 175px;}
}

@media screen and (max-width: 1000px) {
    .primary.nav {display: none !important;}
    
    .half-photo > div {flex-direction: column !important;}
    .half-photo .swiper {max-height: 300px;}
    
    .info-grid { grid-template-columns: repeat(2, 1fr);}
	
	.display-mobile {display: flex!important;}
	
	.text-track span {font-size: 20px;}
}

@media screen and (max-width: 900px) {
	.footer-fb {padding: 1.5em 0;}
	.footer-fb > div > div {display: none;}
}

@media screen and (max-width: 500px) {
    .info-grid {grid-template-columns: repeat(1, 1fr);}    
    .service-subnav {grid-template-columns: repeat(2, 1fr);}
	.header-logo {max-width: 160px;}
	.home-hero {min-height: 700px; aspect-ratio: 4 / 3;}
	.hero-text {margin-top: 4em;}
	.socials-right {gap: 10px;}
}
