@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;
    --Roboto-Cond: "Roboto Condensed", sans-serif;
    --Roboto: "Roboto", sans-serif;

	/*=== Colors ===*/
	--white: #FFFFFF;
	--red: #FF0000;
	--tan: #FFF4ED;
    --gray: #AFC4C3;
    --black: #212121;
    
    /*=== 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)}
    .red{color: var(--red)}
    .tan{color: var(--tan)}
    .gray{color: var(--gray)}
    .black{color: var(--black)}

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;
}

p {
    font-size: clamp(16px, 5vw, 18px);
    font-weight: 300;
}

.thick {
    font-weight: 900 !important;
}
.thin {
    font-weight: 300 !important;
}
.slantp {
    font-weight: 600 !important;
    font-style: italic !important;
}

.center {text-align: center;}

.xl-heading, .lg-heading, .md-heading, .sm-heading {
	font-family: var(--Roboto-Cond);
    font-style: italic;
	text-transform: uppercase;
    font-weight: 300;
}

.xl-heading-bold {
	font-family: var(--Roboto-Cond);
	text-transform: uppercase;
    font-weight: 900 !important;
}


.xs-heading {
	font-family: var(--Roboto-Cond);
    font-style: italic;
    font-weight: 300;
	text-transform: uppercase;
	padding-top: 5px;
}
.xl-heading {font-size: clamp(40px, 5vw, 64px);line-height: clamp(40px, 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;}
.gimmespace {height: 100px; width: 100%;}

/*=== BODY STYLES 
============================================*/
.width90 {width: 90%; max-width: 1600px; margin: auto;}

.btn-red.btn-header-phone {max-width: 300px !important;}

.btns-row {display: flex; justify-content: flex-start; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 20px;}

