/*!***********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./library/src/scss/styles.scss ***!
  \***********************************************************************************************************************/
@charset "UTF-8";
/* Webfont: OccamsEraser */
@font-face {
  font-family: "OccamsEraser";
  src: url("../../.././library/dist/fonts/Occams%20Eraser%20Registered%20Version.woff2") format("woff2"), url("../../.././library/dist/fonts/Occams%20Eraser%20Registered%20Version.otf") format("opentype"); /* Safari, Android, iOS */
  font-display: swap;
  font-style: normal;
  font-weight: normal;
  text-rendering: optimizeLegibility;
}
/*

Variable Base Styles
===========

*/
:root {
  /* @link https://utopia.fyi/type/calculator?c=360,15,1.2,1200,20,1.25,6,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
  /* 
  --step--2: 10.41 / 12.8
  --step--1: 12.5 / 16
  --step-0: 15 / 20
  --step-1: 18 / 25
  --step-2: 21.6 / 31.25
  --step-3: 25.92 / 39.06
  --step-4: 31.10 / 48.82 
  --step-5: 37.32 / 61.03 
  --step-6: 44.78 / 76.29
  */
  /* Step -2: 10.4167px → 12.8px */
  --step--2: clamp(0.651rem, 0.5872rem + 0.2837vw, 0.8rem);
  /* Step -1: 12.5px → 16px */
  --step--1: clamp(0.7813rem, 0.6875rem + 0.4167vw, 1rem);
  /* Step 0: 15px → 20px */
  --step-0: clamp(0.9375rem, 0.8036rem + 0.5952vw, 1.25rem);
  /* Step 1: 18px → 25px */
  --step-1: clamp(1.125rem, 0.9375rem + 0.8333vw, 1.5625rem);
  /* Step 2: 21.6px → 31.25px */
  --step-2: clamp(1.35rem, 1.0915rem + 1.1488vw, 1.9531rem);
  /* Step 3: 25.92px → 39.0625px */
  --step-3: clamp(1.62rem, 1.268rem + 1.5646vw, 2.4414rem);
  /* Step 4: 31.104px → 48.8281px */
  --step-4: clamp(1.944rem, 1.4692rem + 2.11vw, 3.0518rem);
  /* Step 5: 37.3248px → 61.0352px */
  --step-5: clamp(2.3328rem, 1.6977rem + 2.8227vw, 3.8147rem);
  /* Step 6: 44.7898px → 76.2939px */
  --step-6: clamp(2.7994rem, 1.9555rem + 3.7505vw, 4.7684rem);
  /* https://utopia.fyi/type/calculator/?c=360,15,1.2,1200,17,1.25,6,2,&s=0.75%7C0.5%7C0.25,1.5%7C2%7C3%7C4%7C6,s-l&g=s,l,xl,12 */
  /* Alt Sizes */
  /* Step 0: 15px → 17px */
  --alt-step-0: clamp(0.9375rem, 0.8839rem + 0.2381vw, 1.0625rem);
  /* Step 1: 18px → 21.25px */
  --alt-step-1: clamp(1.125rem, 1.0379rem + 0.3869vw, 1.3281rem);
  /* Step 2: 21.6px → 26.5625px */
  --alt-step-2: clamp(1.35rem, 1.2171rem + 0.5908vw, 1.6602rem);
  /* @link https://utopia.fyi/space/calculator?c=360,16,1.2,1200,22,1.25,5,2,&s=0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
  /* 
  Space 2xs: 4px → 6px
  Space xs: 8px → 11px
  Space s: 16px → 22px
  Space m: 24px → 33px
  Space l: 32px → 44px
  Space xl: 48px → 66px
  Space 2xl: 64px → 88px
  Space 3xl: 96px → 132px 
  */
  --space-2xs: clamp(0.25rem, 0.1964rem + 0.2381vw, 0.375rem);
  --space-xs: clamp(0.5rem, 0.4196rem + 0.3571vw, 0.6875rem);
  --space-s: clamp(1rem, 0.8393rem + 0.7143vw, 1.375rem);
  --space-m: clamp(1.5rem, 1.2589rem + 1.0714vw, 2.0625rem);
  --space-l: clamp(2rem, 1.6786rem + 1.4286vw, 2.75rem);
  --space-xl: clamp(3rem, 2.5179rem + 2.1429vw, 4.125rem);
  --space-2xl: clamp(4rem, 3.3571rem + 2.8571vw, 5.5rem);
  --space-3xl: clamp(6rem, 5.0357rem + 4.2857vw, 8.25rem);
  /* Space s-m: 16px → 33px */
  --space-s-m: clamp(1rem, 0.5446rem + 2.0238vw, 2.0625rem);
  --space-s-l: clamp(1rem, 0.25rem + 3.3333vw, 2.75rem);
  --space-64-160: clamp(4rem, -8.387rem + 25.81vw, 10rem);
  --grid-gap: var(--space-m);
  --leading-fine: 1.25;
  --leading-standard: 1.35;
  --max-site-width: 1140px;
  --base-0: hsla(0, 0%, 98%, 1);
  --base-100: hsla(0, 8%, 95%, 1);
  --base-200: hsla(0, 7%, 89%, 1);
  --base-300: hsla(0, 7%, 75%, 1);
  --base-400: hsla(0, 7%, 60%, 1);
  --base-500: rgb(171, 23, 173);
  --base-600: rgb(171, 23, 173);
  --base-700: hsla(11, 8%, 27%, 1);
  --base-800: hsla(0, 9%, 16%, 1);
  --base-900: hsla(0, 13%, 6%, 1);
  --earthy-green-50: hsla(159, 21%, 37%, 1);
  --earthy-green-100: hsla(160, 36%, 25%, 1);
  --earthy-green-200: hsla(159, 36%, 17%, 1);
  --deep-brown-50: hsla(26, 16%, 36%, 1);
  --deep-brown-100: hsla(27, 30%, 24%, 1);
  --deep-brown-100-trans: hsla(27, 30%, 24%, 0.75);
  --deep-brown-200: hsla(26, 30%, 16%, 1);
  --warm-orange-50: hsla(36, 100%, 73%, 1);
  --warm-orange-100: hsla(26, 100%, 66%, 1);
  --warm-orange-200: hsla(26, 88%, 42%, 1);
  --tranquil-cream-50: hsla(30, 63%, 97%, 1);
  --tranquil-cream-100: hsla(26, 71%, 93%, 1);
  --tranquil-cream-200: hsla(34, 66%, 74%, 1);
  --cosy-red-50: hsla(357, 58%, 44%, 1);
  --cosy-red-100: hsla(353, 61%, 31%, 1);
  --cosy-red-200: hsla(347, 61%, 16%, 1);
  --semi-trans-1: rgba(252 247 242 / 0.15);
  --semi-trans-2: rgba(252 247 242 / 0.45);
  --brand: var(--cosy-red-100);
  --brand-alt: var(--cosy-red-50);
  --action: var(--warm-orange-50);
  --action-alt: var(--warm-orange-100);
  --action-alt-alt: var(--warm-orange-200);
  --secondary-action: var(--earthy-green-100);
  --secondary-action-alt: var(--earthy-green-200);
  --success-color: #15892a;
  --success-bg-color: #d1e7dd;
  --info-color: #1289a0;
  --info-bg-color: #cff4fc;
  --warning-color: #664d03;
  --warning-bg-color: #fff3cd;
  --danger-color: #7a0c17;
  --danger-bg-color: #f8d7da;
  --danger-strong-color: #dc3545;
  --muted-color: var(--base-300);
  --subtle-color: var(--base-400);
  --font-base: Baskerville, Baskerville Old Face, Hoefler Text Garamond, Times New Roman, serif;
  --font-special: "OccamsEraser", Impact, Arial Black, system-ui, sans-serif;
  --link-color: currentColor;
  --link-color-hover: var(--action-alt);
  --link-color-active: var(--action-alt-alt);
  --link-text-decoration-color: var(--action);
  --link-text-decoration-color-active: var(--action-alt);
  --link-outline-color-focus: var(--action);
  --button-text-color: var(--deep-brown-200);
  --button-bg-color: var(--action);
  --button-bg-color-hover: var(--action-alt);
  --button-outline-color-focus: var(--action);
  --secondary-button-text-color: var(--base-0);
  --secondary-button-bg-color: var(--secondary-action);
  --secondary-button-bg-color-hover: var(--secondary-action-alt);
  --tertiary-button-text-color: var(--deep-brown-200);
  --tertiary-button-bg-color: transparent;
  --tertiary-button-border-color: var(--action);
  --tertiary-button-border-color-hover: var(--action-alt);
  --tile-border-color: var(--deep-brown-200);
  --tile-subtle-color: var(--tranquil-cream-200);
  --tile-xsubtle-color: var(--tranquil-cream-100);
  --tile-light-color: var(--tranquil-cream-50);
  --tile-dark-color: var(--deep-brown-200);
  --tile-loud-color: var(--warm-orange-100);
  --tile-cta-color: var(--earthy-green-200);
  --input-border-color: var(--deep-brown-50);
  --input-border-color-hover: var(--deep-brown-200);
  --input-background-color: var(--base-100);
  --input-background-color-hover: var(--base-0);
  --wpcf7-box-shadow-color: var(--base-800);
  --pagination-border-color: var(--deep-brown-50);
  --pagination-background-color: var(--base-200);
  --pagination-background-active: var(--base-200);
  --radius-sml: 4px;
  --radius-med: 8px;
  --radius-lrg: 16px;
  --radius-xlrg: 44px;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-text-size-adjust: none;
  text-size-adjust: none;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
    scroll-padding-top: 1.5rem;
  }
}
/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  min-height: 100vh;
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

ul, ol, dd, menu, dl, figure, pre, table, fieldset, legend, hr,
h1, h2, h3, h4, h5, h6, p, a {
  margin: 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
p {
  text-wrap: pretty;
}

/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  transform: translateY(-0.25ex);
}

sub {
  transform: translateY(0.25ex);
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

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

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

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

/*

Links
=====

	<a href="">this is a link</a>
	<a class="is-selected" href="">this link is selected</a>

*/
a[class=""],
a:not([class]),
.sim-link,
.fake-link {
  color: var(--link-color);
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: var(--link-text-decoration-color);
  text-decoration-skip-ink: auto;
  text-underline-offset: 1px;
  transition: text-decoration-color 0.2s ease-out, color 0.2s ease-out;
}
a[class=""]:hover,
a:not([class]):hover,
.sim-link:hover,
.fake-link:hover {
  color: var(--link-color);
  text-decoration-thickness: 3px;
  text-decoration-color: var(--link-text-decoration-color-active);
}
a[class=""]:active,
a:not([class]):active,
.sim-link:active,
.fake-link:active {
  color: var(--link-color-active);
  text-decoration-color: var(--link-text-decoration-color-active);
}

:is(.tile--subtle, .tile--loud) > .tile__inner a[class=""],
:is(.tile--subtle, .tile--loud) > .tile__inner a:not([class]),
:is(.tile--subtle, .tile--loud) > .tile__inner .fake-link {
  --link-text-decoration-color: var(--base-100);
  --link-text-decoration-color-active: var(--base-0);
  --link-color-active: var(--base-0);
}

.unstyled-link {
  color: inherit;
  text-decoration: none;
}
.unstyled-link:hover {
  color: var(--link-color-hover);
}
.unstyled-link:active {
  color: var(--link-color-active);
}
.unstyled-link:focus-visible {
  outline: 2px dashed var(--link-outline-color-focus);
  outline-offset: 0.25em;
}

.hover--underline {
  color: inherit;
  text-decoration: none;
  text-decoration: inherit;
}
.hover--underline:hover, .hover--underline:focus {
  text-decoration: underline;
  text-decoration-color: var(--link-text-decoration-color-active);
  text-decoration-skip-ink: auto;
  text-underline-offset: 1px;
  transition: text-decoration-color 0.2s ease-out, color 0.2s ease-out;
}

.breakout-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--link-text-decoration-color);
  text-decoration-thickness: 2px;
  text-decoration-skip-ink: auto;
  text-underline-offset: 1px;
  transition: background 100ms ease;
  position: static;
}

.breakout-link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.breakout-link:focus {
  outline: none;
}

.breakout-link:focus::before {
  outline: 2px solid var(--link-outline-color-focus);
  outline-offset: 4px;
}

:focus-visible,
.tile > details:has(:focus-visible) {
  outline: 2px dashed var(--link-outline-color-focus);
  outline-offset: 0.25em;
}

/* Helpers
   ========================================================================== */
.g-logo,
.h-hide-text {
  text-indent: 9999px;
  white-space: nowrap;
  overflow: hidden;
}

.h-hidden {
  display: none !important;
  visibility: hidden;
}

@media all and (max-width: 47.9375em) {
  .h-hidden-from-medium-down {
    display: none !important;
    visibility: hidden;
  }
}

@media all and (max-width: 63.9375em) {
  .h-hidden-from-large-down {
    display: none !important;
    visibility: hidden;
  }
}

@media all and (min-width: 48em) {
  .h-hidden-from-medium-up {
    display: none !important;
    visibility: hidden;
  }
}

@media all and (min-width: 64em) {
  .h-hidden-from-large-up {
    display: none !important;
    visibility: hidden;
  }
}

@media all and (max-width: 74.9375em) {
  .h-hidden-from-wide-down {
    display: none !important;
    visibility: hidden;
  }
}

.screen-reader-response,
.h-screen-reader-text,
.h-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 0;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  white-space: nowrap;
  word-wrap: normal !important;
}

nav ul,
.h-plain-list {
  list-style: none;
  list-style-image: none;
}

.h-center-text {
  text-align: center;
}

.h-left-text {
  text-align: left;
}

.h-right-text {
  text-align: right;
}

