/*!************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/css/main.scss ***!
  \************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap);
/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/css/main.scss (1) ***!
  \****************************************************************************************************************/
@charset "UTF-8";
/* 
  Based off of Andy Bell's "A (more) Modern CSS Reset"
  https://piccalil.li/blog/a-more-modern-css-reset/
*/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
}

/* Remove list styles on all ul elements */
ul {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100dvh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
  height: auto;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

:root {
  --step--2: clamp(0.4221rem, 0.401rem + 0.1055vw, 0.4959rem);
  --step--1: clamp(0.5626rem, 0.5222rem + 0.2023vw, 0.7042rem);
  --step-0: clamp(0.75rem, 0.6786rem + 0.3571vw, 1rem);
  --step-1: clamp(0.9998rem, 0.8797rem + 0.6004vw, 1.42rem);
  --step-2: clamp(1.3327rem, 1.1373rem + 0.9768vw, 2.0164rem);
  --step-3: clamp(1.7764rem, 1.4659rem + 1.5526vw, 2.8633rem);
  --step-4: clamp(2.368rem, 1.8829rem + 2.4255vw, 4.0659rem);
  --step-5: clamp(3.1565rem, 2.4088rem + 3.7386vw, 5.7735rem);
  --step-6: clamp(4.2077rem, 3.0675rem + 5.7011vw, 8.1984rem);
}

body {
  font-size: var(--step-0);
  font-family: "Noto Sans", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Serif", serif;
}

h1 {
  font-size: var(--step-4);
  font-weight: 900;
}
@media (max-width: 600px) {
  h1 {
    font-size: var(--step-3);
  }
}

h2 {
  font-size: var(--step-3);
  font-weight: 700;
}
@media (max-width: 600px) {
  h2 {
    font-size: var(--step-2);
  }
}

h3 {
  font-size: var(--step-2);
  font-weight: 600;
}
@media (max-width: 600px) {
  h3 {
    font-size: var(--step-1);
  }
}

h4 {
  font-size: var(--step-1);
  font-weight: 600;
}

a {
  text-decoration: none;
}

main :not(.btn) a {
  font-weight: 600;
}
main :not(.btn) a:hover {
  text-decoration: underline;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

:root {
  --space-3xs: clamp(0.1875rem, 0.1696rem + 0.0893vw, 0.25rem);
  --space-2xs: clamp(0.375rem, 0.3393rem + 0.1786vw, 0.5rem);
  --space-xs: clamp(0.5625rem, 0.5089rem + 0.2679vw, 0.75rem);
  --space-s: clamp(0.75rem, 0.6786rem + 0.3571vw, 1rem);
  --space-m: clamp(1.125rem, 1.0179rem + 0.5357vw, 1.5rem);
  --space-l: clamp(1.5rem, 1.3571rem + 0.7143vw, 2rem);
  --space-xl: clamp(2.25rem, 2.0357rem + 1.0714vw, 3rem);
  --space-2xl: clamp(3rem, 2.7143rem + 1.4286vw, 4rem);
  --space-3xl: clamp(4.5rem, 4.0714rem + 2.1429vw, 6rem);
  --space-3xs-2xs: clamp(0.1875rem, 0.0982rem + 0.4464vw, 0.5rem);
  --space-2xs-xs: clamp(0.375rem, 0.2679rem + 0.5357vw, 0.75rem);
  --space-xs-s: clamp(0.5625rem, 0.4375rem + 0.625vw, 1rem);
  --space-s-m: clamp(0.75rem, 0.5357rem + 1.0714vw, 1.5rem);
  --space-m-l: clamp(1.125rem, 0.875rem + 1.25vw, 2rem);
  --space-l-xl: clamp(1.5rem, 1.0714rem + 2.1429vw, 3rem);
  --space-xl-2xl: clamp(2.25rem, 1.75rem + 2.5vw, 4rem);
  --space-2xl-3xl: clamp(3rem, 2.1429rem + 4.2857vw, 6rem);
}

section {
  padding: var(--space-l);
}

.container {
  max-width: 1440px;
  margin-inline: auto;
}

body {
  background-color: #283618;
  color: #fafaf9;
}

a {
  color: inherit;
}

:root {
  --shadow-bg-dark: 89deg 80% 1%;
  --elevation-bg-dark: 0.3px 0.5px 0.7px hsl(var(--shadow-bg-dark) / 0.27),
    1.1px 2.2px 3.1px -0.5px hsl(var(--shadow-bg-dark) / 0.36),
    2.5px 4.9px 7px -1px hsl(var(--shadow-bg-dark) / 0.45),
    5.6px 11.3px 16.1px -1.5px hsl(var(--shadow-bg-dark) / 0.54);
  --shadow-bg-mid: 88deg 59% 4%;
  --elevation-bg-mid: 0.3px 0.5px 0.7px hsl(var(--shadow-bg-mid) / 0.27),
    1.1px 2.2px 3.1px -0.5px hsl(var(--shadow-bg-mid) / 0.36),
    2.5px 4.9px 7px -1px hsl(var(--shadow-bg-mid) / 0.45),
    5.6px 11.3px 16.1px -1.5px hsl(var(--shadow-bg-mid) / 0.54);
  --shadow-bg-light: 87deg 62% 9%;
  --elevation-bg-light: 0.3px 0.5px 0.7px hsl(var(--shadow-bg-light) / 0.27),
    1.1px 2.2px 3.1px -0.5px hsl(var(--shadow-bg-light) / 0.36),
    2.5px 4.9px 7px -1px hsl(var(--shadow-bg-light) / 0.45),
    5.6px 11.3px 16.1px -1.5px hsl(var(--shadow-bg-light) / 0.54);
}

html {
  overflow-x: hidden;
}

body {
  min-height: 100dvh;
  max-width: 100%;
  overflow-x: hidden;
}
body .page-container {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "main header";
  height: 100dvh;
}
body .page-container header {
  grid-area: header;
}
body .page-container main {
  grid-area: main;
}
@media (max-width: 1000px) or (orientation: portrait) {
  body .page-container {
    grid-template-columns: 1fr;
    grid-template-areas: "main";
    width: 100vw;
    max-width: 100vw;
    overflow-x: hidden !important;
  }
}

body:has(.swiper.bg-slider) {
  position: relative;
}
body:has(.swiper.bg-slider) .swiper.bg-slider {
  width: 100dvw;
  height: 100dvh;
}
body:has(.swiper.bg-slider) .swiper.bg-slider .swiper-slide {
  overflow: hidden;
}
body:has(.swiper.bg-slider) .swiper.bg-slider picture,
body:has(.swiper.bg-slider) .swiper.bg-slider img {
  width: 100%;
  height: 100%;
  max-height: 100dvh;
  max-width: 100dvw;
  object-fit: cover;
}
body:has(.swiper.bg-slider) .page-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: rgba(26, 38, 13, 0.4509803922);
}
body:has(.swiper.bg-slider) .page-container .homepage-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: var(--space-l);
  gap: var(--space-s);
}
body:has(.swiper.bg-slider) .page-container .homepage-content h1 {
  font-size: var(--step-6);
  line-height: 1;
}
body:has(.swiper.bg-slider) .page-container .homepage-content div.tagline {
  font-size: var(--step-4);
  font-weight: 700;
  text-wrap: balance;
  line-height: 1.25;
  max-width: 30ch;
}
@media (max-width: 1000px) {
  body:has(.swiper.bg-slider) .page-container .homepage-content {
    justify-content: flex-end;
    align-items: center;
    text-align: center;
  }
}
@media (max-width: 600px) {
  body:has(.swiper.bg-slider) .page-container .homepage-content h1 {
    font-size: var(--step-5);
  }
  body:has(.swiper.bg-slider) .page-container .homepage-content div.tagline {
    font-size: var(--step-3);
  }
}

