.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  word-wrap: normal !important;
  position: absolute !important;
}

.screen-reader-text:focus {
  clip-path: none;
  color: #21759b;
  z-index: 100000;
  background-color: #f1f1f1;
  border-radius: 3px;
  width: auto;
  height: auto;
  padding: 15px 23px 14px;
  font-size: .875rem;
  font-weight: bold;
  line-height: normal;
  text-decoration: none;
  display: block;
  top: 5px;
  left: 5px;
  box-shadow: 0 0 2px 2px #0009;
  clip: auto !important;
}

#content[tabindex="-1"]:focus {
  outline: 0;
}

.clear:before, .clear:after, .entry-content:before, .entry-content:after, .comment-content:before, .comment-content:after, .site-header:before, .site-header:after, .site-content:before, .site-content:after, .site-footer:before, .site-footer:after {
  content: "";
  table-layout: fixed;
  display: table;
}

.clear:after, .entry-content:after, .comment-content:after, .site-header:after, .site-content:after, .site-footer:after {
  clear: both;
}

.infinite-scroll .posts-navigation, .infinite-scroll.neverending .site-footer {
  display: none;
}

.infinity-end.neverending .site-footer {
  display: block;
}

:root {
  --space-3xs: clamp(.25rem, .2341rem + .0784vw, .3125rem);
  --space-2xs: clamp(.4375rem, .3738rem + .3137vw, .6875rem);
  --space-xs: clamp(.6875rem, .6078rem + .3922vw, 1rem);
  --space-s: clamp(.875rem, .7635rem + .549vw, 1.3125rem);
  --space-m: clamp(1.3125rem, 1.1373rem + .8627vw, 2rem);
  --space-l: clamp(1.75rem, 1.527rem + 1.098vw, 2.625rem);
  --space-xl: clamp(2.625rem, 2.2904rem + 1.6471vw, 3.9375rem);
  --space-2xl: clamp(3.5rem, 3.0539rem + 2.1961vw, 5.25rem);
  --space-3xl: clamp(5.25rem, 4.5809rem + 3.2941vw, 7.875rem);
  --space-3xs-2xs: clamp(.25rem, .1385rem + .549vw, .6875rem);
  --space-2xs-xs: clamp(.4375rem, .2941rem + .7059vw, 1rem);
  --space-xs-s: clamp(.6875rem, .5282rem + .7843vw, 1.3125rem);
  --space-s-m: clamp(.875rem, .5882rem + 1.4118vw, 2rem);
  --space-m-l: clamp(1.3125rem, .9779rem + 1.6471vw, 2.625rem);
  --space-l-xl: clamp(1.75rem, 1.1924rem + 2.7451vw, 3.9375rem);
  --space-xl-2xl: clamp(2.625rem, 1.9559rem + 3.2941vw, 5.25rem);
  --space-2xl-3xl: clamp(3.5rem, 2.3848rem + 5.4902vw, 7.875rem);
  --space-s-l: clamp(.875rem, .4289rem + 2.1961vw, 2.625rem);
  --space-m-2xl: clamp(1.6875rem, .5353rem + 5.7609vw, 5rem);
  --grid-max-width: 81.38rem;
  --grid-gutter: var(--space-s-l, clamp(.875rem, .2905rem + 2.8689vw, 2.625rem));
  --grid-columns: 12;
}

.u-container {
  max-width: var(--grid-max-width);
  padding-inline: var(--grid-gutter);
  margin-inline: auto;
}

.u-grid {
  gap: var(--grid-gutter);
  display: grid;
}

:root {
  --step--3: clamp(.4825rem, .6122rem + -.1674vw, .5787rem);
  --step--2: clamp(.6151rem, .722rem + -.1379vw, .6944rem);
  --step--1: clamp(.7843rem, .8504rem + -.0853vw, .8333rem);
  --step-0: clamp(1rem, 1rem + 0vw, 1rem);
  --step-1: clamp(1.2rem, 1.1739rem + .1304vw, 1.275rem);
  --step-2: clamp(1.44rem, 1.3754rem + .3228vw, 1.6256rem);
  --step-3: clamp(1.728rem, 1.6081rem + .5994vw, 2.0727rem);
  --step-4: clamp(2.0736rem, 1.8757rem + .9897vw, 2.6427rem);
  --step-5: clamp(2.4883rem, 2.1819rem + 1.5323vw, 3.3694rem);
  --step-6: clamp(2.986rem, 2.5303rem + 2.2782vw, 4.296rem);
  --step-7: clamp(3.5832rem, 2.9243rem + 3.2942vw, 5.4774rem);
}

html {
  -webkit-text-size-adjust: 100%;
  line-height: 1.15;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  margin: .67em 0;
  font-size: 2em;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace;
  font-size: 1em;
}

