@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", system-ui;
    --Ballet: "Ballet", fantasy;
    --Sancreek: "Sancreek", serif;

	/*=== Colors ===*/
	--white: #FAF7F2;
	--black: #000000;
	--red: #B52822;
	--orange: #A87528;
    --green: #495A1C;
    --dk-green: #27290F;
    
    /*=== 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)}
    .orange{color: var(--orange)}
    .red{color: var(--red)}
    .green{color: var(--green)}
    .dk-green{color: var(--dk-green)}

.barlow {font-family: var(--Barlow);}
.ballet {font-family: var(--Ballet);}
.sancreek {font-family: var(--Sancreek);}

body {
    position: relative;
	font-family: var(--Barlow), 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;
}
strong, b {
    font-weight: 800;
}
p {
    font-size: clamp(16px, 5vw, 18px);
}
.p {
    font-size: clamp(16px, 5vw, 18px);
}
.bold {
    font-weight: 900;
}

.thick {
    font-weight: 900 !important;
}

.nocaps {text-transform: none !important;}
.tight {line-height: 0.75 !important;}

.center {text-align: center;}


.xl-heading, .lg-heading, .md-heading, .sm-heading {
	text-transform: uppercase;
}

.xl-heading-bold {
	text-transform: uppercase;
    font-weight: 900 !important;
}


.xs-heading {
	text-transform: uppercase;
	padding-top: 5px;
}
.xl-heading {font-size: clamp(56px, 5vw, 64px);line-height: clamp(56px, 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;}

/*=== BODY STYLES 
============================================*/
.width90 {width: 90%; max-width: 1600px; margin: auto;}
.width80 {width: 80%; max-width: 1600px; margin: auto;}
.width70 {width: 70%; max-width: 1600px; margin: auto;}
.gimmespace {padding: 100px 0 0 0;}

.btn-red {background: linear-gradient(rgba(0,0,0,0)), var(--red); padding: 10px 20px; text-align: center; color: var(--white); max-width: 220px; border-radius: 10px; font-family: var(--Sancreek); text-transform: uppercase; letter-spacing: .2em; border: 1px solid var(--red);}
.btn-red:hover {background-color: var(--white); color: var(--dk-green); border-color: var(--dk-green);}

.btn-orange {background: linear-gradient(rgba(0,0,0,0)), var(--orange); padding: 10px 20px; text-align: center; color: var(--white); max-width: 220px; border-radius: 10px; font-family: var(--Sancreek); text-transform: uppercase; letter-spacing: .2em; border: 1px solid var(--orange);}
.btn-orange:hover {background-color: var(--white); color: var(--dk-green); border-color: var(--dk-green);}

.btn-green {background: var(--green); padding: 10px 20px; text-align: center; color: var(--white); max-width: 220px; border-radius: 10px; font-family: var(--Sancreek); text-transform: uppercase; letter-spacing: .2em; border: 1px solid var(--green);}
.btn-green:hover {background-color: var(--white); color: var(--dk-green); border-color: var(--dk-green);}

/*=== HEADER STYLES
==============================*/
.top-runner {background: var(--dk-green); color: var(--white); padding: 10px 0;}
.top-runner a:hover {color: var(--orange);}
.top-runner > div {display: flex; justify-content: space-between;}

.header-wrap {background: var(--white);}
.header-logo {max-width: 200px; height: auto; object-fit: contain; padding: 0;}
.header-logo img {object-fit: contain;}
.primary.nav {display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 50px;}
.first-link {border-radius: 100px 0 0 100px;}
.last-link {background: var(--red); color: var(--white);}
.last-link:hover {background: var(--orange) !important; color: var(--white) !important;}

.subpage-header {position: relative;}
.subpage-header .header-wrap {background: var(--white);}
.subpage-header .nav-links { border: 1px solid var(--black); border-radius: 100px; background: rgba(0,0,0,0.5);}
.subpage-header .primary.nav > ul > li > a:not(:hover) {color: var(--white);}

.mobile-menu-fb {display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 50px; width: 90% !important; margin: auto;}
.mobile-menu-right {display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: 25px;}
a.menu-toggle {padding: 0 !important; margin: 0 !important;}
.btn-phone {color: var(--white); padding: 10px 15px; background-color: var(--green); border-radius: 10px;}
.btn-phone:hover { background-color: var(--red); border-radius: 10px;}

/*=== HOME PAGE 
==============================*/

#home-hero {background: linear-gradient(to right, rgba(14,16,8,0.85), rgba(73, 90, 28, 0.54)), url("../siteart/truck-bw.webp") center; background-repeat: no-repeat; background-size: cover; min-height: calc(100vh - 160px); position: relative;}
.hero-fb {display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 50px; padding-bottom:150px;}
.hero-left {padding: 200px 0 0 0; color: var(--white); display: flex; flex-direction: column; gap: 30px;}
.hero-left img {max-width: 600px;}
.hero-text {max-width: 500px;}
.hero-text h1, .hero-text p {display: inline;}
.hero-socials {display: flex; justify-content: center; flex-direction: column; gap: 20px; font-size: 32px; padding: 20px; border-radius: 10px; background: rgba(0,0,0,0.45); backdrop-filter: blur(10px); margin-bottom: 150px;}
.hero-socials a:hover {color: var(--orange);}