section.services .container > :not(:last-child) {
  margin-bottom: var(--space-2xl);
}
section.services .container article.service-listing:nth-of-type(odd) {
  grid-template-areas: "content media";
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: center;
}
section.services .container article.service-listing:nth-of-type(odd) .content {
  grid-area: content;
}
section.services .container article.service-listing:nth-of-type(odd) .content > :not(:last-child) {
  margin-bottom: var(--space-m);
}
section.services .container article.service-listing:nth-of-type(odd) > :not(:content) {
  grid-area: media;
}
@media (max-width: 800px) {
  section.services .container article.service-listing:nth-of-type(odd) {
    grid-template-columns: 1fr;
    grid-template-areas: "media" "content";
    gap: var(--space-s);
  }
  section.services .container article.service-listing:nth-of-type(odd) .content {
    text-align: center;
  }
  section.services .container article.service-listing:nth-of-type(odd) .content > ul, section.services .container article.service-listing:nth-of-type(odd) .content > ol {
    display: inline-block;
    text-align: left;
  }
}
section.services .container article.service-listing:nth-of-type(even) {
  grid-template-areas: "media content";
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: center;
}
section.services .container article.service-listing:nth-of-type(even) .content {
  grid-area: content;
}
section.services .container article.service-listing:nth-of-type(even) .content > :not(:last-child) {
  margin-bottom: var(--space-m);
}
section.services .container article.service-listing:nth-of-type(even) > :not(:content) {
  grid-area: media;
}
@media (max-width: 800px) {
  section.services .container article.service-listing:nth-of-type(even) {
    grid-template-columns: 1fr;
    grid-template-areas: "media" "content";
    gap: var(--space-s);
  }
  section.services .container article.service-listing:nth-of-type(even) .content {
    text-align: center;
  }
  section.services .container article.service-listing:nth-of-type(even) .content > ul, section.services .container article.service-listing:nth-of-type(even) .content > ol {
    display: inline-block;
    text-align: left;
  }
}
section.services .container article.service-listing .content > :not(:last-child) {
  margin-bottom: var(--space-l);
}