a {
  background-color: #0000;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline dotted;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

img {
  border-style: none;
}

button, input, optgroup, select, textarea {
  margin: 0;
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type="button"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type="reset"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring {
  outline: 1px dotted buttontext;
}

[type="button"]:-moz-focusring {
  outline: 1px dotted buttontext;
}

[type="reset"]:-moz-focusring {
  outline: 1px dotted buttontext;
}

[type="submit"]:-moz-focusring {
  outline: 1px dotted buttontext;
}

fieldset {
  padding: .35em .75em .625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  white-space: normal;
  max-width: 100%;
  padding: 0;
  display: table;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"], [type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

[type="number"]::-webkit-inner-spin-button {
  height: auto;
}

[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template, [hidden] {
  display: none;
}

html {
  box-sizing: border-box;
}

*, :before, :after {
  box-sizing: inherit;
}

hr {
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

img {
  max-width: 100%;
  height: auto;
}

figure {
  margin: 1em 0;
}

ul, ol {
  margin: 0 0 1.5rem 1.5rem;
  padding: 0;
  line-height: 1.5;
}

ul.menu li:before, div.menu ul li:before {
  display: none;
}

ol {
  list-style: decimal;
}

li > ul, li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

table {
  background-color: #d9d9d9;
  width: 100%;
  margin: 0 0 1.5em;
}

body {
  background-color: var(--bg-colour);
  font-family: ivyepic-variable, sans-serif;
  font-size: 1rem;
  font-weight: 100;
  margin: 0 !important;
}

body.page-template-standard-page #content {
  background-color: #f3f3f3;
  padding: 3rem calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
}

.site-content {
  overflow: hidden;
}

#content {
  z-index: 0;
  position: relative;
}

.wrap {
  max-width: 1200px;
}

@media (width >= 1024px) {
  .wrap {
    margin: 0 auto;
  }
}

.container {
  width: 100%;
  padding: 0 1rem;
}

.wp-block-image img {
  width: 100%;
}

.padding-top-bottom {
  padding-top: 3rem;
  padding-bottom: 3.5rem;
}

.padding-top-bottom.pad-large {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

@media (width >= 1024px) {
  .padding-top-bottom.pad-large {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.padding-top-bottom.pad-medium {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (width >= 1024px) {
  .padding-top-bottom.pad-medium {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.padding-top-bottom.pad-small {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.padding-top {
  padding-top: 2rem;
}

.padding-top.pad-large {
  padding-top: 6rem;
}

@media (width >= 1024px) {
  .padding-top.pad-large {
    padding-top: 6rem;
  }
}

.padding-top.pad-medium {
  padding-top: 4rem;
}

@media (width >= 1024px) {
  .padding-top.pad-medium {
    padding-top: 4rem;
  }
}

.padding-top.pad-small {
  padding-top: 2rem;
}

.padding-bottom {
  padding-bottom: 2rem;
}

.padding-bottom.pad-large {
  padding-bottom: 6rem;
}

@media (width >= 1024px) {
  .padding-bottom.pad-large {
    padding-bottom: 6rem;
  }
}

.padding-bottom.pad-medium {
  padding-bottom: 4rem;
}

@media (width >= 1024px) {
  .padding-bottom.pad-medium {
    padding-bottom: 4rem;
  }
}

.padding-bottom.pad-small {
  padding-bottom: 2rem;
}

.align-middle {
  align-items: center;
}

.align-top {
  align-items: flex-start;
}

.align-bottom {
  align-items: flex-end;
}

.flex-start {
  justify-content: flex-start;
}

.flex-center {
  justify-content: center;
}

.flex-end {
  justify-content: flex-end;
}

p {
  margin-top: 0;
  margin-bottom: var(--step-0);
  font-size: .9rem;
  font-weight: 300;
  line-height: 1.6;
}

@media (width >= 1024px) {
  p {
    font-size: var(--step-0);
  }
}

a, p a {
  color: #666d40;
  font-weight: bold;
  text-decoration: none;
}

a:hover, p a:hover {
  color: #dfd1c1;
}

ul, ol {
  font-size: var(--step-0);
  margin: 0;
  margin-top: var(--step-0);
  margin-bottom: var(--step-0);
  padding: 0;
  list-style-position: inside;
}

dfn, cite, em, i {
  font-style: italic;
}

blockquote {
  font-family: ivyepic-variable, sans-serif;
  font-size: var(--step-0);
}

code, kbd, tt, var {
  font-family: Courier New, monospace;
  font-size: var(--step--1);
}

big, .large {
  font-size: 1.125rem;
}

@media (width >= 1024px) {
  big, .large {
    font-size: var(--step-1);
  }
}

.small {
  font-size: var(--step--1);
}

strong {
  font-weight: 700;
}

h1, h2, h3, h4, h5, h6 {
  clear: both;
  color: #000;
  margin: 0;
  margin-bottom: var(--step-1);
  font-family: ivypresto-display, serif;
  font-weight: 600;
  line-height: 1;
}

h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
  color: #f1d296;
}

h1.leaf, h2.leaf, h3.leaf, h4.leaf, h5.leaf, h6.leaf {
  position: relative;
}

h1.leaf:before, h2.leaf:before, h3.leaf:before, h4.leaf:before, h5.leaf:before, h6.leaf:before {
  content: "";
  background-image: url("leaf.fed626d3.png");
  background-size: cover;
  width: 20px;
  height: 27px;
  display: block;
  position: absolute;
  top: 5px;
  left: -17px;
}

h1 {
  font-size: var(--step-6);
}

h2 {
  font-size: var(--step-5);
}

h3 {
  font-size: var(--step-3);
  font-weight: 400;
  line-height: 1.2;
}

h4 {
  font-size: var(--step-2);
  font-weight: 300;
  line-height: 1.4;
}

h5 {
  font-size: var(--step-1);
  line-height: 1.4;
}

h6 {
  font-size: var(--step-0);
  margin-bottom: var(--step--2);
  line-height: 1.4;
}

.pre-head {
  font-size: var(--step-0);
  color: #000;
  font-family: ivypresto-display, serif;
  font-weight: 400;
  display: block;
}

p:has( > span.pre-head) {
  margin-bottom: 0;
}

.dark h1, .dark h2, .dark h3, .dark h4, .dark h5 {
  color: #fff;
}

body, button, input, select, optgroup, textarea {
  color: var(--body-colour);
  font-size: var(--step-0);
  font-weight: 300;
  line-height: 1.5;
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

div.wpforms-container {
  margin: 0 !important;
}

div.wpforms-container .wpforms-form .wpforms-field {
  padding: var(--step--2) 0;
  margin: 0;
}

div.wpforms-container .wpforms-form .wpforms-field h1, div.wpforms-container .wpforms-form .wpforms-field h2, div.wpforms-container .wpforms-form .wpforms-field h2, div.wpforms-container .wpforms-form .wpforms-field h4 {
  font-weight: 400 !important;
}

div.wpforms-container .wpforms-form input, div.wpforms-container .wpforms-form textarea, div.wpforms-container .wpforms-form input[type="text"], div.wpforms-container .wpforms-form input[type="email"], div.wpforms-container .wpforms-form input[type="tel"], div.wpforms-container .wpforms-form input[type="number"], div.wpforms-container .wpforms-form select {
  font-size: var(--step-0);
  background-color: #ddded0;
  border: 1px solid #949c68;
  height: 45px;
  margin: 0;
  padding: 0 1rem;
  border-radius: 0 !important;
  font-family: ivyepic-variable, sans-serif !important;
}

div.wpforms-container .wpforms-form .choices {
  border-radius: 0;
  height: 45px;
}

div.wpforms-container .wpforms-form select {
  background-color: #f3f3f3;
}

div.wpforms-container .wpforms-form label, div.wpforms-container .wpforms-form legend {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 300;
  font-size: var(--step--1);
}

div.wpforms-container .wpforms-form button[type="submit"], div.wpforms-container .wpforms-form button.wpforms-page-button {
  font-family: ivypresto-display, serif;
  font-weight: 400;
  font-size: var(--step-1);
  color: #fff;
  border: 2px solid #666d40;
  border-radius: 4px;
  min-width: fit-content;
  padding: 0 2rem;
  text-decoration: none;
  transition: all .3s;
  background-color: #666d40 !important;
  align-items: center !important;
  display: inline-block !important;
}

div.wpforms-container .wpforms-form .wpforms-page-indicator-page:not(.active) .wpforms-page-indicator-page-number {
  opacity: .2 !important;
  background-color: #fff !important;
}

div.wpforms-container .wpforms-form .wpforms-page-indicator-page-title {
  text-transform: uppercase;
  color: #fff;
  font-family: ivypresto-display, serif;
  font-weight: 800;
  font-size: .8rem !important;
}

div.wpforms-container .wpforms-form .wpforms-page-indicator-page.active .wpforms-page-indicator-page-title {
  color: #dfd1c1;
}

.wpforms-field.wpforms-field-gdpr-checkbox ul li input {
  padding: 0;
}

.wpforms-field.wpforms-field-gdpr-checkbox * {
  color: #fff;
}

div.wpforms-container-full .wpforms-form .wpforms-field-divider h3 {
  font-weight: 400 !important;
}

a {
  color: #dfd1c1;
  font-weight: 700;
  transition: all .3s;
}

a:hover, a:focus, a:active {
  color: var(--secondary-colour);
  text-decoration: underline;
}

a:focus, a:hover, a:active {
  outline: none;
}

.button, a.button, button, .wp-block-button__link, button.wpforms-submit, a.wc-block-cart__submit-button, button[type="submit"] {
  font-family: ivypresto-display, serif;
  font-weight: 400;
  line-height: 1.2;
  font-size: var(--step-0);
  color: #fff;
  background: #666d40;
  border: 2px solid #666d40;
  border-radius: 4px;
  align-items: center;
  min-width: fit-content;
  padding: .75rem 1rem;
  text-decoration: none;
  transition: all .3s;
  display: inline-block;
}

.button.button--leaf, a.button.button--leaf, button.button--leaf, .wp-block-button__link.button--leaf, button.wpforms-submit.button--leaf, a.wc-block-cart__submit-button.button--leaf, button[type="submit"].button--leaf {
  margin-left: 28px;
  position: relative;
}

.button.button--leaf:before, a.button.button--leaf:before, button.button--leaf:before, .wp-block-button__link.button--leaf:before, button.wpforms-submit.button--leaf:before, a.wc-block-cart__submit-button.button--leaf:before, button[type="submit"].button--leaf:before {
  content: "";
  background-image: url("leaf.fed626d3.png");
  background-size: cover;
  width: 28px;
  height: 37px;
  transition: all .3s;
  display: block;
  position: absolute;
  top: 0;
  left: -30px;
}

.button.button--leaf:hover:before, a.button.button--leaf:hover:before, button.button--leaf:hover:before, .wp-block-button__link.button--leaf:hover:before, button.wpforms-submit.button--leaf:hover:before, a.wc-block-cart__submit-button.button--leaf:hover:before, button[type="submit"].button--leaf:hover:before {
  transform-origin: 98% 0;
  transform: rotate(-7deg);
}

.button:hover, a.button:hover, button:hover, .wp-block-button__link:hover, button.wpforms-submit:hover, a.wc-block-cart__submit-button:hover, button[type="submit"]:hover {
  color: #fff;
  background: #949c68;
  border-color: #949c68;
}

.button.button-alt, a.button.button-alt, button.button-alt, .wp-block-button__link.button-alt, button.wpforms-submit.button-alt, a.wc-block-cart__submit-button.button-alt, button[type="submit"].button-alt {
  color: #fff;
  background-color: #d2a041;
  border-color: #d2a041;
}

.button.button-alt:hover, a.button.button-alt:hover, button.button-alt:hover, .wp-block-button__link.button-alt:hover, button.wpforms-submit.button-alt:hover, a.wc-block-cart__submit-button.button-alt:hover, button[type="submit"].button-alt:hover {
  background-color: #949c68;
  border-color: #949c68;
}

p > a.button {
  margin-top: var(--step-0);
}

button.wpforms-submit {
  border-collapse: collapse;
}

button.wpforms-submit:hover {
  cursor: pointer;
  background-color: #dfd1c1;
  background: none !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  color: var(--accent-colour);
}

.btn-holder {
  gap: .5rem;
  display: flex;
}

.text-link {
  font-size: var(--step--2);
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 400;
}

.main-navigation {
  flex-direction: row;
  align-items: flex-end;
  height: 100%;
  display: none;
}

.main-navigation > div {
  align-items: center;
  height: 100%;
  display: flex;
}

.main-navigation ul {
  align-items: flex-end;
  gap: 1.5rem;
  height: 100%;
  padding: 0;
  list-style: none;
  position: relative;
  margin: 0 !important;
}

.main-navigation ul > li {
  text-align: center;
  align-items: center;
  height: 100%;
  margin: 0;
  font-family: ivypresto-display, serif;
  display: flex;
  position: relative;
}

.main-navigation ul > li.current_page_item, .main-navigation ul > li.current-menu-parent, .main-navigation ul > li.current-menu-item {
  color: #666d40;
  border-color: #666d40;
}

.main-navigation ul > li > a {
  color: #000;
  font-weight: 400;
  font-size: var(--step-1);
  border-bottom: 1px solid #0000;
  padding: 0;
  text-decoration: none;
  transition: all .3s;
  position: relative;
}

.main-navigation ul > li.current_page_item a, .main-navigation ul > li.active a {
  color: #666d40;
  border-color: #666d40;
}

.main-navigation ul > li.menu-item-has-children:after {
  content: "";
  color: #dfd1c1;
  opacity: 1;
  margin-left: .5rem;
  font-family: "Font Awesome 7 Pro";
  font-size: .75rem;
  font-weight: 400;
  position: relative;
  top: 2px;
}

.main-navigation ul > li.mega ul.mega-menu li.menu-item-has-children:after {
  display: none !important;
}

.main-navigation ul > li:last-of-type {
  margin-right: 0;
}

.main-navigation ul > li:hover > a {
  color: #d2a041;
  border-color: #d2a041;
}

@media (width >= 1024px) {
  .main-navigation ul li.show-mobile {
    display: none;
  }
}

.main-navigation ul ul.sub-menu {
  z-index: 99999;
  background-color: #fff;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: .25rem;
  min-width: 220px;
  height: auto;
  padding: .5rem;
  display: flex;
  position: absolute;
  top: 85px;
  left: -999em;
  box-shadow: 0 0 30px #0000001a;
}

.main-navigation ul ul.sub-menu > ul {
  top: 0;
  left: -999em;
}

.main-navigation ul ul.sub-menu > li {
  border: none;
  width: 100%;
  padding: 0;
  margin: 0 !important;
}

.main-navigation ul ul.sub-menu > li.current-menu-item a {
  color: #dfd1c1;
}

.main-navigation ul ul.sub-menu > li:hover > ul, .main-navigation ul ul.sub-menu > li.focus > ul {
  left: 100%;
}

.main-navigation ul ul.sub-menu > li > a {
  color: #666d40;
  font-size: var(--step-0);
  text-transform: lowercase;
  text-align: left;
  border: none;
  width: 100%;
  margin: 0 1rem;
  padding: .125rem 0;
  font-family: ivyepic-variable, sans-serif;
  font-weight: 600;
}

.main-navigation ul ul.sub-menu > li > a:hover {
  color: #dfd1c1;
  border: none;
}

.main-navigation ul ul.sub-menu > li > a:before {
  display: none;
}

.main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul {
  left: auto;
}

@media (width >= 1024px) {
  .main-navigation {
    display: flex;
  }
}

.menu-toggle, .main-navigation.toggled ul {
  display: block;
}

.site-main .comment-navigation, .site-main .posts-navigation, .site-main .post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}

.comment-navigation .nav-previous, .posts-navigation .nav-previous, .post-navigation .nav-previous {
  float: left;
  width: 50%;
}

.comment-navigation .nav-next, .posts-navigation .nav-next, .post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

.single-portfolio li.portfolio-item a, .archive li.portfolio-item a {
  border-color: #fff;
}

@media screen and (width >= 1024px) {
  .menu-toggle {
    display: none;
  }

  .main-navigation ul {
    display: flex;
  }
}

.menu__toggler {
  z-index: 999;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  display: flex;
  position: fixed;
  top: 14px;
  right: 1rem;
}

.menu__toggler:before {
  content: "";
  color: #666d40;
  font-family: "Font Awesome 7 Pro";
  font-size: 2.5rem;
  transition: all .3s;
  display: block;
}

.menu__toggler.hamburger:before {
  content: "";
  font-weight: 300;
}

.menu__toggler.meatball:before {
  content: "";
  font-weight: bold;
}

.menu__toggler.active:before {
  color: #fff;
  content: "";
  transform: rotate(180deg);
}

@media (width >= 1024px) {
  .menu__toggler {
    display: none;
  }
}

.menu.offcanvas {
  z-index: 998;
  text-align: center;
  background: #666d40;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  transition: right .8s cubic-bezier(.77, 0, .175, 1);
  display: flex;
  position: fixed;
  top: 0;
  right: -100%;
}

.menu.offcanvas.active {
  top: 0;
  right: 0;
}

.menu.offcanvas p {
  margin-bottom: 1rem;
  font-size: 1.4rem;
}

.menu.offcanvas ul {
  font-size: var(--step-2);
  text-align: right;
  margin: 0 3rem;
  list-style-type: none;
}

.menu.offcanvas ul > li {
  padding: .5rem 0;
  transition: all .3s ease-out;
}

.menu.offcanvas ul > li.current_page_item > a, .menu.offcanvas ul > li.current-menu-item > a, .menu.offcanvas ul > li.current_page_ancestor > a, .menu.offcanvas ul > li.current-menu-ancestor > a {
  color: #fff;
}

.menu.offcanvas ul > li.current_page_item > a:before, .menu.offcanvas ul > li.current-menu-item > a:before, .menu.offcanvas ul > li.current_page_ancestor > a:before, .menu.offcanvas ul > li.current-menu-ancestor > a:before {
  display: none;
}

.menu.offcanvas ul li > a {
  color: #fff;
  padding: .25rem calc(.5rem - 3px) .25rem .5rem;
  font-family: ivypresto-display, serif;
  font-weight: 400;
  text-decoration: none;
}

.menu.offcanvas ul.sub-menu {
  max-height: 0;
  list-style: none;
  transition: all .5s;
  overflow-y: hidden;
}

.menu.offcanvas li.menu-item-has-children {
  position: relative;
}

.menu.offcanvas li.menu-item-has-children:focus {
  outline: none;
}

.menu.offcanvas li.menu-item-has-children:before {
  content: "";
  color: #fff;
  opacity: .6;
  font-family: "Font Awesome 7 Pro";
  font-size: .8rem;
  display: inline;
  position: relative;
  left: -1rem;
}

.menu.offcanvas li.menu-item-has-children.open:before {
  content: "";
}

.menu.offcanvas li.menu-item-has-children.open > ul.sub-menu {
  background: none;
  max-height: 450px;
  margin: .5rem 0 0;
  padding: 0;
}

.menu.offcanvas li.menu-item-has-children.open > ul.sub-menu li {
  border: 0;
  margin-bottom: 0;
  padding: .125rem 0;
  font-size: 1.125rem;
  list-style: none;
}

.menu.offcanvas li.menu-item-has-children.open > ul.sub-menu li.current-menu-item > a {
  color: #fff;
}

.menu.offcanvas li.menu-item-has-children.open > ul.sub-menu li a {
  margin-bottom: 0;
  font-size: 1rem;
}

.menu.offcanvas .social {
  justify-content: flex-end;
  gap: 1rem;
  margin: 2rem 3rem;
  display: flex;
}

.menu.offcanvas .social i {
  background-color: #0000 !important;
}

.menu.offcanvas .social a {
  color: #fff;
  font-size: 2rem;
}

.menu.offcanvas .social a span {
  display: none;
}

.menu.offcanvas h5 {
  color: #fff;
  text-align: right;
  font-family: ivyepic-variable, sans-serif;
  font-weight: bold;
  font-size: var(--step-1);
  margin-top: 2rem;
  margin-right: 3rem;
}

.menu.offcanvas .menu-footer-menu-2-container ul li {
  border-bottom: 0;
  padding: .25rem 0;
}

.menu.offcanvas .menu-footer-menu-2-container ul li a {
  font-size: var(--step-0);
}

.scrolled .menu__toggler {
  border-color: #666d40;
}

.main-navigation {
  --mega-speed: .22s;
  --mega-ease: cubic-bezier(.2, .8, .2, 1);
  position: relative;
}

.main-navigation > ul > li.mega {
  position: static;
}

.main-navigation > ul > li.mega > a:hover + .sub-menu.mega-menu, .main-navigation > ul > li.mega > a:focus + .sub-menu.mega-menu, .main-navigation > ul > li.mega > .sub-menu.mega-menu:hover, .main-navigation > ul > li.mega > .sub-menu.mega-menu:focus-within, .main-navigation > ul > li.mega:hover > .sub-menu.mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity var(--mega-speed) var(--mega-ease), transform var(--mega-speed) var(--mega-ease), visibility 0s;
  display: grid;
  transform: translate(-50%);
}

.main-navigation > ul > li.mega > .sub-menu {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--mega-speed) var(--mega-ease), transform var(--mega-speed) var(--mega-ease), visibility 0s linear var(--mega-speed);
  position: absolute;
  top: 100%;
  left: 0;
  transform: translateY(-8px);
}

.main-navigation > ul > li.mega.mega.hideaway .sub-menu.mega-menu {
  background: linear-gradient(9deg, #f1d296 0%, #f3e3c4 100%);
}

.main-navigation > ul > li.mega.mega.farm .sub-menu.mega-menu {
  background: linear-gradient(9deg, #bcc0a7 0%, #ddded0 100%);
}

.main-navigation > ul > li.mega.mega.farm .sub-menu.mega-menu > li.mega-intro {
  background-color: #ddded0;
}

.main-navigation > ul > li.mega.mega.farm :after, .main-navigation > ul > li.mega.mega.farm :before {
  color: #666d40 !important;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu {
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  width: 700px;
  transition: opacity var(--mega-speed) var(--mega-ease), transform var(--mega-speed) var(--mega-ease), visibility 0s linear var(--mega-speed);
  grid-template-columns: 1.6fr .6fr .6fr;
  gap: 0;
  padding: 0 2rem 0 0;
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateY(-8px);
  box-shadow: 0 10px 30px #0000001f;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li.mega-intro {
  text-align: left;
  background-color: #f3e3c4;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  padding: 3rem 2rem;
  list-style: none;
  display: flex;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li.mega-intro .mega-parent {
  transition: color var(--mega-speed) var(--mega-ease);
  margin: 0;
  text-decoration: none;
  display: flex;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li.mega-intro .mega-parent:after {
  content: "";
  color: #d2a041;
  transition: color var(--mega-speed) var(--mega-ease);
  margin-left: .5rem;
  font-family: "Font Awesome 7 Whiteboard";
  font-size: 1.25rem;
  display: flex;
  position: relative;
  top: 1px;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li.mega-intro .mega-parent:hover:after {
  color: #666d40;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li.mega-intro .mega-title {
  margin: 0 0 var(--step--1) 0;
  text-transform: none;
  transition: text-decoration var(--mega-speed) var(--mega-ease);
  align-items: center;
  font-weight: 600;
  display: flex;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li.mega-intro .mega-title:hover {
  text-decoration: underline;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li.mega-intro .mega-description {
  text-align: left;
  color: #000;
  font-family: ivyepic-variable, sans-serif;
  font-size: .9rem;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0;
  padding: 3rem 0 3rem 2rem;
  list-style: none;
  display: flex;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > a {
  color: #000;
  margin: 0 0 var(--step--3) 0;
  text-transform: capitalize;
  padding: 0;
  font-family: ivypresto-display, serif;
  font-size: 1.125rem;
  display: inline-block;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > .sub-menu, .main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > ul.sub-menu.level-2 {
  box-shadow: none;
  background: none;
  min-width: 160px;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  list-style: none;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  display: flex !important;
  position: static !important;
  transform: none !important;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > .sub-menu > li, .main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > ul.sub-menu.level-2 > li {
  margin: 0;
  padding: 0;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > .sub-menu > li > a, .main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > ul.sub-menu.level-2 > li > a {
  color: #000;
  align-items: center;
  margin: 0;
  padding: 0;
  font-size: .9rem;
  font-weight: 300;
  text-decoration: none;
  display: flex;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > .sub-menu > li:before, .main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > ul.sub-menu.level-2 > li:before {
  content: "";
  color: #d2a041;
  margin-right: .25rem;
  font-family: "Font Awesome 7 Whiteboard";
  font-size: .6rem;
  display: flex;
  position: relative;
  top: .5px;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > .sub-menu > li:hover:before, .main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > ul.sub-menu.level-2 > li:hover:before {
  color: #666d40;
}

.main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > .sub-menu > li:hover a, .main-navigation > ul > li.mega .sub-menu.mega-menu > li:not(.mega-intro) > ul.sub-menu.level-2 > li:hover a {
  text-decoration: underline;
}

@media (width <= 900px) {
  .main-navigation > ul > li > .sub-menu.mega-menu {
    width: 100%;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    transition: max-height .26s var(--mega-ease), opacity .22s var(--mega-ease), transform .22s var(--mega-ease), visibility 0s linear .26s;
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
    display: grid;
    position: static;
    overflow: hidden;
    transform: translateY(-6px);
  }

  .main-navigation > ul > li.is-open > .sub-menu.mega-menu {
    opacity: 1;
    visibility: visible;
    max-height: 100vh;
    transition: max-height .28s var(--mega-ease), opacity .22s var(--mega-ease), transform .22s var(--mega-ease), visibility 0s;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .main-navigation .sub-menu.mega-menu {
    transition: none !important;
    transform: none !important;
  }
}

header#masthead {
  z-index: 1;
  background-color: #fff6e6;
  align-items: center;
  width: 100%;
  height: 80px;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  transition: height .3s;
  display: flex;
  position: sticky;
  top: 0;
}

header#masthead #header-right {
  margin-left: auto;
  margin-right: 60px;
}

@media (width >= 1024px) {
  header#masthead #header-right {
    flex: 0 0 calc(25% - 1rem);
    justify-content: flex-end;
    align-items: center;
    gap: 1rem;
    margin: 0;
    display: flex;
  }
}

header#masthead #header-right .social {
  margin-top: 6px;
  display: none;
}

header#masthead #header-right .social a {
  color: #666d40;
}

header#masthead #header-right .social a:hover {
  color: #a7ac89;
}

header#masthead #header-right .social a i {
  font-size: var(--step-1);
}

header#masthead #header-right .social span {
  display: none;
}

@media (width >= 1024px) {
  header#masthead #header-right .social {
    display: block;
  }
}

@media (width >= 768px) {
  header#masthead {
    height: 85px;
  }
}

@media (width >= 1024px) {
  header#masthead {
    justify-content: space-between;
    height: 115px;
  }
}

.site-branding {
  display: flex;
}

@media (width >= 1024px) {
  .site-branding {
    flex: 0 0 calc(25% - 1rem);
  }
}

.site-branding img {
  object-fit: cover;
  max-width: 120px;
  height: auto;
  display: block;
}

@media (width >= 1024px) {
  .site-branding img {
    max-width: 141px;
    transition: all .3s;
  }
}

.scrolled header#masthead {
  height: 65px;
  box-shadow: 0 0 20px #00000040;
}

.scrolled header#masthead .site-branding img {
  width: 100px;
  height: auto;
  transition: all .3s;
}

.scrolled header#masthead .social {
  top: 1.25rem;
}

.scrolled .menu__toggler {
  top: .5rem;
}

.scrolled #content {
  padding-top: 0;
}

footer.site-footer {
  color: #000;
  text-align: center;
  font-size: var(--step--1);
  background-color: #fff6e6;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: 2rem calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
}

footer.site-footer p {
  font-size: var(--step--1);
}

footer.site-footer a, footer.site-footer p a {
  color: #000;
}

footer.site-footer a:hover, footer.site-footer p a:hover {
  color: #000;
  text-decoration: underline;
}

footer.site-footer #footer-logo {
  margin-bottom: var(--step--1);
}

footer.site-footer #footer-logo .site-branding {
  text-align: center;
  margin: 0;
}

footer.site-footer #footer-logo .site-branding img {
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: auto;
  max-height: none;
  display: block;
}

@media (width >= 768px) {
  footer.site-footer #footer-logo {
    flex: 0 0 20%;
    margin-bottom: 0;
  }
}

footer.site-footer .footer-nav {
  padding: 0 2rem;
  display: none;
}

footer.site-footer .footer-nav h5 {
  margin-bottom: var(--step--2);
  font-size: var(--step-0);
}

footer.site-footer .footer-nav ul {
  font-size: var(--step--1);
  flex-direction: column;
  gap: .5rem;
  margin: 0;
  list-style-type: none;
  display: flex;
}

footer.site-footer .footer-nav ul li a {
  color: #000;
}

footer.site-footer .footer-nav #footer-menu ul, footer.site-footer .footer-nav #footer-menu-2 ul {
  list-style-type: none;
}

footer.site-footer .footer-nav #footer-menu ul li a, footer.site-footer .footer-nav #footer-menu-2 ul li a {
  color: #000;
  font-weight: bold;
}