.h-centered {
  margin-inline-end: auto;
  margin-inline-start: auto;
  justify-content: center;
}

@media all and (max-width: 47.9375em) {
  .h-centered--until-medium-down {
    margin-inline-end: auto;
    margin-inline-start: auto;
    justify-content: center;
  }
}

.h-sticky-item {
  position: sticky !important;
  inset-block-start: 2rem;
}

.h--full {
  width: 100%;
}

.h-max-width-25-260 {
  max-width: min(25ch, 260px) !important;
}

.h-max-width-25 {
  max-width: 25ch !important;
}

.h-max-width-45 {
  max-width: 45ch !important;
}

.h-max-width-65 {
  max-width: 65ch !important;
}

.h-max-width-75 {
  max-width: 75ch !important;
}

.h-max-width-80 {
  max-width: 80ch !important;
}

.h-max-width-90 {
  max-width: 90ch !important;
}

.h-max-width-fit-content {
  max-width: fit-content;
}

.h-bordered-top {
  border-block-start: 1px solid;
}

.h-bordered-top--subtle {
  border-block-start-color: var(--deep-brown-200);
}

.h-skipnav {
  background: transparent;
  color: var(--black);
  inset-inline-start: 0;
  padding: 1rem 1.5rem;
  position: absolute;
  inset-block-start: -4.2rem;
  transition: all 0.2s ease-in-out;
  z-index: 100;
}

.h-skipnav:focus {
  background: var(--white);
  inset-inline-start: 0;
  outline: 0;
  position: absolute;
  inset-block-start: 0;
  transition: all 0.2s ease-in-out;
}

.h-has-progress-line {
  --progress-line-width: 2px;
  --progress-line-height: 60px;
}
@media all and (min-width: 48em) {
  .h-has-progress-line {
    --progress-line-height: 80px;
  }
}
@media all and (min-width: 64em) {
  .h-has-progress-line {
    --progress-line-height: 110px;
  }
}
.h-has-progress-line::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(0% - var(--progress-line-height) / 2);
  margin: auto;
  background-color: var(--tile-loud-color);
  z-index: 10;
  width: var(--progress-line-width);
  height: var(--progress-line-height);
}

.h-content-has-progress-line {
  --content-progress-line-width: 2px;
  --content-progress-line-height: 40px;
  position: relative;
  padding-block-end: calc(var(--content-progress-line-height) + 2rem);
}
@media all and (min-width: 48em) {
  .h-content-has-progress-line {
    --progress-line-height: 80px;
  }
}
.h-content-has-progress-line::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(0% - var(--content-progress-line-height) / 8);
  margin: auto;
  background-color: goldenrod;
  z-index: 10;
  width: var(--content-progress-line-width);
  height: var(--content-progress-line-height);
}

[class*=h-has-decoration-] {
  position: relative;
  overflow: hidden;
}
[class*=h-has-decoration-]:before {
  content: "";
  width: 100%;
  background-repeat: no-repeat;
  position: absolute;
}

.h-has-decoration-mini-mountains {
  padding-block-start: 58px;
  background-color: var(--tile-light-color);
}
.h-has-decoration-mini-mountains:before {
  width: 102%;
  height: 58px;
  margin-block-start: -56px;
  background-image: url(../../.././library/dist/img/divider-mini-mountains.svg);
  background-size: cover;
  background-position: 50% 0px;
}

.h-has-decoration-trees {
  padding-block-start: 200px;
}
.h-has-decoration-trees:before {
  height: 139px;
  margin-block-start: -138px;
  background-image: url(../../.././library/dist/img/redwood-trees-footer.svg);
  background-repeat: repeat-x;
  background-position: 50% 0px;
  aspect-ratio: auto 1440/139;
}

.tile__inner:has([class*=h-is-decoration-]) {
  overflow: hidden;
}
.tile__inner:has([class*=h-is-decoration-]) > *:not([class*=h-is-decoration-]) {
  z-index: 10;
  position: relative;
}

[class*=h-is-decoration-] {
  overflow: hidden;
  background-repeat: no-repeat;
  position: absolute;
  z-index: 10;
  background-position: center center;
}

.h-is-decoration-tree-rings-medium-1 {
  top: 15px;
  left: -310px;
  width: 560px;
  height: 586px;
  background-image: url(../../.././library/dist/img/tree-rings-large-1.svg);
  background-size: 560px 586px;
}
.h-is-decoration-tree-rings-medium-1.to-right {
  right: -310px;
  left: auto;
}
.tile--loud > .tile__inner .h-is-decoration-tree-rings-medium-1 {
  opacity: 0.4;
}

.h-is-decoration-tree-rings-large-1 {
  top: -50px;
  left: -310px;
  width: 560px;
  height: 586px;
  background-image: url(../../.././library/dist/img/tree-rings-large-1.svg);
  background-size: 560px 586px;
}
.h-is-decoration-tree-rings-large-1.to-right {
  right: -310px;
  left: auto;
}
.tile--loud > .tile__inner .h-is-decoration-tree-rings-large-1 {
  opacity: 0.4;
}

.h-is-decoration-tree-rings-large-2 {
  --bottom-value: -270px;
  bottom: var(--bottom-value);
  right: -362px;
  width: 560px;
  height: 586px;
  background-image: url(../../.././library/dist/img/tree-rings-large-1.svg);
  background-size: 560px 586px;
  rotate: 38deg;
}

.h-is-decoration-tree-rings-large-3 {
  top: -25px;
  left: -235px;
  width: 390px;
  height: 407px;
  background-image: url(../../.././library/dist/img/tree-rings-large-1.svg);
  background-size: 390px 407px;
  rotate: 275deg;
}

.h-is-decoration-tree-rings-large-4,
.h-is-decoration-tree-rings-large-4-middle {
  --top-value: -20px;
  top: var(--top-value);
  right: -55px;
  width: 390px;
  height: 407px;
  background-image: url(../../.././library/dist/img/tree-rings-large-1.svg);
  background-size: 390px 407px;
  rotate: 36deg;
}

.h-is-decoration-tree-rings-large-5,
.h-is-decoration-tree-rings-large-5-height-adjust {
  --top-value: -16px;
  --left-value: -235px;
  top: var(--top-value);
  left: var(--left-value);
  width: 330px;
  height: 345px;
  background-image: url(../../.././library/dist/img/tree-rings-large-1.svg);
  background-size: 330px 345px;
  rotate: 254deg;
}

.h-is-decoration-tree-rings-large-6 {
  top: -25px;
  right: -270px;
  width: 390px;
  height: 407px;
  background-image: url(../../.././library/dist/img/tree-rings-large-1.svg);
  background-size: 390px 407px;
  rotate: 36deg;
}

.tile__inner:has([class*=h-is-decoration-]) {
  container-type: inline-size;
  container-name: treeRings;
}

@container treeRings (width < 1000px) {
  .h-is-decoration-tree-rings-large-2 {
    display: none;
  }
}
@container treeRings (width > 700px) {
  .h-is-decoration-tree-rings-large-1 {
    top: -110px;
    left: -350px;
    width: 670px;
    height: 701px;
    background-size: 670px 701px;
  }
}
@container treeRings (width > 1000px) {
  .h-is-decoration-tree-rings-medium-1 {
    top: 15px;
    left: -645px;
    width: 1265px;
    height: 800px;
    background-size: 1265px 800px;
  }
  .h-is-decoration-tree-rings-large-1 {
    top: -350px;
    left: -645px;
    width: 1265px;
    height: 1324px;
    background-size: 1265px 1324px;
  }
  .h-is-decoration-tree-rings-large-3 {
    top: -5px;
  }
  .h-is-decoration-tree-rings-large-4 {
    top: -12px;
  }
  .h-is-decoration-tree-rings-large-5,
  .h-is-decoration-tree-rings-large-5-height-adjust {
    --top-value: -21px;
    width: 390px;
    height: 407px;
    background-size: 390px 407px;
  }
}
@media (height <= 700px) {
  .h-is-decoration-tree-rings-large-4-middle {
    display: none;
  }
}
@media (height > 700px) {
  .h-is-decoration-tree-rings-large-4-middle {
    top: 50%;
    transform: translateY(-50%);
  }
  .h-is-decoration-tree-rings-large-5-height-adjust {
    --top-value: 300px;
  }
}
@media (height > 1100px) {
  .h-is-decoration-tree-rings-large-5-height-adjust {
    --top-value: 550px;
  }
}
/**
* Globals - Low-specificity styling for global elements which appear on every page of the site
* ------------------ **/
body {
  color: var(--deep-brown-200);
  background-color: var(--tile-light-color);
  min-width: 320px;
  width: 100%;
  margin: 0;
  font-size: var(--alt-step-1);
  font-family: var(--font-base);
  line-height: var(--leading-standard);
}

.wrapper,
.wp-block-group .wp-block-group__inner-container {
  margin-inline: auto;
  width: 94%;
  max-width: clamp(16rem, var(--max-site-width, 100vw), 80rem);
  padding-left: var(--grid-gap);
  padding-right: var(--grid-gap);
  position: relative;
}

.site-global-container {
  position: relative;
}

.g-logo {
  --g-logo-width: 77px;
  --g-logo-height: 85px;
  background-image: url(../../.././library/dist/img/site-logo-stacked-white.svg);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: var(--g-logo-width) var(--g-logo-height);
  display: block;
  height: var(--g-logo-height);
  width: var(--g-logo-width);
  margin-left: auto;
  margin-right: auto;
  vertical-align: middle;
  max-width: 100%;
}
@media all and (min-width: 64em) {
  .g-logo {
    --g-logo-width: 104px;
    --g-logo-height: 107px;
  }
}

.site-header__brand-and-nav {
  position: relative;
}

@media print {
  * {
    background: transparent !important;
    color: #000 !important; /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group; /* h5bp.com/t */
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  img {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
  }
}
/*

Icons
======

https://css-tricks.com/creating-a-maintainable-icon-system-with-sass/

*/
/* This triggers a redraw in IE to Fix IE8's :before content rendering. */
.icon,
[class^=icon--right-]:after,
[class*=" icon--right-"]:after,
[class^=icon--left-]:before,
[class*=" icon--left-"]:before {
  display: inline-block;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: 0 0;
  width: 2.63rem;
  height: 2.63rem;
  fill: currentColor;
  background-size: 2.63rem;
}

[class*=icon--left-],
[class*=icon--right-] {
  position: relative;
}

[class*=icon--left-] {
  padding-inline-start: 52px !important;
}

[class*=icon--right-] {
  padding-inline-end: 52px !important;
}

[class*=icon--left-]:before,
[class*=icon--right-]:after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  transform: translate(0, -50%);
}

[class*=icon--left-]:before {
  inset-inline-start: 10px;
}

[class*=icon--right-]:after {
  inset-inline-end: 10px;
}

.icon.icon--xsmall,
.icon--xsmall:before,
.icon--xsmall:after {
  width: 0.625em;
  height: 0.625em;
  background-size: 0.625em;
}

.icon.icon--small,
.icon--small:before,
.icon--small:after {
  width: 1em;
  height: 1em;
  background-size: 1em;
}

.icon--small[class*=icon--left-] {
  padding-inline-start: 27px !important;
}

.icon--small[class*=icon--left-]:before {
  inset-inline-start: 5px;
}

.icon--small[class*=icon--right-] {
  padding-inline-end: 27px !important;
}

.icon--small[class*=icon--right-]:after {
  inset-inline-end: 5px;
}

.icon--large,
.icon--large:before,
.icon--large:after {
  width: 2.476em;
  height: 2.476em;
  background-size: 2.476em;
}

.icon--large[class*=icon--left-] {
  padding-inline-start: 94px !important;
}

.icon--large[class*=icon--left-]:before {
  inset-inline-start: 15px;
}

.icon--large[class*=icon--right-] {
  padding-inline-end: 94px !important;
}

.icon--large[class*=icon--right-]:after {
  inset-inline-end: 15px;
}

/* =======================================================================================
Example showing how to change the color/size of the icons:
.icon--name {
	font-size: 32px; // works because "width" & "height" were set using em units
	color: red; // works for single-colored icons, because "fill" was set to "currentColor"
}

.icon-tomato,
.icon--left-tomato:before,
.icon--right-tomato:after {
	background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/131442/tomato.svg);
}

Inline:
<span class="icon icon-{icon-name}"></span>

Prepend:
<div class="icon--left-{icon-name}"></div>

Append:
<div class="icon--right-{icon-name}"></div>

Size modifiers:
<span class="icon icon-{icon-name} icon--small"></span>
<div class="icon--right-{icon-name} icon--large"></div>
<span class="icon icon-{icon-name} icon--responsive"></span>


======================================================================================== */
/* External Links */
.icon-external,
.icon--left-external:before,
.icon--right-external:after {
  background-image: url("data:image/svg+xml;utf-8,<svg viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg\"><path id=\"icon_external\" d=\"M5.58862 1.21395L7.37407 2.90693L4.6959 5.44643L6.48135 7.1394L9.15952 4.5999L10.945 6.29288V1.2135H5.58832L5.58862 1.21395ZM2.01772 2.0604C1.52314 2.0604 1.125 2.43795 1.125 2.90685V9.6786C1.125 10.1476 1.52314 10.5251 2.01772 10.5251H9.15922C9.65377 10.5251 10.0519 10.1475 10.0519 9.6786V7.1391L9.15945 6.29258V9.67853H2.01817V2.90678H5.58892L4.69605 2.06025H2.01802L2.01772 2.0604Z\" fill=\"%232558e9\"/></svg>");
}