section.featured-staff {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-l);
  place-items: center;
}
section.featured-staff .content > :not(:last-child) {
  margin-bottom: var(--space-s);
}
section.featured-staff .content p.name {
  font-size: var(--step-1);
  font-weight: 600;
}

section.team-listing h2 {
  margin-bottom: var(--space-l);
}
section.team-listing ul.team {
  display: grid;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-l);
  grid-template-columns: repeat(auto-fill, minmax(200px, 250px));
}
section.team-listing ul.team li.member h3 {
  font-size: var(--step-1);
}
section.team-listing ul.team li.member > :not(:last-child) {
  margin-bottom: var(--space-xs);
}

section.faqs {
  padding: 0;
}
section.faqs .accordion > .content {
  padding: var(--space-l);
}

.post-content .container > :not(:last-child) {
  margin-bottom: var(--space-s);
}
.post-content .container .alignright {
  display: inline;
  margin-left: var(--space-s);
}
.post-content .container .alignleft {
  display: inline;
  margin-right: var(--space-s);
}
.post-content .container .aligncenter {
  margin-inline: auto;
  margin-bottom: var(--space-s);
}
.post-content .container ul,
.post-content .container ol {
  list-style: outside;
  padding-left: var(--space-s);
}

section.posts-archive .container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  place-items: center;
  gap: var(--space-l);
}
section.posts-archive .container a.post {
  display: block;
}
section.posts-archive .container a.post > :not(:last-child) {
  margin-bottom: var(--space-xs);
}
section.posts-archive .container nav.pagination {
  grid-column: 1/-1;
  display: flex;
  flex-direction: row;
  gap: var(--space-2xs);
}