footer.site-footer .footer-nav #footer-menu ul li a:hover, footer.site-footer .footer-nav #footer-menu-2 ul li a:hover {
  color: #000;
  text-decoration: underline;
}

@media (width >= 768px) {
  footer.site-footer .footer-nav {
    flex: 0 0 20%;
    display: block;
  }
}

@media (width <= 767px) {
  footer.site-footer .footer-nav {
    text-align: center;
    flex: 0 0 100%;
    order: 2;
    margin-top: 1rem;
  }
}

footer.site-footer #footer-contact {
  line-height: 2;
}

@media (width >= 768px) {
  footer.site-footer #footer-address {
    text-align: right;
    flex: 0 0 20%;
  }
}

footer.site-footer h5 {
  font-family: ivyepic-variable, sans-serif;
  font-weight: bold;
  font-size: var(--step-0);
  display: none;
}

footer.site-footer i {
  opacity: 1;
  margin-right: .25rem;
}

@media (width >= 768px) {
  footer.site-footer {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
}

#copyright {
  background: #666d40;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding: .5rem calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
}

#copyright * {
  color: #fff;
}

#copyright p {
  font-size: var(--step--1);
  margin: 0;
  padding: 0;
}

#copyright a {
  color: #fbb43f;
  text-decoration: none;
}

#copyright a:hover {
  text-decoration: underline;
}

@media (width >= 768px) {
  #copyright {
    flex-direction: row;
  }
}

#top-bar {
  color: #fff;
  background: linear-gradient(45deg, #d2a041 44.03%, #666d40 100.62%);
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 40px;
  font-size: .9rem;
  font-weight: 300;
  display: none;
}

#top-bar a {
  color: #fff;
  align-items: center;
  margin-right: .5rem;
  font-weight: 600;
  text-decoration: none;
  display: flex;
}

#top-bar i {
  color: #666d40;
  background-color: #0000;
  font-size: 1rem;
}

#top-bar .tb-blog {
  text-transform: uppercase;
  color: #d2a041;
  letter-spacing: 1px;
  margin-right: 1rem;
  font-size: 1rem;
  font-weight: 300;
}

#top-bar #tb-contact {
  gap: .5rem;
  margin-right: auto;
  display: flex;
}

#top-bar #tb-contact a {
  font-weight: 600;
}

#top-bar #tb-contact a:hover span {
  text-decoration: underline;
}

#top-bar #tb-contact i {
  margin-left: 1rem;
  margin-right: .25rem;
  transition: all .3s;
}

#top-bar #tb-contact i:first-of-type {
  margin-left: 0;
}

#top-bar .social {
  margin-left: var(--step-0);
  align-items: center;
  gap: .5rem;
  display: flex;
}

#top-bar .social a {
  margin: 0;
}

#top-bar .social a span {
  display: none;
}

#top-bar .social a:first-of-type > i {
  margin-left: .25rem;
}

#top-bar .menu-top-bar-menu-container {
  justify-content: flex-end;
  display: flex;
}

#top-bar #top-bar-menu ul {
  gap: 1rem;
  list-style-type: none;
  display: flex;
}

#top-bar #top-bar-menu ul li a {
  margin: 0;
  font-size: .9rem;
}

#top-bar #top-bar-menu ul li a:hover {
  text-decoration: underline;
}

@media (width >= 1024px) {
  #top-bar {
    padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
    padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
    display: flex;
  }
}

.error404 #content > main {
  text-align: center;
  background-color: #fff;
  background-size: cover;
  height: 80vh;
}

.error404 #content > main .wrap {
  z-index: 1;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
  display: flex;
  position: relative;
}

.error404 #content > main .wrap * {
  color: #666d40;
}

.error404 #content > main .wrap span.pre-head {
  font-size: 1.75rem;
}

.error404 #content > main .wrap h1 {
  color: #dfd1c1;
  margin-bottom: -20px;
  font-size: 104px;
  font-weight: bold;
}

.error404 #content > main .wrap p {
  text-transform: uppercase;
  margin-top: 0;
  font-size: 44px;
  font-weight: bold;
}

.error404 #content > main .wrap .button {
  color: #fff;
}

.error404 #content > main .wrap .button:hover {
  color: #666d40;
}

.accordion {
  width: 100%;
}

.accordion .faq-question {
  margin-bottom: .5rem;
}

.accordion h4 {
  color: #000;
  font-size: var(--step-0);
  background-color: #ddded0;
  border: 2px solid #a7ac89;
  margin: 0;
  padding: 1rem 2.5rem 1rem 1rem;
  font-family: ivyepic-variable, sans-serif;
  font-weight: bold;
  transition: all .2s;
  position: relative;
}

.accordion h4:after {
  content: "";
  color: #666d40;
  font-family: "Font Awesome 7 Pro";
  font-size: var(--step--1);
  margin-left: 1rem;
  display: inline-block;
  position: absolute;
  top: 1.25rem;
  right: 1rem;
}

.accordion h4:hover {
  cursor: pointer;
  color: #fff;
  background-color: #666d40;
  border-color: #666d40;
}

.accordion h4:hover:after {
  color: #fff;
}

.accordion h4[aria-expanded="true"] {
  color: #fff;
  background-color: #666d40;
  border-color: #666d40;
}

.accordion h4[aria-expanded="true"]:after {
  color: #fff;
  transform: rotate(180deg);
}

.accordion div[itemprop="acceptedAnswer"] {
  border: 0 2px 2px 2px solid #ddded0;
  background-color: #ddded0;
  max-height: 0;
  padding: 0;
  transition: all .2s ease-out;
  overflow: hidden;
}

.accordion div[itemprop="acceptedAnswer"] .answer-content {
  padding: 1rem;
}

.accordion div[itemprop="acceptedAnswer"] .answer-content p {
  color: #000;
}

.faq-accordion {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.faq-accordion .accordion div:first-of-type h4 {
  border-top: 0;
}

.faq-accordion .accordion h4 {
  padding: 1rem 0;
}

.faq-accordion .accordion div.ui-accordion-content-active:last-of-type {
  border-bottom: 0;
}

.accordion-holder {
  width: 100%;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
}

#static-banner, .banner-slider {
  color: #fff;
  z-index: 1;
  background-color: #666d40;
  justify-content: center;
  align-items: center;
  height: 60vh;
  min-height: 475px;
  margin: 0 auto;
  padding-top: 3rem;
  padding-bottom: 3rem;
  display: flex;
  position: relative;
}

#static-banner h1, #static-banner h2, #static-banner h3, #static-banner h4, #static-banner h5, #static-banner p, .banner-slider h1, .banner-slider h2, .banner-slider h3, .banner-slider h4, .banner-slider h5, .banner-slider p, #static-banner .pre-head, .banner-slider .pre-head {
  color: #fff;
}

#static-banner h1, .banner-slider h1 {
  margin-bottom: var(--step-3);
  line-height: 1;
}

#static-banner h1 sup, .banner-slider h1 sup {
  font-size: 2rem;
  font-style: italic;
  display: block;
}

@media (width >= 1024px) {
  #static-banner h1, .banner-slider h1 {
    padding: 0;
  }
}

#static-banner.img-overlay:before, .banner-slider.img-overlay:before {
  content: "";
  background-color: #0f0d0080;
  position: absolute;
  inset: 0;
}

@media (width >= 1024px) {
  #static-banner.img-overlay:before, .banner-slider.img-overlay:before {
    background-color: #0f0d0080;
  }
}

#static-banner .background-image, .banner-slider .background-image {
  background-image: var(--bg-desktop);
  background-position: center;
  background-size: cover;
}

@media only screen and (width <= 1024px) {
  #static-banner .background-image, .banner-slider .background-image {
    background-image: var(--bg-mobile);
  }
}

#static-banner .video-background, .banner-slider .video-background {
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

#static-banner .video-background video, .banner-slider .video-background video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

#static-banner .embedded-video-background, .banner-slider .embedded-video-background {
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

#static-banner .embedded-video-background .embedded-video-wrapper, .banner-slider .embedded-video-background .embedded-video-wrapper {
  opacity: 0;
  background-color: #0000;
  background-image: linear-gradient(45deg, #0000001a 25%, #0000 25%), linear-gradient(-45deg, #0000001a 25%, #0000 25%), linear-gradient(45deg, #0000 75%, #0000001a 75%), linear-gradient(-45deg, #0000 75%, #0000001a 75%);
  background-position: 0 0, 0 10px, 10px -10px, -10px 0;
  background-repeat: repeat, repeat, repeat, repeat;
  background-size: 20px 20px;
  background-attachment: scroll, scroll, scroll, scroll;
  background-origin: padding-box, padding-box, padding-box, padding-box;
  background-clip: border-box, border-box, border-box, border-box;
  width: 100%;
  height: 100%;
  transition: opacity 1.5s ease-in-out;
  animation: 3s ease-in-out infinite subtle-shift;
  position: relative;
}

#static-banner .embedded-video-background .embedded-video-wrapper.loaded, .banner-slider .embedded-video-background .embedded-video-wrapper.loaded {
  opacity: 1;
  background: none;
  animation: none;
}

#static-banner .embedded-video-background .embedded-video-wrapper iframe, .banner-slider .embedded-video-background .embedded-video-wrapper iframe {
  pointer-events: none;
  opacity: 0;
  border: none;
  width: 100vw;
  min-width: 177.77vh;
  height: 56.25vw;
  min-height: 100vh;
  transition: opacity 1.5s ease-in-out;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#static-banner .embedded-video-background .embedded-video-wrapper iframe.loaded, .banner-slider .embedded-video-background .embedded-video-wrapper iframe.loaded {
  opacity: 1;
}

@keyframes subtle-shift {
  0%, 100% {
    background-position: 0 0, 0 10px, 10px -10px, -10px 0;
  }

  50% {
    background-position: 10px 10px, 10px 20px, 20px 0, 0 10px;
  }
}

#static-banner.banner-fullscreen, .banner-slider.banner-fullscreen {
  height: 80vh;
}

@media (width >= 1024px) {
  #static-banner.banner-fullscreen, .banner-slider.banner-fullscreen {
    min-height: 90vh;
  }
}

#static-banner .banner-text, .banner-slider .banner-text {
  z-index: 1;
  margin-top: var(--step-5);
  padding: 0 2rem;
  position: relative;
}

#static-banner .banner-text h1, .banner-slider .banner-text h1 {
  font-style: normal;
}

@media (width <= 1024px) {
  #static-banner .banner-text h1, .banner-slider .banner-text h1 {
    font-size: 2.25rem;
  }
}

#static-banner .banner-text span.pre-head, .banner-slider .banner-text span.pre-head {
  font-size: var(--step-2);
  margin-bottom: 0;
}

@media (width >= 1024px) {
  #static-banner .banner-text span.pre-head, .banner-slider .banner-text span.pre-head {
    font-size: var(--step-2);
  }
}

#static-banner .banner-text p, .banner-slider .banner-text p {
  font-size: var(--step-0);
}

@media (width >= 1024px) {
  #static-banner .banner-text p, .banner-slider .banner-text p {
    font-size: var(--step-1);
    width: 58.33%;
    margin-left: auto;
    margin-right: auto;
  }

  #static-banner .banner-text, .banner-slider .banner-text {
    padding: 0;
  }
}

#static-banner picture, .banner-slider picture {
  margin-top: var(--step-5);
}

#static-banner picture img, .banner-slider picture img {
  display: block;
  position: relative;
}

#static-banner picture.overlap, .banner-slider picture.overlap {
  margin-bottom: -5rem;
}

@media (width >= 1024px) {
  #static-banner picture.overlap, .banner-slider picture.overlap {
    margin-bottom: -7rem;
  }
}

@media (width <= 1024px) {
  #static-banner picture.hide, .banner-slider picture.hide {
    display: none;
  }
}

@media (width >= 1024px) {
  #static-banner picture, .banner-slider picture {
    flex: 0 0 41.667%;
    margin-top: 0;
    margin-left: 8.33%;
    box-shadow: 0 0 50px #0000004d;
  }

  #static-banner picture.overlap, .banner-slider picture.overlap {
    margin-bottom: -8rem;
  }
}

#static-banner .btn-holder, .banner-slider .btn-holder {
  margin-top: var(--step-3);
  justify-content: space-between;
  gap: 1rem;
  display: flex;
}

@media (width >= 1024px) {
  #static-banner .btn-holder, .banner-slider .btn-holder {
    justify-content: center;
  }

  #static-banner.img-top, .banner-slider.img-top {
    background-position: top;
  }

  #static-banner.img-middle, .banner-slider.img-middle {
    background-position: center;
  }

  #static-banner.img-bottom, .banner-slider.img-bottom {
    background-position: bottom;
  }

  #static-banner .banner-text, .banner-slider .banner-text {
    max-width: 83.33%;
  }
}

#static-banner.text-left, .banner-slider.text-left {
  justify-content: flex-start;
}

#static-banner.text-left .banner-text, .banner-slider.text-left .banner-text {
  text-align: left;
}

#static-banner.text-left .btn-holder, .banner-slider.text-left .btn-holder {
  justify-content: flex-start;
}

#static-banner.text-center, .banner-slider.text-center {
  justify-content: center;
}

#static-banner.text-center .banner-text, .banner-slider.text-center .banner-text {
  text-align: center;
}

#static-banner.text-center .btn-holder, .banner-slider.text-center .btn-holder {
  justify-content: center;
}

#static-banner.text-right, .banner-slider.text-right {
  justify-content: flex-end;
}

#static-banner.text-right .banner-text, .banner-slider.text-right .banner-text {
  text-align: right;
}

#static-banner.text-right .btn-holder, .banner-slider.text-right .btn-holder {
  justify-content: flex-end;
}

#static-banner.banner-small, .banner-slider.banner-small {
  height: 50vh;
}

@media (width >= 1024px) {
  #static-banner.banner-small, .banner-slider.banner-small {
    height: 30vh;
    min-height: 475px;
  }

  #static-banner.banner-small .banner-text, .banner-slider.banner-small .banner-text {
    max-width: 75%;
  }
}

#static-banner.banner-medium, .banner-slider.banner-medium {
  height: 65vh;
  min-height: 600px;
}

#static-banner.banner-large, .banner-slider.banner-large {
  height: 85vh;
  min-height: 685px;
}

@media (width <= 768px) {
  #static-banner, .banner-slider {
    background-position: var(--crop-x-sm) var(--crop-y-sm);
    background-size: auto 100%;
  }
}

@media (width >= 1024px) {
  #static-banner, .banner-slider {
    padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
    padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  }
}

