.bg-primary {
  background-color: #f1ebe3 !important;
}
.btn-primary {
  --bs-btn-color: #000 !important;
  --bs-btn-bg: #f1ebe3 !important;
  --bs-btn-border-color: #f1ebe3 !important;
  --bs-btn-hover-color: #000 !important;
  --bs-btn-hover-bg: #f1ebe3 !important;
  --bs-btn-hover-border-color: #f1ebe3 !important;
  --bs-btn-focus-shadow-rgb: 49, 132, 253 !important;
  --bs-btn-active-color: #000 !important;
  --bs-btn-active-bg: #f1ebe3 !important;
  --bs-btn-active-border-color: #f1ebe3 !important;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;
  --bs-btn-disabled-color: #000 !important;
  --bs-btn-disabled-bg: #f1ebe3 !important;
  --bs-btn-disabled-border-color: #f1ebe3 !important;
}
#page-transition {
  background-color: #f1ebe3;
}
.bg-image-dimmed.green-fade::before {
  background: linear-gradient(
    0deg,
    rgba(22, 33, 21, 1),
    rgba(0, 0, 0, 0.2) 50%
  );
}
@media (min-width: 1800px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1600px;
  }
}

/* animate.css - hold each animation on its first frame until it scrolls into view (see /_public/js/animations.js).
   Add .animate-on-load to an element to play its animation on page load instead. */
.animate__animated:not(#navbar):not(.animate-on-load):not(.in-view) {
  animation-play-state: paused;
}

/* GSAP line reveal - hidden until the text has been split into lines (see /_public/js/animations.js) */
[data-line-reveal]:not(.is-split),
[data-letter-reveal]:not(.is-split) {
  visibility: hidden;
}

/* Parallax background layer - image on its own layer behind the overlay (see /_public/js/parallax-bg.js) */
.has-parallax-bg {
  isolation: isolate;
}
.has-parallax-bg > .parallax-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  will-change: transform;
  opacity: 0;
}
.has-parallax-bg > .parallax-bg.is-loaded {
  opacity: 1;
}
.parallax-bg > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Arrow buttons - the arrow circle nudges right on hover */
.btn > .rounded-circle {
  transition: transform 0.3s ease;
}
.btn:hover > .rounded-circle,
.btn:focus-visible > .rounded-circle {
  transform: translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
  .btn > .rounded-circle {
    transition: none;
  }
}
