body {
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  color: #000000;
}

/* ==============================================================
# NAVIGATION
============================================================== */

.nav-link {
  font-family: 'Merriweather', serif;
  font-size: 18px;
  color: #008F5D;
  text-decoration: none;
}

.nav-link:hover, .nav-link:focus {
  color: #1E522E;
}

.nav-link.active, .nav-link:visited.active {
  color: #1E522E;
}

/* Remove caret for dropdowns */

.nav-link.dropdown-toggle::after {
  display: none;
}

/* ==============================================================
# HOVER LINE FOR TOP-LEVEL NAVIGATION LINKS ONLY
============================================================== */

@media (min-width: 992px) {
  .nav > .nav-item > .nav-link {
    position: relative;
  }
}

@media (min-width: 992px) {
  .nav > .nav-item > .nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 2px;
    width: 0;
    background-color: #1E522E;
    transition: width 0.25s ease;
  }
}

@media (min-width: 992px) {
  .nav > .nav-item > .nav-link:hover::after {
    width: 100%;
  }
}

@media (min-width: 992px) {
  .nav > .nav-item > .nav-link.active::after {
    width: 100%;
  }
}

/* ==============================================================
# NAVBAR DROPDOWN
============================================================== */

@media (min-width: 992px) {
  .nav-item.dropdown:hover > .dropdown-menu {
    display: block;
  }
}

.navbar .dropdown-menu {
  background-color: #1E522E;
  color: #FFFFFF;
  font-size: 18px;
  padding: 10px 0;
  border: none;
  border-radius: 0;
  z-index: 10;
}

.dropdown-item {
  background-color: #1E522E;
  color: #FFFFFF;
}

.dropdown-item:hover, .dropdown-item:focus, .dropdown-item:active {
  background-color: #008F5D;
  color: #FFFFFF;
}

/* ==============================================================
# MOBILE OFFCANVAS TOGGLER
============================================================== */