#static-banner.ken-burns {
  overflow: hidden;
}

#static-banner.ken-burns .background-image {
  background-position: center;
  width: 100%;
  height: 100%;
  animation: 10s forwards kenBurnsEffect;
}

@keyframes kenBurnsEffect {
  0% {
    transform: scale(1.1);
  }

  100% {
    transform: scale(1.2);
  }
}

#static-banner.black-white .background-image {
  filter: grayscale();
}

#static-banner .background-image {
  z-index: -1;
  background-size: cover;
  position: absolute;
  inset: 0;
}

.banner-slider .slides {
  position: absolute;
  inset: 0;
}

.banner-slider .slides .slick-list, .banner-slider .slides .slick-track {
  height: 100%;
}

.banner-slider .slide {
  align-items: center;
  margin: 0 auto;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex !important;
}

@media (width >= 1024px) {
  .banner-slider .slide.img-top {
    background-position: top;
  }

  .banner-slider .slide.img-middle {
    background-position: center;
  }

  .banner-slider .slide.img-bottom {
    background-position: bottom;
  }

  .banner-slider .slide .banner-text {
    max-width: 83.33%;
  }
}

.banner-slider .slide.text-left {
  justify-content: flex-start;
}

.banner-slider .slide.text-left .banner-text {
  text-align: left;
}

.banner-slider .slide.text-left .btn-holder {
  justify-content: flex-start;
}

.banner-slider .slide.text-center {
  justify-content: center;
}

.banner-slider .slide.text-center .banner-text {
  text-align: center;
}

.banner-slider .slide.text-center .btn-holder {
  justify-content: center;
}

.banner-slider .slide.text-right {
  justify-content: flex-end;
}

.banner-slider .slide.text-right .banner-text {
  text-align: right;
}

.banner-slider .slide.text-right .btn-holder {
  justify-content: flex-end;
}

.banner-slider .slide.banner-small {
  height: 50vh;
}

@media (width >= 1024px) {
  .banner-slider .slide.banner-small {
    height: 30vh;
    min-height: 475px;
  }

  .banner-slider .slide.banner-small .banner-text {
    max-width: 75%;
  }
}

.banner-slider .slide.banner-medium {
  height: 65vh;
  min-height: 600px;
}

.banner-slider .slide.banner-large {
  height: 85vh;
  min-height: 685px;
}

@media (width <= 768px) {
  .banner-slider .slide {
    background-position: var(--crop-x-sm) var(--crop-y-sm);
    background-size: auto 100%;
  }
}

.banner-slider .slide .slide-bg, .banner-slider .slide .video-background {
  background-size: cover;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

.banner-slider .slide .slide-bg.img-overlay:before, .banner-slider .slide .video-background.img-overlay:before {
  content: "";
  background-color: #0f0d0080;
  position: absolute;
  inset: 0;
}

@media (width >= 1024px) {
  .banner-slider .slide .slide-bg.img-overlay:before, .banner-slider .slide .video-background.img-overlay:before {
    background-color: #0f0d0080;
  }
}

.home #static-banner .background-image {
  background-position: 100%;
}

.white {
  background-color: #fff;
}

.brown {
  background-color: #d2a041;
}

.brown * {
  color: #fff;
}

.light-brown {
  background-color: #f1d296;
}

.lighter-brown {
  background-color: #f3e3c4;
}

.lightest-brown {
  background-color: #fff6e6;
}

.green {
  background-color: #666d40;
}

.green * {
  color: #fff;
}

.light-green {
  background-color: #949c68;
}

.lighter-green {
  background-color: #a7ac89;
}

.lightest-green {
  background-color: #ddded0;
}

.light-grey {
  background-color: #f3f3f3;
}

.light-brown-alt {
  background-color: #dfd1c1;
}

.light-brown-alt a:not(.button) {
  color: #714717;
}

.light-brown-alt a:not(.button):hover {
  color: #000;
}

.blocks {
  flex-wrap: wrap;
  display: flex;
}

@media (width >= 1024px) {
  .blocks {
    padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
    padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  }
}

.blocks div.block {
  text-align: center;
  background-color: #666d40;
  padding: 2.5rem;
}

.blocks div.block p {
  font-size: var(--step-0);
}

@media (width >= 1024px) {
  .blocks div.block {
    width: 33.33%;
  }

  .blocks div.block h3 {
    font-size: var(--step-1);
  }
}

.blocks div.block i {
  opacity: .5;
  margin-bottom: var(--step--2);
  font-size: 3rem;
}

.blocks div.block * {
  color: #fff;
}

.blocks div.block:nth-of-type(2), .blocks div.block:nth-of-type(3) {
  background-color: #666d40;
}

.col-1, .col-2, .col-3, .col-4 {
  flex-wrap: wrap;
  gap: 1.5rem;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
  position: relative;
}

.col-1 .columns-title, .col-2 .columns-title, .col-3 .columns-title, .col-4 .columns-title {
  flex: 0 0 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (width >= 1024px) {
  .col-1 .columns-title p, .col-2 .columns-title p, .col-3 .columns-title p, .col-4 .columns-title p {
    max-width: 75%;
    margin-left: auto;
    margin-right: auto;
  }
}

.col-1 > div, .col-2 > div, .col-3 > div, .col-4 > div {
  z-index: 1;
}

.col-1 > div h4, .col-2 > div h4, .col-3 > div h4, .col-4 > div h4 {
  margin-bottom: var(--step--2);
}

.col-1 svg, .col-2 svg, .col-3 svg, .col-4 svg {
  z-index: 0;
}

.col-1 h1:first-of-type, .col-1 h2:first-of-type, .col-1 h3:first-of-type, .col-1 h4:first-of-type, .col-2 h1:first-of-type, .col-2 h2:first-of-type, .col-2 h3:first-of-type, .col-2 h4:first-of-type, .col-3 h1:first-of-type, .col-3 h2:first-of-type, .col-3 h3:first-of-type, .col-3 h4:first-of-type, .col-4 h1:first-of-type, .col-4 h2:first-of-type, .col-4 h3:first-of-type, .col-4 h4:first-of-type {
  margin-top: 0;
}

.col-1 h1 i, .col-1 h2 i, .col-1 h3 i, .col-1 h4 i, .col-2 h1 i, .col-2 h2 i, .col-2 h3 i, .col-2 h4 i, .col-3 h1 i, .col-3 h2 i, .col-3 h3 i, .col-3 h4 i, .col-4 h1 i, .col-4 h2 i, .col-4 h3 i, .col-4 h4 i {
  color: #666d40;
  margin: 0 auto;
  display: block;
}

.col-1 img, .col-2 img, .col-3 img, .col-4 img {
  width: 100%;
  height: auto;
  margin-bottom: var(--step-1);
  display: block;
}

.col-1 ul, .col-2 ul, .col-3 ul, .col-4 ul {
  margin: 1rem 1rem 2rem 0;
}

.col-1 ul li, .col-1 ol li, .col-2 ul li, .col-2 ol li, .col-3 ul li, .col-3 ol li, .col-4 ul li, .col-4 ol li {
  line-height: 1.75;
}

.col-1 blockquote, .col-2 blockquote, .col-3 blockquote, .col-4 blockquote {
  text-align: center;
  margin: 1rem auto 0;
}

.col-1 blockquote p, .col-2 blockquote p, .col-3 blockquote p, .col-4 blockquote p {
  margin-bottom: 0;
  font-family: ivypresto-display, serif;
}

.col-1 blockquote p span.small, .col-2 blockquote p span.small, .col-3 blockquote p span.small, .col-4 blockquote p span.small {
  font-size: 1.25rem;
  line-height: 1.5;
  display: block;
}

@media (width >= 1024px) {
  .col-1 blockquote p span.small, .col-2 blockquote p span.small, .col-3 blockquote p span.small, .col-4 blockquote p span.small {
    text-align: center;
    font-size: 1.3125rem;
  }
}

.col-1 em strong, .col-1 strong em, .col-2 em strong, .col-2 strong em, .col-3 em strong, .col-3 strong em, .col-4 em strong, .col-4 strong em {
  margin-top: 1rem;
  display: block;
}

.col-1 > picture, .col-2 > picture, .col-3 > picture, .col-4 > picture {
  display: none;
}

@media (width >= 1024px) {
  .col-1 > picture, .col-2 > picture, .col-3 > picture, .col-4 > picture {
    z-index: 0;
    display: block;
    position: absolute;
    inset: 0;
  }

  .col-1 > picture img, .col-2 > picture img, .col-3 > picture img, .col-4 > picture img {
    object-fit: cover;
    object-position: center;
  }
}

.col-1:only-child, .col-2:only-child, .col-3:only-child, .col-4:only-child {
  justify-content: center;
}

.col-1.contact-full-width, .col-2.contact-full-width, .col-3.contact-full-width, .col-4.contact-full-width {
  padding: 0;
}

.col-1.contact-full-width > div:first-of-type, .col-2.contact-full-width > div:first-of-type, .col-3.contact-full-width > div:first-of-type, .col-4.contact-full-width > div:first-of-type {
  justify-content: center;
  padding: 10% 5%;
}

@media (width >= 1024px) {
  .col-1.contact-full-width > div:first-of-type, .col-2.contact-full-width > div:first-of-type, .col-3.contact-full-width > div:first-of-type, .col-4.contact-full-width > div:first-of-type {
    padding: 7.5% 5%;
  }
}

.col-1.contact-full-width > div:nth-of-type(2n), .col-2.contact-full-width > div:nth-of-type(2n), .col-3.contact-full-width > div:nth-of-type(2n), .col-4.contact-full-width > div:nth-of-type(2n) {
  position: relative;
}

@media (width >= 1024px) {
  .col-1.contact-full-width > div:nth-of-type(2n) iframe, .col-2.contact-full-width > div:nth-of-type(2n) iframe, .col-3.contact-full-width > div:nth-of-type(2n) iframe, .col-4.contact-full-width > div:nth-of-type(2n) iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
  }
}

.col-1 > div, .col-2 > div, .col-3 > div, .col-4 > div {
  flex: 0 0 100%;
}

.col-2 {
  justify-content: space-between;
}

@media (width >= 768px) {
  .col-2 > div {
    flex: 0 0 calc(50% - 2rem);
  }

  .col-2.col-60-40 div:nth-of-type(odd) {
    flex: 0 0 calc(60% - 2rem);
  }

  .col-2.col-60-40 div:nth-of-type(2n) {
    flex: 0 0 calc(40% - 2rem);
  }

  .col-2.col-70-30 div:nth-of-type(odd) {
    flex: 0 0 calc(70% - 2rem);
  }

  .col-2.col-70-30 div:nth-of-type(2n) {
    flex: 0 0 calc(30% - 2rem);
  }

  .col-2.col-80-20 div:nth-of-type(odd) {
    flex: 0 0 calc(80% - 2rem);
  }

  .col-2.col-80-20 div:nth-of-type(2n), .col-2.col-20-80 div:nth-of-type(odd) {
    flex: 0 0 calc(20% - 2rem);
  }

  .col-2.col-20-80 div:nth-of-type(2n) {
    flex: 0 0 calc(80% - 2rem);
  }

  .col-2.col-30-70 div:nth-of-type(odd) {
    flex: 0 0 calc(30% - 2rem);
  }

  .col-2.col-30-70 div:nth-of-type(2n) {
    flex: 0 0 calc(70% - 2rem);
  }

  .col-2.col-40-60 div:nth-of-type(odd) {
    flex: 0 0 calc(40% - 2rem);
  }

  .col-2.col-40-60 div:nth-of-type(2n) {
    flex: 0 0 calc(60% - 2rem);
  }
}

.col-3 {
  justify-content: space-evenly;
  gap: 2rem;
}

@media (width >= 768px) {
  .col-3 > div {
    flex: 0 0 calc(33.33% - 2rem);
  }

  .col-3.col-20-60-20 div:nth-of-type(3n+1), .col-3.col-20-60-20 div:nth-of-type(3n+3) {
    flex: 0 0 calc(20% - 2rem);
  }

  .col-3.col-20-60-20 div:nth-of-type(3n+2) {
    flex: 0 0 calc(60% - 2rem);
  }

  .col-3.col-20-20-60 div:nth-of-type(3n+1), .col-3.col-20-20-60 div:nth-of-type(3n+2) {
    flex: 0 0 calc(20% - 2rem);
  }

  .col-3.col-20-20-60 div:nth-of-type(3n+3) {
    flex: 0 0 calc(60% - 2rem);
  }

  .col-3.col-60-20-20 div:nth-of-type(3n+2), .col-3.col-60-20-20 div:nth-of-type(3n+3) {
    flex: 0 0 calc(20% - 2rem);
  }

  .col-3.col-60-20-20 div:nth-of-type(3n+1) {
    flex: 0 0 calc(60% - 2rem);
  }
}

.col-4 {
  justify-content: center;
  gap: 2rem;
  margin-left: 0;
}

@media (width >= 768px) {
  .col-4 > div {
    flex: 0 0 calc(49.98% - 2rem);
  }
}

@media (width >= 1024px) {
  .col-4 > div {
    flex: 0 0 calc(24.99% - 2rem);
  }
}

.col-1.intro-block {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
  width: 100%;
}

.col-1.intro-block > div {
  padding: 0 1rem;
}

@media (width >= 1024px) {
  .col-1.intro-block > div {
    max-width: 75%;
    padding: 0;
  }
}

@media (width <= 768px) {
  .col-1.intro-block.align-left-mobile > * {
    text-align: left !important;
  }
}

.col-1.intro-block.align-left {
  justify-content: flex-start;
}

.col-1.intro-block.align-center {
  text-align: center;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

.col-1.intro-block.align-right {
  justify-content: flex-end;
}

.col-1.intro-block > picture {
  position: absolute;
  inset: 0;
}

.col-1.intro-block > picture img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  display: block;
}

.align-middle .wrap {
  align-items: center;
}

.align-top .wrap {
  align-items: flex-start;
}

.align-bottom .wrap {
  align-items: flex-end;
}

.col-posts article.post-card {
  scroll-snap-align: start;
  background-color: #f1d296;
  border-radius: .5rem;
  flex-direction: column;
  display: flex;
  overflow: hidden;
}

.col-posts article.post-card img {
  margin-bottom: 0;
}

.col-posts article.post-card:nth-of-type(2n) {
  background-color: #dfd1c1;
}

.col-posts article.post-card:nth-of-type(3n) {
  background-color: #ddded0;
}

.col-posts article.post-card .post-card__link {
  flex-direction: column;
  min-height: 100%;
  display: flex;
}

.col-posts article.post-card .post-card__content {
  padding: var(--step--1);
  text-align: center;
  flex-direction: column;
  flex: auto;
  justify-content: space-between;
  height: 100%;
  display: flex;
}

.col-posts article.post-card .post-card__content h3 {
  margin-bottom: var(--step--2);
  font-size: 1.25rem;
  line-height: 1;
}

@media (width >= 1024px) {
  .col-posts article.post-card .post-card__content h3 {
    margin: 1rem 0;
    font-size: 1.9rem;
  }
}

.col-posts article.post-card .post-card__content .post-card__meta {
  font-size: var(--step--2);
  font-weight: 600;
}

@media (width >= 1024px) {
  .col-posts article.post-card .post-card__content .post-card__meta {
    font-size: var(--step--1);
  }

  .col-posts article.post-card .post-card__content {
    padding: var(--step-1);
  }
}

.col-posts article.post-card a, .col-posts article.post-card a:hover, .col-posts article.post-card a:focus {
  color: #000;
  text-decoration: none;
}

.col-posts article.post-card picture {
  flex: none;
  position: relative;
}

.col-posts article.post-card picture .post-card__category {
  z-index: 1;
  color: #fff;
  font-size: var(--step--2);
  background-color: #666d40;
  border-radius: 4px;
  padding: .25rem .5rem;
  display: block;
  position: absolute;
  bottom: .5rem;
  right: .5rem;
}

@media (width >= 1024px) {
  .col-posts article.post-card picture .post-card__category {
    font-size: var(--step--1);
    bottom: 1rem;
    right: 1rem;
  }
}

.col-posts article.post-card a picture, .col-posts article.post-card img {
  width: 100%;
  display: block;
}