/* Arrow Icons */
.icon-down-arrow,
.icon--left-down-arrow:before,
.icon--right-down-arrow:after {
  background-image: url('data:image/svg+xml;utf-8,<svg viewBox="0 0 10 8" xmlns="http://www.w3.org/2000/svg"><path id="icon_down_arrow" d="M5 8L0.669873 0.499999L9.33013 0.5L5 8Z" fill="hsl(30, 63%, 97%)"/></svg>');
  transform: translate(0, 0);
  transition: all 0.25s ease;
}
.rotated .icon-down-arrow,
.rotated .icon--left-down-arrow:before,
.rotated .icon--right-down-arrow:after {
  transform: rotate(180deg);
}

/* Search Icon */
.icon-search,
.icon--left-search:before,
.icon--right-search:after {
  background-image: url("data:image/svg+xml;utf-8,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M23.2818 20.2183L18.0808 15.0172C19.0276 13.5147 19.5833 11.7412 19.5833 9.8335C19.5833 4.44825 15.2186 0.0834961 9.83334 0.0834961C4.44809 0.0834961 0.0833435 4.44933 0.0833435 9.8335C0.0833435 15.2187 4.44809 19.5835 9.83334 19.5835C11.7411 19.5835 13.5145 19.0277 15.0171 18.0809L20.2182 23.282C20.6407 23.7056 21.1953 23.9168 21.75 23.9168C22.3047 23.9168 22.8593 23.7056 23.2818 23.282C24.1279 22.4359 24.1279 21.0644 23.2818 20.2183ZM9.83334 15.2502C6.84659 15.2502 4.41668 12.8202 4.41668 9.8335C4.41668 6.84675 6.84659 4.41683 9.83334 4.41683C12.8201 4.41683 15.25 6.84675 15.25 9.8335C15.25 12.8202 12.8201 15.2502 9.83334 15.2502Z\" fill=\"%232558e9\"/></svg>");
}

/* Contact/Location Icons */
.icon-phone,
.icon--left-phone:before,
.icon--right-phone:after {
  background-image: url("data:image/svg+xml;utf-8,<svg viewBox=\"0 0 17 17\" xmlns=\"http://www.w3.org/2000/svg\"><path id=\"icon_phone\" d=\"M4.43889 3.33857C4.75877 3.65752 5.05579 3.95369 5.37566 4.27265C5.92402 4.81943 5.92402 5.45734 5.37566 6.00412C4.98725 6.39142 4.59883 6.77872 4.21041 7.16602C4.09617 7.25715 4.09617 7.34828 4.14187 7.48498C4.3932 8.10011 4.78161 8.66967 5.21573 9.19366C6.0611 10.2417 7.04357 11.1757 8.18597 11.882C8.4373 12.0415 8.71148 12.1554 8.9628 12.2921C9.09989 12.3604 9.19128 12.3376 9.28268 12.2237C9.67109 11.8136 10.0595 11.4263 10.4708 11.039C10.9963 10.515 11.636 10.515 12.1615 11.039C12.8013 11.6769 13.441 12.3149 14.0808 12.93C14.6063 13.454 14.6063 14.1147 14.0808 14.6615C13.7152 15.026 13.3268 15.3677 13.0069 15.755C12.5042 16.3018 11.8874 16.4841 11.1791 16.4385C10.1509 16.3929 9.19128 16.0284 8.25451 15.5955C6.19819 14.5931 4.46174 13.2262 2.99947 11.4947C1.92561 10.2189 1.01169 8.80636 0.440487 7.23437C0.166311 6.45977 -0.0393201 5.68516 0.00637594 4.86499C0.052072 4.36378 0.234856 3.93091 0.623272 3.56639C1.03454 3.17909 1.42295 2.769 1.81137 2.3817C2.33687 1.88049 2.97662 1.88049 3.50212 2.3817C3.79915 2.70065 4.11902 3.01961 4.43889 3.33857ZM12.7556 8.19123C12.5728 7.07489 12.0244 6.04968 11.2248 5.22951C10.3794 4.38656 9.28268 3.83978 8.09458 3.65752L7.91179 4.88777C8.84856 5.02447 9.67109 5.43456 10.3337 6.09525C10.9734 6.73316 11.3847 7.50776 11.5218 8.39628L12.7556 8.19123ZM16 7.96341C15.6801 6.09524 14.7891 4.38656 13.441 3.0424C12.0244 1.62988 10.2194 0.71858 8.23167 0.44519L8.04888 1.67545C9.76249 1.92606 11.3162 2.67788 12.5499 3.90813C13.7152 5.07003 14.4692 6.52811 14.7662 8.14567L16 7.96341Z\" fill=\"%232558e9\"/></svg>");
}

.icon-email,
.icon--left-email:before,
.icon--right-email:after {
  background-image: url("data:image/svg+xml;utf-8,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 13.595C11.285 13.595 10.57 13.442 9.905 13.135L0 8.563V20C0 21.105 0.895 22 2 22H22C23.105 22 24 21.105 24 20V8.563L14.095 13.135C13.43 13.442 12.715 13.595 12 13.595ZM22 2H2C0.895 2 0 2.895 0 4V6.36L10.743 11.318C11.542 11.686 12.459 11.687 13.258 11.318L24 6.36V4C24 2.895 23.105 2 22 2Z\" fill=\"%232558e9\"/></svg>");
}

/* Social Icons */
.icon-facebook,
.icon--left-facebook:before,
.icon--right-facebook:after {
  background-image: url("data:image/svg+xml;utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" xml:space=\"preserve\" id=\"Layer_1\" x=\"0\" y=\"0\" style=\"enable-background:new 0 0 33.6 33.6\" version=\"1.1\" viewBox=\"0 0 33.6 33.6\"><path d=\"M17.6 12.5c0-.5.3-.9.6-.9h2.5V8.8h-2.5c-2.1 0-3.6 1.8-3.6 4v1.5h-2.7V17h2.7v7.8h3V17h2.7l.5-2.6h-3.2v-1.9zM31.6 8.8c-2.2-4-6-7.1-10.6-8.2 4.6 1.1 8.4 4.2 10.6 8.2zM0 16.8c0-2.9.7-5.6 2-8-1.3 2.4-2 5.1-2 8zM31.6 8.8c1.3 2.4 2 5.1 2 8 0-2.9-.7-5.6-2-8zM12.6.6C8 1.7 4.2 4.8 2 8.8c2.2-4 6-7.1 10.6-8.2zM.6 21c1.2 4.6 4.2 8.4 8.2 10.6-4-2.2-7.1-6-8.2-10.6zM33 21c-1.2 4.6-4.2 8.4-8.2 10.6 4-2.2 7.1-6 8.2-10.6zM24.8 31.6c-2.4 1.3-5.1 2-8 2 2.9 0 5.6-.7 8-2zM16.8 33.6c-2.9 0-5.6-.7-8-2 2.4 1.3 5.1 2 8 2z\" class=\"st0\"/><path d=\"M33 21c.3-1.3.6-2.8.6-4.2 0-2.9-.7-5.6-2-8v-.1c-2.2-4-6-7.1-10.6-8.2-1.3-.3-2.7-.5-4.2-.5s-2.9.2-4.2.6C8 1.7 4.2 4.8 2 8.8v.1c-1.3 2.4-2 5.1-2 8 0 1.5.2 2.9.6 4.2 1.2 4.6 4.2 8.4 8.2 10.6h.1c2.4 1.3 5.1 2 8 2s5.6-.7 8-2h.1c3.8-2.3 6.9-6.1 8-10.7zm-12.7-4h-2.7v7.8h-3V17h-2.7v-2.6h2.7v-1.5c0-2.2 1.5-4 3.6-4h2.5v2.8h-2.5c-.3 0-.6.4-.6.9v1.8h3.2l-.5 2.6z\" style=\"fill:%23ffffff\"/></svg>");
}

.icon-instagram,
.icon--left-instagram:before,
.icon--right-instagram:after {
  background-image: url("data:image/svg+xml;utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"38\" height=\"38\" viewBox=\"0 0 38 38\"><path d=\"M19,38A19.005,19.005,0,0,1,11.6,1.493,19,19,0,0,1,26.4,36.507,18.88,18.88,0,0,1,19,38Zm.193-30.259c-2.04,0-3.851.031-4.726.08a6.759,6.759,0,0,0-4.8,1.845,6.762,6.762,0,0,0-1.85,4.8c-.108,1.9-.108,7.551,0,9.45a6.735,6.735,0,0,0,1.85,4.8,6.79,6.79,0,0,0,4.8,1.85c.875.05,2.686.081,4.726.081s3.85-.031,4.725-.081a6.732,6.732,0,0,0,4.8-1.85,6.78,6.78,0,0,0,1.85-4.8c.108-1.9.108-7.547,0-9.446a6.731,6.731,0,0,0-1.85-4.8,6.778,6.778,0,0,0-4.8-1.85C23.044,7.771,21.233,7.741,19.193,7.741ZM21.219,28.6h0c-.428,0-.841,0-1.205-.008-.3,0-.581-.006-.817-.006s-.509,0-.8.005c-.358,0-.762.007-1.183.007a16.409,16.409,0,0,1-4.769-.473,3.872,3.872,0,0,1-2.178-2.177c-.513-1.294-.484-4.088-.466-5.937,0-.3.006-.579.006-.815s0-.506-.005-.8c-.018-1.858-.044-4.663.465-5.956a3.867,3.867,0,0,1,2.178-2.177,16.136,16.136,0,0,1,4.731-.474c.429,0,.842,0,1.206.008.3,0,.577.006.814.006s.505,0,.795-.005c.356,0,.758-.007,1.177-.007a16.461,16.461,0,0,1,4.78.473,3.866,3.866,0,0,1,2.177,2.177c.513,1.293.484,4.087.466,5.936,0,.3-.006.579-.006.815s0,.516.006.813c.019,1.853.047,4.65-.466,5.939a3.872,3.872,0,0,1-2.177,2.177A16.154,16.154,0,0,1,21.219,28.6ZM19.2,13.321a5.864,5.864,0,1,0,4.155,1.717A5.837,5.837,0,0,0,19.2,13.321Zm6.113-1.61a1.37,1.37,0,1,0,1.37,1.37A1.371,1.371,0,0,0,25.309,11.711ZM19.2,23.011a3.818,3.818,0,1,1,3.818-3.818A3.823,3.823,0,0,1,19.2,23.011Z\" transform=\"translate%280 0%29\" fill=\"%23ffffff\"/></svg>");
}

.icon-social-x,
.icon--left-social-x:before,
.icon--right-social-x:after {
  background-image: url("data:image/svg+xml;utf-8,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 33.6 33.6\" style=\"enable-background:new 0 0 33.6 33.6;\" xml:space=\"preserve\"><g><polygon class=\"st0\" points=\"10.6,10 20.9,23 23.2,23 13,10\"/><path class=\"st0\" d=\"M16.8,0C7.5,0,0,7.5,0,16.8s7.5,16.8,16.8,16.8s16.8-7.5,16.8-16.8S26.1,0,16.8,0z M20.3,24l-4.7-5.9L9.9,24 H8.4l6.6-6.7L8.4,9h0h0h5.1l4.3,5.4L23.1,9h1.5l-6.1,6.3l6.9,8.7H20.3z\" style=\"fill:%23ffffff\"/></g></svg>");
}

.icon-linkedin,
.icon--left-linkedin:before,
.icon--right-linkedin:after {
  background-image: url("data:image/svg+xml;utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" xml:space=\"preserve\" style=\"enable-background:new 0 0 34 34\" viewBox=\"0 0 34 34\"><path d=\"M17 0c9.4 0 17 7.6 17 17s-7.6 17-17 17S0 26.4 0 17 7.6 0 17 0zm-5.3 26.6V13.3H7.3v13.3h4.4zm15.9 0V19c0-4.1-2.2-6-5.1-6-2.3 0-3.4 1.3-4 2.2v-1.9h-4.4c.1 1.2 0 13.3 0 13.3h4.4v-7.4c0-.4 0-.8.1-1.1.3-.8 1-1.6 2.3-1.6 1.6 0 2.2 1.2 2.2 3v7.1h4.5zM9.5 6.9C8 6.9 7 7.9 7 9.2c0 1.3 1 2.3 2.4 2.3 1.5 0 2.5-1 2.5-2.3 0-1.3-.9-2.3-2.4-2.3z\" style=\"fill:%23ffffff\"/></svg>");
}

/*

Images
======

    <img alt="" class="img-rounded" src="http://fillmurray.com/300/300" />
    <img alt="" class="img-circle" src="http://fillmurray.com/300/300" />
    <img alt="" class="img-polaroid" src="http://fillmurray.com/300/300" />

*/
img,
picture {
  max-width: 100%;
  display: block;
  height: auto !important;
}

.img-rounded {
  border-radius: 4px;
}

.img-circle {
  border-radius: 50%;
}

.img-ownheight {
  height: revert-layer !important;
}

.wp-block-image.size-full {
  margin-block-end: 0;
}

.wp-block-image.size-full img,
img.fullwidth {
  width: 100%;
  max-width: auto;
}

/*

Headings
========

    <h1>This is the primary headline</h1>
    <h2>This is the secondary headline</h2>
    <h3>This is the tertiary headline</h3>
    <h4>This is the average headline</h4>
    <h5>This is the small headline</h5>
    <h6>This is the micro headline</h6>

*/
:is(h1, h2, h3, h4, h5, h6, .heading-text):not(.alt-heading-text):not(.body-text) {
  font-family: var(--font-special);
  text-transform: uppercase;
  font-weight: normal;
  letter-spacing: 0.025em;
}

.alt-heading-text {
  font-family: var(--font-base);
  font-style: italic;
  font-weight: normal;
  text-transform: none;
}

.body-text {
  font-family: var(--font-base);
  font-weight: normal;
}

:is(.step-6, .step-5, .step-4, blockquote) {
  --flow-space: 1.5em;
}

:is(.step-6, .step-5, .step-4) + *:not(.h-visually-hidden) {
  --flow-space: 0.7em;
}

