﻿/***** BEGIN 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, font, 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 {
	background: transparent;
	border: 0;
	margin: 0;
	padding: 0;	
}

ol, ul {
	list-style: none;
}

table{border-collapse:collapse; width:100%;}
td{vertical-align:top;}

/* Make HTML 5 elements display block-level for consistent styling */  
header, nav, article, footer, address {  
    display: block;  
} 

/*-------- COLORS --------

*/

/***** END RESET *****/
::-moz-selection {
    background: #000; 
    color: #fff;
    text-shadow: none;
}
::selection {
    background: #000;
    color: #fff;
    text-shadow: none;
}


/* Clearfix */
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
    *zoom: 1;
}

/*-------- BODY STYLES --------*/


a:link, a:visited, a:active {text-decoration:none;}
a:hover {text-decoration:none;}


hr{border:#000 1px solid;}

.geologica {font-family: "geologica-variable", sans-serif;}
font-variation-settings: "slnt" 0, "SHRP" 0, "CRSV" 0, "wght" 100;


.black {color: #252525;}
.black-bg {background-color: #252525;}
.red {color: #CB1A30;}
.red-bg {background-color: #CB1A30;}



.hh-button {
	display: inline-block;
	padding: 12px 30px;
	border: 1px solid #a5a5a5;
	border-radius: 4px;
	transition: all 0.2s ease-in;
	position: relative;
	overflow: hidden;
	font-size: 16px;
	cursor: pointer;
	color: #fff;
	z-index: 1;
	font-family: "geologica-variable", sans-serif;
	text-transform: uppercase;
	width: auto;
	background-color: transparent;
}

.hh-button:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scaleY(1) scaleX(1.25);
  top: 100%;
  width: 140%;
  height: 180%;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 50%;
  display: block;
  transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
  z-index: -1;
}

.hh-button:after {
  content: "";
  position: absolute;
  left: 55%;
  transform: translateX(-50%) scaleY(1) scaleX(1.45);
  top: 180%;
  width: 160%;
  height: 190%;
  background-color: #CB1A30;
  border-radius: 50%;
  display: block;
  transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
  z-index: -1;
}

.hh-button:hover {
  color: #ffffff;
  border: 1px solid #CB1A30;
}

.hh-button:hover:before {
  top: -35%;
  background-color: #CB1A30;
  transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}

.hh-button:hover:after {
  top: -45%;
  background-color: #CB1A30;
  transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}



/*--- HEADER STYLES ---------------------*/
header {}
.head-wrap {
/*	border-bottom: 7px solid #CB1A30;*/
}
.header {
    display: flex;
    align-items: center;
	background-color: #151515;
}
.head-logo {
    padding: 10px;
	background-color: #fff;
}


/*---BODY--------------------------------*/

.bb-red {border-bottom: 7px solid #CB1A30;}


.breadcrumbs {
    display: flex;
    font-size: 16px !important;
    color: #151515 !important;
    padding: 3% 0 2%;
    flex-wrap: wrap;
    align-items: center;
    letter-spacing: 0.05em;
    gap: 10px;
	font-family: "geologica-variable", sans-serif;
}
.breadcrumbs a {
    display: inline-block;
    padding: 12px;
    color: #151515;
    font-size: 16px !important;
	font-family: "geologica-variable", sans-serif;
}

.wid95 {width: 95%;margin: 0 auto;}
.wid90 {width: 90%;margin: 0 auto;}
.wid85 {width: 85%;margin: 0 auto;}
.wid80 {width: 80%;margin: 0 auto;}
.wid75 {width: 75%;margin: 0 auto;}

.padlr-norm { padding-left: max(4%, calc(50% - 1200px)); padding-right: max(4%, calc(50% - 1200px)); }

.padtb-20 { padding-top: 20px; padding-bottom: 20px; }
.padtb-50 { padding-top: 50px; padding-bottom: 50px; }
.padtb-100 { padding-top: 100px; padding-bottom: 100px; }

.padt-10 { padding-top: 10px; }
.padt-15 { padding-top: 15px; }
.padt-20 { padding-top: 20px; }
.padt-50 { padding-top: 50px; }
.padt-100 { padding-top: 100px; }
.padb-10 { padding-bottom: 10px; }
.padb-15 { padding-bottom: 15px; }
.padb-20 { padding-bottom: 20px; }
.padb-50 { padding-bottom: 50px; }
.padb-100 { padding-bottom: 100px; }

.margt-10 { margin-top: 10px; }
.margt-15 { margin-top: 15px; }
.margt-20 { margin-top: 20px; }
.margt-50 { margin-top: 50px; }
.margb-10 { margin-bottom: 10px; }
.margb-15 { margin-bottom: 15px; }
.margb-20 { margin-bottom: 20px; }
.margb-50 { margin-bottom: 50px; }

.colgap-24 { column-gap: 24px; }
.colgap-60 { column-gap: 60px; }
.colgap-lg { column-gap: min(200px, 10vw); }

.rowgap-24 { row-gap: 24px; }
.rowgap-24 { row-gap: 24px; }
.rowgap-32 { row-gap: 32px; }
.rowgap-40 { row-gap: 40px; }
.rowgap-50 { row-gap: 50px; }

.flex-container {display: flex;}
.flex-width {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 100%;
}


.white {color: #fff;}
.white-bg {background-color: #fff;}
.black {color: #151515;}
.black-bg {background-color: #151515;}
.red {color: #CB1A30;}
.red-bg {background-color: #CB1A30;}
.grey-bg {background-color: #eaeaea;}
.grey-bg img{max-height: 100px;}

.heading1 {
    font-family: "geologica-variable", sans-serif;
    font-size: 70px;
    line-height: 80px;
    font-weight: 600;
    text-transform: uppercase;
}
.heading1 span {
	font-weight: 200;}
.cta-heading {
	font-family: "geologica-variable", sans-serif;font-size: 45px;line-height: 45px;font-weight: 600;text-transform: uppercase;}
.cta-heading span {
	font-weight: 100;}
.med-heading {
	font-family: "geologica-variable", sans-serif;font-size: 35px;line-height: 40px;font-weight: 600;text-transform: uppercase;}
.sm-heading {
	font-family: "geologica-variable", sans-serif;font-size: 22px;line-height: 30px;font-weight: 300;text-transform: uppercase;}
.body {
	font-family: "geologica-variable", sans-serif;font-size: 16px;line-height: 30px;font-weight: 200;}

.italic {font-style: italic;}
.uppercase {text-transform: uppercase;}
.capitalize {text-transform: capitalize;}

.relative {
    position: relative;
}

/*---HERO---*/
.hero-section {
	position: absolute;top: 50%;left: 5%;width: 80%;}
.hero{
	height: 800px;overflow: hidden;}
.hero img{
	object-fit: cover;height:100%;width:100%;}
.off-white.hero-half {
	bottom: 0;position: absolute;right: 0;padding: 40px 0;max-width: 50%;width: 100%;}
video#bgvideo {
	position: absolute;top: 50%;left: 50%;min-width: 100%;min-height: 100%;width: auto;height: auto;z-index: -100;-ms-transform: translateX(-50%) translateY(-50%);-moz-transform: translateX(-50%) translateY(-50%);-webkit-transform: translateX(-50%) translateY(-50%);transform: translateX(-50%) translateY(-50%);background: url("../siteart/placeholder.jpg") no-repeat;background-size: cover;}
.overlay {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, #151515 0%, rgba(0, 0, 0, 0.35) 100%);
    z-index: -1;
}

.hero-btns{gap: 20px;display: flex;flex-wrap: wrap;}




.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 50px 50px 75px 50px;
	position: relative;
	overflow: hidden;
}
.card-grid::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 47%;   /* adjust size to match your design */
  height: 30%;  /* tweak as needed */
  background-color: #CB1A30; /* your red */
  z-index: 0;
}
.card-grid .card {
  position: relative;
  z-index: 1;
}
.card {
  position: relative;
  height: 400px;
  background-size: cover;
  background-position: center;
  color: white;
  overflow: hidden;
	border-bottom: 7px solid #FFF;
}

/* dark overlay */
.card::before {
  content: "";
  position: absolute;
  inset: 0;
/*  background: rgba(0,0,0,0.35);*/
  transition: 0.3s ease;
}

/* red hover overlay */
.card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(200, 0, 0, 0.65);
  opacity: 0;
  transition: 0.3s ease;
}

.card:hover::after {
  opacity: 1;
}

/* icon box */
.icon {
  position: absolute;
  top: 0;
  left: 25px;
  background: #d6001c;
  padding: 12px;
  font-size: 40px;
  z-index: 2;
  border-radius: 0 0 10px 10px;
	width: 50px;
    text-align: center;
}

/* text content */
.content {
  position: absolute;
  bottom: 30px;
  left: 30px;
  z-index: 2;
}

.content h3 {
  margin: 0;
  font-size: 22px;
  font-weight: bold;
}

.content p {
  margin: 0;
  font-size: 18px;
  opacity: 0.9;
}






/*-------- PAGES STYLES--------------------*/

section.pg-contact {
    display: flex;
    gap: 30px;
	flex-wrap: wrap;
}
.qls {
    background-color: #eaeaea;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
	padding-top:32px; padding-bottom:66px; padding-left:20px; padding-right:12px;;
    flex: 1;
    color: #151515;
	border: 1px solid #eaeaea;
	border-radius: 5px;
    transition: all 0.2s ease-in;
}
.qls i {
    font-size: 30px;
    margin-bottom: 30px;
}
.qls .cta-heading span {
    font-size: 25px;
	font-weight: 400;
 }
.qls .bttn {
    font-size: 18px;
	font-family: "geologica-variable", sans-serif;
	background-color: #d6001c;
	color: #fff;
	display: inline-block;
    padding: 12px 30px;
    border: 1px solid #d6001c;
    border-radius: 4px;
    transition: all 0.2s ease-in;
	overflow: hidden;
}
.qls .cta-heading {
    margin-bottom: 5%;
}

a.qls:hover {
	background-color: transparent;
	border: 1px solid #bababa;
    transition: all 0.2s ease-in;
}
a.qls:hover p.bttn {
	border: 1px solid #a5a5a5;
	background-color: transparent;
	color: #151515;
    transition: all 0.2s ease-in;
}
a.bttn:hover {
    border: 1px solid #a5a5a5;
    background-color: transparent;
    color: #151515;
    transition: all 0.2s ease-in;
}

.equipment-lineup {
	background-image: url("../siteart/contact-lineup.jpg");
	height: 400px;
	background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #000;
    display: flex;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    align-items: center;
    width: 100%;
    max-width: 100%;
}


section.pg-contact.brands p.body {
    margin-bottom: 30px;
}
section.pg-contact.brands img {
    max-width: 100%;
    margin-bottom: 20px;
}
section.pg-contact.brands .qls {
	min-width: 250px;
}



section.about.hero {
    height: 300px;
	background-color: #000;
}
section.service.hero {
    height: 300px;
	background-color: #000;
}

section.grid {display:grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));}





/*-------- FORM STYLES ----------------*/


form.custom-form .flex {
    width: 100%;
	gap: 20px;
	display: flex;
}
.custom-form label {
	font-family: "geologica-variable", sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: capitalize;
    letter-spacing: 1px;
	width: 100%;
}
.flex input {
/*	width: 100%;*/
    display: flex;
    flex-direction: column;
    margin: 10px 0;
    text-align: left;
    font-family: "geologica-variable", sans-serif;
    background-color: #333;
    color: #fff;
    width: 100%;
    padding: 15px 05px 15px 10px;
    outline: 0;
    border: 1px solid rgba(105, 105, 105, 0.397);
    border-radius: 5px;
    font-size: 16px;
}

.custom-form textarea {
    display: flex;
    flex-direction: column;
    margin: 10px 0;
    text-align: left;
    font-family: "geologica-variable", sans-serif;
    background-color: #333;
    color: #fff;
    width: -webkit-fill-available;
    padding: 15px 05px 15px 10px;
    outline: 0;
    border: 1px solid rgba(105, 105, 105, 0.397);
    border-radius: 5px;
    font-size: 16px;
}

.CaptchaPanel {
    text-align: center!important;
}
.CaptchaWhatsThisPanel a {
	font-family: "geologica-variable", sans-serif;
	color: #CB1A30;
}
.CaptchaMessagePanel,.CaptchaWhatsThisPanel {
	font-family: "geologica-variable", sans-serif;
	font-size: 15px;
	color: #fff
}
input#CaptchaAnswer {
    border-bottom: 1px solid #ACACAC;
    border-top: none;
    border-left: none;
    border-right: none;
    display: flex;
    flex-direction: column;
    margin: 10px 0;
    text-align: left;
    font-family: "geologica-variable", sans-serif;
    background-color: #333;
    color: #fff;
    padding: 15px 05px 15px 10px;
    outline: 0;
    border: 1px solid rgba(105, 105, 105, 0.397);
    border-radius: 5px;
    font-size: 16px;
}
.CaptchaAnswerPanel {
    padding: 5px 5px 10px 5px;
    justify-items: center;
}
button.button {
    display: inline-block;
    padding: 12px 30px;
    border: 1px solid #a5a5a5;
    border-radius: 4px;
    transition: all 0.2s ease-in;
    position: relative;
    overflow: hidden;
    font-size: 16px;
    cursor: pointer;
    color: #fff;
    z-index: 1;
    font-family: "geologica-variable", sans-serif;
    text-transform: uppercase;
    background: transparent;
}
button#submitbtn {
    display: flex;
    place-self: center;
}



/*-------- FOOTER STYLES ----------------*/

.footer {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 7vw;
    padding: 100px 50px;
	border-bottom: 7px solid #CB1A30;
}
.foot-heading {
    font-size: 20px;
    font-weight: 600;
	color: #151515;
    font-family: "geologica-variable", sans-serif;
}
.foot-col.contact {
    display: flex;
    flex-direction: column;
    gap: 15px;
/*    justify-content: space-between;*/
}
.foot-col.qck a {
    font-family: "geologica-variable", sans-serif;
    font-weight: 600;
	color: #151515;
}
.foot-col.qck {
    display: flex;
    flex-direction: column;
    border-left: 1px solid;
    padding: 0 30px;
	justify-content: space-between;
    gap: 15px;
}
.foot-lnks {
	display: flex;
	flex-direction: column;
}
.foot-lnks a {
    font-size: 40px;
    font-weight: 600;
    color: #151515;
    font-family: "geologica-variable", sans-serif;
}
.foot-list {
    display: flex;
    flex-direction: column;
}
.footer p.body {
    font-size: 14px;
}

/*----INVENTORY STYLES - KEEP AT BOTTOM OF CSS----*/

.wrap-wt {
    width: 100%;
    background-color: rgb(0, 0, 0);
    position: relative;
    z-index: 0;
    margin: 0px;
    padding: 3% 0px;
}


.inv-banner {display: flex; justify-content: center; align-items: center; justify-self: center; width: 70%; padding: 15px 0; margin-bottom: 10px; border: 1px #fff solid; border-radius: 5px; font-size: 16px; font-weight: 600; transition: .3s all ease;background-color: #d6001c; color: #fff; font-family: "geologica-variable", sans-serif; margin-bottom: 50px;}
.inv-banner:hover {text-decoration: none; border: 1px solid #a5a5a5;
    background-color: transparent;
    color: #151515;
    transition: all 0.2s ease-in;}

.ad-brands {display:flex; padding-top:50px; padding-bottom:50px; width:90%; margin:0 auto;}



/*---------- RESPONSIVE STYLES ----------*/

@media only screen and (min-width: 768px) {
	
}

@media only screen and (min-width:768px) and (max-width: 1130px) {
	
}
@media only screen and (max-width: 1500px) {
	.qls .cta-heading span {
		font-size: 18px;
	}
}
@media only screen and (max-width: 1400px) {
	.cta-heading {
		font-size: 32px; line-height: 35px;
	}
}
@media only screen and (max-width: 1100px) {
	.wid75, .wid80 {
		width: 90%;
	}
}
@media only screen and (max-width: 1050px) {
	.card-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.heading1 {
		font-size: 55px; line-height: 65px;
	}
}

@media only screen and (max-width: 991px) {
	.head-wrap {
		display: flex;
		background-color: #151515;
	}
	.head-logo img {
		max-width: 100px;
	}
	.head-logo {
		padding: 5px 10px;
	}
	section.pg-contact {
		flex-direction: column;
		gap: 30px;
	}
	a.qls {
		padding: 40px 20px;
		display: block;
	}
}
@media only screen and (max-width: 800px) {
	.heading1 {font-size: 40px; line-height: 50px;}
	.hero-section {width: 90%;}
}
@media only screen and (max-width: 700px) {
  .card-grid {
	  grid-template-columns: 1fr;
	  padding: 25px 25px 75px 25px
  }
	.card {height: 300px;}
	.hero {height: 650px;}
}

@media only screen and (max-width: 600px) {
	.foot-lnks a {font-size: 22px;}
	.foot-heading {font-size: 16px;}
	.footer {padding: 100px 25px;}
	.foot-col.qck {border-left: none; padding: 0;}
	.icon {font-size: 30px; width: 38px;}
	.cta-heading {font-size: 22px; line-height: 25px;}
	.content {bottom: 20px;left: 18px;}
	.heading1 span {font-size: 22px;line-height: normal;}
	.med-heading {font-size: 25px; line-height: 30px;}
	section.pg-contact.brands .qls {min-width: 200px;}
	form.custom-form .flex {flex-direction: column;gap: 0;}
	.flex input {width: -webkit-fill-available;}
	.qls .cta-heading span {font-size: 16px;}
	.foot-col.contact {gap: 30px;}
	.footer {gap: 30px;}
	.hh-button {font-size: 15px;padding: 10px 20px;}
}