.col-posts article.post-card img {
  object-fit: cover;
  -webkit-user-drag: none;
  user-drag: none;
  pointer-events: none;
  width: 100%;
  height: 150px;
}

@media (width >= 1024px) {
  .col-posts article.post-card img {
    height: 230px;
  }
}

.col-posts article.post-card:hover h3 {
  text-decoration: underline;
}

.image-text-block {
  flex-wrap: wrap;
  gap: 2rem;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
  position: relative;
}

@media (width >= 768px) {
  .image-text-block {
    gap: 0;
  }
}

.image-text-block .image-block {
  z-index: 0;
  order: 2;
  margin-bottom: 1.5rem;
  display: grid;
}

.image-text-block .image-block img {
  object-fit: cover;
  border-radius: 8px;
  width: 100%;
  height: 100%;
}

.image-text-block .image-block picture.image-block__item {
  height: 100%;
  display: block;
}

.image-text-block .image-block.layout-2 {
  gap: var(--step-0);
  grid-template-columns: repeat(2, 1fr);
}

.image-text-block .image-block.layout-3 {
  gap: var(--step-0);
  grid-template-rows: auto auto;
  grid-template-columns: repeat(2, 1fr);
}

.image-text-block .image-block.layout-3 picture:first-of-type {
  grid-column: 1 / -1;
}

.image-text-block .image-block.layout-3 picture:first-of-type img {
  object-fit: cover;
  max-height: 300px;
}

.image-text-block .image-block.layout-3 img {
  aspect-ratio: 1;
  object-fit: cover;
}

.image-text-block .image-block.layout-4 {
  gap: var(--step-0);
  grid-template-rows: auto auto;
  grid-template-columns: repeat(2, 1fr);
}

.image-text-block .image-block.layout-4 img {
  aspect-ratio: 1;
  object-fit: cover;
}

@media (width >= 768px) {
  .image-text-block .image-block {
    order: 0;
    width: 50%;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.image-text-block .text-block {
  z-index: 1;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

@media (width >= 768px) {
  .image-text-block .text-block {
    width: 50%;
    margin-bottom: 0;
    padding-left: 8.33%;
  }
}

.image-text-block .text-block .button {
  margin-top: 1rem;
}

.image-text-block .text-block ul {
  margin: 1rem 1rem 2rem 2rem;
}

.image-text-block .text-block ul li {
  font-size: .8rem;
  line-height: 1.75;
}

@media (width >= 1024px) {
  .image-text-block .text-block ul li {
    font-size: 1rem;
  }
}

.image-text-block .text-block blockquote {
  text-align: center;
  margin: 1rem auto;
}

.image-text-block .text-block blockquote p {
  margin-bottom: 0;
  font-family: ivypresto-display, serif;
  font-size: 1.25rem;
}

@media (width >= 1024px) {
  .image-text-block .text-block blockquote p {
    font-size: 1.5rem;
  }
}

.image-text-block .text-block blockquote p span.small {
  font-size: 1.25rem;
  line-height: 1.5;
  display: block;
}

@media (width >= 1024px) {
  .image-text-block .text-block blockquote p span.small {
    text-align: center;
    font-size: 1.3125rem;
  }
}

.image-text-block.image-right .image-block {
  order: 2;
  margin-top: 1.5rem;
}

@media (width >= 768px) {
  .image-text-block.image-right .image-block {
    margin-top: 0;
    margin-bottom: 0;
  }
}

.image-text-block.image-right .text-block {
  padding-left: 0;
}

@media (width >= 768px) {
  .image-text-block.image-right .text-block {
    padding-right: 8.33%;
  }
}

.image-text-block.no-padding .text-block {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

@media (width <= 1024px) {
  .image-text-block.no-padding .text-block {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.image-text-block > picture {
  position: absolute;
  inset: 0;
}

.image-text-block > picture img {
  object-fit: cover;
  object-position: center center;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.image-text-block.full-width {
  gap: 0;
  padding-left: 0;
  padding-right: 0;
}

.image-text-block.full-width .image-block {
  margin-bottom: 0;
}

.image-text-block.full-width .image-block img {
  border-radius: 0;
}

.image-text-block.full-width .text-block {
  padding-left: 7%;
  padding-right: 7%;
}

@media (width >= 1024px) {
  .image-text-block.full-width .text-block {
    padding-left: 5%;
    padding-right: 5%;
  }

  .image-text-block.boxed {
    flex-wrap: nowrap;
    align-items: stretch;
  }

  .image-text-block.boxed .image-block, .image-text-block.boxed .text-block {
    width: 50%;
  }
}

@media (width <= 1024px) {
  .image-text-block.boxed .text-block {
    order: 2;
  }
}

.classesCalendar-filters {
  display: none !important;
}

.image-text-block.carousel .slick-track {
  align-items: center;
  display: flex;
}

.image-text-grid {
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: block;
}

.image-text-grid .grid-intro {
  margin-bottom: var(--step-5);
  margin-left: auto;
  margin-right: auto;
  padding: 0 1rem;
}

@media (width >= 1024px) {
  .image-text-grid .grid-intro {
    max-width: 75%;
    padding: 0;
  }
}

.image-text-grid .image-text-row {
  grid-template-columns: repeat(1, 1fr);
  align-items: stretch;
  display: grid;
}

@media (width >= 1024px) {
  .image-text-grid .image-text-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .image-text-grid .image-text-row:nth-of-type(odd) .image-block {
    order: 2;
  }
}

.image-text-grid .image-block img {
  object-fit: cover;
  width: 100%;
  display: block;
}

.image-text-grid .text-block {
  background-color: #fff;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  display: flex;
}

.image-text-grid .text-block * {
  color: #000;
}

@media (width >= 1024px) {
  .image-text-grid .text-block {
    padding: 5% 10%;
  }
}

.image-text-grid .section-footer {
  margin-top: var(--step-3);
  padding: var(--step-5) var(--step-7);
  background-color: #666d40;
  border: 4px solid #fff;
}

.image-text-grid .section-footer .button {
  margin-top: var(--step-0);
}

.image-text-grid .section-footer :not(.button) {
  color: #fff;
}

.image-text-grid .section-footer p:last-of-type {
  margin-bottom: 0;
}

.logo-row {
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
  position: relative;
}

.logo-row:before {
  content: "";
  opacity: 0;
  background-color: #fff;
  position: absolute;
  inset: 0;
}

.logo-row.bg75:before {
  opacity: .75;
}

.logo-row.bg50:before {
  opacity: .5;
}

.logo-row.bg25:before {
  opacity: .25;
}

.logo-row > img, .logo-row > a > img {
  z-index: 1;
  flex-basis: 0;
  min-width: 150px;
  max-width: 100%;
  height: auto;
}

.page-cards, .col-page-card {
  flex-wrap: wrap;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
  position: relative;
}

.page-cards .page-card-holder, .col-page-card .page-card-holder {
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  width: 100%;
  padding: 0 1rem;
  display: grid;
}

@media (width >= 1024px) {
  .page-cards .page-card-holder, .col-page-card .page-card-holder {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    padding: 0;
  }
}

.page-cards .page-card-text, .col-page-card .page-card-text {
  text-align: center;
  margin-bottom: var(--step-3);
  flex: 0 0 100%;
}

@media (width >= 1024px) {
  .page-cards .page-card-text p, .col-page-card .page-card-text p {
    max-width: 75%;
    margin-left: auto;
    margin-right: auto;
  }
}

.page-cards article.card, .col-page-card article.card {
  background-color: #fff;
  border-radius: 10px;
  transition: all .3s;
  overflow: hidden;
  box-shadow: 0 0 5px #00000020;
}

.page-cards article.card .card__media, .col-page-card article.card .card__media {
  box-sizing: border-box;
  width: 100%;
  display: block;
}

.page-cards article.card .card__media img, .col-page-card article.card .card__media img {
  object-fit: cover;
  object-position: top;
  width: 100%;
  height: 250px;
  margin-bottom: 0;
  display: block;
}

@container media (width <= 150px) {
  .page-cards article.card .card__media img, .col-page-card article.card .card__media img {
    height: 100px;
  }
}

.page-cards article.card .card__body, .col-page-card article.card .card__body {
  padding: var(--step-0) var(--step--1) var(--step--2) var(--step--1);
  container-type: inline-size;
}

.page-cards article.card .card__body p, .col-page-card article.card .card__body p {
  font-size: .9rem;
}

@media (width >= 1024px) {
  .page-cards article.card .card__body p, .col-page-card article.card .card__body p {
    font-size: .9rem;
  }
}

@container (width <= 210px) {
  .page-cards article.card .card__body > p, .col-page-card article.card .card__body > p {
    font-size: .7rem;
  }
}

@media (width >= 1024px) {
  .page-cards article.card .card__body, .col-page-card article.card .card__body {
    padding: var(--step-0);
  }
}

.page-cards article.card h4, .col-page-card article.card h4 {
  margin-bottom: var(--step--1);
  line-height: 1;
}

.page-cards article.card h4:after, .col-page-card article.card h4:after {
  content: "";
  color: #d2a041;
  margin-left: .25rem;
  font-family: "Font Awesome 7 Whiteboard";
  font-size: 1rem;
  transition: all .3s;
  display: inline-block;
}

.page-cards article.card h4.card__title a, .col-page-card article.card h4.card__title a {
  font-size: var(--step-1);
  color: #000;
  font-weight: 600;
}

.page-cards article.card h4.card__title a:hover, .col-page-card article.card h4.card__title a:hover {
  text-decoration: underline;
}

.page-cards article.card:hover h4:after, .col-page-card article.card:hover h4:after {
  color: #000;
}

.page-cards article.card:hover h4 a, .col-page-card article.card:hover h4 a {
  text-decoration: underline;
}

.page-cards.pc-offcanvas, .col-page-card.pc-offcanvas {
  align-items: center;
  display: flex;
  overflow: visible;
}

.page-cards.pc-offcanvas .page-card-text, .col-page-card.pc-offcanvas .page-card-text {
  text-align: left;
  flex: 0 0 41.65%;
  margin-bottom: 0;
  display: none;
}

.page-cards.pc-offcanvas .page-card-text h2, .page-cards.pc-offcanvas .page-card-text p, .col-page-card.pc-offcanvas .page-card-text h2, .col-page-card.pc-offcanvas .page-card-text p {
  max-width: 100%;
}

@media (width >= 1024px) {
  .page-cards.pc-offcanvas .page-card-text, .col-page-card.pc-offcanvas .page-card-text {
    display: block;
  }
}

.page-cards.pc-offcanvas .scroller, .col-page-card.pc-offcanvas .scroller {
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
  box-sizing: border-box;
  mask-image: linear-gradient(to left, #000 80%, #0000 100%);
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  width: 100%;
  height: auto;
  position: absolute;
  left: 0;
  overflow-x: scroll;
  -webkit-mask-image: linear-gradient(to left, #000 80%, #0000, 100%);
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
}

@media (width >= 1024px) {
  .page-cards.pc-offcanvas .scroller, .col-page-card.pc-offcanvas .scroller {
    width: 50%;
    left: 50%;
  }
}

.page-cards.pc-offcanvas .pc-offcanvas-container, .col-page-card.pc-offcanvas .pc-offcanvas-container {
  gap: 1rem;
  padding: 2rem;
  display: flex;
}

.page-cards.pc-offcanvas .pc-offcanvas-container a.page-card, .col-page-card.pc-offcanvas .pc-offcanvas-container a.page-card {
  flex: none;
  height: 400px;
  width: 285px !important;
}

.page-cards.pc-offcanvas .pc-offcanvas-container a.page-card picture h5, .col-page-card.pc-offcanvas .pc-offcanvas-container a.page-card picture h5 {
  color: #fff !important;
}

.page-cards.pc-offcanvas .pc-offcanvas-container a.page-card picture p, .col-page-card.pc-offcanvas .pc-offcanvas-container a.page-card picture p {
  display: block;
}

@media (width >= 1024px) {
  .page-cards.pc-offcanvas .pc-offcanvas-container a.page-card, .col-page-card.pc-offcanvas .pc-offcanvas-container a.page-card {
    max-width: 450px;
    height: 500px;
    min-width: 375px !important;
  }
}

.page-cards.pc-offcanvas .pc-offcanvas-container .spacer, .col-page-card.pc-offcanvas .pc-offcanvas-container .spacer {
  padding: 2rem;
  display: block;
}

@media (width <= 1024px) {
  .page-cards, .col-page-card {
    padding: 0;
  }

  .page-cards .page-card-text, .col-page-card .page-card-text {
    padding: 0 2rem;
  }
}

.col-page-cards {
  padding: 0;
}

.col-page-cards .card {
  width: 100%;
}

.col-page-cards .card img {
  margin-bottom: 0;
}

.gallery {
  padding: 0;
  display: block;
  margin-bottom: 0 !important;
}

.gallery ul {
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.gallery ul li {
  flex: 0 0 33.33%;
  display: flex;
}

.gallery ul li img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.columns .gallery > ul {
  flex-wrap: wrap;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  margin: 0;
  padding: 0;
  display: grid;
}

@media (width >= 768px) {
  .columns .gallery > ul {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (width >= 1024px) {
  .columns .gallery > ul {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

.columns .gallery > ul li {
  margin: 0;
  list-style: none;
  display: block;
  overflow: clip;
}

.columns .gallery > ul li img {
  object-fit: cover;
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  margin: 0;
}

@media (width >= 1024px) {
  .columns .gallery > ul.galleryColsTwo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .columns .gallery > ul.galleryColsThree {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .columns .gallery > ul.galleryColsFour {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .columns .gallery > ul.galleryColsSix {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (width >= 768px) {
  .columns .gallery > ul.galleryColsEight {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (width >= 1024px) {
  .columns .gallery > ul.galleryColsEight {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

#portfolio-row {
  color: #fff;
  background-color: #666d40;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 3rem calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
}

#portfolio-row #text-col {
  text-align: center;
  margin-bottom: var(--step-4);
}

@media (width >= 1024px) {
  #portfolio-row #text-col {
    text-align: left;
    flex: 0 0 calc(33.33% - 1rem);
    margin-bottom: 0;
  }
}

#portfolio-row #portfolio-list {
  flex-wrap: wrap;
  gap: 1rem;
  margin-left: auto;
  display: flex;
}

@media (width >= 1024px) {
  #portfolio-row #portfolio-list {
    flex: 0 0 calc(66.667% - 1rem);
  }
}

#portfolio-row #portfolio-list a.portfolio-box {
  background-color: #fff;
  margin-bottom: 1rem;
  font-weight: normal;
  transition: all .3s;
  box-shadow: 0 4px 20px #00000040;
}

#portfolio-row #portfolio-list a.portfolio-box:hover {
  background-color: #666d40;
  text-decoration: none;
  transform: scale(1.025);
}

#portfolio-row #portfolio-list a.portfolio-box:hover picture span:after {
  margin-left: 1rem;
}

@media (width >= 1024px) {
  #portfolio-row #portfolio-list a.portfolio-box {
    flex: 0 0 calc(33.33% - 1rem);
    margin-bottom: 0;
  }
}

#portfolio-row #portfolio-list a.portfolio-box picture {
  height: 240px;
  display: block;
  position: relative;
}

#portfolio-row #portfolio-list a.portfolio-box picture span {
  color: #fff;
  align-items: center;
  margin-bottom: 0;
  display: flex;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
}

#portfolio-row #portfolio-list a.portfolio-box picture span:after {
  content: "";
  margin-top: .25rem;
  margin-left: .5rem;
  font-family: "Font Awesome 7 Pro";
  font-size: 1.125rem;
  font-weight: 100;
  transition: all .3s;
}

#portfolio-row #portfolio-list a.portfolio-box picture img {
  object-fit: cover;
  z-index: 0;
  width: 100%;
  height: 100%;
}

#portfolio-row #portfolio-list a.portfolio-box picture:before {
  content: "";
  z-index: 1;
  background: linear-gradient(222.49deg, #0000 52.89%, #0006 94.77%);
  display: block;
  position: absolute;
  inset: 0;
}

#portfolio-row #portfolio-list a.portfolio-box .portfolio-content {
  font-weight: 200;
  line-height: 1.4;
  font-size: var(--step-0);
  padding: 1.5rem 1rem;
}

@media (width >= 1024px) {
  #portfolio-row #portfolio-list a.portfolio-box .portfolio-content {
    font-size: var(--step--1);
  }
}

#portfolio-intro {
  text-align: center;
  margin: 0 auto;
  padding-top: 3rem;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
}

@media (width >= 1024px) {
  #portfolio-intro {
    max-width: 66.667%;
  }
}

#portfolio-intro p {
  margin-bottom: 0;
}

#filter {
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
  padding: 1.5rem 0;
  display: flex;
}

@media (width >= 1024px) {
  #filter {
    gap: 1rem;
    padding: 2rem 0 3rem;
  }
}

#filter .button {
  border-color: #f3f3f3;
}

#filter .button:hover {
  color: #666d40;
  background-color: #0000;
  border-color: #666d40;
}