main.landing-page section:nth-child(3n+2) {
  background-color: #1a260d;
}
main.landing-page section:nth-child(3n) {
  background-color: #283618;
}
main.landing-page section:nth-child(3n+1) {
  background-color: #3d5321;
}
main.landing-page section div.content > :not(:last-child) {
  margin-bottom: 0.5rem;
}
main.landing-page section aside.form input.gform_button.button[type=submit] {
  background-color: #fafaf9;
  color: #283618;
  padding: var(--space-2xs) var(--space-xs);
  width: 100%;
  border: none;
  font-weight: 700;
}
main.landing-page section aside.form input.gform_button.button[type=submit]:hover, main.landing-page section aside.form input.gform_button.button[type=submit]:focus {
  background-color: #e7e5e4;
  color: #283618;
  text-decoration: none !important;
}
main.landing-page section aside.form input.gform_button.button[type=submit]:active {
  background-color: #d6d3d1;
  color: #283618;
  text-decoration: none !important;
}
main.landing-page section.landing-page__hero, main.landing-page section.landing-page__cta {
  padding: 0;
  position: relative;
  overflow: hidden;
  background-color: transparent;
}
main.landing-page section.landing-page__hero img, main.landing-page section.landing-page__cta img {
  position: absolute;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main.landing-page section.landing-page__hero .hero-wrapper {
  padding: var(--space-l);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
}
main.landing-page section.landing-page__hero .hero-wrapper > * {
  background-color: rgba(26, 38, 13, 0.4509803922);
  padding: 1rem;
  max-width: 500px;
}
main.landing-page section.landing-page__hero .hero-wrapper h1 {
  font-size: 3rem;
}
@media (width <= 600px) {
  main.landing-page section.landing-page__hero .hero-wrapper h1 {
    font-size: 2rem;
  }
}
@media (width >= 1280px) {
  main.landing-page section.landing-page__hero .hero-wrapper {
    flex-direction: row;
  }
}
main.landing-page section.landing-page__cta {
  padding: 0;
  position: relative;
  overflow: hidden;
  background-color: transparent;
}
main.landing-page section.landing-page__cta img {
  position: absolute;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main.landing-page section.landing-page__cta .cta-wrapper {
  padding: var(--space-l);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
}
main.landing-page section.landing-page__cta .cta-wrapper > * {
  background-color: rgba(26, 38, 13, 0.4509803922);
  padding: 1rem;
  max-width: 500px;
}
main.landing-page section.landing-page__cta .cta-wrapper h1 {
  font-size: 3rem;
}
@media (width <= 600px) {
  main.landing-page section.landing-page__cta .cta-wrapper h1 {
    font-size: 2rem;
  }
}
@media (width >= 1280px) {
  main.landing-page section.landing-page__cta .cta-wrapper {
    flex-direction: row-reverse;
  }
}
main.landing-page section.landing-page__two-column {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (width >= 1024px) {
  main.landing-page section.landing-page__two-column {
    grid-template-columns: 1fr 1fr;
  }
}
main.landing-page section.landing-page__two-column .beer-reveal[data-beer-label]:after, main.landing-page section.landing-page__two-column .beer-slider[data-beer-label]:after {
  background-color: rgba(26, 38, 13, 0.4509803922);
  color: #fafaf9;
}
main.landing-page section.landing-page__testimonials {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (width >= 1280px) {
  main.landing-page section.landing-page__testimonials {
    grid-template-columns: 1fr 1fr;
  }
}
main.landing-page section.landing-page__testimonials ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (width >= 1280px) {
  main.landing-page section.landing-page__testimonials ul {
    grid-template-columns: 1fr 1fr;
  }
}
main.landing-page section.landing-page__testimonials ul li {
  background-color: #1a260d;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.25rem;
}
main.landing-page section.landing-page__testimonials ul li:first-child {
  background-color: #3d5321;
  grid-column: 1/-1;
}
main.landing-page section.landing-page__testimonials ul li cite {
  text-align: end;
}
main.landing-page section.landing-page__testimonials ul li cite::before {
  content: "—";
}
main.landing-page section.landing-page__feature-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  container-type: inline-size;
}
@media (width >= 1280px) {
  main.landing-page section.landing-page__feature-list {
    grid-template-columns: 1fr 2fr;
  }
}
main.landing-page section.landing-page__feature-list ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@container (width >= 600px) {
  main.landing-page section.landing-page__feature-list ul {
    grid-template-columns: 1fr 1fr;
  }
}
main.landing-page section.landing-page__feature-list ul li {
  padding: 1rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.5rem;
  background-color: #3d5321;
}
main.landing-page section.landing-page__feature-list ul li h3 {
  font-size: 1.5rem;
}
@media (width >= 600px) {
  main.landing-page section.landing-page__feature-list ul li h3 {
    font-size: 1.25rem;
  }
}
main.landing-page section.landing-page__feature-list ul li i {
  font-size: 1.5rem;
}
main.landing-page section.landing-page__tabs {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
main.landing-page section.landing-page__tabs h2, main.landing-page section.landing-page__tabs .intro {
  text-align: center;
  max-width: 80ch;
}
main.landing-page section.landing-page__accordion {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
main.landing-page section.landing-page__accordion h2, main.landing-page section.landing-page__accordion .intro {
  text-align: center;
  max-width: 80ch;
}
main.landing-page section.landing-page__accordion > .accordion {
  max-width: 100ch;
}
main.landing-page section.landing-page__accordion > .accordion .accordion:not(:last-child) {
  margin-bottom: 0.5rem;
}
main.landing-page section.landing-page__accordion > .accordion h3 {
  font-size: 1.5rem;
  text-align: start;
}
@media (width >= 600px) {
  main.landing-page section.landing-page__accordion > .accordion h3 {
    font-size: 1.25rem;
  }
}

.scheme-dark {
  background-color: #1a260d;
}
.scheme-dark > .elevated {
  box-shadow: var(--elevation-bg-dark);
}

.scheme-mid {
  background-color: #283618;
}
.scheme-mid > .elevated {
  box-shadow: var(--elevation-bg-mid);
}

.scheme-light {
  background-color: #3d5321;
}
.scheme-light > .elevated {
  box-shadow: var(--elevation-bg-light);
}

header {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 250px;
  border: 2px solid #fafaf9;
  box-sizing: border-box;
  background-color: rgba(250, 250, 249, 0.1019607843);
}
header a {
  transition: color 250ms ease, background-color 250ms ease;
}
header a:hover, header a:focus {
  color: #e7e5e4;
}
header a:active {
  color: #d6d3d1;
}
header .nav-wrapper {
  flex-grow: 1;
  padding: var(--space-s);
}
header .nav-wrapper div.logo,
header .nav-wrapper a.logo,
header .nav-wrapper span.logo {
  display: block;
  text-align: center;
  font-family: "Noto Serif", sans-serif;
  font-weight: 900;
  line-height: 1;
  margin-bottom: var(--space-m);
}
header .nav-wrapper div.logo span,
header .nav-wrapper a.logo span,
header .nav-wrapper span.logo span {
  display: block;
  font-size: 14px;
  font-weight: 600;
}
header .nav-wrapper div.logo {
  font-size: 26px;
}
header .nav-wrapper a.logo {
  font-size: 32px;
}
header .nav-wrapper nav > ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-3xs);
}
header .nav-wrapper nav > ul a {
  font-weight: 600;
  font-size: 18px;
}
header .nav-wrapper nav > ul a.active {
  font-weight: 800;
}
header .nav-wrapper nav > ul li > ul {
  margin-bottom: var(--space-3xs);
}
header .nav-wrapper nav > ul li > ul a {
  font-size: 16px;
  font-weight: 500;
}
header a.contact {
  padding: var(--space-s);
  text-align: center;
  font-size: 24px;
  border-block: 2px solid #fafaf9;
}
header a.contact:hover, header a.contact:focus {
  background-color: rgba(231, 229, 228, 0.1019607843);
}
header a.contact:active {
  background-color: rgba(214, 211, 209, 0.1019607843);
}
header .socials {
  display: flex;
  flex-direction: row;
  gap: var(--space-xs);
  justify-content: center;
  align-items: center;
  font-size: 32px;
  padding: var(--space-xs);
}
header .contact-info {
  padding: var(--space-xs);
  border-top: 2px solid #fafaf9;
  text-align: center;
}
header .contact-info a {
  margin-top: var(--space-2xs);
}
header .contact-info a:hover {
  text-decoration: underline;
}
@media (max-width: 1000px) or (orientation: portrait) {
  header {
    position: fixed;
    top: 0;
    right: -250px;
    z-index: 1000;
    background-color: #1a260d;
    transition: right 500ms ease;
  }
  header.open {
    right: 0;
  }
}

button.nav-toggle {
  position: fixed;
  top: var(--space-s);
  left: var(--space-s);
  background: none;
  border: none;
  z-index: 1000;
  cursor: pointer;
  color: #fafaf9;
  font-size: var(--step-1);
  transition: color 250ms ease;
}
button.nav-toggle i {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 250ms ease;
}
button.nav-toggle i.fa-x {
  opacity: 0;
}
button.nav-toggle i.fa-bars {
  opacity: 1;
}
button.nav-toggle.open i.fa-x {
  opacity: 1;
}
button.nav-toggle.open i.fa-bars {
  opacity: 0;
}
button.nav-toggle:hover, button.nav-toggle:focus {
  color: #e7e5e4;
}
button.nav-toggle:active {
  color: #d6d3d1;
}
@media (min-width: 1000px) and (orientation: landscape) {
  button.nav-toggle {
    display: none;
  }
}

main {
  height: 100dvh;
  overflow-y: auto;
}

section.hero {
  aspect-ratio: 5/2;
  position: relative;
  padding: 0;
}
section.hero img {
  width: 100%;
}
section.hero .hero-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(26, 38, 13, 0.4509803922);
  display: grid;
  place-items: center;
  text-align: center;
}
section.hero .hero-content h1 {
  max-width: 20ch;
}

section.call-to-action {
  display: grid;
  place-items: center;
}
section.call-to-action .cta-content {
  padding: var(--space-l);
  max-width: 90ch;
  text-align: center;
}
section.call-to-action .cta-content > :not(:last-child) {
  margin-bottom: var(--space-s);
}

.content-center {
  text-align: center;
}
.content-center .content {
  max-width: 120ch;
  margin-inline: auto;
}
.content-center .content > :not(:last-child) {
  margin-bottom: var(--space-xs);
}

.content-right {
  grid-template-areas: "media content";
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: center;
}
.content-right .content {
  grid-area: content;
}
.content-right .content > :not(:last-child) {
  margin-bottom: var(--space-m);
}
.content-right > :not(:content) {
  grid-area: media;
}
@media (max-width: 800px) {
  .content-right {
    grid-template-columns: 1fr;
    grid-template-areas: "media" "content";
    gap: var(--space-s);
  }
  .content-right .content {
    text-align: center;
  }
  .content-right .content > ul, .content-right .content > ol {
    display: inline-block;
    text-align: left;
  }
}

.content-left {
  grid-template-areas: "media content";
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: center;
}
.content-left .content {
  grid-area: content;
}
.content-left .content > :not(:last-child) {
  margin-bottom: var(--space-m);
}
.content-left > :not(:content) {
  grid-area: media;
}
@media (max-width: 800px) {
  .content-left {
    grid-template-columns: 1fr;
    grid-template-areas: "media" "content";
    gap: var(--space-s);
  }
  .content-left .content {
    text-align: center;
  }
  .content-left .content > ul, .content-left .content > ol {
    display: inline-block;
    text-align: left;
  }
}

.btn {
  display: block;
  max-width: max-content;
  padding: var(--space-2xs) var(--space-xs);
  margin-inline: auto;
  transition: background-color 250ms ease;
}
.btn.btn-primary {
  background-color: #fafaf9;
  color: #283618;
}
.btn.btn-primary:hover, .btn.btn-primary:focus {
  background-color: #e7e5e4;
  color: #283618;
  text-decoration: none !important;
}
.btn.btn-primary:active {
  background-color: #d6d3d1;
  color: #283618;
  text-decoration: none !important;
}

.img-bg {
  padding: var(--space-2xl);
  background-size: cover;
  background-position: center;
  background-color: rgba(26, 38, 13, 0.4509803922);
  background-blend-mode: multiply;
}

.card {
  padding: var(--space-s);
  height: 100%;
}

blockquote.card {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
blockquote.card p {
  margin-bottom: var(--space-s);
}
blockquote.card cite {
  display: block;
  width: 100%;
  text-align: end;
  align-self: flex-end;
}
blockquote.card cite::before {
  content: "—";
}

body {
  --swiper-theme-color: #fafaf9;
}

button.swiper-button-prev,
button.swiper-button-next {
  background: none;
  border: none;
}

.testimonials-container {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-areas: "heading heading heading" "prev slider next";
  gap: var(--space-l);
  width: 100%;
}
.testimonials-container h2 {
  grid-area: heading;
  text-align: center;
}
.testimonials-container .swiper.testimonials {
  grid-area: slider;
  width: 100%;
}
.testimonials-container .swiper-button-prev {
  grid-area: prev;
  align-self: center;
  position: static;
}
.testimonials-container .swiper-button-next {
  grid-area: next;
  align-self: center;
  position: static;
}

.gallery.swiper {
  margin-bottom: var(--space-s);
}

.thumbs.swiper .swiper-slide:not(.swiper-slide-thumb-active)::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(26, 38, 13, 0.4509803922);
}

.accordion {
  overflow: hidden;
}
.accordion button {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-s);
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  transition: all 250ms ease;
}
.accordion button h2 {
  text-align: start;
  font-size: var(--step-2);
}
.accordion button i {
  font-size: var(--step-2);
  transition: transform 250ms ease;
}
.accordion button:hover {
  background-color: rgba(250, 250, 249, 0.1019607843);
}
.accordion .content-container {
  transition: height 250ms ease;
}
.accordion .content-container .content {
  padding: var(--space-l);
}
.accordion .content-container .content > :not(:last-child) {
  margin-bottom: var(--space-s);
}

.tabs [role=tablist] {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--space-m);
  justify-content: center;
  margin-block: var(--space-l);
}
.tabs [role=tablist] button[role=tab] {
  background: none;
  border: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  position: relative;
}
.tabs [role=tablist] button[role=tab] .title-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  padding: var(--space-2xs);
  line-height: 1;
  background-color: rgba(26, 38, 13, 0.4509803922);
  transition: background-color 250ms ease;
}
.tabs [role=tablist] button[role=tab][aria-selected=true] {
  font-weight: 700;
}
.tabs [role=tablist] button[role=tab][aria-selected=true] .title-container {
  background-color: rgba(61, 83, 33, 0.4509803922);
}
.tabs [role=tablist] button[role=tab]:hover .title-container, .tabs [role=tablist] button[role=tab]:focus .title-container {
  background-color: rgba(61, 83, 33, 0.4509803922);
}
.tabs [role=tablist] button[role=tab]:active .title-container {
  background-color: rgba(61, 83, 33, 0.4509803922);
}
.tabs [role=tabpanel].hidden {
  display: none;
}
.tabs [role=tabpanel] ol,
.tabs [role=tabpanel] ul {
  list-style-position: outside;
  padding-left: var(--space-m);
}
.tabs [role=tabpanel] ul {
  list-style: disc;
}