:is(.step-6, .step-5, .step-4) {
  text-wrap: balance;
}

.step-6 {
  font-size: var(--step-6);
  line-height: 1.2;
  max-width: 25ch;
}
.step-6.alt-heading-text {
  line-height: 1.1;
}

.step-5 {
  font-size: var(--step-5);
  line-height: 1.25;
  max-width: 30ch;
}
.step-5.alt-heading-text {
  line-height: 1.15;
}

.step-4 {
  font-size: var(--step-4);
  line-height: 1.25;
  max-width: 36ch;
}
.step-4.alt-heading-text {
  line-height: 1.15;
}

.step-3 {
  font-size: var(--step-3);
  line-height: 1.3;
}
.step-3.alt-heading-text {
  line-height: 1.2;
}

.step-2 {
  font-size: var(--step-2);
  line-height: 1.3;
}
.step-2.alt-heading-text {
  line-height: 1.2;
}

.step-1 {
  font-size: var(--step-1);
  line-height: 1.25;
}
.step-1.alt-heading-text {
  line-height: 1.15;
}

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

/*

Body Copy
========

    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ac ligula non felis fermentum tincidunt. Suspendisse sapien odio, vestibulum euismod metus at, aliquet dapibus purus. Suspendisse lacinia sit amet ante eget gravida.</p>

    <p class="lead">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ac ligula non felis fermentum tincidunt. Suspendisse sapien odio, vestibulum euismod metus at, aliquet dapibus purus. Suspendisse lacinia sit amet ante eget gravida.</p>

*/
/* --- used if wanting to style the first paragraph slightly differently --- */
.lead,
.entry-content > p:first-of-type {
  font-size: var(--alt-step-2);
  max-width: 60ch;
  text-wrap: balance;
}

.lead + *,
.entry-content > p:first-of-type + * {
  --flow-space: var(--space-m);
}

.entry-content > p {
  max-width: 72ch;
}

::-moz-selection {
  background: var(--warm-orange-200);
}

::selection {
  background: var(--warm-orange-200);
}

/*

Body Copy Classes
=================

    <p class="text-muted">faded out a little</p>
    <p class="text-brand">this really is something to look at</p>
    <p class="text-success">winner, winner. chicken dinner!</p>
    <p class="text-info">just a bit of info</p>
    <p class="text-warning">be careful now, take heed</p>
    <p class="text-danger">ooh, high voltage</p>

*/
.text-muted {
  color: var(--muted-color);
}

.text-subtle {
  color: var(--subtle-color);
}

.text-light {
  color: var(--base-0);
}

.text-dark {
  color: var(--deep-brown-200);
}

.text-brand {
  color: var(--brand);
}

.text-success {
  color: var(--success-color);
}

.text-info {
  color: var(--info-color);
}

.text-warning {
  color: var(--warning-color);
}

.text-danger {
  color: var(--danger-color);
}

/*

Quotes
===========
	The HTML <q> element indicates that the enclosed text is a short inline quotation. 
	This element is intended for short quotations that don't require paragraph breaks; 
	for long quotations use the <blockquote> element.

    <p>
    	When Dave asks HAL to open the pod bay door, HAL answers: 
    	<q cite="https://www.imdb.com/title/tt0062622/quotes/qt0396921">I'm sorry, Dave. I'm afraid I can't do that.</q>
    </p>

*/
q {
  quotes: "“" "”";
}

/*
Blockquotes
===========

    <blockquote>
        <p>You can put a cat in an oven, but that don't make it a biscuit.</p>
    </blockquote>

*/
blockquote:not(.testimonial__content__blockquote) {
  background-color: var(--tile-xsubtle-color);
  border-left: 4px solid;
  border-color: var(--tile-subtle-color);
  color: var(--base-900);
  margin-left: 0;
  margin-right: 0;
  padding: var(--space-m);
  position: relative;
  overflow: hidden;
}
blockquote:not(.testimonial__content__blockquote):after {
  content: "";
  display: block;
  background-image: url(../../.././library/dist/img/trees-trunks-pattern.svg);
  background-position: center right;
  width: 532px;
  height: 419px;
  position: absolute;
  right: -110px;
  top: 50%;
  transform: translateY(-50%);
}

.testimonial__content {
  font-style: italic;
  margin-bottom: 0;
  position: relative;
}

.testimonial__caption {
  font-style: normal;
}

.testimonial__content__blockquote {
  margin: 0;
}

.slide .testimonial__content__blockquote {
  padding-inline-start: var(--space-m);
  padding-inline-end: var(--space-m);
}

/*

Miscellaneous Typography
=======================

	<p><strong>rendered as bold text</strong></p>

	<p><em>rendered as italic text</em></p>

	<p><del>rendered as deleted text</del></p>

	<p><dfn>defines a definition term</dfn></p>

	<p><abbr title="extended abbr text should show when mouse over">&lt;abbr&gt; abbr - extended text when mouseover.</abbr></p>
	<p><acronym title="extended acronym text should show when mouse over">&lt;acronym&gt; acronym - extended text when mouseover.</acronym></p>

	<address>This would be rendered the address</address>

	<small>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</small>


*/
.strong,
strong {
  font-weight: 700;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted rgba(0, 0, 0, 0.3);
  cursor: help;
}

.small,
small {
  font-size: var(--alt-step-0);
  line-height: var(--leading-fine);
}

.xsmall {
  font-size: var(--step--2);
  line-height: var(--leading-fine);
}

kbd {
  color: rgb(102, 102, 102);
  font-family: inherit;
  font-size: 87.5%;
  line-height: 90%;
  background-color: rgb(249, 249, 249);
  margin: 0 var(--space-xs);
  border: 1px solid rgb(233, 233, 233);
  border-radius: var(--radius-sml);
  padding: 0.3334em 0.5em;
  box-shadow: inset 0 1px 0 rgb(255, 255, 255);
}

mark {
  background-color: rgb(240, 222, 188);
  line-height: 90%;
  padding: 0 0.125em;
}

/*

Unordered Lists
===============

	<ul>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<ul>
			<li>An unordered list item</li>
			<li>An unordered list item</li>
			<li>An unordered list item</li>
			<li>An unordered list item</li>
		</ul>
	</ul>

*/
ul {
  list-style-position: inside;
  padding-inline-start: 0;
}

.content ul {
  text-indent: -1.4em;
  padding-inline-start: 1.4em;
}

ul ul {
  padding-inline-start: 1.4em;
}

/*

## Ordered Lists
```
<ol>
	<li>An unordered list item</li>
	<li>An unordered list item</li>
	<li>An unordered list item</li>
	<li>An unordered list item</li>
	<ol>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
	</ol>
</ol>
```
*/
ol {
  list-style-position: inside;
  padding-inline-start: 0;
}

.content ol {
  counter-reset: foo;
  display: table;
}

.content ol > li {
  list-style: none;
  counter-increment: foo;
  display: table-row;
}

.content ol > li:before {
  content: counter(foo) ".";
  display: table-cell;
  text-align: left;
  padding-inline-end: 0.5em;
}

/*

## Description Lists

```
<dl>
    <dt>Term</dt>
    <dd>Description</dd>
    <dt>Term</dt>
    <dd>Description</dd>
</dl>
...

*/
dl {
  list-style-position: inside;
  padding-inline-start: 0;
}

dt {
  font-weight: bold;
}

dd {
  margin-inline-start: 0;
}

/*
  Special Lists 
*/
.column-list {
  width: fit-content;
}
.column-list > li {
  list-style-type: none;
  display: flex;
}
.column-list > li:before {
  content: "— ";
  display: inline-block;
  margin-inline-end: var(--space-m);
}

/*

Main Navigation
===============

	<nav class="main-nav" role="navigation">
		<ul class="main-nav-list">
			<li class="main-nav-item"><a class="main-nav-link" href="">A main link</a></li>
			<li class="main-nav-item"><a class="main-nav-link" href="">A main link</a></li>
			<li class="main-nav-item"><a class="main-nav-link" href="">A main link</a></li>
			<li class="main-nav-item"><a class="main-nav-link" href="">A main link</a></li>
		</ul>
	</nav>

*/
.main-menu {
  background-color: var(--deep-brown-200);
  padding: var(--space-2xs) var(--space-m);
}
@media all and (min-width: 64em) {
  .main-menu {
    background-color: rgba(252, 247, 242, 0.15);
    border-radius: 50px;
  }
}

.main-menu__list {
  --grid-gap: var(--space-2xs);
}
@media all and (min-width: 64em) {
  .main-menu__list {
    --grid-gap: var(--space-2xs);
    display: flex;
    justify-content: flex-start;
    gap: var(--grid-gap);
  }
}
@media all and (min-width: 75em) {
  .main-menu__list {
    --grid-gap: var(--space-xs);
  }
}
@media all and (min-width: 90.625em) {
  .main-menu__list {
    --grid-gap: var(--space-s);
  }
}

.main-menu__list .menu-item {
  position: relative;
  vertical-align: top;
}
@media all and (min-width: 64em) {
  .main-menu__list .menu-item {
    align-items: center;
    display: flex;
    margin-inline-start: 0;
  }
}

.main-menu__list .menu-item a {
  color: var(--tranquil-cream-50);
  display: block;
  padding: var(--space-2xs);
  position: relative;
  text-decoration: none;
  transition: all 0.25s ease;
}
@media all and (max-width: 63.9375em) {
  .main-menu__list .menu-item a {
    padding: var(--space-xs) var(--space-2xs);
  }
}
.main-menu__list .menu-item a:hover, .main-menu__list .menu-item a:focus, .main-menu__list .menu-item a:active {
  color: var(--tranquil-cream-200);
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media all and (max-width: 63.9375em) {
  .main-menu__list .menu-item:not(:first-child) a {
    border-block-start: 1px solid var(--tranquil-cream-100);
  }
}

/* Sub Menus ---------------- */
.sub-menu {
  display: none;
  list-style: none;
  list-style-image: none;
  min-width: 220px;
  z-index: 300;
  padding-inline-start: 0;
  border: 2px solid var(--tranquil-cream-100);
}
@media all and (min-width: 64em) {
  .sub-menu {
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 100%;
    padding-inline-end: 0;
    background-color: var(--deep-brown-200);
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
    border-radius: var(--radius-med);
    overflow: hidden;
  }
}
.sub-menu .menu-item {
  float: none;
  margin: 0;
  padding: 0;
  display: block;
  white-space: pre-wrap;
  width: 100%;
  font-size: var(--step-0);
}

@media all and (min-width: 64em) {
  .main-menu__list .menu-item.menu-item-has-children > a {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
  }
}

.main-menu__list .menu-item.menu-item-has-children > a:not(:has(> .accordion-toggle)):after {
  display: inline-block;
  content: "";
  width: 10px;
  height: 1px;
}

@media all and (max-width: 63.9375em) {
  .main-menu__list .menu-item > .sub-menu a {
    border-inline-start: 2px solid var(--sub-menu-marker-color);
    padding-inline-start: var(--space-m);
  }
}
@media all and (min-width: 64em) {
  .main-menu__list .menu-item > .sub-menu a {
    border-block-start: 1px solid var(--sub-menu-divider-color);
  }
}

.main-menu__list .menu-item > .sub-menu a:hover, .main-menu__list .menu-item > .sub-menu a:active {
  background-color: var(--deep-brown-100);
}

.accordion-toggle {
  padding: 0 0.5em;
}
@media all and (max-width: 63.9375em) {
  .accordion-toggle {
    position: absolute;
    inset-block-start: 0;
    z-index: 100;
    inset-inline-end: 0;
    border-inline-start: 1px solid var(--base-200);
    height: 100%;
    display: flex;
    align-items: center;
    transition: all 0.25s ease;
  }
}

/* Active state for the nav links for the page currently being viewed  ---------------- */
.main-menu__list.current-menu-item a {
  color: var(--action-alt);
}

/* Main nav (Burger Menu) mobile button ---------------- */
.burger-menu__trigger.btn {
  display: none;
}

.burger-menu__bar,
.burger-menu__bar::before,
.burger-menu__bar::after {
  display: block;
  width: 24px;
  height: 3px;
  background: var(--base-0);
  border: 1px solid var(--base-0);
  position: absolute;
  border-radius: 3px;
  inset-inline-start: 50%;
  margin-inline-start: -12px;
  transition: transform 350ms ease-in-out;
}

.burger-menu__bar {
  inset-block-start: 50%;
  transform: translateY(-50%);
}

.burger-menu__bar::before,
.burger-menu__bar::after {
  content: "";
}

.burger-menu__bar::before {
  inset-block-start: -8px;
}

.burger-menu__bar::after {
  bottom: -8px;
}

.burger-menu[enabled=true] .burger-menu__trigger {
  --burger-menu__trigger-size: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 1;
  border: none;
  cursor: pointer;
  z-index: 110;
}

.burger-menu[enabled=true] .burger-menu__trigger .burger-menu__bar-wrapper {
  position: relative;
  width: var(--burger-menu__trigger-size);
  height: var(--burger-menu__trigger-size); /* Nice big tap target */
}

.burger-menu[enabled=true] .burger-menu__panel {
  width: 104.4%;
  visibility: hidden;
  opacity: 0;
  background: var(--button-bg-color);
  z-index: 100;
  -webkit-overflow-scrolling: touch;
  max-height: 0;
  transition: all 400ms ease;
  position: absolute;
  top: calc(100% + 10px);
  left: -2.2%;
  right: 0;
  bottom: 0;
}

.burger-menu[enabled=true] .navigation ul {
  display: block;
}

.burger-menu[enabled=true] .navigation ul > * + * {
  margin-block-start: 2rem;
}

.burger-menu[enabled=true] .navigation li {
  font-size: 1.5rem;
}

.burger-menu[enabled=true][status=open] .burger-menu__panel {
  visibility: visible;
  opacity: 1;
  max-height: 50em;
  transition: all 400ms ease;
}

.burger-menu[enabled=true][status=open] .burger-menu__panel > * {
  opacity: 1;
}

.burger-menu[enabled=true][status=open] .burger-menu__bar::before {
  inset-block-start: 0;
  transform: rotate(45deg);
}

.burger-menu[enabled=true][status=open] .burger-menu__bar::after {
  inset-block-start: 0;
  transform: rotate(-45deg);
}

.burger-menu[enabled=true][status=open] .burger-menu__bar {
  background: transparent;
  border-color: transparent;
  transform: rotate(180deg);
}

/*

Breadcrumb Navigation
=====================

<ol class="breadcrumb">
	<li><a href="#">Home</a></li>
	<li><a href="#">Categories</a></li>
	<li class="active">Animals</li>
</ol>

*/
.breadcrumb > span {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
}
.breadcrumb > span > span:not(:last-child):after {
  padding-inline-start: var(--space-2xs);
  display: inline-block;
}

@media all and (min-width: 64em) {
  .with-sidebar__body > .breadcrumb {
    margin-block-start: calc(var(--space-xl) * -1);
    margin-block-end: var(--space-xl);
  }
}

/*

Pagination Navigation
=====================

<nav class="pagination">
	<ul class="page-numbers">
		<li><a class="prev page-numbers" href="#0">←</a></li>
		<li><a class="page-numbers" href="#0">1</a></li>
		<li><span class="page-numbers current">2</span></li>
		<li><a class="page-numbers" href="#0">3</a></li>
		<li><a class="next page-numbers" href="#0">→</a></li>
	</ul>
</nav>

*/
.post-navigation {
  padding-block-start: var(--space-xl);
}

.pagination ul {
  padding: 0;
  text-indent: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-2xs);
}
.pagination a {
  text-decoration: none;
}
.pagination a:hover, .pagination a:focus, .pagination a:active {
  background-color: var(--pagination-background-color-active);
}
.pagination a, .pagination span {
  border: 1px solid var(--pagination-border-color);
  background-color: var(--pagination-background-color);
  display: block;
  padding: var(--space-2xs) var(--space-xs);
}
.pagination .page-numbers.current {
  background-color: var(--link-color-hover);
  color: var(--base-0);
}