#filter .button.active {
  border-color: #666d40;
}

@media (width <= 1024px) {
  #filter .button {
    font-size: var(--step--1);
    padding: .25rem .75rem;
  }
}

#portfolio-grid {
  padding-bottom: 3rem;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
}

#portfolio-grid ul#properties {
  grid-template-columns: 1fr;
  gap: 1rem;
  margin: 0;
  display: grid;
}

@media (width >= 768px) {
  #portfolio-grid ul#properties {
    grid-template-columns: 1fr 1fr;
  }
}

@media (width >= 1024px) {
  #portfolio-grid ul#properties {
    grid-template-columns: repeat(4, 1fr);
  }
}

#portfolio-grid ul#properties a:hover {
  text-decoration: none;
}

#portfolio-grid ul#properties a:hover li {
  background-color: #666d40;
  transform: scale(1.025);
}

#portfolio-grid ul#properties a:hover span {
  background-color: #d2a041;
}

#portfolio-grid ul#properties li {
  flex-direction: column;
  transition: all .3s;
  display: flex;
  box-shadow: 0 0 20px #0000002e;
}

#portfolio-grid ul#properties li h2 {
  margin: 1rem;
  font-size: 1.25rem;
  display: flex;
}

#portfolio-grid ul#properties li h2:after {
  content: "";
  margin-left: auto;
  font-family: "Font Awesome 7 Pro";
  font-size: 1.125rem;
  font-weight: 100;
  transition: all .3s;
}

#portfolio-grid ul#properties li picture {
  height: 250px;
  position: relative;
  overflow: hidden;
}

#portfolio-grid ul#properties li picture img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

#portfolio-grid ul#properties li picture span {
  color: #fff;
  text-transform: uppercase;
  font-size: var(--step--2);
  letter-spacing: 1px;
  z-index: 1;
  background-color: #666d40;
  padding: .25rem .5rem;
  position: absolute;
  top: 1rem;
  left: 1rem;
}

.single-portfolio #static-banner picture:before {
  display: none;
}

.price-table {
  flex-wrap: wrap;
  align-items: center;
  padding: 3rem calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
}

.price-table .columns-title {
  margin: 0 auto var(--step-3) auto;
  flex: 0 0 100%;
}

@media (width >= 1024px) {
  .price-table .columns-title p {
    max-width: 66.667%;
    margin-left: auto;
    margin-right: auto;
  }
}

.price-table .price-card {
  margin: 0 auto var(--step-0) auto;
  background-color: #fff;
  border-radius: 8px;
  flex-direction: column;
  flex: 0 0 83.33%;
  display: flex;
  overflow: hidden;
  box-shadow: 0 0 2px #00000040;
}

.price-table .price-card .price-title {
  text-align: center;
  color: #fff;
  background-color: #5ec2e8;
  padding: 1rem;
}

.price-table .price-card .price-title h4 {
  margin: 0;
}

.price-table .price-card .price-holder {
  text-align: center;
  border-top: 1px dashed #7166ca;
  border-bottom: 1px dashed #7166ca;
  padding: 1.5rem;
}

.price-table .price-card .price-holder span.price {
  font-size: var(--step-4);
  font-weight: bold;
}

.price-table .price-card .price-holder span.price sup {
  font-size: var(--step-0);
  text-transform: uppercase;
  font-weight: 200;
}

.price-table .price-card .price-holder span.price.hidden {
  display: none;
}

.price-table .price-card .price-description {
  font-size: var(--step--1);
  text-align: center;
  align-items: center;
  padding: 1.5rem 3rem;
  display: flex;
}

@media (width >= 1024px) {
  .price-table .price-card .price-description {
    min-height: 135px;
  }
}

.price-table .price-card .price-description p {
  margin: 0;
  font-size: 1rem;
}

.price-table .price-card ul {
  padding: 1.5rem;
  list-style: none;
}

.price-table .price-card ul li {
  text-align: center;
  line-height: 2;
}

.price-table .price-card ul.limits {
  border-bottom: 1px dashed #7166ca;
}

.price-table .price-card ul.limits li {
  font-size: 1.125rem;
}

.price-table .price-card.price-standard .price-title {
  background-color: #6155c4;
}

.price-table .price-card.price-enterprise .price-title {
  background-color: #2a0988;
}

.price-table .price-card.price-premium {
  background: linear-gradient(165.25deg, #2a0988 .53%, #110041 100%);
}

.price-table .price-card.price-premium > * {
  color: #fff;
}

.price-table .price-card.price-premium .price-title {
  background-color: #110041;
  padding: 1.5rem;
}

.price-table .price-card.price-premium .price-title h4 {
  font-size: var(--step-3);
}

.price-table .price-card.price-premium .price-holder span.price {
  font-size: var(--step-5);
}

.price-table .price-card:last-of-type {
  margin-right: 0;
}

.price-table .price-card a.button {
  margin: 0 auto 2rem;
  display: flex;
}

@media (width >= 1024px) {
  .price-table .price-card {
    flex: 0 0 25%;
    margin-bottom: 0;
    margin-right: -1rem;
    box-shadow: 0 0 60px #00000040;
  }
}

.toggle-holder {
  flex: 0 0 100%;
  justify-content: center;
  display: flex;
}

.toggle-button {
  box-sizing: border-box;
  width: 200px;
  margin-bottom: var(--step-5);
  display: table-cell;
  position: relative;
}

.knobs, .layer {
  position: absolute;
  inset: 0;
}

.btn {
  width: 100%;
  height: 50px;
  position: relative;
  top: 50%;
  overflow: hidden;
}

.btn.r, .btn.r .layer {
  border-radius: 100px;
}

.btn.b2 {
  border-radius: 2px;
}

.checkbox {
  opacity: 0;
  cursor: pointer;
  z-index: 3;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  position: relative;
}

.knobs {
  z-index: 2;
}

.layer {
  z-index: 1;
  background-color: #ebf7fc;
  width: 100%;
  transition: all .3s;
}

#button-10 .knobs:before, #button-10 .knobs:after, #button-10 .knobs span {
  text-align: center;
  border-radius: 2px;
  justify-content: center;
  align-items: center;
  width: 50%;
  height: 50px;
  padding: 9px 4px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  transition: all .3s;
  display: flex;
  position: absolute;
  top: 0;
}

#button-10 .knobs:before {
  content: "";
  background-color: var(--tertiary-colour);
  left: 0;
}

#button-10 .knobs:after {
  content: "MONTHLY";
  color: #4e4e4e;
  right: 0;
}

#button-10 .knobs span {
  color: #fff;
  z-index: 1;
  display: flex;
  left: 0;
}

#button-10 .checkbox:checked + .knobs span {
  color: #4e4e4e;
}

#button-10 .checkbox:checked + .knobs:before {
  background-color: var(--secondary-colour);
  left: 50%;
}

#button-10 .checkbox:checked + .knobs:after {
  color: #fff;
}

#button-10 .checkbox:checked ~ .layer {
  background-color: #fcebeb;
}

#services {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 3rem calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
}

#services #services-text {
  text-align: center;
}

@media (width >= 1024px) {
  #services #services-text {
    text-align: left;
    flex: 0 0 calc(30% - 1rem);
  }
}

#services #services-boxes {
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  display: grid;
}

@media (width >= 768px) {
  #services #services-boxes {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (width >= 1024px) {
  #services #services-boxes {
    flex: 0 0 calc(66.667% - 1rem);
    grid-template-columns: 1fr 1fr 1fr;
  }
}

#services .service-box {
  text-align: center;
  color: #000;
  background-color: #fff;
  text-decoration: none;
}

#services .service-box picture img {
  display: block;
}

#services .service-box span {
  text-align: center;
  padding: .5rem;
  display: block;
}

@media (width >= 1024px) {
  #services .service-box span {
    padding: 1rem;
  }
}

#services .service-box:hover {
  color: #fff;
  background-color: #f1d296;
  text-decoration: none;
}

#shop {
  padding: 3rem calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
}

section.product-row {
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
}

section.product-row h2, section.product-row .price {
  text-align: center;
  display: block;
}

section.product-row.woocommerce ul li a.button {
  display: none;
}

section.product-row.scroller {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

section.product-row.scroller > div {
  position: relative;
}

section.product-row.scroller > div:before, section.product-row.scroller > div:after {
  z-index: 1;
  font-family: "Font Awesome 7 Pro";
  font-size: 2rem;
  position: absolute;
  top: 33.33%;
}

section.product-row.scroller div > ul.products {
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  grid-template-rows: min-content;
  grid-auto-columns: 58.5%;
  grid-auto-flow: column;
  gap: 1rem;
  display: grid;
  overflow-x: auto;
}

@media (width >= 1024px) {
  section.product-row.scroller div > ul.products[class*="columns-"] {
    grid-auto-columns: 17.5%;
  }
}

section.product-row.scroller div > ul.products li.product {
  scroll-snap-align: center;
}

@media (width >= 1024px) {
  section.product-row.scroller div > ul.products li.product {
    scroll-snap-align: start;
  }
}

section.product-row.scroller div > ul.products > a {
  display: inherit;
}

section.product-row.scroller div > ul.products img {
  aspect-ratio: 1;
  object-fit: cover;
}

section.product-row.scroller div > ul.products .price {
  font-size: var(--step-0);
  color: #000;
}

section.product-row.scroller ul.products {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.spacer.spacer-large {
  padding: var(--step-5) 0;
}

.spacer.spacer-medium {
  padding: var(--step-3) 0;
}

.spacer.spacer-small {
  padding: var(--step-2) 0;
}

.testimonials {
  text-align: center;
  position: relative;
}

.testimonials .block-intro {
  z-index: 1;
  position: relative;
}

.testimonials > picture {
  display: none;
}

@media (width >= 1024px) {
  .testimonials > picture {
    z-index: 0;
    display: block;
    position: absolute;
    inset: 0;
  }

  .testimonials > picture img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
  }
}

.testimonials .testimonials-container {
  z-index: 1;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
  padding-bottom: 1rem;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
  position: relative;
}

.testimonials .testimonials-container .testimonial {
  text-align: left;
  scroll-snap-align: start;
  background-color: #fff;
  border-radius: 1rem;
  flex: 0 0 calc(98% - 1rem);
  align-items: center;
  padding: 2rem;
  transition: all .3s;
  display: flex;
}

.testimonials .testimonials-container .testimonial * {
  color: #000;
}

.testimonials .testimonials-container .testimonial p {
  font-family: ivyepic-variable, sans-serif;
  font-size: var(--step-0);
  color: #000;
  font-style: italic;
}

@media (width >= 1024px) {
  .testimonials .testimonials-container .testimonial p {
    font-size: var(--step-1);
  }
}

.testimonials .testimonials-container .testimonial .testimonial-meta {
  text-align: left;
  align-items: center;
  gap: var(--step-0);
  display: flex;
}

.testimonials .testimonials-container .testimonial .testimonial-meta img {
  border-radius: 50%;
  order: -1;
  width: 100px;
  height: 100px;
}

.testimonials .testimonials-container .testimonial cite {
  font-weight: bold;
}

.testimonials .testimonials-container .testimonial:hover {
  cursor: pointer;
  transform: scale(1.025);
}

@media (width >= 1024px) {
  .testimonials .testimonials-container .testimonial {
    flex: 0 0 calc(50% - 1rem);
  }
}

.testimonials .scroll-buttons {
  pointer-events: none;
  z-index: 2;
  justify-content: center;
  gap: 1rem;
  display: flex;
}

.testimonials .scroll-buttons button {
  pointer-events: all;
  cursor: pointer;
  background-color: #0000;
  border: 1px solid #fff;
  width: 40px;
  height: 40px;
  padding: 0;
}

.testimonials .scroll-buttons button i {
  color: #fff;
}

.testimonials .scroll-buttons button:hover {
  background: #dfd1c1 !important;
}

.modal {
  z-index: 2;
  backdrop-filter: blur(5px);
  background-color: #0000001a;
  width: 100%;
  height: 100%;
  transition: opacity .5s;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  overflow: auto;
}

.modal-content {
  background-color: #fefefe;
  border-radius: 1rem;
  width: 66.667%;
  margin: 15% auto;
  padding: 4rem 3rem;
  position: relative;
}

.modal-content * {
  color: #000 !important;
}

.modal-content p {
  text-align: center;
  font-size: var(--step-0);
  font-family: ivypresto-display, serif;
  font-style: italic;
  color: #000 !important;
}

@media (width >= 1024px) {
  .modal-content p {
    font-size: var(--step-1);
  }
}

.modal-content cite {
  font-size: var(--step-0);
  color: #000;
  font-weight: bold;
  display: block;
}

.close {
  color: var(--primary-colour);
  font-size: 28px;
  font-weight: bold;
  position: absolute;
  top: 0;
  right: 1rem;
}

.close:hover, .close:focus {
  color: #000;
  cursor: pointer;
  text-decoration: none;
}

.modal.fade-in {
  opacity: 1;
  display: block;
}

.modal.fade-out {
  opacity: 0;
}

.col-testimonials .testimonial:not(:last-of-type) {
  margin-bottom: var(--step-3);
}

.col-testimonials span p {
  font-family: ivypresto-display, serif;
  font-style: italic;
}

.col-testimonials span cite {
  font-size: var(--step--1);
  font-style: normal;
}

.col-testimonials .testimonial-meta {
  text-align: left;
  justify-content: center;
  align-items: center;
  gap: var(--step-0);
  display: flex;
}

.col-testimonials .testimonial-meta img {
  border-radius: 50%;
  order: -1;
  width: 75px;
  height: 75px;
  margin-bottom: 0;
}

#title-block {
  background: linear-gradient(91.59deg, #666d40 0% 100%);
  place-content: center;
  padding: 3rem calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
}

#title-block h1 {
  color: #fff;
  text-align: center;
  margin-bottom: 0;
}

.cta {
  z-index: -1;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
  position: relative;
}