.btn-red {display: flex; justify-content: center; align-items: center; padding: 10px 20px; border-radius: 5px;  max-width: 240px !important; font-family: var(--Roboto-Cond); font-style: italic; text-transform: uppercase; font-weight: 600; color: var(--white); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 531.28 200'%3E%3Cdefs%3E%3Cstyle%3E .shape %7B fill: %23212121 /* fill: %23212121; */ %7D %3C/style%3E%3C/defs%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cpolygon class='shape' points='415.81 200 0 200 115.47 0 531.28 0 415.81 200' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A"); background-size: 200%; background-position: 200%; background-repeat: no-repeat; background-color: var(--red); border: 1px solid var(--red);}
.btn-red:hover {background-position: 40%; transform: scale(1.1);}

.btn-gray {display: flex; justify-content: center; align-items: center; padding: 10px 20px; border-radius: 5px;  max-width: 240px !important; font-family: var(--Roboto-Cond); font-style: italic; text-transform: uppercase; font-weight: 600; color: var(--white); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 531.28 200'%3E%3Cdefs%3E%3Cstyle%3E .shape %7B fill: %23FF0000 /* fill: %23FF0000; */ %7D %3C/style%3E%3C/defs%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cpolygon class='shape' points='415.81 200 0 200 115.47 0 531.28 0 415.81 200' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A"); background-size: 200%; background-position: 200%; background-repeat: no-repeat; background-color: var(--gray); border: 1px solid var(--gray);}
.btn-gray:hover {background-position: 40%; transform: scale(1.1);}

.btn-black {display: flex; justify-content: center; align-items: center; padding: 10px 20px; border-radius: 5px;  max-width: 240px !important; font-family: var(--Roboto-Cond); font-style: italic; text-transform: uppercase; font-weight: 600; color: var(--white); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 531.28 200'%3E%3Cdefs%3E%3Cstyle%3E .shape %7B fill: %23FF0000 /* fill: %23FF0000; */ %7D %3C/style%3E%3C/defs%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cpolygon class='shape' points='415.81 200 0 200 115.47 0 531.28 0 415.81 200' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A"); background-size: 200%; background-position: 200%; background-repeat: no-repeat; background-color: var(--black); border: 1px solid var(--black);}
.btn-black:hover {background-position: 40%; transform: scale(1.1);}

.bg-gray {
/*  height: 200px;*/
  background: linear-gradient(
    105deg,
    #3d4241 0%,
    #3d4241 45%,
    #212121 45%,
    #212121 100%
  );
}

/*=== HEADER STYLES 
==============================*/
.header-wrap {position: fixed;left: 50%; transform: translateX(-50%); z-index: 99; width: 100%; min-height: 100px;}
.home-header-wrap .header-wrap {background: transparent;}
.header-wrap.scrolled {background: var(--black);}
.header-wrap.scrolled .header-logo {transform: scale(0.8);}
.header-wrap {background: var(--black);}
.header-logo {width: 100%; max-width: 200px; object-fit: contain; flex: 0 1 auto; min-width: 0px;}
.header {position: relative; z-index: 99; display: flex; justify-content: space-between; align-items: center; gap: 25px;}
.header .header-social {display: flex; justify-content: center; align-items: center; gap: 20px; color: var(--white); }
.header-social a {position: relative;}
.header-social a:hover {color: var(--red);}
.header-social a ul {display: none; position: absolute; top: 100%; padding: 10px; border-radius: 5px; border: 1px solid rgba(255,255,255,0.25); background: rgba(0,0,0,0.5); backdrop-filter: blur(10px); color: var(--white);}
.header-social a:hover ul {display: flex; flex-direction: column; width: 300px;;}
.header-social a:hover ul li {display: flex; justify-content: space-between; gap: 20px;}
.header-social a:hover ul li.today {color: #65D057;}
.header .header-right {display: flex; justify-content: center; align-items: center; gap: 20px;}

/*=== FOOTER STYLES 
==============================*/
.footer-wrap {padding: 100px 0; border-top: 1px solid #eee;}
.footer-wrap > div {display: flex; justify-content: space-between; align-items: flex-start; gap: 50px;}
.footer-wrap > div > div {flex: 1 1 0;}
.footer-wrap > div > div ul {margin-top: 20px;}
.footer-wrap > div > div ul li {margin-bottom: 20px; position: relative;}
.footer-wrap > div > div ul li a {display: flex; justify-content: flex-start; align-items: flex-start; gap: 10px;}
.footer-wrap > div > div ul li a::after {content:''; width: 0px; height: 2px; background-color: var(--red); position: absolute; bottom: -3px;}
.footer-wrap > div > div ul li a:hover::after {width: 100px;}
.footer-box {padding: 20px; border-radius: 5px; background: #F6F6F6; margin-bottom: 10px;}
.footer-logo {width: 100%; max-width: 200px;}

/*=== HOME PAGE 
==============================*/
.swiper.heroSwiper {width: 100%;height: 100%;background: var(--black);}
.heroSwiper .swiper-wrapper {align-items: stretch;}
.heroSwiper .swiper-slide { text-align: center; font-size: 18px; background: #444; display: flex; justify-content: center; align-items: center; height: 100%;}
.heroSwiper .swiper-slide::after {content: ''; height: 100%; width: 100%; position: absolute; background: rgba(0,0,0,0.5);}
.heroSwiper .swiper-slide img { display: block; width: 100%; height: 100%; min-height: 100vh; object-fit: cover;}
.swiper-buttons {display: flex; justify-content: flex-end; align-items: center; gap: 20px; margin-top: 50px;}
.swiper-button-next, .swiper-button-prev {position: relative; z-index: 3; height: 50px; width: 50px; color: var(--white); padding: 10px; background: rgba(255,255,255,0.25); border-radius: 5px; backdrop-filter: blur(10px);}

.home-hero {position: relative;}
.home-hero-content {position: absolute; display: flex; justify-content: space-between; align-items: flex-end; gap: 50px; bottom: 100px; left: 50%; transform: translateX(-50%);  z-index: 2; color: var(--white);}
.home-hero-content > div:first-child {display: flex; flex-direction: column; gap: 20px;}
.home-hero-content >* {max-width: 600px;}

section:has(.half-photo) {padding: 100px 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 531.28 200'%3E%3Cdefs%3E%3Cstyle%3E .shape %7B fill: %23AFC4C3 /* fill: %23AFC4C3; */ %7D %3C/style%3E%3C/defs%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cpolygon class='shape' points='415.81 200 0 200 115.47 0 531.28 0 415.81 200' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A"); background-size: 200%; background-position: 150%; background-repeat: no-repeat;}
section:has(.half-photo.right) {background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 531.28 200'%3E%3Cdefs%3E%3Cstyle%3E .shape %7B fill: %23212121 /* fill: %23212121; */ %7D %3C/style%3E%3C/defs%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cpolygon class='shape' points='415.81 200 0 200 115.47 0 531.28 0 415.81 200' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A"); background-position: -50%;}
.half-photo {display: flex; justify-content: space-between; align-items: stretch; gap: 50px;}
.half-photo > div {flex: 1 1 0; display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; gap: 20px;}
.half-photo > div:has(> img) {position: relative; border-radius: 10px; overflow: hidden;}
.half-photo > div:has(> img) .img-caption {position: absolute; left: 0; bottom: 0; color: var(--white); width: 100%; background: linear-gradient(rgba(0,0,0,0), #000); padding: 20px 0 2.5% 5%;}
.half-photo img {border-radius: 10px; display: block; object-fit: cover; height: 100%;}



.bullet-points {display: flex; justify-content: space-between; align-items: stretch; flex-wrap: wrap; padding: 20px; border-radius: 5px; background: #DEEAEA; margin-top: 20px;}
.bullet-points ul {flex: 1 1 0; min-width: 220px;}
.bullet-points ul li {line-height: 200%; color: var(--black);}
.bullet-points ul li::before {content:'\f058  '; font-family: "Font Awesome 6 Free";}
.bullet-points.green ul li::before {content:'\f058  '; font-family: "Font Awesome 6 Free"; color: #65D057;}
.bullet-points.red ul li::before {content:'\f058  '; font-family: "Font Awesome 6 Free"; color: #FF0000;}

.image-banner {background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; color: var(--white);}
.image-banner > div {padding: 200px 0; text-align: center; max-width: 700px; position: relative; z-index: 2;}
.image-banner::before {content: ""; position: absolute; top: 0; left: 0; width: 35%; height: 100%; background: rgba(255,255,255,0.15); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); clip-path: polygon(0 0, 100% 0, 0 100%); z-index: 1;}
.image-banner::after {content: ""; position: absolute; top: 0; right: 0; width: 35%; height: 100%; background: rgba(255,255,255,0.15); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); clip-path: polygon(100% 0, 100% 100%, 0 100%); z-index: 1;}
.image-banner > div > a {margin: 20px auto;}

.image-banner.home {background: linear-gradient(rgba(0,0,0,0.75)), url("../siteart/car-interior-mountains.jpg"); position: relative; overflow: hidden;}

.bento-large {padding: 100px 0; position: relative; z-index: 2;}
.bento-large-bottom {display: flex; justify-content: space-between; gap: 50px; margin-top: 50px;}
.bento-large-bottom > div {flex: 1 1 0; padding: 25px; box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.15); border-radius: 10px; background: var(--white);}

.image-callout {display: flex; justify-content: flex-start; align-items: center; gap: 50px; padding: 100px 50px; border-radius: 10px; background: linear-gradient(to right, rgba(0,0,0,0.75), rgba(0,0,0,0)), url("../siteart/camper-open-background.jpg"); background-attachment: fixed; color: var(--white);}
.image-callout > div > p {max-width: 650px;}
.image-callout > i {font-size: 100px; color: rgba(255,255,255,0.5);}

.panorama-section {
    background: linear-gradient(rgba(0,0,0,0.5)), url('/siteart/camper-panorama-compressed.webp');
    background-size: cover;
    background-position: 20% center;
    background-repeat: no-repeat;
    transition: background-position 0.8s ease;
    padding: 100px 0;
}
.reviewsSwiper:hover {cursor: grab;}
.reviewsSwiper:active {cursor: grabbing;}
.swiper-buttons-reviews {display: flex; justify-content: space-between; margin-top: 10px;}
.swiper-button-prev-2, .swiper-button-next-2 {height: 50px; width: 50px; background: rgba(0,0,0,0.25); display: flex; justify-content: center; align-items: center; border-radius: 5px; color: var(--white); cursor: pointer;}
.reviewsSwiper .swiper-slide {background: var(--white); border-radius: 10px; padding: 20px; display: flex; justify-content: space-between; align-items: stretch; flex-direction: column; height: 100%; gap: 20px;}
.stars {font-size: 20px; color: var(--red);}
.review-content {display: flex; flex-direction: column; gap: 5px; }
.review-content i:last-child {align-self: flex-end;}
.review-content img {max-height: 200px; border-radius: 5px; display: block; object-fit: cover;}

/*=== 404 PAGE STYLES 
==============================*/
.panorama-section-2 {position: relative;overflow: hidden;min-height: 700px;cursor: grab;}
.panorama-section-2 * {user-select: none;}
.panorama-section-2 a {pointer-events: auto;}
.panorama-section-2.dragging {cursor: grabbing;}
.panorama-image {position: absolute;inset: 0;height: 100%;width: auto;min-width: 200%;object-fit: cover;will-change: transform;user-select: none;pointer-events: none;-webkit-user-drag: none;}
.panorama-section-2 .width90 {position: relative;z-index: 2;pointer-events: none;user-select: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;}
.panorama-hint {margin: 20px 0;opacity: .8;font-size: 12px;font-style: italic;}

/*=== ABOUT PAGE STYLES 
==============================*/
.subpage-hero {background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; color: var(--white);}
.subpage-hero > div {padding: 100px 0; text-align: left; width: 90%; margin: auto;position: relative; z-index: 2;}
.subpage-hero::before {content: ""; position: absolute; top: 0; left: 0; width: 35%; height: 100%; background: rgba(255,255,255,0.15); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); clip-path: polygon(0 0, 100% 0, 0 100%); z-index: 1;}
.subpage-hero::after {content: ""; position: absolute; top: 0; right: 0; width: 35%; height: 100%; background: rgba(255,255,255,0.15); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); clip-path: polygon(100% 0, 100% 100%, 0 100%); z-index: 1;}
.subpage-hero > div > h2 {max-width: 800px;}
.subpage-hero > div > a {margin-top: 20px;}

.subpage-hero.about {background: linear-gradient(rgba(0,0,0,0.75)), url("../siteart/couple-camper.jpg"); position: relative; overflow: hidden;}

section:has(> .team) {padding: 50px 0;}
.team {display: grid; gap: 10px; grid-template-columns: repeat(4, 1fr); align-items: stretch;}
.team-box {border: 1px solid #eee; border-radius: 5px;}
.team-box > *:not(img) {padding: 20px;}
.team-box img {display: block; height: 200px; width: 100%; object-fit: cover;border-radius: 5px;}

section:has(> .resources) {padding: 50px 0;}
.resources {display: grid; gap: 10px; grid-template-columns: repeat(4, 1fr); align-items: stretch;}
.resources-box {border: 1px solid #eee; border-radius: 5px; position: relative;}
.resources-box > *:not(img) {padding: 20px;}
.resources-box img {display: block; height: 200px; width: 100%; object-fit: contain;border-radius: 5px; padding: 10px;}
.resources-box .sticker {position: absolute; top: 10px; left: 10px; background: var(--red); color: var(--white); padding: 5px; border-radius: 4px;}

        /*---ACCORDION---*/
.accordion,.subaccordion{display: block; position: relative; margin-bottom: 10px; color: #666; border-radius: 5px; transition: all .2s ease-in-out;border-bottom: 1px solid #ddd;border-radius: 0px !important;}
.accordion:hover{}
.accordion .accordion-header,
.subaccordion .subaccordion-header{display: flex; align-items: center; font-weight: 700; border-radius: 5px; cursor: pointer;margin-bottom: 10px;justify-content: space-between}
.accordion .accordion-header:after,.subaccordion .subaccordion-header:after{font-family: "Font Awesome 5 Free"; font-size: 18px; font-weight: 900; content: "\f107"; margin-left: 20px; color: var(--black);}
.accordion .accordion-header h3,.accordion .accordion-header a,.accordion .accordion-header h2 {padding: 20px;font-size: 22px;}
.subaccordion .subaccordion-header h4 {line-height: 2;font-size: 16px;}
.accordion .accordion-header h3{color:var(--black);}
.accordion .accordion-content,.subaccordion .subaccordion-content {display: none;padding: 0;border-left: none;}
.accordion .accordion-content p,.accordion .accordion-content a {color:var(--black);}
.accordion .accordion-content a {margin-bottom: 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.active:hover{}
.accordion.active .accordion-header:after,.subaccordion.active .subaccordion-header:after{transform: rotate(90deg); color: var(--gray);}
.accordion.active h2,.subaccordion.active h4 {color: var(--black);}
.inner-title {display: inline-flex;align-items: baseline;width: 100%;margin-right: 2%;justify-content: space-between;}
.accordion-header::before {content: "\2b";font-family: "Font Awesome 5 Free";font-weight: 900;margin-right: 15px;color: #d9d9d9;}
.service-accordion .accordion-header::before {content: " ";}
.accordion .accordion-header a {color:var(--black);transition:.3s all;}
.accordion .accordion-header a:hover {color:var(--red);}
.accordion .accordion-content {
    display: block;
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease;
    padding: 0;
    border-left: none;
}

.accordion.active .accordion-content {
    padding: 0;
}
/*CONTACT FORMS*/
.contact-box {display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 10px; padding: 20px; background: var(--gray-light); border-radius: 10px;}
.contact-box span {font-family: "Big Shoulders"; font-size: 18px; text-transform: uppercase; color: var(--navy); font-weight: 800; letter-spacing: 5%;}
/*.contact-box a::after {content: '\f105'; font-family: "Font Awesome 6 Free";}*/

.flex-form { width: 100%; margin: 0 auto 2rem auto; padding: 25px; background: #fff; border-radius: 8px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06); font-size: 15px;  border: 1px solid #eee;}
.flex-form label { display: block; margin-bottom: 0.5rem; font-weight: 600; color: #222; letter-spacing: 0.02em; }
.flex-form input,
.flex-form select,
.flex-form textarea { width: 100%; padding: 12px 14px; margin-bottom: 1.2rem; border: 1px solid #ccc; border-radius: 5px; font-family: var(--body-font); background: #ffffff; font-size: 15px; color: #333; transition: border-color 0.2s; box-sizing: border-box; }
.flex-form input:focus,
.flex-form select:focus,
.flex-form textarea:focus { border-color: var(--primary); outline: none; }
.flex-form textarea { min-height: 100px; resize: vertical; }
.flex-form .form-row { display: flex; flex-direction: row; justify-content: flex-start; flex-wrap: wrap; gap: 1rem; }
.flex-form .form-note { font-size: 13px; color: #888; margin-bottom: 1rem; }
.flex-form .flex-row { display: flex; flex-direction: row; justify-content: flex-start; flex-wrap: wrap; gap: 1rem; }
.flex-form .form-whole { width: 100%; }
.flex-form .form-half { width: calc(50% - 0.5rem); }
.flex-form .form-third { width: calc(33.333% - 0.67rem); }

@media (max-width: 900px) {
    .form-half,
    .form-third { width: 100%; }
}
@media (max-width: 600px) {
    #formpage .flex-row {flex-direction: column; width: 100%; max-width: none;}
    #formpage .flex-row .form-half {width: 100%;}
    #formpage .flex-row .form-third {width: 100%;}
}

/*=== CONTACT PAGE STYLES 
==============================*/
.subpage-hero.contact {background: linear-gradient(rgba(0,0,0,0.75)), url("../siteart/camper-jasper-open-2.jpg"); position: relative; overflow: hidden;}

/*=== SERVICE PAGE STYLES 
==============================*/
.subpage-hero.service {background: linear-gradient(rgba(0,0,0,0.75)), url("../siteart/camper-repair.jpg"); position: relative; overflow: hidden;}

.banner-red {background: var(--red);}
.banner-red > div {display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; gap: 20px; padding: 20px 0; color: var(--white);}

#parts .accordion-header {background: var(--red); color: var(--white); padding: 0 20px;}
#parts .accordion-header::after {color: var(--white);}
#parts .accordion-header h3 {color: var(--white);}

#service .accordion-header {background: var(--red); color: var(--white); padding: 0 20px;}
#service .accordion-header::after {color: var(--white);}
#service .accordion-header h3 {color: var(--white);}

/*=== FINANCE PAGE STYLES 
==============================*/
.subpage-hero.finance {background: linear-gradient(rgba(0,0,0,0.75)), url("../siteart/camper-hill-sunset.jpg"); position: relative; overflow: hidden;}



/*=== MEDIA BREAKS 
==============================*/

@media screen and (max-width: 1250px) {
    .btn-header-phone span {display: none;}
    .header-social {display: none !important;}
    
    .team {grid-template-columns: repeat(3, 1fr);}
    .resources {grid-template-columns: repeat(3, 1fr);}
}

@media screen and (max-width: 1100px) {
    
    .home-hero-content {flex-direction: column; align-items: flex-start;}
    .home-hero-content > div > div {justify-content: flex-start;}
    
    section:has(.half-photo) {background-size: 200vh; background-position: 200%;}
    section:has(.half-photo.right) {background-size: 200vh; background-position: 200%;}
    .half-photo {flex-direction: column-reverse;}
    .half-photo div:has(> img) {min-height: 300px;}
    .half-photo div > img {width: 100%;}
    
    .panorama-section {background-size: cover;}
}
@media screen and (max-width: 900px) {
    .team {grid-template-columns: repeat(2, 1fr);}
    .resources {grid-template-columns: repeat(2, 1fr);}
}
@media screen and (max-width: 800px) {
    
    
    .image-callout {flex-direction: column;}
    
    .bento-large-bottom {flex-direction: column;}
    .bullet-points ul {min-width: 200px;}
    
    .panorama-section {background-size: cover;}
    
    .footer-wrap > div {flex-direction: column;}
}
@media screen and (max-width: 600px) {
        .accordion .inner-title {flex-direction: column;}
    }

@media screen and (max-width: 550px) {
    .team {grid-template-columns: repeat(1, 1fr);}
    .resources {grid-template-columns: repeat(1, 1fr);}
}


