/** 
FLOW COMPOSITION 
* ------------------
*
* Like the Every Layout stack: https://every-layout.dev/layouts/stack/
* Info about this implementation: https://piccalil.li/quick-tip/flow-utility/ 
*
* Adds spacing to the top of an element if it's not the first in the block.
*
*     <div class="flow flow--double">
*     	<p> ... </p>
*     	<p> ... </p>
*     	<p> ... </p>
* 	  </div>
*/
.flow > *:not(.h-visually-hidden, [class*=h-hidden-]) + * {
  --flow-space: 1em;
  margin-block-start: var(--flow-space, 1em);
}

.flow--eighth > *:not(.h-visually-hidden, [class*=h-hidden-]) + * {
  --flow-space: 0.125em;
}

.flow--quarter > *:not(.h-visually-hidden, [class*=h-hidden-]) + * {
  --flow-space: 0.25em;
}

.flow--half > *:not(.h-visually-hidden, [class*=h-hidden-]) + * {
  --flow-space: 0.5em;
}

.flow--double > *:not(.h-visually-hidden, [class*=h-hidden-]) + * {
  --flow-space: 2em;
}

.flow--triple > *:not(.h-visually-hidden, [class*=h-hidden-]) + * {
  --flow-space: 3em;
}

/**
* FLOW PADDING
* ------------------
*
* Like Flow Composition but with padding instead of margin
*
*     <p class="flow-padding"> ... </p>
*     <p> ... </p>
*/
.flow-padding > * + * {
  padding-block-start: var(--space-s);
}

.flow-padding--double > * + * {
  padding-block-start: calc(var(--space-s) * 2);
}

.flow-padding--triple > * + * {
  padding-block-start: calc(var(--space-s) * 3);
}

/*

Cramp object
------------

/// Remove typographic spacing from an element.
/// @group spacing

/// @example 
/// <p class="cramp"> ... </p>

*/
.cramp {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.cramp-upper {
  margin-block-start: 0 !important;
}

.cramp-lower {
  margin-block-end: 0 !important;
}

/*

Animations
=====================

*/
:where(html) {
  --ease-1: cubic-bezier(.25, 0, .5, 1);
  --ease-3: cubic-bezier(.25, 0, .3, 1);
  --ease-elastic-in-out-1: cubic-bezier(.5, -.1, .1, 1.5);
  --ease-elastic-in-out-3: cubic-bezier(.5, -.5, .1, 1.5);
  --animation-fade-in: fade-in .5s var(--ease-1);
  --animation-slide-in-up: slide-in-up .5s var(--ease-1);
  --animation-slide-in-left: slide-in-left .5s var(--ease-1);
}

.animate__bounce,
.home .page-hero__sub-title {
  animation-name: bounce;
  transform-origin: center bottom;
  animation-duration: 1.5s;
  animation-delay: 0.45s;
  animation-iteration-count: infinite;
}

@keyframes bounce {
  from, 20%, 53%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -8px, 0) scaleY(1.1);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -4px, 0) scaleY(1.05);
  }
  80% {
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }
  90% {
    transform: translate3d(0, 4px, 0) scaleY(1.02);
  }
}
/*

Horizontal Rules
======

/// Styling for horizontal dividing lines 
/// @group spacing
/// @example 
/// <hr class="rule">
/// <hr class="rule rule--dark">

*/
.rule {
  border: none;
  border-block-end-width: var(--progress-line-width);
  border-block-end-style: solid;
  color: var(--base-400);
}

.rule--dark {
  color: var(--base-800);
}

.rule--loud {
  color: var(--tile-loud-color);
}

/*

Blocks
======

/// Blocks are the most basic layout element in this theme.   
/// They are meant to act as full width dividing sections on a page.   
/// Sometimes a page will only have 1 block between the header & footer area.
/// You can add tile classes to a block to alter the colour and styling.
/// You **can** put a wrapper within a block.
/// Blocks **can** have top & bottom padding, but never left & right padding.
/// @group layout

/// @example
/// <div class="block">
///   <div class="wrapper">
///     <p>This is a block</p>
///   </div>
/// </div>

*/
.block > .tile__inner,
.wp-block-group > .wp-block-group__inner-container {
  --block-padding-top: var(--space-3xl);
  --block-padding-bottom: var(--space-3xl);
  padding-block-start: var(--block-padding-top);
  padding-block-end: var(--block-padding-bottom);
  position: relative;
}

.block--half-top > .tile__inner {
  padding-block-start: calc(var(--block-padding-top) * 0.5);
}

.block--half-bottom > .tile__inner {
  padding-block-end: calc(var(--block-padding-bottom) * 0.5);
}

.block--flat-top > .tile__inner {
  padding-block-start: 0;
}

.block--flat-bottom > .tile__inner {
  padding-block-end: 0;
}

@media all and (max-width: 47.9375em) {
  .block--flat-bottom-from-medium-down > .tile__inner {
    padding-block-end: 0;
  }
}

.block--quarter-top > .tile__inner {
  padding-block-start: calc(var(--block-padding-top) * 0.25);
}

.block--quarter-bottom > .tile__inner {
  padding-block-end: calc(var(--block-padding-bottom) * 0.25);
}

/*

Tiles
=====

<div class="tile">
	<p>This is a tile</p>
</div>

*/
.tile {
  position: relative;
}
.tile > .tile__inner {
  background-color: var(--base-0);
  display: flex;
  flex-direction: column;
  position: relative;
  align-items: var(--tile-vertical-alignment, flex-start);
}

/* Clickable Tile 

<a class="tile tile--clickable" tabindex="0">
	<p>This is a clickable tile</p>
</a>

*/
.tile--clickable {
  display: block;
  cursor: pointer;
  transition: 250ms cubic-bezier(0.5, 0, 0.1, 1);
}

.tile--clickable:hover,
.tile--clickable:focus-within {
  box-shadow: 0 0.75rem 1rem rgba(0, 0, 0, 0.3);
  transform: translateY(-0.25rem);
}

/* Raised Tile 

<div class="tile tile--raised">
	<p>This is a raised tile</p>
</div>

*/
.tile--raised {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
}

[class*=tile--rounded] {
  overflow: hidden;
}

.tile--rounded {
  border-radius: var(--radius-sml);
}

.tile--rounded-large {
  border-radius: var(--radius-lrg);
}

.tile--rounded-top-left-xlarge {
  border-start-start-radius: var(--radius-xlrg);
}

.tile--full-height,
.tile--full-height .tile__inner {
  height: 100%;
}

.tile--bordered > .tile__inner {
  border: 1px solid var(--tile-border-color);
}

.tile--bordered--subtle > .tile__inner {
  border-color: var(--tile-subtle-color);
}

.tile--subtle > .tile__inner {
  background-color: var(--tile-subtle-color);
}

.tile--bordered--xsubtle > .tile__inner {
  border-color: var(--tile-xsubtle-color);
}

.tile--xsubtle > .tile__inner {
  background-color: var(--tile-xsubtle-color);
}

.tile--trans > .tile__inner {
  background-color: transparent;
}

.tile--light > .tile__inner {
  background-color: var(--tile-light-color);
}

.tile--dark > .tile__inner {
  color: var(--tile-light-color);
  background-color: var(--tile-dark-color);
}
@media all and (min-width: 48em) {
  .js .tile--dark.grad-split > .tile__inner {
    background-image: linear-gradient(180deg, var(--tile-dark-color) 74%, var(--tile-light-color) 74%);
  }
}

.tile--loud > .tile__inner {
  background-color: var(--tile-loud-color);
}

.tile--cta > .tile__inner {
  color: var(--tile-light-color);
  background-color: var(--tile-cta-color);
}

/* Inner Tile 

<div class="tile">
	<div class="tile__inner tile__inner--padded">
		<p>This is a tile with inner padding</p>
	</div>
</div>

*/
.tile__inner {
  position: relative;
}

.tile__inner--padded {
  padding: var(--space-m);
}

.tile__inner--padded-top {
  padding-block-start: var(--space-m);
}

.tile__inner--padded-bottom {
  padding-block-end: var(--space-m);
}

.tile__inner--padded-small {
  padding: var(--space-s);
}

.tile__inner--padded-xsmall {
  padding: var(--space-2xs);
}

.tile__inner--padded-large {
  padding: var(--space-l);
}

/*

Alerts
=====================

<div class="alert alert--success">
	<div class="tile__inner">
		<p><strong>Well done!</strong> You successfully read this important alert message.</p>
	</div>
</div>

<div class="alert alert--info">
	<div class="tile__inner">
		<p><strong>Heads up!</strong> This alert needs your attention, but it's not super important.</p>
	</div>
</div>

<div class="alert alert--warning">
	<div class="tile__inner">
		<p><strong>Warning!</strong> Best check yo self, you're not looking too good.</p>
	</div>
</div>

<div class="alert alert--danger">
	<div class="tile__inner">
		<p><strong>Oh snap!</strong> Change a few things up and try submitting again.</p>
	</div>
</div>

*/
.alert > .tile__inner {
  border: 1px solid rgba(0, 0, 0, 0);
}

.alert--success > .tile__inner {
  color: var(--success-color);
  background-color: var(--success-bg-color);
}

.alert--info > .tile__inner {
  color: var(--info-color);
  background-color: var(--info-bg-color);
}

.alert--warning > .tile__inner {
  color: var(--warning-color);
  background-color: var(--warning-bg-color);
}

.alert--danger > .tile__inner {
  color: var(--danger-color);
  background-color: var(--danger-bg-color);
}

.switcher {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gutter, var(--space-xs));
  align-items: var(--switcher-vertical-alignment, flex-start);
}

.switcher > * {
  flex-grow: 1;
  flex-basis: calc((var(--switcher-target-container-width, 40rem) - 100%) * 999);
}

/* Max 2 items,
so anything greater than 2 is full width */
.switcher > :nth-child(n+3) {
  flex-basis: 100%;
}

.cluster {
  display: flex;
  flex-wrap: var(--flex-wrap, wrap);
  gap: var(--gutter, var(--space-xs));
  justify-content: var(--cluster-horizontal-alignment, flex-start);
  align-items: var(--cluster-vertical-alignment, center);
}

.cluster--h-align-center {
  --cluster-horizontal-alignment: center !important;
}

.cluster--h-align-between {
  --cluster-horizontal-alignment: space-between !important;
}

.cluster--h-align-start {
  --cluster-horizontal-alignment: flex-start !important;
}

.cluster--h-align-end {
  --cluster-horizontal-alignment: flex-end !important;
}

.cluster--v-align-start {
  --cluster-vertical-alignment: flex-start !important;
}

.cluster--v-align-end {
  --cluster-vertical-alignment: flex-end !important;
}

.cluster--nowrap {
  --flex-wrap: nowrap !important;
}

.cluster__item-no-shrink {
  flex-shrink: 0 !important;
}

.cluster__align-end {
  margin-block-start: auto !important;
}

.flow:has(> .cluster__align-end) > :nth-last-child(1) {
  padding-top: var(--flow-space, 1em);
}

/*

Tables
======

Styles for the tables

	<table>
		<thead>
			<tr>
				<th></th>
			</tr>
			<tr>
				<th></th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<th></th>
			</tr>
			<tr>
				<td></td>
			</tr>
		</tbody>
	</table>

*/
table {
  caption-side: bottom;
  border-spacing: 0;
}