@media (width >= 1024px) {
  .cta {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.cta:after {
  content: "";
  background-color: #0f0d0080;
  position: absolute;
  inset: 0;
}

@media (width >= 1024px) {
  .cta:after {
    background-color: #0f0d0080;
  }
}

.cta.white-bg.overlay .cta-content * {
  color: #000;
}

.cta p, .cta h2, .cta h3 {
  color: #fff;
}

.cta picture {
  z-index: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.cta picture img {
  object-fit: cover;
  opacity: 1;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

.cta .cta-content {
  color: #fff;
  z-index: 1;
  text-align: left;
  flex-flow: column wrap;
  gap: 1rem;
  width: 75%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 3rem;
  padding-bottom: 3rem;
  display: flex;
  position: relative;
}

.cta .cta-content p {
  font-size: var(--step-0);
  margin-bottom: 0;
}

@media (width >= 1024px) {
  .cta .cta-content p {
    font-size: var(--step-1);
  }
}

.cta .cta-content h2 {
  color: #fff;
  width: 100%;
  font-size: var(--step-5);
  max-width: 75%;
  margin-left: auto;
  margin-right: auto;
}

.cta .cta-content .button {
  margin-top: var(--step-0);
  font-size: var(--step-1);
}

.cta .cta-content .btn-holder {
  margin-top: var(--step--1);
  display: flex;
}

@media (width >= 1024px) {
  .cta .cta-content {
    width: 75%;
  }
}

.cta.flex-start p {
  text-align: left !important;
}

.cta.flex-center {
  text-align: center;
}

.cta.flex-center p {
  text-align: center !important;
}

.cta.flex-center .cta-content, .cta.flex-center .btn-holder {
  justify-content: center;
}

.cta.flex-center h2 {
  text-align: center;
  display: inline-block;
}

.cta.flex-end {
  text-align: right;
}

.cta.flex-end p {
  text-align: right !important;
}

.cta.flex-end .cta-content, .cta.flex-end .btn-holder {
  justify-content: flex-end;
}

.cta.flex-end h2 {
  text-align: right;
  display: inline-block;
}

@media (width >= 1024px) {
  .cta {
    min-height: 700px;
  }
}

.global-cta:before {
  content: "";
  z-index: 1;
  mix-blend-mode: multiply;
  background: linear-gradient(45deg, #d2a041 44.03%, #666d40 100.62%);
  position: absolute;
  inset: 0;
}

.global-cta .cta-content {
  text-align: center;
}

.global-cta .cta-content .btn-holder {
  justify-content: center;
  align-items: center;
}

#map iframe {
  display: block;
}

#map p {
  margin: 0;
}

.staff-profiles {
  flex-wrap: wrap;
  gap: 1rem;
  padding: 3rem calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
}

.staff-member {
  background-color: #fff;
  border-radius: 0;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  display: flex;
  box-shadow: 0 0 10px #0000001a;
}

.staff-member picture {
  flex-direction: column;
  width: 33.33%;
  transition: all .3s;
  display: flex;
}

.staff-member picture:hover {
  cursor: pointer;
  transform: scale(1.05);
}

.staff-member picture:hover button {
  color: #666d40;
  background-color: #dfd1c1;
}

.staff-member img {
  object-fit: contain;
  border-radius: 0;
  flex: 0;
  margin-bottom: 0;
}

.staff-member button {
  font-size: var(--step--1);
  color: #fff;
  background-color: #666d40;
  border: 0;
  border-radius: 0;
  padding: 1rem .5rem;
}

.staff-member .staff-content {
  flex: 1;
  padding: 1rem 0;
}

.staff-member .staff-content * {
  color: #000;
}

.staff-member .staff-content .staff-excerpt {
  font-weight: 300;
  font-size: var(--step-0);
}

.staff-member h5 {
  margin-bottom: 0;
}

@media (width >= 1024px) {
  .staff-member {
    flex: 0 0 calc(50% - 1rem);
  }
}

span.role {
  margin-bottom: var(--step--1);
  text-transform: uppercase;
  font-family: ivypresto-display, serif;
  font-weight: 800;
  line-height: 1;
  display: block;
}

.staff-modal {
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  background: #000000b3;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: opacity .3s;
  display: none;
  position: fixed;
  top: 4rem;
  left: 0;
}

.staff-modal.show {
  opacity: 1;
  pointer-events: auto;
  display: flex;
}

.staff-modal .modal-content {
  background: #fff;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  width: 90%;
  max-height: 90vh;
  padding: 2rem;
  transition: transform .3s;
  display: flex;
  position: relative;
  overflow-y: auto;
  transform: translateY(-20px);
}

.staff-modal .modal-content .slick-track, .staff-modal .modal-content .slick-list {
  height: 100%;
}

.staff-modal .modal-content .staff-gallery {
  aspect-ratio: 1;
  display: block;
}

.staff-modal .modal-content picture {
  width: 100%;
}

@media (width >= 1024px) {
  .staff-modal .modal-content picture {
    width: 50%;
  }
}

.staff-modal .modal-content picture .slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.staff-modal .modal-content > div {
  width: 100%;
}

.staff-modal .modal-content > div.modal-left .areas {
  background-color: #666d40;
  padding: 2rem 1rem;
}

.staff-modal .modal-content > div.modal-left .areas h5 {
  font-size: var(--step-1);
}

.staff-modal .modal-content > div.modal-left .areas * {
  color: #fff;
}

.staff-modal .modal-content > div.modal-left .areas ul {
  margin: var(--step-0) 0;
  font-size: .8rem;
}

@media (width >= 1024px) {
  .staff-modal .modal-content > div {
    width: 50%;
  }
}

.staff-modal .modal-content h4 {
  margin-bottom: 0;
}

.staff-modal .modal-content p {
  text-align: left;
  font-size: var(--step-0);
  font-weight: 300;
}

.staff-modal .modal-content.show .modal-content {
  transform: translateY(0);
}

@media (width >= 1024px) {
  .staff-modal .modal-content {
    flex-direction: row;
    max-width: 800px;
  }
}

.staff-modal span.close {
  z-index: 2;
  cursor: pointer;
  background-color: #dfd1c1;
  border-radius: 50px;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  font-size: 28px;
  line-height: 1.5;
  transition: all .3s;
  display: flex;
  position: absolute;
  top: .5rem;
  right: .5rem;
}

.staff-modal span.close:hover {
  background-color: #7c2ea6;
}

.staff-modal span.close:hover i {
  color: #666d40;
}

.staff-modal span.close i {
  color: #fff;
}

@media (width >= 1024px) {
  .staff-modal {
    top: 0;
  }
}

.text-card-grid {
  flex-wrap: wrap;
  gap: 2rem;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
  position: relative;
}

.text-card-grid .text-block {
  z-index: 0;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

@media (width >= 768px) {
  .text-card-grid .text-block {
    width: 41.667%;
    margin-right: 8.33%;
  }
}

.text-card-grid .text-block .button {
  margin-top: 1rem;
}

@media (width >= 768px) {
  .text-card-grid.text-right .text-block {
    order: 2;
    margin-left: 8.33%;
    margin-right: 0;
  }

  .text-card-grid {
    gap: 0;
  }
}

.card-grid {
  z-index: 0;
  gap: var(--step-0);
  order: 2;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  margin-bottom: 1.5rem;
  display: grid;
}

@media (width >= 1024px) {
  .card-grid {
    gap: var(--step-0);
  }
}

.card-grid img {
  aspect-ratio: 1;
  object-fit: cover;
}

.card-grid.card-grid--card-style-1 {
  grid-template-rows: auto auto;
}

.card-grid.card-grid--card-style-1 article:not(:first-of-type) img {
  aspect-ratio: 4 / 3;
  max-height: 200px;
}

.card-grid.card-grid--card-style-1 article:first-of-type {
  grid-column: 1 / -1;
}

.card-grid.card-grid--card-style-1 article:first-of-type img {
  aspect-ratio: 16 / 9;
  max-height: 250px;
}

.card-grid article {
  background-color: #fff;
  border-radius: 10px;
  min-width: 0;
  transition: all .3s;
  overflow: hidden;
  box-shadow: 0 0 5px #00000020;
  container-type: inline-size;
}

.card-grid article .card__media {
  box-sizing: border-box;
  width: 100%;
  display: block;
}

.card-grid article .card__media img {
  object-fit: cover;
  object-position: top;
  width: 100%;
  height: 250px;
  margin-bottom: 0;
  display: block;
}

@container media (width <= 150px) {
  .card-grid article .card__media img {
    height: 100px;
  }
}

.card-grid article .card__body {
  padding: var(--step-0) var(--step--1) var(--step--2) var(--step--1);
  container-type: inline-size;
}

.card-grid article .card__body p {
  font-size: .9rem;
}

@media (width >= 1024px) {
  .card-grid article .card__body p {
    font-size: .9rem;
  }
}

@container (width <= 210px) {
  .card-grid article .card__body > p {
    font-size: .7rem;
  }
}

@media (width >= 1024px) {
  .card-grid article .card__body {
    padding: var(--step-0);
  }
}

.card-grid article h4 {
  margin-bottom: var(--step--1);
  line-height: 1;
}

.card-grid article h4:after {
  content: "";
  color: #d2a041;
  margin-left: .25rem;
  font-family: "Font Awesome 7 Whiteboard";
  font-size: 1rem;
  transition: all .3s;
  display: inline-block;
}

.card-grid article h4.card__title a {
  font-size: var(--step-1);
  color: #000;
  font-weight: 600;
}

.card-grid article h4.card__title a:hover {
  text-decoration: underline;
}

.card-grid article:hover h4:after {
  color: #000;
}

.card-grid article:hover h4 a {
  text-decoration: underline;
}

@container (width <= 220px) {
  .card-grid article .card__media img {
    height: 150px;
  }
}

@media (width >= 768px) {
  .card-grid {
    order: 0;
    width: 50%;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.latest-news-block {
  text-align: center;
  display: block;
}

.latest-news-block .scroll-buttons {
  display: block;
}

.latest-news-block .scroll-buttons button {
  background-color: #ddded0;
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  padding: 0;
}

.latest-news-block .scroll-buttons button i {
  color: #666d40;
  font-size: 2rem;
}

.latest-news-block .scroll-buttons button:hover {
  cursor: pointer;
  background-color: #a7ac89;
}

.latest-news-block .scroll-buttons button:hover i {
  color: #fff;
}

.latest-news-block .col-1.intro-block {
  margin: 0 auto;
}

@media (width >= 1024px) {
  .latest-news-block .col-1.intro-block {
    max-width: 75%;
  }
}

.latest-news-block .latest-posts {
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  padding: var(--step-3) 0;
  cursor: grab;
  scrollbar-width: none;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 1rem;
  scroll-padding-left: 2rem;
  scroll-padding-right: 2rem;
  display: flex;
  position: relative;
  overflow: auto hidden;
}

.latest-news-block .latest-posts::-webkit-scrollbar {
  display: none;
}

.latest-news-block .latest-posts.dragging {
  cursor: grabbing;
  user-select: none;
}

.latest-news-block .latest-posts > article {
  scroll-snap-align: start;
  scroll-snap-stop: always;
  scroll-snap-align: start;
  background-color: #f1d296;
  border-radius: .5rem;
  flex-direction: column;
  flex: 0 0 55%;
  display: flex;
  overflow: hidden;
}

.latest-news-block .latest-posts > article:nth-of-type(2n) {
  background-color: #dfd1c1;
}

.latest-news-block .latest-posts > article:nth-of-type(3n) {
  background-color: #ddded0;
}

.latest-news-block .latest-posts > article .post-card__link {
  flex-direction: column;
  min-height: 100%;
  display: flex;
}

.latest-news-block .latest-posts > article .post-card__content {
  padding: var(--step--1);
  text-align: center;
  flex-direction: column;
  flex: auto;
  justify-content: space-between;
  height: 100%;
  display: flex;
}

.latest-news-block .latest-posts > article .post-card__content h3 {
  margin-bottom: var(--step--2);
  font-size: 1.25rem;
  line-height: 1;
}

@media (width >= 1024px) {
  .latest-news-block .latest-posts > article .post-card__content h3 {
    margin: 1rem 0;
    font-size: 1.9rem;
  }
}

.latest-news-block .latest-posts > article .post-card__content .post-card__meta {
  font-size: var(--step--2);
  font-weight: 600;
}

@media (width >= 1024px) {
  .latest-news-block .latest-posts > article .post-card__content .post-card__meta {
    font-size: var(--step--1);
  }

  .latest-news-block .latest-posts > article .post-card__content {
    padding: var(--step-1);
  }
}

.latest-news-block .latest-posts > article a, .latest-news-block .latest-posts > article a:hover, .latest-news-block .latest-posts > article a:focus {
  color: #000;
  text-decoration: none;
}

.latest-news-block .latest-posts > article picture {
  flex: none;
  position: relative;
}

.latest-news-block .latest-posts > article picture .post-card__category {
  z-index: 1;
  color: #fff;
  font-size: var(--step--2);
  background-color: #666d40;
  border-radius: 4px;
  padding: .25rem .5rem;
  display: block;
  position: absolute;
  bottom: .5rem;
  right: .5rem;
}

@media (width >= 1024px) {
  .latest-news-block .latest-posts > article picture .post-card__category {
    font-size: var(--step--1);
    bottom: 1rem;
    right: 1rem;
  }
}

.latest-news-block .latest-posts > article a picture, .latest-news-block .latest-posts > article img {
  width: 100%;
  display: block;
}

.latest-news-block .latest-posts > article img {
  object-fit: cover;
  -webkit-user-drag: none;
  user-drag: none;
  pointer-events: none;
  width: 100%;
  height: 150px;
}

@media (width >= 1024px) {
  .latest-news-block .latest-posts > article img {
    height: 230px;
  }
}

.latest-news-block .latest-posts > article:hover h3 {
  text-decoration: underline;
}

.latest-news-block .latest-posts > article h3 {
  line-height: 1;
}

@media (width >= 768px) {
  .latest-news-block .latest-posts > article {
    flex: 0 0 41.667%;
  }
}

@media (width >= 1024px) {
  .latest-news-block .latest-posts > article {
    flex: 0 0 calc(30% - 1rem);
  }
}

@media (width >= 1200px) {
  .latest-news-block .latest-posts > article {
    flex: 0 0 calc(23% - 1rem);
  }
}

.latest-news-block .latest-posts > article:first-child {
  margin-left: 2rem;
}

.latest-news-block .latest-posts > article:last-child {
  margin-right: 2rem;
}

.content-cards {
  grid-template-columns: 1fr;
  gap: 1rem;
  padding: 0 calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
}

.content-cards .card {
  box-shadow: none;
  background-color: #fff;
  border-radius: 10px;
  flex: 1;
  min-width: 250px;
  transition: all .3s;
  overflow: hidden;
  box-shadow: 0 0 5px #00000020;
}

.content-cards .card h4 {
  font-size: var(--step-1);
  margin-top: .5rem;
  font-weight: 600;
}

.content-cards .card h4:after {
  display: none;
}

.content-cards .card.no-link {
  cursor: default;
}

.content-cards .card.no-link h2:after, .content-cards .card.no-link h3:after, .content-cards .card.no-link h4:after, .content-cards .card.no-link h5:after {
  display: none;
}

.content-cards .card.no-link:hover {
  background: inherit;
  color: inherit;
  cursor: default;
}

.content-cards .card .card__media {
  box-sizing: border-box;
  width: 100%;
  display: block;
}

.content-cards .card .card__media img {
  object-fit: cover;
  object-position: top;
  width: 100%;
  height: 250px;
  margin-bottom: 0;
  display: block;
}

@container media (width <= 150px) {
  .content-cards .card .card__media img {
    height: 100px;
  }
}

.content-cards .card .card__body {
  padding: var(--step-0) var(--step--1) var(--step--2) var(--step--1);
  container-type: inline-size;
}

.content-cards .card .card__body p {
  font-size: .9rem;
}

@media (width >= 1024px) {
  .content-cards .card .card__body p {
    font-size: .9rem;
  }
}

@container (width <= 210px) {
  .content-cards .card .card__body > p {
    font-size: .7rem;
  }
}

@media (width >= 1024px) {
  .content-cards .card .card__body {
    padding: var(--step-0);
  }
}

.content-cards .card h4 {
  margin-bottom: var(--step--1);
  line-height: 1;
}

.content-cards .card h4:after {
  content: "";
  color: #d2a041;
  margin-left: .25rem;
  font-family: "Font Awesome 7 Whiteboard";
  font-size: 1rem;
  transition: all .3s;
  display: inline-block;
}

.content-cards .card h4.card__title a {
  font-size: var(--step-1);
  color: #000;
  font-weight: 600;
}

.content-cards .card h4.card__title a:hover {
  text-decoration: underline;
}

.content-cards .card:hover h4:after {
  color: #000;
}

.content-cards .card:hover h4 a {
  text-decoration: underline;
}

.content-cards a.card * {
  color: #000;
}

.content-cards a.card:hover {
  text-decoration: none;
}

.content-cards a.card:hover h1, .content-cards a.card:hover h2, .content-cards a.card:hover h3, .content-cards a.card:hover h4 {
  text-decoration: underline;
}

@media (width >= 768px) {
  .content-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (width >= 1024px) {
  .content-cards {
    flex: none;
  }
}

.accommodation-block {
  flex-wrap: wrap;
  gap: 2rem;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
  position: relative;
}

@media (width >= 768px) {
  .accommodation-block {
    gap: 0;
  }
}

.accommodation-block .image-block {
  z-index: 0;
  order: 2;
  margin-bottom: 1.5rem;
}

@media (width >= 768px) {
  .accommodation-block .image-block {
    order: 0;
    width: 50%;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.accommodation-block .image-block img {
  object-fit: cover;
  border-radius: 8px;
  width: 100%;
  height: auto;
  display: block;
}

.accommodation-block .image-block .gallery {
  display: flex;
}

.accommodation-block .image-block .gallery ul {
  justify-content: space-between;
  width: 100%;
  margin: .75rem 0 0;
}

.accommodation-block .image-block .gallery ul li {
  flex: 0 0 calc(25% - .5rem);
}

.accommodation-block .image-block .gallery ul li img {
  object-fit: cover;
  height: 100%;
}

.accommodation-block .text-block {
  z-index: 1;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

@media (width >= 768px) {
  .accommodation-block .text-block {
    width: 50%;
    margin-bottom: 0;
    padding-left: 8.33%;
  }
}

.accommodation-block .text-block .button {
  margin-top: 1rem;
}

.accommodation-block .text-block ul {
  margin: 1rem 1rem 2rem 2rem;
}

.accommodation-block .text-block ul li {
  font-size: .8rem;
  line-height: 1.75;
}

@media (width >= 1024px) {
  .accommodation-block .text-block ul li {
    font-size: 1rem;
  }
}

.accommodation-block .text-block blockquote {
  text-align: center;
  margin: 1rem auto;
}

.accommodation-block .text-block blockquote p {
  margin-bottom: 0;
  font-family: ivypresto-display, serif;
  font-size: 1.25rem;
}

@media (width >= 1024px) {
  .accommodation-block .text-block blockquote p {
    font-size: 1.5rem;
  }
}

.accommodation-block .text-block blockquote p span.small {
  font-size: 1.25rem;
  line-height: 1.5;
  display: block;
}

@media (width >= 1024px) {
  .accommodation-block .text-block blockquote p span.small {
    text-align: center;
    font-size: 1.3125rem;
  }
}

.accommodation-block ul.accommdation__legend {
  columns: 2;
  padding: var(--step-3);
  margin: var(--step-0) 0;
  background-color: #ddded0;
  border-radius: 8px;
  font-weight: 400;
  list-style: none;
  display: block;
}

.accommodation-block ul.accommdation__legend li {
  min-width: 150px;
  font-size: .9rem;
  line-height: 2;
}

.accommodation-block ul.accommdation__legend li i {
  color: #666d40;
  width: 20px;
  margin-right: .25rem;
}

.accommodation-block.image-right .image-block {
  order: 2;
  margin-top: 1.5rem;
}

@media (width >= 768px) {
  .accommodation-block.image-right .image-block {
    margin-top: 0;
    margin-bottom: 0;
  }
}

.accommodation-block.image-right .text-block {
  padding-left: 0;
}

@media (width >= 768px) {
  .accommodation-block.image-right .text-block {
    padding-right: 8.33%;
  }
}

.accommodation-block.no-padding .text-block {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

@media (width <= 1024px) {
  .accommodation-block.no-padding .text-block {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.accommodation-block > picture {
  position: absolute;
  inset: 0;
}

.accommodation-block > picture img {
  object-fit: cover;
  object-position: center center;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.accommodation-block.full-width {
  padding-left: 0;
  padding-right: 0;
}

.accommodation-block.full-width .image-block {
  margin-bottom: 0;
}

.accommodation-block.full-width .text-block {
  padding-left: 5%;
  padding-right: 5%;
}

.image-text-block.boxed {
  gap: 0;
  display: flex;
}

@media (width >= 1024px) {
  .image-text-block.boxed {
    flex-wrap: nowrap;
    align-items: stretch;
  }

  .image-text-block.boxed .image-block, .image-text-block.boxed .text-block {
    width: 50%;
  }
}

.image-text-block.boxed .image-block {
  margin: 0;
  display: flex;
}

.image-text-block.boxed .image-block img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.image-text-block.boxed .text-block {
  background-color: #fff;
  flex-direction: column;
  justify-content: center;
  padding: 5%;
  display: flex;
  box-shadow: 0 0 30px #0000001a;
}

@media (width <= 1024px) {
  .image-text-block.boxed .text-block {
    order: 2;
  }
}

.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley {
  border: none;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}

embed, iframe, object {
  max-width: 100%;
}

.custom-logo-link {
  display: inline-block;
}

.wp-caption {
  max-width: 100%;
  margin-bottom: 1.5em;
}

.wp-caption .wp-caption-text {
  margin: .8075em 0;
}

.wp-caption-text {
  text-align: center;
}

.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  text-align: center;
  vertical-align: top;
  width: 100%;
  display: inline-block;
}

.gallery-caption {
  display: block;
}

.video-modal {
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  justify-content: center;
  align-items: center;
  transition: opacity .3s, visibility .3s;
  display: flex;
  position: fixed;
  inset: 0;
}

.video-modal.active {
  opacity: 1;
  visibility: visible;
}

.video-modal .video-modal-overlay {
  opacity: 0;
  background: #000c;
  transition: opacity .3s;
  position: absolute;
  inset: 0;
}

.video-modal.active .video-modal-overlay {
  opacity: 1;
}

.video-modal .video-modal-content {
  z-index: 1;
  opacity: 0;
  width: 100%;
  max-width: min(1000px, 92vw);
  margin: 0 2rem;
  transition: opacity .3s, transform .3s;
  position: relative;
  transform: translateY(-10px);
}

.video-modal.active .video-modal-content {
  opacity: 1;
  transform: translateY(0);
}

.video-modal .video-modal-close {
  cursor: pointer;
  color: #dfd1c1;
  background: #666d40;
  border: 0;
  border-radius: 50px;
  width: 45px;
  height: 45px;
  padding: 0;
  font-size: 2rem;
  line-height: 1;
  position: absolute;
  top: -3.25rem;
  right: 0;
}

.video-modal .video-wrapper {
  background: #000;
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}

.video-modal .video-wrapper iframe {
  border: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.has-modal-open {
  overflow: hidden;
}

.green-cards .card-grid article {
  box-shadow: none;
  background-color: #ddded0;
}

.green-cards .card-grid article h4:after {
  color: #666d40;
}

.green-cards .card-grid article:hover h4:after, .green-cards .card-grid article:hover h4 a {
  color: #000;
}

.latest-news-block h2:first-of-type {
  position: relative;
}

.latest-news-block h2:first-of-type:before {
  content: "";
  background-image: url("leaf.fed626d3.png");
  background-size: cover;
  width: 20px;
  height: 27px;
  display: block;
  position: absolute;
  top: 5px;
  left: -17px;
}

.deer:after {
  content: "";
  background-image: url("deer.fe59dba4.png");
  background-size: cover;
  width: 164px;
  height: 154px;
  display: none;
  position: absolute;
  bottom: -3px;
}

@media (width >= 1024px) {
  .deer:after {
    display: block;
  }
}

.bird {
  position: relative;
}

.bird:after {
  content: "";
  z-index: 11;
  background-image: url("bird.750b95a2.png");
  background-size: cover;
  width: 178px;
  height: 128px;
  display: none;
  position: absolute;
  bottom: -5px;
  right: 10%;
}

@media (width >= 1024px) {
  .bird:after {
    display: block;
  }
}

.img-400-200.image-text-block .image-block.layout-3 picture:first-of-type img {
  max-height: 400px;
}

.img-400-200.image-text-block .image-block.layout-3 picture img {
  max-height: 200px;
}

@media (width <= 1024px) {
  .contact-full-width {
    text-align: center;
  }
}

@media (width >= 1024px) {
  .locations .card .card__media img {
    height: 250px;
  }
}

.site-map ul.site-map__legend {
  columns: 2;
  padding: var(--step-3);
  margin: var(--step-0) 0;
  background-color: #ddded0;
  border-radius: 8px;
  list-style: none;
  display: block;
}

.site-map ul.site-map__legend li {
  line-height: 2;
}

.site-map ul.site-map__legend li i {
  color: #666d40;
  margin-right: .25rem;
}

.blog #latest-post, .blog #single-post-header, .single-post #latest-post, .single-post #single-post-header, .archive #latest-post, .archive #single-post-header, .category #latest-post, .category #single-post-header {
  background: var(--background-colour);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  height: 80vh;
  max-height: 600px;
  padding: 0 calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
  position: relative;
}

.blog #latest-post:after, .blog #single-post-header:after, .single-post #latest-post:after, .single-post #single-post-header:after, .archive #latest-post:after, .archive #single-post-header:after, .category #latest-post:after, .category #single-post-header:after {
  content: "";
  background: linear-gradient(90deg, #00000080 30% 66%);
  display: block;
  position: absolute;
  inset: 0;
}

.blog #blog-intro {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 3rem;
  padding-left: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  padding-right: calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
  position: relative;
}

.blog #blog-intro .intro {
  margin-left: auto;
  margin-right: auto;
}

.blog #blog-intro .intro p {
  margin-bottom: 0;
  font-size: large;
}

@media (width >= 1024px) {
  .blog #blog-intro .intro {
    max-width: 66.667%;
  }
}

.blog #posts {
  flex-wrap: wrap;
  gap: 1rem;
  padding: 3rem calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
  display: flex;
}

.blog #posts article.post-card {
  scroll-snap-align: start;
  background-color: #f1d296;
  border-radius: .5rem;
  flex-direction: column;
  flex: 0 0 calc(50% - .5rem);
  display: flex;
  overflow: hidden;
}

.blog #posts article.post-card:nth-of-type(2n) {
  background-color: #dfd1c1;
}

.blog #posts article.post-card:nth-of-type(3n) {
  background-color: #ddded0;
}

.blog #posts article.post-card .post-card__link {
  flex-direction: column;
  min-height: 100%;
  display: flex;
}

.blog #posts article.post-card .post-card__content {
  padding: var(--step--1);
  text-align: center;
  flex-direction: column;
  flex: auto;
  justify-content: space-between;
  height: 100%;
  display: flex;
}

.blog #posts article.post-card .post-card__content h3 {
  margin-bottom: var(--step--2);
  font-size: 1.25rem;
  line-height: 1;
}

@media (width >= 1024px) {
  .blog #posts article.post-card .post-card__content h3 {
    margin: 1rem 0;
    font-size: 1.9rem;
  }
}

.blog #posts article.post-card .post-card__content .post-card__meta {
  font-size: var(--step--2);
  font-weight: 600;
}