.ticker { position: absolute; bottom: 0; width: 100%; height: 120px; overflow: hidden; background: transparent; }
.truck { width: 300px; position: absolute; top: 50%; transform: translateY(-50%); height: 200px; animation: drive 10s linear infinite, bounce 0.3s ease-in-out infinite; }
.truck img { width: 300px; position: absolute; top: 0; left: 0; height: 100%; }
.truck-headlights { opacity: 0; pointer-events: none; }
.truck:hover .truck-headlights { opacity: 1; }
@keyframes drive { from { left: -300px; } to { left: 100%; } }
@keyframes bounce { 0%,100% { transform: translateY(-50%) translateY(0); } 50% { transform: translateY(-50%) translateY(-2px); } }


.half-photo {display: flex; gap: 100px; align-items: stretch; margin-top: 100px;}
.half-text {flex: 1; display: flex; flex-direction: column; justify-content: center;}
.half-text > div > p {max-width: 400px;}
.half-media {flex: 1; width: 100%; max-width: 500px; border-radius: 10px; overflow: hidden; margin: auto;}
a.half-media:hover {box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.15); transition: 0.3s ease all; transition-delay: 0s !important;}
.half-media video {width: 100%; height: auto; display: inline-block;}
.half-media img {width: 100%; height: 100%; display: block; object-fit: cover; object-position: center center;}
.half-media:has(img) {max-height: 500px}
.video-header {display: flex; justify-content: space-between; padding: 20px 10px; background: #ebebeb;}
.video-header img {max-height: 25px; width: auto;}
.video-header i {color: #0866FF; font-size: 25px;}

#hay-bale-scene {width: 50%; height: 400px;}
#hay-bale-scene canvas {cursor: grab; boredr: 1px solid transparent;}
#hay-bale-scene canvas:hover {border: 1px solid #ebebeb; border-radius: 10px;}
#hay-bale-scene canvas:active {cursor: grabbing;}

#triple-cards {display: flex; flex-direction: row; justify-content: space-between; align-items: stretch; gap: 20px; margin-top: 100px;}
.card {display: flex; flex-direction: column; justify-content: space-between; gap: 25px; padding: 20px; width: 100%; border: 1px solid #ebebeb; border-radius: 5px;}
.card:hover {background: var(--white); transition: 0.3s ease all; transition-delay: 0s !important;}
.card > i {font-size: 32px;}

#green-banner {background: linear-gradient(rgba(0,0,0,0)), var(--dk-green); padding: 50px 0; margin-top: 100px;}

/*=== CONTACT PAGE
==============================*/
#contact-form {display: flex; flex-direction: column; gap: 10px; font-size: var(--p); max-width: 100%;}
#contact-form label {display: none;}
#contact-form input {padding: 20px; width: 100%; border: 1px solid #ebebeb; border-radius: 10px;}
#contact-form .input-row {display: flex; flex-direction: row; gap: 10px;}
#contact-form .dualFields {width: 50%;}
#contact-form textarea {width: 100%; height: 200px; font-family: var(--Barlow); padding: 20px; font-size: var(--p); border: 1px solid #ebebeb; border-radius: 10px;}
#contact-form input.submit:hover {cursor: pointer ;}

/*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%;}
}

.flourish {height: 20px; background: url("/siteart/flourish-orange.svg") center; background-repeat: no-repeat; background-size: contain; margin: 100px 0 0 0 ;}

/*=== FOOTER STYLES
==============================*/
.footer-wrap {padding: 100px 0; border-top: 1px solid #ebebeb;}
.footer-fb {display: flex; flex-direction: row; justify-content: space-between; align-items: flex-start; gap: 50px;}
.footer-fb ul {display: flex; flex-direction: column; gap: 10px; padding-top: 10px; text-transform: uppercase;}
.footer-fb li:has(a):hover {color: var(--orange); transform: translateX(5px) !important;}
.footer-fb > div:last-child ul, .footer-fb > div:last-child h4 {text-align: right;}
.footer-logo img {max-width: 200px;}
.copyright {font-size: 12px;}











@media screen and (max-width: 1000px) {
    .primary.nav {display: none !important;}
    .mobile-menu-right {gap: 10px; padding: 20px 0;}
    .top-runner {display: none;}
    
    .hero-socials {flex-direction: row;}
    
    .half-photo {flex-direction: column;}
    .half-text {text-align: center; margin: auto;}
    .half-text p {text-align: left; margin: auto; max-width: 600px;}
    .half-text h2, .half-text h1 {max-width: 600px; margin: auto;}
    #hay-bale-scene {display: none;}
    .half-photo:has(.stack-video) {margin-top: 0;}
    .stack-video {display: inline-block !important; pointer-events: none; height: 300px;}
    
    #triple-cards {flex-direction: column;}
    #triple-cards > .card:nth-child(1) {width: 80%; margin-right: 5%; margin-left: 15%;}
    #triple-cards > .card:nth-child(2) {width: 80%; margin-right: 15%; margin-left: 5%;}
    #triple-cards > .card:nth-child(3) {width: 80%; margin-right: 5%; margin-left: 15%;}
    
    .footer-fb {display: grid !important; grid-template-columns: repeat(2, 1fr);}
    .footer-fb > div:last-child ul, .footer-fb > div:last-child h4 {text-align: left;}
}


@media screen and (max-width: 530px) {
    .card {width: 100% !important; margin: 0 !important;}
    .footer-fb {grid-template-columns: repeat(1, 1fr);}
}