td,
th {
  border-block-start: 1px solid;
  overflow-wrap: break-word;
  padding-inline-end: var(--space-m);
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

th {
  border-block-start: 0.0625rem solid;
  font-weight: bold;
  padding-block-end: var(--space-m);
}

td {
  border-color: rgba(102, 96, 102, 0.5);
  padding-block-end: var(--space-s);
}

caption {
  caption-side: bottom;
  color: var(--base-400);
  font-size: 0.75em;
  line-height: 1.3334;
  text-align: left;
  margin: var(--space-m) 0;
}

.rwd-table {
  min-width: 300px;
}
.rwd-table tr {
  border-block-start: 1px solid #ddd;
  border-block-end: 1px solid #ddd;
}
@media all and (max-width: 47.9375em) {
  .rwd-table th {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  .rwd-table th.focusable:active, .rwd-table th.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
  }
}
.rwd-table td {
  display: block;
}
.rwd-table td:first-child {
  padding-block-start: var(--space-s);
}
.rwd-table td:last-child {
  padding-block-end: var(--space-s);
}
.rwd-table td:before {
  content: attr(data-th) ": ";
  font-weight: bold;
  width: 8rem;
  display: inline-block;
}
@media all and (min-width: 48em) {
  .rwd-table td:before {
    display: none;
  }
}
.rwd-table th,
.rwd-table td {
  text-align: left;
}
@media all and (min-width: 48em) {
  .rwd-table th,
  .rwd-table td {
    display: table-cell;
    padding: var(--space-s) var(--space-m);
  }
  .rwd-table th:first-child,
  .rwd-table td:first-child {
    padding-inline-start: 0;
  }
  .rwd-table th:last-child,
  .rwd-table td:last-child {
    padding-inline-end: 0;
  }
}

/*------------------------------------*\
	$BEAUTONS.CSS
\*------------------------------------*/
/**
 * beautons is a beautifully simple button toolkit.
 *
 * LICENSE
 * 
 * Copyright 2013 Harry Roberts
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 */
/*!*
 * 
 * @csswizardry -- csswizardry.com/beautons
 * 
 */
/*------------------------------------*\
	$BASE
\*------------------------------------*/
/**
* Base button styles.
*
*  1. Allow us to better style box model properties.
*  2. Line different sized buttons up a little nicer.
*  3. Stop buttons wrapping and looking broken.
*  4. Make buttons inherit font styles.
*  5. Force all elements using beautons to appear clickable.
*  6. Normalise box model styles.
*  7. If the button’s text is 1em, and the button is (3 * font-size) tall, then
*     there is 1em of space above and below that text. We therefore apply 1.5em
*     of space to the left and right, as padding, to keep consistent spacing.
*  8. Basic cosmetics for default buttons. Change or override at will.
*  9. Fixes odd inner spacing in IE7.
* 10. Don’t allow buttons to have underlines; it kinda ruins the illusion.
* 11. Prevents from inheriting default anchor styles.
*/
.btn {
  display: inline-flex; /* [1] */
  flex-shrink: 0;
  white-space: nowrap; /* [3] */
  font-family: var(--font-special); /* [4] */
  text-transform: uppercase;
  font-weight: normal;
  font-size: 100%; /* [4] */
  cursor: pointer; /* [5] */
  border: 1px solid transparent; /* [6] */
  margin: 0; /* [6] */
  padding-block-start: 0; /* [6] */
  padding-block-end: 0; /* [6] */
  padding-inline-start: 1.5em; /* [7] */
  padding-inline-end: 1.5em; /* [7] */
  line-height: 3; /* [7] */
  height: 3em; /* [7] */
  background-color: var(--button-bg-color); /* [8] */
  border-radius: 0; /* [8] */
  border-bottom-right-radius: var(--radius-lrg);
  overflow: visible; /* [9] */
  text-decoration: none; /* [10] */
  color: var(--button-text-color);
}
.btn:hover,
.btn:focus,
.btn:active {
  text-decoration: none; /* [10] */
  color: var(--button-text-color); /* [11] */
  background-color: var(--button-bg-color-hover);
}
.btn:active {
  box-shadow: -2px 4px 6px rgba(0, 0, 0, 0.8) inset;
}
.btn::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*------------------------------------*\
	$SIZES
\*------------------------------------*/
/**
 * Button size modifiers.
 *
 * These all follow the same sizing rules as above; text is 1em, space around it
 * remains uniform.
 */
.btn--small {
  padding-inline-start: 1em;
  padding-inline-end: 1em;
  line-height: 2;
  height: 2em;
}

.btn--large {
  padding-inline-start: 2em;
  padding-inline-end: 2em;
  line-height: 4;
  height: 4em;
}

.btn--huge {
  padding-inline-start: 3em;
  padding-inline-end: 3em;
  line-height: 5;
  height: 5em;
}

/**
 * These buttons will fill the entirety of their container.
 *
 * 1. Remove padding so that widths and paddings don’t conflict.
 */
.btn--full {
  width: 100%;
  padding-inline-start: 0; /* [1] */
  padding-inline-end: 0; /* [1] */
  text-align: center;
}

/*------------------------------------*\
	$FONT-SIZES
\*------------------------------------*/
/**
 * Button font-size modifiers.
 */
.btn--alpha {
  font-size: 2rem;
}

.btn--beta {
  font-size: 1.5rem;
}

.btn--gamma {
  font-size: 1rem;
}

/**
 * Make the button inherit sizing from its parent.
 */
.btn--natural {
  vertical-align: baseline;
  font-size: inherit;
  line-height: inherit;
  height: auto;
  padding-inline-start: 0.75em;
  padding-inline-end: 0.75em;
}

/*------------------------------------*\
	$FUNCTIONS
\*------------------------------------*/
/**
 * Button function modifiers.
 */
.btn--secondary {
  color: var(--secondary-button-text-color);
  background-color: var(--secondary-button-bg-color);
}
.btn--secondary:hover,
.btn--secondary:focus,
.btn--secondary:active {
  color: var(--secondary-button-text-color);
  background-color: var(--secondary-button-bg-color-hover);
}

.btn--tertiary {
  background-color: var(--tertiary-button-bg-color);
  color: var(--button-text-color);
  border: 2px solid var(--tertiary-button-border-color);
}
.btn--tertiary.text-reverse {
  color: var(--secondary-button-text-color);
}
.btn--tertiary:hover, .btn--tertiary:focus, .btn--tertiary:active {
  background-color: var(--tertiary-button-bg-color);
  border-color: var(--tertiary-button-border-color-hover);
}
.btn--tertiary:active {
  box-shadow: 0px 0px 0px 2px var(--tertiary-button-border-color-hover) inset;
}

.btn--quaternary {
  background-color: var(--semi-trans-1);
  color: var(--secondary-button-text-color);
}
.btn--quaternary:hover, .btn--quaternary:focus, .btn--quaternary:active {
  background-color: var(--semi-trans-2);
  color: var(--secondary-button-text-color);
}

/**
 * Positive actions; e.g. sign in, purchase, submit, etc.
 */
.btn--positive {
  background-color: #4A993E;
  color: #fff;
}

/**
 * Negative actions; e.g. close account, delete photo, remove friend, etc.
 */
.btn--negative {
  background-color: #b33630;
  color: #fff;
}

/**
 * Inactive, disabled buttons.
 * 
 * 1. Make the button look like normal text when hovered.
 */
.btn--inactive,
.btn--inactive:hover,
.btn--inactive:active,
.btn--inactive:focus {
  background-color: #ddd;
  color: #777;
  cursor: default; /* [1] */
  box-shadow: none;
}

/*------------------------------------*\
	$STYLES
\*------------------------------------*/
/**
 * Button style modifiers.
 *
 * 1. Use an overly-large number to ensure completely rounded, pill-like ends.
 */
.btn--soft {
  border-radius: 200px; /* [1] */
}

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

/*

Forms
=====

<form action="/">
	<fieldset>
		<label for="name">Name</label>
		<input type="text" id="name" class="form-text" />
		<p class="form-help">This is help text under the form field.</p>
		<label for="email">Email</label>
		<input type="email" id="email" class="form-text" />
	</fieldset>
	<fieldset>
		<label for="gender">Gender</label>
		<select id="gender">
			<option>Male</option>
			<option>Female</option>
			<option>Cylon</option>
		</select>
	</fieldset>
	<fieldset class="radio">
		<label for="notifications">Notifications</label>
		<ul>
			<li><label><input type="radio" name="notifications" /> Send me email</label></li>
			<li><label><input type="radio" name="notifications" /> Don't send me email</label></li>
			<li><label><input type="radio" name="notifications" /> Send me flowers</label></li>
		</ul>
	</fieldset>
	<fieldset>
		<label for="url">URL</label>
		<input type="url" id="url" class="form-text" placeholder="http://yourdomain.com" />
	</fieldset>
	<fieldset>
		<label for="bio">Bio</label>
		<textarea id="bio"></textarea>
	</fieldset>
	<fieldset class="check">
		<label><input type="checkbox" /> I accept the terms of service and lorem ipsum.</label>
	</fieldset>
	<fieldset class="form-actions">
		<button type="submit">Submit</button>
	</fieldset>
</form>

*/
fieldset {
  border: none;
  padding: 0;
}

.field {
  display: block;
}

label,
.field__label {
  font-family: var(--font-special);
  text-transform: uppercase;
  letter-spacing: 0.035em;
}

.field__hint,
.field__label {
  display: block;
}
.field__hint > i,
.field__label > i {
  font-style: italic;
  font-family: var(--font-base);
  text-transform: none;
}

.field__hint {
  padding-block-start: var(--space-3xs);
  padding-block-end: var(--space-3xs);
  font-size: var(--step--1);
  font-weight: normal;
  line-height: var(--leading-fine);
}

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

legend + * {
  --flow-space: 0.3em;
}

fieldset > legend {
  padding-block-start: var(--space-2xs);
}

input:not([type=submit]):focus,
textarea:focus,
select:focus {
  outline: 2px solid var(--link-outline-color-focus);
  outline-offset: 0;
}

input[type=date] {
  appearance: none;
  min-height: 50px;
}

input[type=color],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
  display: block;
  background-color: var(--input-background-color);
}
input[type=color][disabled], input[type=color].is-disabled,
input[type=date][disabled],
input[type=date].is-disabled,
input[type=datetime][disabled],
input[type=datetime].is-disabled,
input[type=datetime-local][disabled],
input[type=datetime-local].is-disabled,
input[type=email][disabled],
input[type=email].is-disabled,
input[type=month][disabled],
input[type=month].is-disabled,
input[type=number][disabled],
input[type=number].is-disabled,
input[type=password][disabled],
input[type=password].is-disabled,
input[type=search][disabled],
input[type=search].is-disabled,
input[type=tel][disabled],
input[type=tel].is-disabled,
input[type=text][disabled],
input[type=text].is-disabled,
input[type=time][disabled],
input[type=time].is-disabled,
input[type=url][disabled],
input[type=url].is-disabled,
input[type=week][disabled],
input[type=week].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
textarea,
select {
  border-radius: var(--radius-sml);
  border: 1px solid var(--input-border-color);
  padding: var(--space-xs);
  width: 100%;
}
input[type=date]:hover,
input[type=email]:hover,
input[type=number]:hover,
input[type=password]:hover,
input[type=search]:hover,
input[type=tel]:hover,
input[type=text]:hover,
input[type=url]:hover,
textarea:hover,
select:hover {
  border-color: var(--input-border-color-hover);
  background-color: var(--input-background-color-hover);
}

input[type=submit] {
  text-transform: uppercase;
}