.lightbox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--space-l);
  justify-content: center;
}
.lightbox button.modal-toggle {
  background: none;
  border: none;
  cursor: pointer;
}
.lightbox button.modal-toggle img {
  pointer-events: none;
}
.lightbox .modal {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background-color: rgba(26, 38, 13, 0.4509803922);
  opacity: 0;
  transition: opacity 250ms ease;
}
.lightbox .modal:not([hidden]) {
  opacity: 1;
}
.lightbox .modal .close {
  position: absolute;
  top: var(--space-m);
  left: var(--space-m);
  cursor: pointer;
  background: none;
  border: none;
  font-size: var(--step-1);
  color: #fafaf9;
  transition: color 250ms ease;
}
.lightbox .modal .close:hover, .lightbox .modal .close:focus {
  color: #e7e5e4;
}
.lightbox .modal .close:active {
  color: #d6d3d1;
}
.lightbox .modal .gallery-slide {
  width: 100%;
  height: 100%;
  padding: var(--space-2xl);
}
.lightbox .modal .gallery-slide:not([hidden]) {
  display: grid;
  place-items: center;
}
.lightbox .modal .gallery-slide img {
  max-height: calc(100dvh - 2 * var(--space-2xl));
}

section.contact-form #gform_wrapper_1 #gform_1 input[type=submit] {
  display: block;
  margin-left: auto;
  display: block;
  max-width: max-content;
  padding: var(--space-2xs) var(--space-xs);
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
  background-color: #fafaf9;
  color: #283618;
}
section.contact-form #gform_wrapper_1 #gform_1 input[type=submit]:hover, section.contact-form #gform_wrapper_1 #gform_1 input[type=submit]:focus {
  background-color: #e7e5e4;
  color: #283618;
  text-decoration: none !important;
}
section.contact-form #gform_wrapper_1 #gform_1 input[type=submit]:active {
  background-color: #d6d3d1;
  color: #283618;
  text-decoration: none !important;
}
section.contact-form #gform_wrapper_1 #gform_1 input[type=submit] {
  transition: background-color 250ms ease;
}