.navbar-toggler {
  border-color: rgb(30, 82, 46);
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%2830, 82, 46, 1%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.navbar-toggler-icon path {
  stroke-width: 3;
}

/* ==============================================================
# BACKGROUNDS
============================================================== */

.whitebackground {
  background-color: #FFFFFF;
}

.lightgraybackground {
  background-color: #F5F5F5;
}

.lightgreenbackground {
  background-color: #F0F9F3;
}

.darkgreenbackground {
  background-color: #1E522E;
}

.lightyellowbackground {
  background-color: #FBF4DC;
}

.front-services-banner {
  background-image: url("../../assets/img/front-services-banner.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
  height: 400px;
}

/* Overlay */

.front-services-banner::before {
  content: "";
  position: relative;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  transition: background 0.3s ease;
  z-index: 1;
}

.contact-us-cta {
  background-image: url("../../assets/img/contact-us-banner.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 400px;
}

.manure-management-banner {
  background-image: url("../../assets/img/manure-management-banner.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 300px;
}

.products-banner {
  background-image: url("../../assets/img/products-banner.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 300px;
}

.mulch-calculator-banner {
  background-image: url("../../assets/img/mulch-calculator-banner.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 300px;
}

.contact-us-banner {
  background-image: url("../../assets/img/contact-us-banner.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 300px;
}

.about-banner {
  background-image: url("../../assets/img/about-banner.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  height: 300px;
}

.sustainable-agriculture-banner {
  background-image: url("../../assets/img/sustainable-agriculture-banner.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  height: 300px;
}

.faqs-banner {
  background-image: url("../../assets/img/faqs-banner.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  height: 300px;
}

.bulk-shavings-banner {
  background-image: url("../../assets/img/bulk-shavings-banner.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.footer-graphic {
  background-image: url("../../assets/img/contact-graphic.png");
  background-repeat: no-repeat;
  background-position: bottom right;
}

.corn-graphic {
  background-image: url("../../assets/img/corn-graphic.png");
  background-repeat: no-repeat;
  background-position: bottom right;
}

.manure-management-graphic {
  background-image: url("../../assets/img/manure-management-graphic.png");
  background-repeat: no-repeat;
  background-position: bottom left;
}

.sustainable-agriculture-graphic {
  background-image: url("../../assets/img/sustainable-agriculture-graphic.png");
  background-repeat: no-repeat;
  background-position: bottom left;
}

.icon-box {
  background-color: #1E522E;
  color: #FFFFFF;
  width: 50px;
  height: 50px;
  border-radius: 12px;
  font-size: 1.25rem;
}

section,
.anchor-offset {
  scroll-margin-top: 80px;
}

/* ==============================================================
# BORDERS
============================================================== */

.greenborder {
  border: 4px solid #008F5D;
}

.greenbottomborder {
  border-bottom: 4px solid #008F5D;
}

/* ==============================================================
# BUTTONS
============================================================== */

.btn {
  border: none;
  border-radius: 0;
}

.btn-green {
  background-color: #1E522E;
  color: #FEE07A;
  font-weight: 600;
}

.btn-green:hover, .btn-green:focus {
  background-color: #008F5D;
  color: #FEE07A;
}

.btn-green:active {
  background-color: #008F5D !important;
  color: #FEE07A !important;
}

/* ==============================================================
# FONTS
============================================================== */

.whitefont {
  color: #FFFFFF;
}

.subheaderwhitefont {
  font-family: 'Merriweather', serif;
  font-weight: 600;
  color: #FFFFFF;
}

.h3whitefont {
  font-family: 'Merriweather', serif;
  font-size: 24px;
  font-weight: 600;
  color: #FFFFFF;
}

a.footerlink {
  color: #008F5D;
  text-decoration: none;
}

a.footerlink:hover {
  color: #1E522E;
  text-decoration-line: underline;
  text-decoration-style: solid;
}

a.bottomfooterlink {
  color: #FEE07A;
  text-decoration: none;
}

a.bottomfooterlink:hover {
  text-decoration-line: underline;
  text-decoration-style: solid;
}

.yellowfont {
  color: #FEE07A;
}

.h1yellowfont {
  font-family: 'Merriweather', serif;
  font-size: 40px;
  font-weight: 600;
  color: #FEE07A;
}

.greenfont {
  color: #008F5D;
}

.subheadergreenfont {
  font-size: 20px;
  font-weight: 600;
  color: #008F5D;
}

.h3darkgreenfont {
  font-family: 'Merriweather', serif;
  font-size: 24px;
  font-weight: 600;
  color: #1E522E;
}

.headerdarkgreenfont {
  font-family: 'Merriweather', serif;
  font-size: 32px;
  font-weight: 600;
  color: #1E522E;
}

.trademark {
  font-size: 0.6em;
  vertical-align: super;
}

/* ==============================================================
# LIST ICON OVERRIDE
============================================================== */

.seed-list {
  list-style: none;
  padding-left: 0;
}

.seed-list li {
  background: url("../../assets/img/seed-icon.png") no-repeat left center;
  background-size: 30px 30px;
  padding-left: 50px;
  margin-bottom: 8px;
}

/* ==============================================================
# PRODUCT BOXES
============================================================== */

.product-box {
  position: relative;
  background-size: cover;
  background-position: center;
  border-radius: 16px;
  overflow: hidden;
  min-height: 300px;
  padding: 2rem;
  display: flex;
  align-items: flex-end;
  color: #FFFFFF;
}

/* Overlay */

.product-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  transition: background 0.3s ease;
  z-index: 1;
}

/* Hover = Slightly Brighter */

.product-box:hover::before {
  background: rgba(0, 0, 0, 0.55);
}

/* Make sure content is above overlay */

.product-box > * {
  position: relative;
  z-index: 2;
}

.product-link {
  position: absolute;
  inset: 0;
  z-index: 5;
}

.bg-corn {
  background-image: url("../../assets/img/front-corn.jpg");
}

.bg-soybeans {
  background-image: url("../../assets/img/front-soybeans.jpg");
}

.bg-horse-bedding {
  background-image: url("../../assets/img/front-horse-bedding.jpg");
}

.bg-nutri-peat-mulch {
  background-image: url("../../assets/img/front-nutri-peat-mulch.jpg");
}

.bg-fine-screened-compost {
  background-image: url("../../assets/img/front-fine-screened-compost.jpg");
}

.bg-black-river-loam {
  background-image: url("../../assets/img/front-black-river-loam.jpg");
}

.bg-screened-topsoil {
  background-image: url("../../assets/img/front-screened-topsoil.jpg");
}

.bg-planting-mix {
  background-image: url("../../assets/img/front-planting-mix.jpg");
}

.bg-bioretention-soil {
  background-image: url("../../assets/img/front-bioretention-soil.jpg");
}

.bg-clean-fill {
  background-image: url("../../assets/img/front-clean-fill.jpg");
}

/* ==============================================================
# ACCORDIAN
============================================================== */

/* Remove rounded corners */

.accordion, .accordion-item, .accordion-button, .accordion-item:first-of-type, .accordion-item:last-of-type, .accordion-item:first-of-type .accordion-button, .accordion-item:last-of-type .accordion-button {
  border-radius: 0 !important;
}

/* More padding inside question boxes */

.accordion-button {
  padding: 1.5rem 2rem;
}

/* Active (opened) QUESTION background */

.accordion-button:not(.collapsed) {
  background-color: #1E522E;
  color: #FEE07A;
  font-family: 'Merriweather', serif;
  font-weight: 600;
  box-shadow: none;
}

/* Inactive QUESTION background */

.accordion-button.collapsed {
  background-color: #FFFFFF;
  color: #000000;
  font-family: inherit;
  font-weight: 600;
}

/* Accordion answer background */

.accordion-body {
  background-color: #FAFAFA;
  color: #000000;
}

/* Remove blue focus ring */

.accordion-button:focus {
  box-shadow: none;
}

/* Yellow arrow when accordion is active */

.accordion-button:not(.collapsed)::after {
  filter: invert(84%) sepia(87%) saturate(406%) hue-rotate(360deg) brightness(102%) contrast(101%);
}

/*==============================================================
# BACK TO TOP BUTTON
==============================================================*/

#btn-back-to-top {
  position: fixed;
  bottom: 64px;
  right: 20px;
  display: none;
  z-index: 1001 !important;
  background-color: #1E522E;
  color: #fff;
  border: none;
  padding: 8px 12px;
  border-radius: 5px;
  cursor: pointer;

/* Transition */
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.3s ease,
    transform 0.3s ease,
    background-color 0.3s ease,
    box-shadow 0.3s ease,
    scale 0.3s ease;
}

#btn-back-to-top:hover {
  background-color: #008F5D;
}

#btn-back-to-top i {
  color: #FEE07A;
}

/* When JS adds this class: button fades/slides in */
#btn-back-to-top.show {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 575.98px) {
  #btn-back-to-top {
    bottom: 30px;
    right: 5px;
  }
}

/* ==============================================================
# MOBILE FIXES
============================================================== */

@media (max-width: 991px) {
  .front-services-banner {
    background-image: url("../../assets/img/front-services-banner.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    height: 600px;
  }
}

/* Mobile-specific carousel height */
@media (max-width: 767px) {
    #carousel-1 .carousel-item {
        height: 400px; /* Adjust as needed */
    }

    #carousel-1 .carousel-item img {
        object-fit: cover; /* Ensures image covers container without stretching */
        height: 100%;
    }

    #carousel-1 .carousel-caption {
        padding-top: 1rem !important; /* Reduce top padding on mobile */
        padding-bottom: 1rem !important; /* Reduce bottom padding on mobile */
    }

    #carousel-1 h1 {
        font-size: 1.5rem; /* Reduce headline size */
    }
}