select {
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(to bottom, #ffffff 0%, #e4e4e4 100%);
  background-repeat: no-repeat, repeat;
  background-position: right 0.7em top 50%, 0 0;
  background-size: 0.65em auto, 100%;
}

textarea {
  clear: both;
  width: 100%;
}

input[type=password] {
  letter-spacing: 0.3em;
}

/* Inline Input Groups - Use to create an input field with an inline button touching next to it.

<form class="input-group">
	<label class="h-visually-hidden">Search for:</label>
	<input type="" class="sinput-group__content">
	<span class="input-group__button-container">
		<button type="submit" class="btn btn--primary">
			<span class="icon icon-search">
				<span class="h-visually-hidden">Search</span>
			</span>
		</button>
	</span>
</form>
*/
.input-group {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}

.input-group__content {
  border-start-end-radius: 0 !important;
  border-end-end-radius: 0 !important;
}

.input-group__button-container .btn {
  border-start-start-radius: 0 !important;
  border-end-start-radius: 0 !important;
  height: 100%;
}

.wpcf7,
.wpcf7-form {
  --grid-gap: var(--space-s);
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: var(--grid-gap);
  width: 100%;
}

.wpcf7-acceptance:has([type=checkbox]) .wpcf7-list-item-label {
  font-family: var(--font-base);
  text-transform: none;
}

.cf-response {
  min-width: 100%;
}

.wpcf7-acceptance label {
  display: inline-block;
  font-weight: normal;
  line-height: 1.5;
  text-transform: none;
}

.wpcf7-acceptance [type=checkbox] {
  margin-inline-start: -1em;
}

.wpcf7 form .wpcf7-response-output,
.mc4wp-response > .mc4wp-alert {
  margin-block-start: var(--space-xs);
  margin-block-end: var(--space-xs);
  margin-inline-start: 0;
  margin-inline-end: 0;
  color: #fff;
  padding: var(--space-s);
  border-radius: var(--radius-sml);
}

.wpcf7 form.init .wpcf7-response-output {
  display: none;
}

.wpcf7-not-valid-tip,
.wpcf7-not-valid-tip-no-ajax {
  color: var(--danger-strong-color);
}

input.wpcf7-not-valid,
textarea.wpcf7-not-valid,
.woocommerce form .form-row.woocommerce-invalid-required-field input {
  border-color: var(--danger-strong-color);
}

input.wpcf7-not-valid[type=text],
input.wpcf7-not-valid[type=email],
input.wpcf7-not-valid[type=tel],
input.wpcf7-not-valid[type=password],
.woocommerce form .form-row.woocommerce-invalid-required-field input {
  background-image: url(../../.././library/dist/img/form__item--error.svg);
  background-position: center right 8px;
  background-repeat: no-repeat;
  background-size: 20px;
  padding-inline-end: var(--space-m);
}

.wpcf7 form .wpcf7-response-output {
  background-color: #000;
  border: 4px solid #000;
}

.wpcf7 form.invalid .wpcf7-response-output,
.mc4wp-response > .mc4wp-error {
  color: var(--danger-color);
  background-color: var(--danger-bg-color);
  border-color: var(--danger-color);
}

.wpcf7 form.sent .wpcf7-response-output,
.mc4wp-response > .mc4wp-success {
  color: var(--success-color);
  background-color: var(--success-bg-color);
  border-color: var(--success-color);
}

.wpcf7 form .wpcf7-display-none {
  display: none;
}

.wpcf7 .wpcf7-form > .cf7-response {
  margin-block-start: 0;
}

.wpcf7 .wpcf7-form > .cf7-response > .wpcf7-response-output[aria-hidden=false] {
  margin-block-start: var(--space-s);
}

/*

Widgets
=======

Put your 'widgets' here


<div class="widget flow widget_archive">
	<header class="widget__header">
		<h3 class="widget__title cramp">Archives</h3>
	</header>
	<ul>
		<li><a href="http://template-site.liam.local/2018/03/">March 2018</a></li>
		<li><a href="http://template-site.liam.local/2018/02/">February 2018</a></li>
		<li><a href="http://template-site.liam.local/2018/01/">January 2018</a></li>
		<li><a href="http://template-site.liam.local/2017/12/">December 2017</a></li>
		<li><a href="http://template-site.liam.local/2017/11/">November 2017</a></li>
		<li><a href="http://template-site.liam.local/2017/10/">October 2017</a></li>
		<li><a href="http://template-site.liam.local/2017/09/">September 2017</a></li>
		<li><a href="http://template-site.liam.local/2017/08/">August 2017</a></li>
	</ul>
</div>



*/
.widget:not(:first-of-type) {
  padding-top: var(space-xl);
}

.widget + .widget {
  border-top: 1px solid;
}

.widget li a {
  display: block;
  padding-bottom: var(space-s);
  padding-top: var(space-s);
}

/*

Snap Slider Component
=============

*/
.slider-container__wrapper {
  max-width: clamp(16rem, 2000px, 140rem);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.slider {
  background-color: var(--tile-light-color);
  display: flex;
  position: relative; /* ⚠️ REQUIRED */
  margin: 0 auto;
  padding: 0;
  overflow: scroll;
  /* Keep overscroll from scrolling the rest of the page */
  overscroll-behavior-x: contain;
  -ms-scroll-snap-type: x mandatory;
  scroll-snap-type: x mandatory;
  list-style: none;
}

.slide {
  flex: none;
  width: 100%;
  margin: 0;
  padding: 0;
  scroll-snap-align: start;
}

.slide img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 75vh;
  object-fit: cover;
}

.no-js .slider-nav {
  display: none !important;
  visibility: hidden;
}

.slider-nav {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  margin: 1rem auto 0;
  padding: 0;
  line-height: 1;
  text-align: center;
  /* Prevent accidental text selection */
  user-select: none;
}

.slider-nav > li {
  display: inline-block;
  margin-bottom: 0;
}

.slider-nav__button {
  padding: 0;
  border: none;
  border-radius: 50%;
  justify-content: center;
  display: flex;
  align-items: center;
  background: var(--deep-brown-100-trans);
  color: hsla(0, 0%, 75%, 0.8);
  /* Prevent accidental text selection */
  user-select: none;
  /* Prevent double tap zooming in on iOS */
  touch-action: manipulation;
  overflow: hidden;
  border: 1px solid var(--deep-brown-50);
}
.slider-nav__button img {
  filter: grayscale(85%);
}

.slider-nav__button.is-current {
  background: #999;
  color: white;
}
.slider-nav__button.is-current img {
  filter: grayscale(0%);
}

.slider-nav__button:focus,
.slider-nav__button:hover {
  color: hsl(0, 0%, 100%);
  background: var(--deep-brown-200);
  box-shadow: 0px 0px 10px hsla(0, 0%, 0%, 0.21) k;
}

.slider-nav__button:active {
  transform: none;
  box-shadow: none;
}

.slider-nav__button[disabled],
.slider-nav__button.is-disabled {
  transform: none;
  border-color: currentColor;
  box-shadow: none;
  color: #aaa;
}

.slider-nav--a11y-relative {
  height: 0;
  margin: 0;
}

.slider-nav--a11y-relative .slider-nav__button {
  position: absolute;
  top: 50%;
  width: 42px;
  height: 42px;
  margin-top: -1.5rem;
  padding: 0;
}

.slider-nav__button--prev-arrow::before,
.slider-nav__button--next-arrow::before {
  display: block;
}

.slider-nav__button--prev-arrow::before,
.slider-nav__button--next-arrow::before {
  --slider-arrow-size: 16px;
  background-image: url(../../.././library/dist/img/slide-arrow.svg);
  content: "";
  width: var(--slider-arrow-size);
  height: var(--slider-arrow-size);
  background-size: var(--slider-arrow-size) var(--slider-arrow-size);
}

.slider-nav__button--prev-arrow::before {
  transform: rotate(180deg);
}

.slider-nav--a11y-relative .slider-nav__button--prev-arrow {
  left: 10px;
}
@media all and (min-width: 48em) {
  .slider-nav--a11y-relative .slider-nav__button--prev-arrow {
    left: 20px;
  }
}
.testimonial-slider-block .slider-nav--a11y-relative .slider-nav__button--prev-arrow {
  left: -15px;
}

.slider-nav--a11y-relative .slider-nav__button--next-arrow {
  right: 10px;
}
@media all and (min-width: 48em) {
  .slider-nav--a11y-relative .slider-nav__button--next-arrow {
    right: 20px;
  }
}
.testimonial-slider-block .slider-nav--a11y-relative .slider-nav__button--next-arrow {
  right: -15px;
}

.slider-nav--a11y {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.slide__caption {
  background-color: var(--tile-light-color);
  border-radius: var(--radius-med) var(--radius-med) 0px 0px;
  margin-inline-start: auto;
  margin-inline-end: auto;
  margin-top: -1.8lh;
  max-width: fit-content;
  padding: 0.75rem 1.5rem;
  position: relative;
  text-align: center;
  white-space: nowrap;
  z-index: 10;
}

/******************************************************************
Site Name:
Author:

Stylesheet: WordPress Media Stylesheet

******************************************************************/
/* Alignment */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-inline-end: var(--space-m);
  margin-block-end: var(--space-m);
}

.alignright {
  /*rtl:ignore*/
  float: right;
  margin-block-end: var(--space-m);
  /*rtl:ignore*/
  margin-inline-start: var(--space-m);
}

.aligncenter {
  clear: both;
  display: block;
  margin-inline-end: auto;
  margin-block-end: 0;
  margin-inline-start: auto;
}

img.alignnone {
  margin: 0.3125em 0 var(--space-m);
}

.alignwide,
.alignfull {
  clear: both;
  position: relative;
}

.alignwide {
  margin-inline-start: auto;
  margin-inline-end: auto;
  max-width: 100vw;
}
@media all and (min-width: 64em) {
  .alignwide {
    margin-inline-start: -50px;
    margin-inline-end: -50px;
    max-width: calc(var(--max-site-width) + 100px);
  }
}
@media all and (min-width: 75em) {
  .alignwide {
    margin-inline-start: -75px;
    margin-inline-end: -75px;
    max-width: calc(var(--max-site-width) + 100px);
  }
}

.alignfull {
  margin-inline-start: calc(-50vw + 50%);
  margin-inline-end: calc(-50vw + 50%);
  max-width: 100vw;
}

.centered-media-content {
  text-align: center;
}

/* Blog/News Post Images and Captions */
.wp-caption {
  max-width: 100%;
  background: transparent;
  border: none;
}
@media all and (min-width: 48em) {
  .wp-caption.aligncenter {
    position: relative;
    inset-inline-start: calc(66.6666666667vw - 28px);
    transform: translateX(-50%);
  }
}
@media all and (min-width: 64em) {
  .wp-caption.aligncenter {
    inset-inline-start: calc(50vw - 28px);
  }
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin-inline-start: auto;
  margin-inline-end: auto;
}

.wp-block-image figcaption {
  padding-inline-start: var(--space-xs);
  padding-inline-end: var(--space-xs);
}

.wp-caption-dt {
  margin: 0;
}

.wp-caption .wp-caption-text,
.wp-caption-dd {
  color: var(--meta-color);
  font-style: italic;
  padding-block-start: var(--space-s);
}

.mceTemp + ul,
.mceTemp + ol {
  list-style-position: inside;
}

/******************************************************************

Stylesheet: Text with Media Block Stylesheet

******************************************************************/
/* Content with media layout */
.content-with-media {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: var(--space-s-l);
  container-type: inline-size;
}
.content-with-media.aligned-top {
  align-items: flex-start;
}
.content-with-media.aligned-bottom {
  align-items: flex-end;
}
.content-with-media > .text-content {
  flex: 1 1 100%;
}
@container (width > 699px) {
  .content-with-media > .text-content {
    flex: 1 0 50%;
  }
}
.content-with-media > aside {
  flex: 1 1 100%;
}
@container (width > 699px) {
  .content-with-media > aside {
    flex: 1 1 40%;
  }
}
@container (width > 699px) {
  .content-with-media > aside.embed {
    min-width: 400px;
  }
}
.content-with-media > aside :is(img, iframe) {
  max-width: 100%;
}
.content-with-media > aside iframe {
  aspect-ratio: 16/9;
  max-inline-size: 100%;
  object-fit: cover;
  width: 100%;
  background-color: black;
}

@container (width > 699px) {
  .reversed-when-wide > *:first-child {
    order: 1;
  }
}

@container (width > 699px) {
  .content-with-media:not(.reversed-when-wide) .content-with-media__aside img {
    border-top-right-radius: var(--radius-xlrg);
  }
}

@container (width > 699px) {
  .content-with-media.reversed-when-wide .content-with-media__aside img {
    border-top-left-radius: var(--radius-xlrg);
  }
}

/* Hero Banner */
.page-hero {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  min-height: fit-content;
  place-items: center;
  padding: 0;
  padding-top: calc(var(--space-3xl) + 3rem);
  padding-bottom: var(--space-2xl);
  color: var(--tile-light-color);
  background-color: var(--tile-dark-color);
}
.page-hero .page-hero__content {
  height: 100%;
  width: 96%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--space-m);
}
.page-hero .page-hero__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.page-hero .page-hero__bg-img {
  width: 100%;
  height: 100% !important;
  object-fit: cover; /* behaves like background-size: cover */
  object-position: center; /* behaves like background-position */
}
.page-hero.content-spaced-between .page-hero__content {
  justify-content: space-between;
}

/*
Shame CSS
	This is not a dumping ground. It is a staging area for hacks that are
	intended to be fixed and resolved so as not to sully our
	production-ready codebase. Hacks are necessary, but they are not
	permanent, nor are they acceptable long-term. You are not done when
	you've moved your selector and rules here.

	This is not intended to be an easy fix, or a simple way out. You will
	spend time writing out your shame, and you will make it known that
	you indeed had to resort to a hack with your next commit

	Rules:
		1) Your documentation should be written in block comment format so
		  that your shame is publically visible in the compiled stylesheet
		  (also helpful for debugging)

		2) Name yourself so we can all scorn your lack of front-end prowess
		  (or talk to you about any questions we have)

		3) Name the location your code would go were it not such a horrible
		  travesty to the name of stylesheet.

		4) Give the motive behind your sociopathic manipulation of CSS, what
		  areas are affected, what this solves, and most importantly...

		5) How would you go about rectifying the horrible crimes you have
		  committed given more time.
*/
.owl-bordered > * + * {
  border-top: 1px solid;
}

.wp-block-group .wp-block-group__inner-container > *:not(.h-visually-hidden, [class*=h-hidden-]) + * {
  --flow-space: 1em;
  margin-block-start: var(--flow-space, 1em);
}

/* Images to render */
.images-to-render {
  background-image: url(../../.././library/dist/img/404-img.png), url(../../.././library/dist/img/custom-post-icon.png), url(../../.././library/dist/img/nothumb.png), url(../../.././library/dist/img/blog_placeholder.webp), url(../../.././library/dist/img/site-logo.png);
}

details.tile__inner {
  display: block !important;
}

.horizontal-slider {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
}

.horizontal-slider__container {
  --horizontal-slider-gap: var(--space-s);
  display: flex;
  gap: var(--horizontal-slider-gap);
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* Internet Explorer 10+ */
  padding-right: calc(50vw - 50%);
}