.sr-only, .crm-form__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.crm-form {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  font-family: "Lato", sans-serif;
  color: #FFFFFF;
}
.crm-form__fieldset {
  margin: 0 0 2rem;
  padding: 0;
  border: none;
}
.crm-form__fieldset--consent .crm-form__field + .crm-form__field {
  margin-top: 1rem;
}
.crm-form__legend {
  display: block;
  width: 100%;
  padding: 0 0 0.5rem;
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff;
  border-bottom: 2px solid #aeb8c0;
}
.crm-form__row {
  display: grid;
  gap: 1.25rem;
}
.crm-form__row--halves {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 600px) {
  .crm-form__row--halves {
    grid-template-columns: 1fr;
  }
}
.crm-form__row--thirds {
  grid-template-columns: 2fr 1fr 1fr;
}
@media (max-width: 700px) {
  .crm-form__row--thirds {
    grid-template-columns: 1fr;
  }
}
.crm-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 1.25rem;
}
.crm-form__field--checkbox {
  flex-direction: row;
  align-items: flex-start;
  gap: 0.65rem;
}
.crm-form__label {
  font-size: 0.9rem;
  font-weight: 600;
  color: #ffffff;
}
.crm-form__label--required::before {
  content: "* ";
  color: #d0021b;
}
.crm-form .crm-form__textarea, .crm-form .crm-form__select, .crm-form .crm-form__input {
  box-sizing: border-box;
  width: 100%;
  padding: 0.55rem 0.75rem;
  font-family: "Lato", sans-serif;
  font-size: 0.9375rem;
  color: #000000;
  background-color: #ffffff;
  border: 1px solid #aeb8c0;
  border-radius: 6px;
  outline: none;
  transition: border-color 250ms ease, box-shadow 250ms ease;
}
.crm-form .crm-form__textarea::placeholder, .crm-form .crm-form__select::placeholder, .crm-form .crm-form__input::placeholder {
  color: #333333;
}
.crm-form .crm-form__textarea:focus, .crm-form .crm-form__select:focus, .crm-form .crm-form__input:focus {
  border-color: #3d5321;
  box-shadow: 0 0 0 3px rgba(61, 83, 33, 0.2);
}
.crm-form [aria-invalid=true].crm-form__textarea, .crm-form [aria-invalid=true].crm-form__select, .crm-form [aria-invalid=true].crm-form__input, .crm-form .is-invalid.crm-form__textarea, .crm-form .is-invalid.crm-form__select, .crm-form .is-invalid.crm-form__input {
  border-color: #d0021b;
  background-color: rgba(208, 2, 27, 0.05);
}
.crm-form [aria-invalid=true].crm-form__textarea:focus, .crm-form [aria-invalid=true].crm-form__select:focus, .crm-form [aria-invalid=true].crm-form__input:focus, .crm-form .is-invalid.crm-form__textarea:focus, .crm-form .is-invalid.crm-form__select:focus, .crm-form .is-invalid.crm-form__input:focus {
  box-shadow: 0 0 0 3px rgba(208, 2, 27, 0.2);
}
.crm-form__input {
  height: 2.375rem;
}
.crm-form__select {
  height: 2.375rem;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%278%27 viewBox=%270 0 12 8%27%3E%3Cpath fill=%27%236b7280%27 d=%27M1 1l5 5 5-5%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.25rem;
  cursor: pointer;
}
.crm-form__textarea {
  resize: vertical;
  min-height: 7rem;
}
.crm-form__checkbox {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.2rem;
  accent-color: #3d5321;
  cursor: pointer;
}
.crm-form__checkbox:focus-visible {
  outline: 2px solid #3d5321;
  outline-offset: 2px;
}
.crm-form__checkbox-label {
  font-size: 0.875rem;
  line-height: 1.5;
  color: #ffffff;
  cursor: pointer;
}
.crm-form__hint {
  font-size: 0.8125rem;
  color: #eeeeee;
}
.crm-form__error {
  font-size: 0.8125rem;
  color: #d0021b;
  min-height: 1.1em;
}
.crm-form__error:empty {
  display: none;
}
.crm-form__link {
  color: #ffffff;
  font-weight: 700;
}
.crm-form__link:hover {
  text-decoration: underline;
}
.crm-form__actions {
  padding-top: 0.5rem;
}
.crm-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 10rem;
  padding: 0.65rem 2rem;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  background-color: #3d5321;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 250ms ease, opacity 250ms ease, transform 250ms ease;
}
.crm-form__submit:hover:not(:disabled) {
  background-color: rgb(74.4094827586, 101.2456896552, 40.2543103448);
}
.crm-form__submit:active:not(:disabled) {
  transform: translateY(1px);
}
.crm-form__submit:focus-visible {
  outline: 2px solid #3d5321;
  outline-offset: 3px;
}
.crm-form__submit:disabled, .crm-form__submit[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
.crm-form__overlay {
  position: absolute;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.35);
  border-radius: 8px;
}
.crm-form__overlay[hidden] {
  display: none;
}
.crm-form__overlay-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 2rem 2.5rem;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
  text-align: center;
}
.crm-form__overlay-title {
  margin: 0;
  font-size: 1.25rem;
}
.crm-form__overlay-message {
  margin: 0;
  color: #eeeeee;
  font-size: 0.9rem;
}
.crm-form__spinner {
  position: relative;
  width: 3rem;
  height: 0.875rem;
  margin: 0 auto;
}
.crm-form__spinner div {
  position: absolute;
  top: 0;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: #3d5321;
  animation: crm-bounce 1.4s infinite ease-in-out both;
}
.crm-form__spinner div:nth-child(1) {
  left: 0;
  animation-delay: -0.32s;
}
.crm-form__spinner div:nth-child(2) {
  left: 1.125rem;
  animation-delay: -0.16s;
}
.crm-form__spinner div:nth-child(3) {
  left: 2.25rem;
}
.crm-form__confirmation {
  padding: 1.5rem;
  margin-top: 1rem;
  background-color: #f0fdf4;
  border: 1px solid #86efac;
  border-radius: 6px;
  font-size: 1rem;
  color: #166534;
}
.crm-form__confirmation[hidden] {
  display: none;
}
.crm-form__honeypot {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  overflow: hidden;
  z-index: -1;
}
.crm-form__honeypot input {
  pointer-events: none;
  tabindex: -1;
}
.crm-form__turnstile {
  margin-bottom: 1rem;
}
.crm-form__turnstile iframe {
  border-radius: 6px;
  transition: opacity 250ms ease;
}

@keyframes crm-bounce {
  0%, 80%, 100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}