@media (width >= 1024px) {
  .blog #posts article.post-card .post-card__content .post-card__meta {
    font-size: var(--step--1);
  }

  .blog #posts article.post-card .post-card__content {
    padding: var(--step-1);
  }
}

.blog #posts article.post-card a, .blog #posts article.post-card a:hover, .blog #posts article.post-card a:focus {
  color: #000;
  text-decoration: none;
}

.blog #posts article.post-card picture {
  flex: none;
  position: relative;
}

.blog #posts article.post-card picture .post-card__category {
  z-index: 1;
  color: #fff;
  font-size: var(--step--2);
  background-color: #666d40;
  border-radius: 4px;
  padding: .25rem .5rem;
  display: block;
  position: absolute;
  bottom: .5rem;
  right: .5rem;
}

@media (width >= 1024px) {
  .blog #posts article.post-card picture .post-card__category {
    font-size: var(--step--1);
    bottom: 1rem;
    right: 1rem;
  }
}

.blog #posts article.post-card a picture, .blog #posts article.post-card img {
  width: 100%;
  display: block;
}

.blog #posts article.post-card img {
  object-fit: cover;
  -webkit-user-drag: none;
  user-drag: none;
  pointer-events: none;
  width: 100%;
  height: 150px;
}

@media (width >= 1024px) {
  .blog #posts article.post-card img {
    height: 230px;
  }
}

.blog #posts article.post-card:hover h3 {
  text-decoration: underline;
}

@media (width >= 1024px) {
  .blog #posts article.post-card {
    flex: 0 0 calc(33.33% - 1rem);
  }
}

.single-post #single-post-header {
  min-height: 600px;
  position: relative;
}

.single-post #single-post-header #single-post-header-content {
  text-align: center;
  margin: 0 auto;
}

.blog #lp-content, .blog #single-post-header-content, .single-post #lp-content, .single-post #single-post-header-content, .archive #lp-content, .archive #single-post-header-content, .category #lp-content, .category #single-post-header-content {
  z-index: 1;
}

.blog #lp-content *, .blog #single-post-header-content *, .single-post #lp-content *, .single-post #single-post-header-content *, .archive #lp-content *, .archive #single-post-header-content *, .category #lp-content *, .category #single-post-header-content * {
  color: #fff;
}

.blog #lp-content h1, .blog #single-post-header-content h1, .single-post #lp-content h1, .single-post #single-post-header-content h1, .archive #lp-content h1, .archive #single-post-header-content h1, .category #lp-content h1, .category #single-post-header-content h1 {
  margin-bottom: 0;
}

.blog #lp-content p, .blog #single-post-header-content p, .single-post #lp-content p, .single-post #single-post-header-content p, .archive #lp-content p, .archive #single-post-header-content p, .category #lp-content p, .category #single-post-header-content p {
  font-size: var(--step-0);
  margin-bottom: var(--step-1);
}

@media (width >= 1024px) {
  .blog #lp-content p, .blog #single-post-header-content p, .single-post #lp-content p, .single-post #single-post-header-content p, .archive #lp-content p, .archive #single-post-header-content p, .category #lp-content p, .category #single-post-header-content p {
    font-size: var(--step-1);
  }
}

.blog #lp-content .post-meta, .blog #single-post-header-content .post-meta, .single-post #lp-content .post-meta, .single-post #single-post-header-content .post-meta, .archive #lp-content .post-meta, .archive #single-post-header-content .post-meta, .category #lp-content .post-meta, .category #single-post-header-content .post-meta {
  margin-top: var(--step-5);
  position: absolute;
  bottom: 2rem;
  left: 0;
  right: 0;
}

.blog #lp-content .post-meta span.date, .blog #single-post-header-content .post-meta span.date, .single-post #lp-content .post-meta span.date, .single-post #single-post-header-content .post-meta span.date, .archive #lp-content .post-meta span.date, .archive #single-post-header-content .post-meta span.date, .category #lp-content .post-meta span.date, .category #single-post-header-content .post-meta span.date {
  margin-top: var(--step--3);
  font-family: ivypresto-display, serif;
  display: block;
}

.blog #lp-content .button, .blog #single-post-header-content .button, .single-post #lp-content .button, .single-post #single-post-header-content .button, .archive #lp-content .button, .archive #single-post-header-content .button, .category #lp-content .button, .category #single-post-header-content .button {
  border-color: #fff;
}

.blog #lp-content .button:hover, .blog #single-post-header-content .button:hover, .single-post #lp-content .button:hover, .single-post #single-post-header-content .button:hover, .archive #lp-content .button:hover, .archive #single-post-header-content .button:hover, .category #lp-content .button:hover, .category #single-post-header-content .button:hover {
  color: #666d40;
}

@media (width >= 1024px) {
  .blog #lp-content, .blog #single-post-header-content, .single-post #lp-content, .single-post #single-post-header-content, .archive #lp-content, .archive #single-post-header-content, .category #lp-content, .category #single-post-header-content {
    max-width: 75%;
  }
}

.blog #lp-image, .blog #single-post-image, .single-post #lp-image, .single-post #single-post-image, .archive #lp-image, .archive #single-post-image, .category #lp-image, .category #single-post-image {
  display: block;
  position: absolute;
  inset: 0;
}

.blog #lp-image img, .blog #single-post-image img, .single-post #lp-image img, .single-post #single-post-image img, .archive #lp-image img, .archive #single-post-image img, .category #lp-image img, .category #single-post-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.single-post .wp-block-heading {
  margin-top: var(--step-3) !important;
}

section#single-post {
  display: block;
}

section#single-post img {
  border-radius: 0;
}

@media (width <= 768px) {
  section#single-post .wp-block-image {
    width: 100%;
    display: block;
  }

  section#single-post .wp-block-image .alignleft, section#single-post .wp-block-image .alignright {
    float: none;
    margin: 0;
  }
}

#post-footer {
  padding: 2rem calc(1rem + 40vw - min(90vw, 75rem) / 2.5);
}

html {
  scroll-behavior: smooth;
}
/*# sourceMappingURL=main.css.map */