.horizontal-slider__child {
  scroll-snap-align: center;
  flex-shrink: 0;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.horizontal-slider__child + .horizontal-slider__child {
  padding-left: var(--horizontal-slider-gap);
  border-left: 2px solid var(--base-100);
}

@media all and (min-width: 48em) {
  .js .has-stack-cards > .tile__inner {
    padding-bottom: 0;
    margin-bottom: -450px;
  }
}

.boozel {
  position: relative;
  overflow: hidden; /* ensures slides never escape */
}

.stack-cards-container {
  position: relative;
  --stack-card-height: 320px;
}
@media all and (min-width: 48em) {
  .stack-cards-container {
    --stack-card-height: 440px;
    height: 900px; /* enough scroll space for the animation */
  }
}

.stack-card {
  width: 100%;
  height: var(--stack-card-height);
  background-color: var(--base-400);
  display: grid;
  grid-template-areas: "hero";
  align-items: center;
}
@media all and (min-width: 48em) {
  .js .stack-card {
    position: absolute;
    left: 0;
  }
}
.stack-card > * {
  grid-area: hero;
  align-items: center;
  display: flex;
  flex-direction: column;
}

@media all and (min-width: 48em) {
  .js .stack-card-1 {
    z-index: 2;
    top: 0;
  }
}

@media all and (max-width: 47.9375em) {
  .stack-card-2 {
    margin-top: 1rem;
  }
}
.no-js .stack-card-2 {
  margin-top: 1rem;
}
@media all and (min-width: 48em) {
  .js .stack-card-2 {
    transform: scale(0.75);
    z-index: 1;
    top: calc(var(--stack-card-height) / 2 + 60px); /* peeking out from below slide 1 */
    transform-origin: center center;
    transform: scale(0.75);
  }
}

.stack-card img {
  width: 100%;
  height: var(--stack-card-height) !important;
  object-fit: cover;
  max-width: 1140px;
  max-height: var(--stack-card-height);
}

.to-edge-content-container {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: minmax(0px, 1fr);
  gap: var(--space-s-m);
  width: 100%;
}
@media all and (max-width: 47.9375em) {
  .to-edge-content-container.reversed-from-medium-down > *:first-child {
    order: 2;
  }
}
@media all and (min-width: 48em) {
  .to-edge-content-container {
    grid-template-rows: minmax(max-content, 100%);
    grid-template-columns: 1fr 1.3fr;
  }
}
.to-edge-content-container .content-with-media__aside figure,
.to-edge-content-container .content-with-media__aside img {
  height: 100% !important;
}
.to-edge-content-container .content-with-media__aside img {
  width: 100%;
  object-fit: cover;
}
@media all and (min-width: 48em) {
  .to-edge-content-container .content-with-media__aside img {
    border-start-end-radius: var(--radius-xlrg);
    border-end-end-radius: var(--radius-xlrg);
  }
}
.to-edge-content-container .entry-content {
  align-self: center;
}
.to-edge-content-container .entry-content__inner {
  width: 80%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-self: center;
  justify-self: center;
}
@media all and (max-width: 47.9375em) {
  .to-edge-content-container .entry-content__inner {
    text-align: center;
    margin-inline-start: auto;
    margin-inline-end: auto;
  }
}

.embeded-map,
.embeded-map iframe {
  width: 100%;
  height: min(500px, 60vh);
  border: 0;
  background-color: var(--base-700);
}

details summary {
  list-style: none;
}

details summary::-webkit-details-marker {
  display: none;
}

details summary::before {
  display: inline-block;
  --details-arrow-size: 16px;
  background-image: url(../../.././library/dist/img/details-arrow.svg);
  content: "";
  width: var(--details-arrow-size);
  height: var(--details-arrow-size);
  background-size: var(--details-arrow-size) var(--details-arrow-size);
  margin-inline-end: var(--space-2xs);
}

details[open] summary::before {
  transform: rotate(90deg);
}

/*

Grids
=====

*/
/* AUTO GRID
Related Every Layout: https://every-layout.dev/layouts/grid/
More info on the flexible nature: https://piccalil.li/tutorial/create-a-responsive-grid-layout-with-no-media-queries-using-css-grid/
A flexible layout that will create an auto-fill grid with
configurable grid item sizes

CUSTOM PROPERTIES AND CONFIGURATION
--gutter (var(--space-s-m)): This defines the space
between each item.

--grid-min-item-size (14rem): How large each item should be
ideally, as a minimum.

--grid-placement (auto-fill): Set either auto-fit or auto-fill
to change how empty grid tracks are handled */
.grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-placement, auto-fill), minmax(var(--grid-min-item-size, 16rem), 1fr));
  gap: var(--gutter, var(--space-s-l));
}

/* A split 50/50 layout */
.grid[data-layout=halves] {
  --grid-placement: auto-fit;
  --grid-min-item-size: clamp(14rem, 50vw, 16rem);
}

/* Three column grid layout */
.grid[data-layout=thirds] {
  --grid-placement: auto-fit;
  --grid-min-item-size: clamp(16rem, 33%, 20rem);
}

/* Four column grid layout */
.grid[data-layout=quarters] {
  --grid-placement: auto-fit;
  --grid-min-item-size: clamp(14rem, 21%, 20rem);
}

/*

Sidebar
=====

*/
/* 
SIDEBAR
More info: https://every-layout.dev/layouts/sidebar/
A layout that allows you to have a flexible main content area
and a "fixed" width sidebar that sits on the left or right.
If there is not enough viewport space to fit both the sidebar
width *and* the main content minimum width, they will stack
on top of each other

CUSTOM PROPERTIES AND CONFIGURATION
--gutter (var(--space-size-1)): This defines the space
between the sidebar and main content.

--sidebar-target-width (20rem): How large the sidebar should be

--sidebar-content-min-width(50%): The minimum size of the main content area

EXCEPTIONS
.with-sidebar[data-direction='rtl']: flips the sidebar to be on the right 
*/
.with-sidebar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gutter, var(--space-s));
}

.with-sidebar > .sidebar__aside {
  flex-basis: var(--sidebar-target-width, 20rem);
  flex-grow: 1;
}

.with-sidebar > .sidebar__main {
  flex-basis: 0;
  flex-grow: 999;
  min-width: var(--sidebar-content-min-width, 50%);
}

.with-sidebar--reversed > .sidebar__aside {
  order: -1;
}

.with-sidebar--small > .sidebar__aside {
  --sidebar-target-width: 13rem;
}

.sidebar__aside:has(img) {
  display: flex;
  align-items: center;
}

.sidebar__aside > img {
  object-fit: cover;
  height: fit-content !important;
}

/*

CSS Columns
=====

*/
/*
More info https://developer.mozilla.org/en-US/docs/Web/CSS/columns
*/
.columns {
  container-type: inline-size;
}

.columns--1 {
  width: 100%;
}

.columns--2 {
  column-count: 2;
  column-width: 16rem;
}

.columns--3 {
  column-count: 3;
  column-width: 16rem;
}

/*

Header
======

Styles for the header element

*/
.site-header {
  background-color: transparent;
  padding-block-start: var(--space-2xs);
  padding-block-end: var(--space-2xs);
  z-index: 100;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
}

.site-header__content {
  padding-inline-start: var(--space-s);
  padding-inline-end: var(--space-s);
}

/*

Main
====

Styles for the main element

*/
main {
  background-color: var(--default-background-color);
}

/*

Aside
=====

Styles for the aside element

*/
/*

Footer
======

Styles for the footer element

*/
.site-footer {
  background-color: var(--base-200);
  color: var(--white);
  padding-block-start: var(--space-l);
  padding-block-end: var(--space-l);
}

/*

Home Page Specific Styles
===========================

*/
.block--featured-stories-feed {
  --featured-stories-spacing-ofset: 140px;
}

@media all and (max-width: 63.9375em) {
  .block--featured-stories-feed__recent-container,
  .block--featured-stories-feed__stories-container,
  .block--featured-stories-feed__view-all-container {
    margin-block-start: 2em;
  }
}

.block--featured-stories-feed__stories-container {
  flex-direction: column;
  display: flex;
}
@media all and (min-width: 64em) {
  .block--featured-stories-feed__stories-container {
    flex-direction: row;
    margin-block-start: calc(var(--featured-stories-spacing-ofset) * -1);
  }
}

@media all and (min-width: 64em) {
  .block--featured-stories-feed__featured-story {
    background: var(--tranquil-cream-50);
    border-top-right-radius: 25px;
    flex-basis: 33%;
    padding: 40px 32px 0 0;
    transform: translateY(0);
  }
}

.block--featured-stories-feed__recent-container {
  flex-basis: 67%;
}
@media all and (min-width: 64em) {
  .block--featured-stories-feed__recent-container {
    margin-block-start: calc(var(--featured-stories-spacing-ofset) + 2em);
  }
}

.block--featured-stories-feed__image-recent {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: 1200px;
  max-height: 500px;
  border-top-right-radius: 25px;
  transition: opacity 0.3s ease-in-out;
}

.block--featured-stories-feed__recent-post,
.block--featured-stories-feed__view-stories-cta-mobile {
  transition: color 0.3s ease-in-out;
  color: var(--deep-brown-200);
}

.block--featured-stories-feed__recent-post {
  flex-direction: column;
  flex-basis: 100%;
  align-items: flex-start;
  text-decoration: none;
  display: flex;
  position: relative;
}
@media all and (min-width: 64em) {
  .block--featured-stories-feed__recent-post {
    flex-basis: calc(50% - var(--gutter) / 2);
  }
}

.block--featured-stories-feed__recent-stories {
  padding-block-end: var(--space-xs);
  border-block-end: 2px solid var(--tranquil-cream-200);
}

/*

News Feed Page Specific Styles
===========================

*/
.news-feed-grid {
  --news-columns: 2;
  --news-span-quarter: 2;
  --news-span-third: 2;
  --news-span-full: 2;
  display: grid;
  grid-template-columns: repeat(var(--news-columns), 1fr);
  gap: 22px;
}
@media all and (min-width: 48em) {
  .news-feed-grid {
    --news-columns: 6;
    --news-span-quarter: 3;
    --news-span-third: 3;
    --news-span-full: 6;
  }
}
@media all and (min-width: 64em) {
  .news-feed-grid {
    --news-columns: 12;
    --news-span-quarter: 3;
    --news-span-third: 4;
    --news-span-full: 12;
  }
}
.news-feed-grid > *:nth-child(8n+1) {
  grid-column: span var(--news-span-full);
}
.news-feed-grid > *:nth-child(8n+2), .news-feed-grid > *:nth-child(8n+3), .news-feed-grid > *:nth-child(8n+4) {
  grid-column: span var(--news-span-third);
}
.news-feed-grid > *:nth-child(8n+5), .news-feed-grid > *:nth-child(8n+6), .news-feed-grid > *:nth-child(8n+7), .news-feed-grid > *:nth-child(8n+8) {
  grid-column: span var(--news-span-quarter);
}
.news-feed-grid > *.post-navigation {
  grid-column: span var(--news-span-full);
}

.news-feed-grid > .tile {
  container-type: inline-size;
  container-name: newsTile;
}
.news-feed-grid > .tile .tile__inner {
  display: flex;
  flex-direction: column;
  --gutter: var(--space-s);
}
.news-feed-grid .post-thumbnail img {
  height: 100% !important;
}
.news-feed-grid .post-thumbnail {
  width: 100%;
}
.news-feed-grid .post-thumbnail a, .news-feed-grid .post-thumbnail img {
  display: block;
}
.news-feed-grid .post-thumbnail img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 3/2;
}
.news-feed-grid .post-body {
  padding: 0 var(--space-xs) var(--space-s);
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
}
.news-feed-grid .post-body .step-1 {
  margin-block-end: 0;
}

@container newsTile (min-width: 500px) {
  .news-feed-grid > .tile .tile__inner {
    flex-direction: row;
    --gutter: var(--space-m);
  }
  .news-feed-grid .post-thumbnail {
    width: 50%;
    min-width: 50%;
  }
  .news-feed-grid .post-thumbnail,
  .news-feed-grid .post-thumbnail a {
    height: 100%;
  }
  .news-feed-grid .post-body {
    padding-block-start: var(--space-s);
  }
  .news-feed-grid > *:nth-child(8n+1) .post-body .step-1 {
    font-size: var(--step-4);
    line-height: 1.25;
    max-width: 36ch;
  }
}
/*

Single News Story Page Specific Styles
===========================

*/
.news-article {
  --blog-spacer: var(--space-64-160);
}

.news-article__grid {
  display: block;
}
@media all and (min-width: 48em) {
  .news-article__grid {
    padding-inline-start: var(--blog-spacer);
    padding-inline-end: var(--blog-spacer);
  }
}
@media all and (min-width: 48em) {
  .news-article__grid > .wp-block-image.alignwide {
    margin-inline-start: calc(var(--blog-spacer) * -1);
    margin-inline-end: calc(var(--blog-spacer) * -1);
  }
}
@media all and (min-width: 48em) {
  .news-article__grid > .wp-block-image:has(> .alignleft) {
    float: left;
    margin-inline-start: calc(var(--blog-spacer) * -1);
  }
}
@media all and (min-width: 48em) {
  .news-article__grid > .wp-block-image:has(> .alignright) {
    float: right;
    margin-inline-end: calc(var(--blog-spacer) * -1);
  }
}
@media all and (min-width: 48em) {
  .news-article__grid > .wp-block-image:has(> .alignleft):has(+ .wp-block-image > .alignright) {
    width: calc(50% + var(--blog-spacer) - 1em);
  }
}
@media all and (min-width: 48em) {
  .news-article__grid > .wp-block-image:has(> .alignleft):has(+ .wp-block-image > .alignright) > .alignleft {
    margin: 0;
  }
}
@media all and (min-width: 48em) {
  .news-article__grid > .wp-block-image:has(> .alignleft) + .wp-block-image:has(> .alignright) {
    width: calc(50% + var(--blog-spacer) - 1em);
  }
}
@media all and (min-width: 48em) {
  .news-article__grid > .wp-block-image:has(> .alignleft) + .wp-block-image:has(> .alignright) > .alignright {
    margin: 0;
  }
}
.news-article__grid > .wp-block-image + .wp-block-image + * {
  clear: left;
}

.yarpp-related .h-plain-list {
  padding-inline-start: 0;
  text-indent: initial;
}
.yarpp-related .tile__inner > img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.yarpp-related .tile__inner .body-text a {
  font-weight: normal;
  text-decoration: underline;
}
.yarpp-related h3.step-5 {
  font-size: var(--step-5);
}
