@charset "UTF-8";
/*!
Theme Name: Together Liverpool
Theme URI: https://www.liverpool.anglican.org/
Author: Abigail Sinclair
Author URI: https://www.abigailsinclair.co.uk/
Description: A bespoke WordPress theme built for Together Liverpool in July 2024 on behalf of Poke Marketing.
Version: 1.0.0
Text Domain: togetherliverpool

This theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/

*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Third Party jQuery Plugins
	- slick carousel
	- jQuery mmenu
# Base
	- Typography
	- Elements
	- Links
	- Forms
# Layouts
	- Content / Sidebar
	- Two Column Rows
# Components
	- Navigation
	- Breadcrumbs
	- Pagination
	- Posts and pages
	- Text Rows
	- Image Row
	- Hero
	- Comments
	- Testimonials
	- Widgets
	- Media
	- Captions
	- Galleries
	- Header
	- Footer
# Plugins
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
:root {
  --color-black: #1a131b;
  --color-text-black: #212427;
  --color-white: #ffffff;
  --color-red: #db411a;
  --color-orange: #ef7e23;
  --color-yellow: #F4A800;
  --color-brand-primary: var(--color-red);
  --color-brand-secondary: var(--color-orange);
  --color-brand-tertiary: var(--color-yellow);
  --color-alt: var(--color-brand-tertiary);
  --color-body: #212427;
  --color-heading: var(--color-brand-primary);
  --color-primary: var(--color-brand-primary);
  --color-secondary: var(--color-brand-secondary);
  --color-dark-grey: #5F5F53;
  --color-warm-grey: #D0CFC2;
  --color-off-white: #F8F7F7;
  --color-meta-grey: #707070;
  --color-grey: #AFAFAF;
  --color-light-grey: #E5E5E5;
  --color-grey: #eaeaea;
  --color-medium-grey: #cacaca;
  --color-dark-grey: #9D9D9C;
  --color-meta-grey: #989898;
  --color-background-body: var(--color-black, #1a131b);
  --color-background-screen: var(--color-white, #ffffff);
  --color-background-hr: var(--color-medium-grey, #989898);
  --color-background-button: var(--color-brand-secondary, #ef7e23);
  --color-background-pre: #eee;
  --color-background-ins: #fff9c0;
  --button-background-hover:var(--button-outline-background-hover,var(--button-outline-color,var(--button-color)));
  --button-border: 1px solid var(--button-outline-color,var(--button-color));
  --button-border-hover: var(--button-border);
  --color-alert: #E15554;
  --color-warning: #F4CA5F;
  --color-success: #27a56c;
  --color-alert-background: #F9DBDB;
  --color-warning-background: #FDF3DC;
  --color-success-background: #B8EED6;
  --color-text-screen: #474747;
  --color-text-input: var(--color-black);
  --color-text-input-focus: var(--color-black);
  --color-text-main: #4a4a4a;
  --color-text-header: var(--color-red, #db411a);
  --color-text-meta: #767676;
  --color-link: var(--color-orange);
  --color-link-visited: #006FDD;
  --color-link-hover: #003870;
  --color-border-input: var(--color-medium-grey);
  --color-border-input-focus: var(--color-black);
  --color-border-abbr: #666;
  --color-input-background: #FFFFFF;
  --color-input-background-focus: var(--color-off-white);
  --color-heading: var(--color-black);
  --color-body: var(--color-black);
  --color-mobile-menu-link: var(--color-white);
  --color-mobile-menu-link-active: var(--color-black);
  --color-mobile-menu-background: var(--color-red);
  --color-menu-toggle-active:  var(--color-black);
  --color-menu-toggle: var(--color-white);
  --swiper-theme-color: var(--color-red);
}

.has-background {
  --swiper-theme-color: #FFFFFF;
}

:root {
  --body-font-weight: 400;
  --body-font-weight-bold: 700;
  --heading-font-weight: 400;
  --heading-font-weight-bold: 800;
  --heading-line-height: 1.2;
  --body-line-height: 1.5;
  --body-font-family: "Open sans", sans-serif;
  --heading-font-family: "Open Sans", sans-serif;
  --button-font-family: "Open Sans", sans-serif;
  --font-main: var(--body-font-family);
  --font-header: var(--heading-font-family);
  --font-code: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  --font-pre: "Courier 10 Pitch", courier, monospace;
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* 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;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

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

/**
 * 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;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * 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;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * 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;
  font-size: 1em;
}

/**
 * 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;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* 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;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

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

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  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;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * 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;
}

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

/**
 * 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;
  outline-offset: -2px;
}

/**
 * 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;
  font: inherit;
}

/* 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;
}

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

body,
button,
input,
select,
optgroup,
textarea {
  color: var(--color-text-main);
  font-family: var(--body-font-family);
  font-size: 18px;
  font-size: clamp(1rem, 1.5625vw, 1.125rem);
  line-height: var(--body-line-height, 1.4);
  font-weight: var(--body-font-weight, 400);
}

.is-style-heading, .is-style-subheading, h1, h2, h3, h4, h5, h6, legend, .h1, .h2, .h3, .h4, .h5, .h6 {
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  margin-top: var(--heading-margin-top, 0);
  margin-bottom: var(--heading-margin-bottom, 0.75em);
  color: var(--heading-color, var(--color-heading));
  font-weight: var(--heading-font-weight, 400);
  font-family: var(--heading-font-family, unset);
  font-style: var(--heading-font-style, normal);
  line-height: var(--heading-line-height, 1.219);
  letter-spacing: var(--heading-letter-spacing, 0);
  text-transform: var(--heading-text-transform, none);
}

h1, .h1 {
  font-size: clamp(38px, 4.16vw, 50px);
}

h2, .h2 {
  font-size: clamp(28px, 3.36vw, 38px);
}

h3, .h3 {
  font-size: clamp(26px, 2.8125vw, 32px);
}

h4, .h4 {
  font-size: clamp(24px, 2.1875vw, 28px);
}

h5, .h5 {
  font-size: clamp(22px, 2.03125vw, 26px);
}

h6, .h6 {
  font-size: clamp(20px, 1.875vw, 24px);
}

.xxl-header {
  font-size: clamp(58px, 6.25vw, 120px);
}

.xl-header {
  font-size: clamp(42px, 3.75vw, 72px);
}

.lg-header {
  font-size: clamp(34px, 3.125vw, 60px);
}

.md-header {
  font-size: clamp(26px, 2.08vw, 40px);
}

.sm-header {
  font-size: clamp(24px, 2.8125vw, 36px);
}

.max-16ch {
  max-width: 16ch;
}

.make-balanced {
  text-wrap: balance;
}

.make-pretty {
  text-wrap: pretty;
}

.has-background {
  --heading-color: inherit
;
}

p {
  margin-top: 0;
}

p:not(:last-of-type) {
  margin-bottom: 1.25em;
}

dfn, cite, em, i {
  font-style: italic;
  font-family: var(--heading-font-family-italic);
}

strong {
  font-weight: var(--body-font-weight-bold, 700);
}

blockquote {
  margin: 1.5em 0;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: var(--color-background-pre);
  font-family: var(--font-pre);
  font-size: 0.9375em;
  line-height: var(--body-line-height, 1.32);
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code, kbd, tt, var {
  font-family: var(--font-code);
  font-size: 0.9375em;
}

abbr, acronym {
  border-bottom: 1px dotted var(--color-border-abbr);
  cursor: help;
}

mark, ins {
  text-decoration: none;
}

big {
  font-size: 125%;
}

.disclaimer p:last-of-type {
  margin-bottom: 0;
}

.wp-block-quote:not(.is-style-plain) {
  position: relative;
  text-wrap: pretty;
}

.wp-block-quote:not(.is-style-plain) p {
  margin: 0 0 1.5em;
  text-wrap: pretty;
}

.wp-block-quote:not(.is-style-plain) p:last-of-type {
  margin-bottom: 0;
}

.wp-block-quote:not(.is-style-plain) cite {
  margin-top: 1em;
  display: block;
  font-style: normal;
  font-weight: var(--body-font-weight-bold);
  font-size: .9em;
}

blockquote.is-style-plain {
  position: relative;
}

blockquote.is-style-plain cite {
  font-style: normal;
  margin-top: .5em;
}

.wp-block-embed figcaption,
.wp-block-image figcaption {
  background-color: var(--color-black, #1a131b);
  color: var(--color-white, #FFFFFF);
  font-size: 14px;
  margin: 0;
  padding: .65em .75em;
}

/* Elements
--------------------------------------------- */
html {
  scroll-behavior: smooth;
}

body {
  background: var(--color-background-body);
}

#page {
  background: var(--color-background-screen);
  position: relative;
}

@media all and (max-width: 767px) {
  #page.fixed {
    overflow: hidden;
  }
}

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

hr,
.wp-block-separator {
  background-color: var(--color-background-hr);
  border: 0;
  height: 1px;
  margin-top: 2.5em;
  margin-bottom: 1.5em;
}

hr.wedge {
  display: block;
  width: 60px;
  height: 6px;
  background-color: var(--color-brand-primary);
  margin: 30px 0;
  transform: skew(-20deg, 0deg);
}

hr.center {
  margin-left: auto;
  margin-right: auto;
}

ul, ol {
  margin: 0 0 1.5em 1em;
  padding: 0 0 0 1em;
}

nav ul, nav ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.alignfull > ul,
.alignfull > ol {
  padding-left: 2em;
}

ul {
  list-style: square;
}

ol {
  list-style: decimal;
}

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

ul li::marker {
  font-size: 0.75em;
}

dt {
  font-weight: var(--body-font-weight-bold);
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

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

figure {
  margin: 0;
}

/* YouTube Responsive CSS */
.responsive-embed,
.wp-block-embed__wrapper {
  position: relative;
  height: 0;
  overflow: hidden;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
}

.responsive-embed iframe,
.responsive-embed object,
.responsive-embed embed,
.wp-block-embed__wrapper iframe,
.wp-block-embed__wrapper object,
.wp-block-embed__wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.responsive-embed,
.responsive-embed.responsive-embed-youtube,
.responsive-embed.responsive-embed-wistia,
.responsive-embed.responsive-embed-vimeo,
.wp-block-embed__wrapper,
.wp-block-embed__wrapper.wp-block-embed-youtube,
.wp-block-embed__wrapper.wp-block-embed-vimeo,
.wp-block-embed__wrapper.wp-block-embed-wistia {
  padding-bottom: 56.25%;
}

.wp-block-embed-flickr .wp-block-embed__wrapper {
  padding-bottom: 66.75%;
}

.responsive-embed--map {
  padding-bottom: 82.25%;
}

/* Video Embed
--------------------------------------------*/
.wp-video {
  width: 100% !important;
  background-color: var(--color-brand-primary);
}

.wp-video .mejs-container,
.wp-video .mejs-container .mejs-controls,
.wp-video .mejs-embed,
.wp-video .mejs-embed body {
  background-color: transparent;
}

.wp-video .mejs-fullscreen-button {
  display: none;
}

.wp-video .mejs-controls .mejs-time-rail .mejs-time-current {
  background: var(--color-success);
}

.wp-video .mejs-overlay-button {
  background-image: url(assets/img/play-button.svg);
  background-position: 0 0;
  background-size: auto 80px;
}

.wp-video .mejs-overlay:hover > .mejs-overlay-button {
  background-position: -80px 0;
}

/* Player background */
.wp-video.mejs-container,
.wp-video .mejs-controls,
.wp-video .mejs-embed,
.wp-video .mejs-embed body {
  background-color: #efefef;
}

/* Player controls */
.wp-video .mejs-button > button {
  background-image: url("images/mejs-controls-dark.svg");
}

.wp-video .mejs-time {
  color: #888888;
}

/* Progress and audio bars */
/* Progress and audio bar background */
.wp-video .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,
.wp-video .mejs-controls .mejs-time-rail .mejs-time-total {
  background-color: #fff;
}

/* Track progress bar background (amount of track fully loaded)
  We prefer to style these with the main accent color of our theme */
.wp-video .mejs-controls .mejs-time-rail .mejs-time-loaded {
  background-color: rgba(219, 78, 136, 0.075);
}

/* Current track progress and active audio volume level bar */
.wp-video .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current,
.wp-video .mejs-controls .mejs-time-rail .mejs-time-current {
  background: #db4e88;
}

/* Reduce height of the progress and audio bars */
.wp-video .mejs-time-buffering,
.wp-video .mejs-time-current,
.wp-video .mejs-time-float,
.wp-video .mejs-time-float-corner,
.wp-video .mejs-time-float-current,
.wp-video .mejs-time-hovered,
.wp-video .mejs-time-loaded,
.wp-video .mejs-time-marker,
.wp-video .mejs-time-total,
.wp-video .mejs-horizontal-volume-total,
.wp-video .mejs-time-handle-content {
  height: 3px;
}

.wp-video .mejs-time-handle-content {
  top: -6px;
}

.wp-video .mejs-time-total {
  margin-top: 8px;
}

.wp-video .mejs-horizontal-volume-total {
  top: 19px;
}

/* Hidden Content
--------------------------------------------- */
.hidden-content__toggle--active,
.button.hidden-content__toggle--active,
.hidden-content .hidden-content__toggle--active {
  --button-color: var(--color-light-grey);
  --button-outline-color: var(--color-light-grey);
}

.hidden-content__panel {
  display: none;
  padding-bottom: 23px;
  margin: 0;
}

.hidden-content__panel--active,
.hidden-content__panel.default {
  display: block;
}

.hidden-content__panel--active {
  padding-top: 30px;
  padding-bottom: 30px;
}

/* 
--------------------------------------------- */
@media all and (max-width: 782px) {
  .wp-block-media-text .wp-block-media-text__content {
    padding: 0 var(--site-padding);
  }
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

table td {
  padding: 0 5px 5px 0;
  vertical-align: top;
}

.wp-block-table {
  font-size: 16px;
  font-size: 1rem;
}

.wp-block-table table {
  border: 1px solid var(--color-grey);
  border-collapse: collapse;
  margin: 2em 0;
}

.wp-block-table td, .wp-block-table th {
  padding: .75em;
  text-align: left;
}

.wp-block-table th {
  border-bottom: 1px solid var(--color-grey);
}

.wp-block-table.is-style-stripes {
  border-bottom: 0;
}

.wp-block-table.is-style-stripes table {
  border-color: transparent;
}

.admissions-table thead th,
.admissions-table.wp-block-table thead th {
  font-size: clamp(14px, 1.2vw, 16px);
  white-space: nowrap;
}

.admissions-table.wp-block-table thead {
  font-weight: 800;
  border-color: var(--color-light-grey, #eaeaea);
}

.admissions-table.wp-block-table table {
  font-family: var(--heading-font-family, unset);
  font-weight: 700;
  font-size: clamp(16px, 1.39vw, 20px);
  margin-top: 0;
  border-color: var(--color-light-grey, #eaeaea);
}

.admissions-table th,
.admissions-table.wp-block-table th,
.admissions-table td,
.admissions-table.wp-block-table td {
  padding: .5em;
  white-space: nowrap;
  border-color: var(--color-light-grey, #eaeaea);
}

.admissions-table.wp-block-table td:first-child,
.admissions-table.wp-block-table th:first-child {
  min-width: 270px;
}

h2 + .wp-block-table table,
h3 + .wp-block-table table,
h4 + .wp-block-table table {
  margin-top: 0;
}

.wp-block-table {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.wp-block-table.conversions td {
  width: 96px;
}

.wp-block-table.conversions td:first-child {
  width: 100px;
  padding-left: 0;
}

.scroll-instruction {
  background-color: #eaeaea;
  padding: .5em;
  margin-bottom: 1em;
  font-size: 14px;
  text-align: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-family: var(--heading-font-family, unset);
  font-weight: 700;
}

.scroll-instruction i {
  font-style: normal;
  line-height: 1;
  display: inline-block;
  margin-left: .75em;
  margin-top: -.25em;
}

@media all and (min-width: 980px) {
  .scroll-instruction {
    display: none;
  }
}

:root {
  --site-width-min: 88vw;
  --site-width-max: 1320px;
  --site-width: var(--site-width-min);
  --site-padding: calc((100vw - var(--site-width)) / 2);
}

.row {
  position: relative;
}

.container {
  margin: 0 auto;
  width: 100%;
  padding-left: var(--site-padding);
  padding-right: var(--site-padding);
}

.wp-block-group.alignfull > .alignfull {
  margin-left: calc(var(--site-padding) * -1);
  margin-right: calc(var(--site-padding) * -1);
}

.wp-block-group.alignfull {
  padding-left: var(--site-padding);
  padding-right: var(--site-padding);
}

.page-section {
  padding-left: var(--site-padding);
  padding-right: var(--site-padding);
  padding-top: clamp(50px, 9.375vw, 120px);
  padding-bottom: clamp(50px, 9.375vw, 120px);
  max-width: 100vw;
}

.page-section.pt-0 {
  padding-top: 0;
}

.page-section.pb-0 {
  padding-bottom: 0;
}

.page-section.pt-less {
  padding-top: clamp(40px, 4.6875vw, 60px);
}

.page-section.pb-less {
  padding-bottom: clamp(2.5rem, 4.6875vw, 60px);
}

.page-section.pt-more {
  padding-top: clamp(60px, 10.9375vw, 140px);
}

.page-section.pb-more {
  padding-bottom: clamp(60px, 10.9375vw, 140px);
}

@media (min-width: 600px) {
  :root {
    --site-width-min: 94vw;
  }
}

@media (min-width: 1024px) {
  .container {
    max-width: calc(var(--site-width-max) + calc(100vw - var(--site-width)));
  }
}

/* Column Order
--------------------------------------------*/
.wp-block-columns.space-between {
  justify-content: space-between;
}

.wp-block-columns.justify-center {
  justify-content: center;
}

@media all and (max-width: 781px) {
  .content-first--sm {
    flex-flow: column-reverse;
  }
  .sm-order-first {
    order: 0;
  }
  .sm-order-last {
    order: 10;
  }
}

/* Links
--------------------------------------------- */
svg#svgdefs {
  display: block;
  position: absolute;
  height: 0;
  width: 0;
  margin: 0;
  padding: 0;
  border: none;
  overflow: hidden;
}

a:where(:not(.wp-element-button):not(.button)) {
  color: var(--color-link);
}

a:where(:not(.wp-element-button):not(.button)):hover, a:where(:not(.wp-element-button):not(.button)):focus, a:where(:not(.wp-element-button):not(.button)):active {
  color: var(--color-link-hover);
}

a:where(:not(.wp-element-button):not(.button)):focus {
  outline: thin dotted;
}

a:where(:not(.wp-element-button):not(.button)):hover, a:where(:not(.wp-element-button):not(.button)):active {
  outline: 0;
}

p a:not(.button) {
  text-decoration: inherit;
}

p a:not(.button):hover {
  text-decoration: underline;
}

.the-post__content a:not(.button) {
  --color-link: var(--color-red);
  --color-link-hover: var(--color-red);
}

.arrow-link {
  text-decoration: none;
  transition: color 0.2s;
}

.arrow-link__icon {
  opacity: 0;
  transition: all 0.5s;
  margin-left: 0;
}

.arrow-link:hover {
  text-decoration: none;
}

.arrow-link:hover .arrow-link__icon {
  opacity: 1;
  margin-left: .25em;
}

/* Forms
--------------------------------------------- */
button, [type="button"], [type="reset"], [type="submit"] {
  letter-spacing: 0;
}

:root {
  --button-background: var(--color-brand-primary);
  --button-background-hover: var(--color-black);
  --button-color: #FFFFFF;
  --button-color-hover: #FFFFFF;
  --button-border: 0;
  --button-border-radius: 3em;
  --button-font-weight: 700;
  --button-font-size: 16px;
}

.has-red-background-color {
  --button-background: var(--color-white);
  --button-background-hover: var(--color-black);
  --button-color: var(--color-red);
  --button-color-hover: var(--color-white);
}

.has-orange-background-color {
  --button-background: var(--color-white);
  --button-background-hover: var(--color-black);
  --button-color: var(--color-red);
  --button-color-hover: var(--color-white);
}

[type="submit"].wpuf-submit-button,
[type="submit"].button,
[type="submit"].button-primary,
[type="button"].button,
[type=reset].button,
a.button,
.button,
.btn {
  -webkit-transition: all 0.15s;
  /* Safari */
  transition: all 0.15s;
  display: inline-block;
  position: relative;
  display: var(--button-display, inline-flex);
  align-items: center;
  justify-content: center;
  width: var(--button-width, auto);
  max-height: var(--button-max-height, 100%);
  margin: var(--button-margin, 0);
  padding: calc(0.667em + 2px) calc(1.333em + 2px);
  color: var(--button-color, #FFFFFF);
  font-weight: var(--button-font-weight, var(--header-font-weight), 800);
  font-size: var(--button-font-size, var(--font-size-base));
  font-family: var(--button-font-family, var(--heading-font-family));
  line-height: var(--button-line-height, 1.2);
  letter-spacing: var(--button-letter-spacing, normal);
  white-space: var(--button-white-space, normal);
  text-align: var(--button-text-align, center);
  text-transform: var(--button-text-transform, none);
  -webkit-text-decoration: var(--button-text-decoration, none);
  text-decoration: var(--button-text-decoration, none);
  word-break: var(--button-word-break, normal);
  overflow-wrap: var(--button-overflow-wrap, break-word);
  background: var(--button-background, var(--color-brand-primary));
  border: var(--button-border, 0);
  border-radius: var(--button-border-radius, 0);
  outline: var(--button-outline, none);
  box-shadow: var(--button-box-shadow, none);
  -webkit-transform: var(--button-transform, none);
  transform: var(--button-transform, none);
  -webkit-filter: var(--button-filter, none);
  filter: var(--button-filter, none);
  cursor: var(--button-cursor, pointer);
  opacity: var(--button-opacity, 1);
  transition: var(--button-transition, all 0.15s);
}

.btn:active, .btn:focus, .btn:hover,
.btn:visited:active, .btn:visited:focus, .btn:visited:hover
.button:active, .button:focus, .button:hover,
.button:visited:active, .button:visited:focus, .button:visited:hover,
[type=button].button:active, [type=button].button:focus, [type=button].button:hover,
[type=reset].button:active, [type=reset].button:focus, [type=reset].button:hover,
[type=submit].button:active, [type=submit].button:focus, [type=submit].button:hover {
  color: var(--button-color-hover, var(--button-color));
  -webkit-text-decoration: var(--button-text-decoration-hover, var(--button-text-decoration, none));
  text-decoration: var(--button-text-decoration-hover, var(--button-text-decoration, none));
  background: var(--button-background-hover, var(--color-brand-primary-dark, var(--button-background, var(--color-brand-secondary))));
  border: var(--button-border-hover, var(--button-border, 0));
  outline: var(--button-outline-hover, var(--button-outline, none));
  box-shadow: var(--button-box-shadow-hover, var(--button-box-shadow, none));
  -webkit-transform: var(--button-transform-hover, var(--button-transform, none));
  transform: var(--button-transform-hover, var(--button-transform, none));
  -webkit-filter: var(--button-filter-hover, var(--button-filter, none));
  filter: var(--button-filter-hover, var(--button-filter, none));
}

.wp-block-button__link:hover {
  color: var(--wp--preset--color--white, var(--button-color-hover, var(--button-color)));
  background-color: var(--color-black);
  color: var(--color-white);
}

.button:disabled, .button:visited:disabled, [type=button]:disabled, [type=reset]:disabled, [type=submit]:disabled, button:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.button-outline, .button-outline:visited,
.btn-outline, .btn-outline:visited {
  --button-max-height: calc(100% - 4px);
  --button-color: var(--button-outline-color,var(--color-brand-primary));
  --button-color-hover: var(--button-outline-color-hover,var(--color-white));
  --button-background: var(--button-outline-background,transparent);
  --button-background-hover: var(--button-outline-background-hover,var(--button-outline-color,var(--button-color)));
  --button-border: 1px solid var(--button-outline-color,var(--button-color));
  --button-border-hover: var(--button-border)
;
}

.button.has-red-background-color:hover,
.wp-block-button__link.has-red-background-color:hover {
  background-color: var(--color-black) !important;
  color: var(--color-white) !important;
}

.button.has-white-background-color:hover,
.wp-block-button__link.has-white-background-color:hover {
  background-color: var(--color-black) !important;
  color: var(--color-white) !important;
}

.button.has-off-white-background-color:hover,
.wp-block-button__link.has-off-white-background-color:hover {
  background-color: var(--color-black) !important;
  color: var(--color-white) !important;
}

.button.has-light-grey-background-color:hover,
.wp-block-button__link.has-light-grey-background-color:hover {
  background-color: var(--color-black) !important;
  color: var(--color-white) !important;
}

.button.has-grey-background-color:hover,
.wp-block-button__link.has-grey-background-color:hover {
  background-color: #d8d8d8 !important;
  --button-background-hover: #d8d8d8;
  --button-color-hover: #ffffff;
}

.button.has-meta-grey-background-color:hover,
.wp-block-button__link.has-meta-grey-background-color:hover {
  background-color: #464646 !important;
  --button-background-hover: #464646;
  --button-color-hover: #ffffff;
}

.button.has-black-background-color:hover,
.wp-block-button__link.has-black-background-color:hover {
  background-color: #4a4a4a !important;
  --button-background-hover: #4a4a4a;
  --button-color-hover: #ffffff;
}

.button-small {
  --button-padding: var(--button-small-padding,.5em 1em);
  --button-font-size: var(--button-small-font-size,1rem)
;
}

.button-large {
  --button-padding: var(--button-large-padding,.75rem 2.5rem);
  --button-font-size: var(--button-large-font-size,1.25rem)
;
}

::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #979C9B;
  opacity: 1;
  /* Firefox */
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #979C9B;
}

::-ms-input-placeholder {
  /* Microsoft Edge */
  color: #979C9B;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
  background: var(--color-input-background);
  color: var(--color-text-input);
  border: 2px solid var(--color-border-input);
  border-radius: 0.25em;
  padding: 1em 1.25em;
  width: 100%;
  text-align: left;
  line-height: 1.23;
  height: 3.5625em;
  font-size: 1rem;
  font-family: var(--heading-font-family, unset);
  -webkit-transition: all 0.15s;
  /* Safari */
  transition: all 0.15s;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
  color: var(--color-text-input-focus);
  border-color: var(--color-border-input-focus);
  background-color: var(--color-input-background-focus);
  outline: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background-position: right 50%;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);
  padding-right: 1.5em;
  height: 58px;
}

textarea {
  width: 100%;
  height: 11.25rem;
  padding-top: 1.25em;
  resize: vertical;
}

.nf-form-fields-required {
  margin-bottom: 1em;
  font-size: 1rem;
  font-weight: normal;
  display: none;
}

.nf-error-msg, .ninja-forms-req-symbol {
  color: var(--color-red);
}

.nf-error-msg,
.nf-error-field-errors {
  padding: .5em;
  background-color: var(--color-alert-background);
}

.nf-form-cont .nf-error.listimage-wrap .nf-field-element ul,
.nf-form-cont .nf-error .ninja-forms-field {
  border: 2px solid var(--color-red);
}

.entry-content #ninja_forms_required_items,
.entry-content .nf-field-container {
  margin-bottom: clamp(20px, 2vw, 34px);
}

.entry-content .nf-field-description p {
  margin: 0 0 1em;
}

.entry-content .nf-field-description {
  font-size: .875rem;
  margin-bottom: 1em;
}

.entry-content .label-above .nf-field-label {
  margin-bottom: .5em;
}

.entry-content .nf-field-label .nf-label-span,
.entry-content .nf-field-label label {
  font-size: 1.125rem;
  color: var(--color-black);
}

.entry-content .nf-field-element input:not([type="checkbox"]):not([type="radio"]),
.entry-content .nf-field-element select {
  height: 3.5625em;
}

.entry-content .nf-field-element textarea {
  height: 11.25rem;
}

.entry-content .nf-field-element .hour,
.entry-content .nf-field-element .minute {
  margin-right: .5em;
  width: auto;
}

.entry-content .list-checkbox-wrap .nf-field-label .nf-label-span {
  padding: 0;
}

.entry-content .list-checkbox-wrap {
  background: var(--color-input-background);
  color: var(--color-text-input);
  border: 0;
  border-radius: 30px;
  padding: 1em 1.25em;
}

.entry-content .list-checkbox-wrap .nf-field-element li label,
.entry-content .list-image-wrap .nf-field-element li label,
.entry-content .list-radio-wrap .nf-field-element li label {
  margin-left: .5em;
}

.list-checkbox-wrap li {
  display: flex;
  flex-direction: row;
}

.newsletter-form p {
  font-size: 16px;
}

.newsletter-form p a {
  text-decoration: underline;
}

.newsletter-form .nf-field-container {
  margin-bottom: 12px;
}

.newsletter-form .html-container {
  margin-top: 1.5em;
  margin-bottom: 1em;
}

@media all and (max-width: 600px) {
  #content .nf-form-cont .one-half,
  #content .nf-form-cont .three-sixths,
  #content .nf-form-cont .two-fourths {
    width: 100%;
    float: none;
  }
  #content .nf-form-cont .five-sixths,
  #content .nf-form-cont .four-sixths,
  #content .nf-form-cont .one-fourth,
  #content .nf-form-cont .one-half,
  #content .nf-form-cont .one-sixth,
  #content .nf-form-cont .one-third, #content .nf-form-cont .three-fourths, #content .nf-form-cont .three-sixths, #content .nf-form-cont .two-fourths, #content .nf-form-cont .two-sixths, #content .nf-form-cont .two-thirds {
    margin-left: 0;
  }
}

.wpcf7-form .label {
  display: block;
  margin-bottom: 20px;
}

.wpcf7-form .label b {
  color: var(--color-light-green, var(--color-brand-tertiary));
}

.label__text {
  font-size: clamp(1.125rem, 2.15vw, 1.375rem);
  line-height: 1.23;
  margin-bottom: 1em;
  display: block;
  color: currentColor;
  text-align: left;
  font-weight: var(--body-font-weight, 400);
  font-family: var(--body-font-family, unset);
}

span.wpcf7-list-item {
  margin: 0;
  display: block;
}

span.wpcf7-not-valid-tip {
  font-size: .825em;
  padding: .75em 1em .5em;
  margin: .5em 0 1em;
  background-color: var(--color-light-green, var(--color-brand-tertiary));
  color: var(--color-red, var(--color-brand-primary));
  border-radius: 2em;
}

.wpcf7-not-valid {
  --color-border-input: var(--color-light-green, var(--color-brand-tertiary));
}

div.wpcf7 .ajax-loader {
  width: 0;
  height: 0;
  display: none;
}

div.wpcf7 .ajax-loader.is-active {
  display: block;
  width: 16px;
  height: 16px;
}

.wpcf7-form-control {
  --color-text-input: var(--color-red);
}

.wpcf7 form .wpcf7-response-output {
  background: var(--color-red);
  color: #ffffff;
  border: none;
  padding: 1.25em 1em;
  line-height: 1.4;
  margin: 30px 0 0;
  width: 100%;
}

.wpcf7 form .wpcf7-response-output.invalid {
  color: var(--color-alert);
}

.wpcf7 form .wpcf7-response-output.sent {
  color: #ffffff;
}

/*--------------------------------------------------------------
# Third Party jQuery Plugins
--------------------------------------------------------------*/
/* Slider */
.slick-loading .slick-list {
  background: #fff url("assets/img/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("assets/fonts/slick.eot");
  src: url("assets/fonts/slick.eot?#iefix") format("embedded-opentype"), url("assets/fonts/slick.woff") format("woff"), url("assets/fonts/slick.ttf") format("truetype"), url("assets/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}

.slider-controls {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
}

/* Ar
/* Arrows */
.slick-prev, .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 46%;
  display: block;
  width: 36px;
  height: 16px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 36px auto;
  background-position: center;
  z-index: 100;
}

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
  color: transparent;
  outline: none;
}

.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled, .slick-prev.slick-disabled:before, .slick-next.slick-disabled, .slick-next.slick-disabled:before {
  opacity: .05;
  cursor: default;
}

.slick-prev:before, .slick-next:before {
  font-family: 'slick';
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: none;
}

.slick-prev {
  left: 85px;
  background-image: url(assets/img/icons/arrow--left.svg);
}

[dir='rtl'] .slick-prev {
  right: 15px;
  left: auto;
}

[dir='rtl'] .slick-prev:before {
  content: '→';
}

.slick-prev:before {
  content: '←';
}

.slick-next {
  right: 85px;
  background-image: url(assets/img/icons/arrow--right.svg);
}

[dir='rtl'] .slick-next {
  right: auto;
  left: 15px;
}

[dir='rtl'] .slick-next:before {
  content: '←';
}

.slick-next:before {
  content: '→';
}

.slick-dots {
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
}

.slick-dots li {
  position: relative;
  display: block;
  float: left;
  width: 10px;
  height: 10px;
  margin-right: 4px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  width: 10px;
  height: 10px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  cursor: pointer;
}

.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
  background-color: #FFB6C0;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  text-align: center;
  opacity: 0.8;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #FFB6C0;
}

.slick-dots li.slick-active button:before {
  background-color: var(--color-red);
  border-color: var(--color-red);
  color: var(--color-red);
  opacity: 1;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: row;
  margin-left: auto;
  margin-right: auto;
  gap: 17px;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
  margin: 0 auto;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: flex;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/* Post List Show/Hide
--------------------------------------------- */
.recent-posts__bottom {
  display: none;
}

.recent-posts__bottom.visible {
  display: block;
}

.toggle-posts {
  display: block;
  background: none;
  border: none;
  color: var(--color-red);
  font-size: clamp(40px, 4.6875vw, 60px);
  cursor: pointer;
  margin-top: clamp(40px, 4.6875vw, 60px);
  margin-left: auto;
  margin-right: auto;
}

.has-background:not(.has-white-background-color) .toggle-posts {
  color: var(--color-white);
}

.toggle-posts .arrow {
  display: inline-block;
  transition: transform 0.3s ease;
}

.toggle-posts.active .arrow {
  transform: rotate(180deg);
}

/* Swiper Slides
--------------------------------------------- */
.carousel-wrapper {
  --swiper-pagination-color: var(--color-white);
  --swiper-pagination-bullet-inactive-color: var(--color-yellow);
  --swiper-pagination-bullet-size: 16px;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 0;
  overflow: hidden;
  position: relative;
}

.carousel-wrapper .swiper-slide {
  height: auto;
}

.carousel-wrapper__navigation {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 30px;
  margin-top: clamp(40px, 4.6875vw, 60px);
}

.carousel-wrapper__navigation .swiper-button-next,
.carousel-wrapper__navigation .swiper-button-prev,
.carousel-wrapper__navigation .swiper-pagination {
  position: static;
}

.carousel-wrapper__navigation .swiper-button-next svg path,
.carousel-wrapper__navigation .swiper-button-prev svg path {
  fill: currentColor;
}

.carousel-wrapper__navigation .swiper-button-next,
.carousel-wrapper__navigation .swiper-button-prev,
.carousel-wrapper__navigation .swiper-button-next svg,
.carousel-wrapper__navigation .swiper-button-prev svg {
  height: auto;
  margin: 0;
}

.carousel-wrapper__navigation .swiper-button-prev {
  order: 1;
}

.carousel-wrapper__navigation .swiper-button-next {
  order: 3;
}

.carousel-wrapper__navigation .swiper-button-next:after,
.carousel-wrapper__navigation .swiper-button-prev:after {
  display: none;
}

.carousel-wrapper__navigation .swiper-button-next,
.carousel-wrapper__navigation .swiper-button-prev {
  width: 20px;
}

.carousel-wrapper__navigation .swiper-pagination {
  order: 2;
}

.carousel-wrapper__navigation .swiper-pagination-bullets.swiper-pagination-horizontal {
  width: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 20px;
}

/* Featured Posts Carousel Nav
--------------------------------------------- */
.carousel-wrapper__navigation .swiper-pagination-bullets.swiper-pagination--wide {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
  justify-content: flex-end;
}

.swiper-pagination--wide {
  --swiper-pagination-bullet-size: 12px;
}

.swiper-pagination--wide .swiper-pagination-bullet {
  display: block;
  flex: 1 0 20px;
  width: auto;
  height: var(--swiper-pagination-bullet-size);
  border-radius: 6px;
  position: relative;
  overflow: hidden;
}

.swiper-pagination--wide .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: var(--swiper-pagination-bullet-size);
  border-radius: 3em;
}

.swiper-pagination--wide .swiper-pagination-bullet,
.swiper-pagination--wide .swiper-pagination-bullet-active {
  background-color: var(--color-light-grey);
}

.swiper-pagination--wide .swiper-pagination-bullet.visited {
  background-color: var(--color-red);
}

.swiper-pagination--wide .swiper-pagination-bullet-active::before {
  background: var(--color-red);
  animation: expandWidth 4.5s ease-out forwards;
}

/* Bar width animation
--------------------------------------------- */
@keyframes expandWidth {
  from {
    width: 0.5%;
  }
  to {
    width: 100%;
  }
}

/* View all link */
.carousel-wrapper__link {
  display: block;
  margin-top: 1em;
}

/* JS disabled */
.swiper-container:not(.swiper-initialized) .swiper-wrapper {
  display: block;
}

.swiper-container:not(.swiper-initialized) + .carousel-wrapper__navigation {
  display: none;
}

.carousel--news:not(.swiper-initialized) .swiper-slide {
  margin-bottom: clamp(30px, 3.125vw, 60px);
  padding-bottom: clamp(30px, 3.125vw, 60px);
  border-bottom: 1px solid var(--color-red);
}

/* Media Queries */
@media all and (max-width: 619px) {
  .carousel-wrapper {
    --swiper-pagination-bullet-size: 8px;
  }
  .carousel-wrapper__navigation .swiper-pagination-bullets.swiper-pagination-horizontal {
    gap: 10px;
    width: 100%;
  }
}

@media all and (min-width: 820px) {
  .carousel-wrapper__navigation.wide {
    margin-top: 0;
    position: absolute;
    bottom: 44px;
    right: 0;
  }
  .carousel-wrapper__navigation.wide {
    width: calc(55% - clamp(30px, 3.125vw, 60px));
    margin-left: auto;
  }
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
:root {
  --color-menu-toggle: var(--color-white);
  --color-menu-toggle-active: #ffffff;
  --menu-item-gap: 8px;
  --menu-item-radius: 4px;
  --menu-item-link-color: var(--color-white);
  --menu-item-link-color-hover: var(--color-red);
  --menu-item-link-color-active: var(--color-white);
}

.masthead__menu a {
  line-height: 1.4;
  position: relative;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
  text-decoration: none;
}

.menu-item a {
  display: var(--menu-item-link-display, flex);
  flex: var(--menu-item-link-flex, unset);
  align-items: center;
  justify-content: var(--menu-item-link-justify-content, start);
  width: var(--menu-item-link-width, auto);
  max-width: var(--menu-item-link-max-width, 100%);
  padding: var(--menu-item-link-padding, 0 0);
  color: var(--menu-item-link-color, var(--color-heading));
  text-align: var(--menu-item-link-text-align, start);
  transition: var(--menu-item-transition, all 0.15s);
  font-weight: 500;
}

.menu-item a:hover {
  color: var(--menu-item-link-color-hover, var(--color-brand-secondary));
  cursor: pointer;
}

.masthead .donate > a,
.primary-nav .donate > a {
  display: inline-block;
  padding: .45em .85em;
  color: var(--color-black);
  font-weight: 500;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.2;
  text-decoration: none;
  background: #FFFFFF;
  border-radius: 3em;
  transition: all 0.15s;
}

.masthead .donate > a:hover,
.primary-nav .donate > a:hover {
  color: #FFFFFF;
  background-color: var(--color-yellow);
  cursor: pointer;
}

@media all and (max-width: 767px) {
  #page.fixed {
    overflow: hidden;
  }
}

@media screen and (max-width: 1139px) {
  .masthead__menu {
    width: 100%;
    min-height: 100vh;
    min-height: -webkit-fill-available;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    padding: 70px 0 0;
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .75em;
  }
  #primary-menu,
  #secondary-menu {
    padding: 0 var(--site-padding);
    transition-delay: 1s;
    transition-property: background-color;
  }
  .masthead__menu a {
    text-align: center;
  }
  .masthead__menu a:hover,
  .masthead__menu a:focus {
    --menu-item-link-color-hover: var(--color-orange);
    color: #FFFFFF;
  }
  .masthead__menu li {
    font-size: clamp(1.625rem, 2.08vw, 2.5rem);
    line-height: 1;
    text-align: center;
  }
  .masthead__menu li > a {
    line-height: 1.05;
    display: inline-block;
    color: var(--color-mobile-menu-link);
  }
  .masthead__menu li.current-menu-item > a {
    color: var(--color-mobile-menu-link-active);
    --menu-item-link-color-hover: var(--color-green);
  }
  .masthead__menu li a {
    display: inline-block;
  }
  .masthead__menu li:not(:last-child) {
    margin-bottom: .75em;
  }
  .masthead__menu ul {
    list-style: none;
    font-size: 28px;
    display: none;
  }
  .primary-nav__main > ul,
  .primary-nav__sub > ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 5;
    visibility: hidden;
  }
  .primary-nav__main > ul > li,
  .primary-nav__sub > ul > li {
    opacity: 0;
    transition: all 0.5s cubic-bezier(0, 0.995, 0.99, 1) 0.5s;
  }
  .primary-nav__main > ul > li:nth-child(1),
  .primary-nav__sub > ul > li:nth-child(1) {
    transform: translateX(40px);
    transition-delay: 0.49s;
  }
  .primary-nav__main > ul > li:nth-child(2),
  .primary-nav__sub > ul > li:nth-child(2) {
    transform: translateX(80px);
    transition-delay: 0.42s;
  }
  .primary-nav__main > ul > li:nth-child(3),
  .primary-nav__sub > ul > li:nth-child(3) {
    transform: translateX(120px);
    transition-delay: 0.35s;
  }
  .primary-nav__main > ul > li:nth-child(4),
  .primary-nav__sub > ul > li:nth-child(4) {
    transform: translateX(160px);
    transition-delay: 0.28s;
  }
  .primary-nav__main > ul > li:nth-child(5),
  .primary-nav__sub > ul > li:nth-child(5) {
    transform: translateX(200px);
    transition-delay: 0.21s;
  }
  .primary-nav__main > ul > li:nth-child(6),
  .primary-nav__sub > ul > li:nth-child(6) {
    transform: translateX(240px);
    transition-delay: 0.14s;
  }
  .primary-nav__main > ul > li:nth-child(7),
  .primary-nav__sub > ul > li:nth-child(7) {
    transform: translateX(280px);
    transition-delay: 0.07s;
  }
  .primary-nav__main > ul > li:nth-child(8),
  .primary-nav__sub > ul > li:nth-child(8) {
    transform: translateX(320px);
    transition-delay: 0s;
  }
  .primary-nav__main > ul > li:nth-child(9),
  .primary-nav__sub > ul > li:nth-child(9) {
    transform: translateX(360px);
    transition-delay: -0.07s;
  }
  .primary-nav__main > ul > li:nth-child(10),
  .primary-nav__sub > ul > li:nth-child(10) {
    transform: translateX(400px);
    transition-delay: -0.14s;
  }
  .primary-nav__main > ul ul,
  .primary-nav__sub > ul ul {
    display: block;
    overflow: hidden;
    margin: 20px 0 0;
  }
  .primary-nav__main > ul ul.active,
  .primary-nav__sub > ul ul.active {
    max-height: 1000px;
    margin: 20px 0 0;
    opacity: 1;
  }
  .masthead__widgets .wp-block-social-links .wp-block-social-link.wp-social-link {
    color: #FFFFFF !important;
  }
  .masthead__widgets {
    min-height: none;
    margin: 20px auto;
    max-width: 80%;
  }
  .social-tab__icons {
    margin-top: 0;
  }
  .toggle-menu {
    display: inline-block;
    margin-left: auto;
    z-index: 10;
    padding: 0;
    border: 0;
    background: transparent;
    outline: 0;
    cursor: pointer;
    border-radius: 50%;
    transition: background-color .15s linear;
    order: 4;
  }
  .toggle-menu:hover, .toggle-menu:focus {
    color: var(--color-menu-toggle);
  }
  .menuicon {
    display: block;
    cursor: pointer;
    color: var(--color-menu-toggle);
    transform: rotate(0deg);
    transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .menuicon__bar {
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    transform: rotate(0deg);
    transform-origin: 48% 49%;
    transition: transform .25s ease-in-out;
  }
  .splash {
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 1px;
  }
  .splash::after {
    content: "";
    display: block;
    position: absolute;
    background-color: var(--color-mobile-menu-background);
    background: linear-gradient(330deg, #e65919 0%, #ef7e23 100%);
    background-size: cover;
    width: 0;
    height: 100vh;
    height: 100dvh;
    top: 0;
    right: 0;
    transition: width 0.5s cubic-bezier(0.6, 0.13, 0.32, 1.46);
    will-change: transform;
  }
  .masthead__widgets {
    display: none;
  }
  .masthead__menu--active,
  .masthead__menu--active:target {
    visibility: visible;
    pointer-events: auto;
    overflow-y: scroll;
  }
  .masthead__menu--active > div > ul,
  .masthead__menu--active:target > div > ul {
    visibility: visible;
  }
  .masthead__menu--active > div > ul > li,
  .masthead__menu--active:target > div > ul > li {
    opacity: 1;
    transform: translateX(0) !important;
  }
  .masthead__menu--active .masthead__widgets,
  .masthead__menu--active:target .masthead__widgets {
    display: block;
  }
  .masthead__menu--active > .splash::after,
  .masthead__menu--active:target > .splash::after {
    width: 100vw;
    height: 100vh;
    height: 100dvh;
  }
  .masthead__menu--active .nav__menu,
  .masthead__menu--active:target .nav__menu {
    visibility: visible;
  }
  .masthead__menu--active .nav__item,
  .masthead__menu--active:target .nav__item {
    opacity: 1;
    transform: translateY(0);
  }
  .toggle-menu--active .menuicon {
    color: var(--color-menu-toggle-active);
    transform: rotate(180deg);
  }
  .toggle-menu--active .menuicon__bar:nth-child(1), .toggle-menu--active .menuicon__bar:nth-child(4) {
    opacity: 0;
  }
  .toggle-menu--active .menuicon__bar:nth-child(2) {
    transform: rotate(45deg);
  }
  .toggle-menu--active .menuicon__bar:nth-child(3) {
    transform: rotate(-45deg);
  }
}

@media all and (max-height: 580px) {
  .masthead__menu--active {
    justify-content: flex-start;
    padding-top: 90px;
  }
}

@media all and (min-width: 1140px) and (max-width: 1279px) {
  .primary-nav {
    flex-wrap: wrap;
  }
}

@media all and (min-width: 1140px) {
  .masthead a.toggle-menu,
  #primary-nav a.toggle-menu {
    display: none;
  }
  .primary-nav {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    column-gap: 0;
    row-gap: 1em;
  }
  .primary-nav__sub {
    margin-left: calc(var(--menu-item-gap) * 2);
  }
  .primary-nav__main {
    flex: 1 0 auto;
  }
  .primary-nav ul {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .primary-nav a {
    display: block;
    line-height: 1.3;
  }
  .primary-nav a:active,
  .primary-nav a:hover {
    text-decoration: none;
  }
  #primary-menu {
    margin: 0;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    column-gap: var(--menu-item-gap, 1em);
    font-size: clamp(16px, 1.25vw, 18px);
  }
  #primary-menu > li {
    display: inline-block;
    position: relative;
    line-height: 1;
  }
  #primary-menu > li > a {
    line-height: 1;
    display: block;
    position: relative;
    -webkit-transition: all 0.15s;
    transition: all 0.15s;
    text-decoration: none;
    z-index: 601;
    text-align: center;
    padding: .5em .45em;
    border-radius: var(--menu-item-radius, 0);
  }
  #primary-menu > li:hover > a {
    color: var(--menu-item-link-color-hover, var(--color-brand-tertiary));
    background-color: #FFFFFF;
  }
  #primary-menu > li:hover > a:hover {
    color: var(--menu-item-link-color-hover, var(--color-brand-tertiary));
  }
  #primary-menu > li.current_page_parent > a,
  #primary-menu > li.current-menu-parent > a,
  #primary-menu > li.current-menu-item > a,
  #primary-menu > li.current-page-ancestor > a {
    color: var(--menu-item-link-color-active);
    background-color: rgba(255, 255, 255, 0.22);
  }
  #primary-menu > li.current_page_parent > a:hover,
  #primary-menu > li.current-menu-parent > a:hover,
  #primary-menu > li.current-menu-item > a:hover,
  #primary-menu > li.current-page-ancestor > a:hover {
    color: var(--menu-item-link-color-active);
  }
  #primary-menu > li:hover ul {
    display: block;
  }
  #primary-menu > li > ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 250px;
    text-align: left;
    margin: 0;
    padding: .6em 0;
    z-index: 600;
    background-color: var(--color-orange);
  }
  #primary-menu > li > ul > li:hover {
    color: var(--color-yellow);
  }
  #primary-menu > li > ul > li:not(:last-child) {
    margin-bottom: .6em;
  }
  #primary-menu > li > ul > li a {
    padding: 0 .5em;
  }
  #primary-menu > li > ul > li ul a {
    padding: 3px 15px;
    font-size: 1rem;
  }
}

@media all and (min-width: 1280px) {
  #primary-menu > li > a {
    padding: .5em .65em;
  }
}

/* Page Links
--------------------------------------------- */
.page-links__item {
  font-size: clamp(1rem, 1.39vw, 20px);
}

.page-link__content {
  padding: clamp(15px, 2.5vw, 30px);
  margin: 0;
}

.page-link__header {
  font-size: clamp(20px, 1.94vw, 24px);
  margin-bottom: .5em;
}

.page-link__link,
.page-link__content p a,
.page-links__item p a {
  font-size: clamp(16px, 1.39vw, 18px);
  text-decoration: underline;
  margin: 0;
}

.nowrap {
  white-space: nowrap;
}

/* Block Links
--------------------------------------------- */
.block-links {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  grid-column-gap: 40px;
  grid-row-gap: 1em;
  font-size: clamp(20px, 1.94vw, 24px);
  line-height: 1.3;
}

.block-links li {
  display: block;
  flex: 0 0 100%;
}

.block-links a {
  text-decoration: none;
  font-size: clamp(20px, 1.94vw, 24px);
  font-weight: var(--body-font-weight-bold);
  color: var(--color-black);
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  border-left: 0.75em solid var(--color-red);
  padding: 0.5em 0 0.5em 1em;
  gap: 1em;
  text-wrap: pretty;
  -webkit-transition: all 0.15s;
  /* Safari */
  transition: all 0.15s;
}

.block-links a:hover {
  background-color: var(--color-light-grey);
}

.block-links li:nth-child(3n-2) a {
  border-color: var(--color-orange);
}

.block-links li:nth-child(3n) a {
  border-color: var(--color-yellow);
}

.block-link__icon {
  flex: 0 0 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media all and (min-width: 800px) {
  .block-links li {
    flex: 0 0 calc(50% - 20px);
  }
}

/* Pagination
--------------------------------------------- */
/* 
--------------------------------------------- */
.nav-links {
  display: flex;
  flex-direction: column;
  width: 100%;
  grid-column-gap: 40px;
}

.nav-next {
  text-align: right;
}

.nav-previous {
  text-align: left;
}

/* 
--------------------------------------------- */
.pagination {
  text-align: center;
  display: block;
  width: 100%;
  font-size: 1rem;
  margin-top: clamp(40px, 6.25vw, 120px);
  margin-bottom: clamp(40px, 6.25vw, 120px);
  font-weight: var(--body-font-weight-bold);
}

.pagination ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  align-items: center;
  justify-content: center;
}

.pagination li {
  padding: 0;
  margin: 0 .25em;
  flex: 0 0 46px;
  display: inline;
  overflow: hidden;
}

.pagination li.active a {
  border-color: var(--color-black);
  background-color: var(--color-black);
  color: var(--color-white);
}

.pagination li.active a:hover,
.pagination li.active a:focus {
  border-color: var(--color-black);
  background-color: var(--color-black);
  color: var(--color-white);
  text-decoration: none;
}

.pagination li > a,
.pagination li > span {
  margin: 0;
  text-decoration: none;
  line-height: 1em;
  font-size: 1em;
  padding: .75em .5em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--color-white);
  background-color: var(--color-brand-primary);
  -webkit-transition: all 0.15s;
  /* Safari */
  transition: all 0.15s;
  border-radius: 33px;
  width: 46px;
  height: 46px;
}

.pagination li > a.dots,
.pagination li > span.dots {
  background-color: transparent;
  border-color: transparent;
}

.pagination li > a.dots:hover,
.pagination li > span.dots:hover {
  background-color: transparent;
  color: #2a2a2a;
}

.pagination li > a:hover,
.pagination li > span:hover,
.pagination li > a:focus,
.pagination li > span:focus {
  background-color: var(--color-yellow);
  border-color: var(--color-yellow);
  color: var(--color-black);
  text-decoration: none;
}

.pagination .fa {
  font-size: .9em;
}

.pagination .current {
  cursor: default;
  color: var(--color-text-main);
}

.pagination .current:hover
.pagination .current:focus {
  background-color: #fff;
  color: var(--color-text-main);
}

.pagination .next a {
  padding-left: 3px;
}

.pagination .prev a {
  padding-right: 3px;
}

.pagination .prev span,
.pagination .next span {
  border: solid var(--color-white);
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 4.5px;
  margin: 5px;
  background-color: transparent;
}

.pagination .next span {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.pagination .prev span {
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.pagination .prev:hover span,
.pagination .next:hover span {
  border-color: var(--color-black);
}

.pagination .next:hover a,
.pagination .prev:hover a,
.pagination .next a:hover,
.pagination .prev a:hover {
  color: var(--color-black);
}

/* 
--------------------------------------------- */
.comment-navigation,
.posts-navigation,
.post-navigation {
  display: flex;
  flex-direction: column;
  margin-top: clamp(40px, 4.6875vw, 60px);
  margin-bottom: clamp(40px, 6.25vw, 120px);
  font-size: clamp(20px, 1.875vw, 24px);
  width: 100%;
  gap: 30px;
}

.comment-navigation__link,
.posts-navigation__link,
.post-navigation__link {
  display: block;
  margin-bottom: 0;
  flex: 1;
}

.comment-navigation__link svg,
.posts-navigation__link svg,
.post-navigation__link svg {
  display: block;
  margin-bottom: 0;
  flex: 1;
}

.comment-navigation__link.next,
.posts-navigation__link.next,
.post-navigation__link.next {
  text-align: right;
}

.comment-navigation__link small,
.posts-navigation__link small,
.post-navigation__link small {
  display: block;
}

.comment-navigation__link a,
.posts-navigation__link a,
.post-navigation__link a {
  text-decoration: none;
  color: var(--color-black);
  display: block;
  text-wrap: balance;
}

.comment-navigation__link a:hover,
.posts-navigation__link a:hover,
.post-navigation__link a:hover {
  text-decoration: none;
  color: var(--color-orange);
}

.post-navigation__link .link-icon {
  flex: 0 0 2em;
}

.post-navigation__link .link-text {
  flex: 1 1 calc(100% - 2.5em);
}

.nav-previous .link-text {
  padding-left: .5em;
}

.nav-next .link-text {
  padding-right: .5em;
  text-align: right;
}

.post-navigation__link a > span {
  display: block;
}

@media all and (min-width: 600px) {
  .comment-navigation,
  .posts-navigation,
  .post-navigation {
    flex-direction: row;
  }
  .post-navigation__link--next {
    text-align: right;
  }
  .post-navigation__link.prev a {
    margin-right: 2em;
  }
}

@media all and (min-width: 768px) {
  .comment-navigation,
  .posts-navigation,
  .post-navigation {
    margin-top: clamp(40px, 6.25vw, 70px);
  }
}

@media all and (min-width: 1024px) {
  .post-navigation-group {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(560px, 860px);
    grid-template-rows: auto;
    column-gap: clamp(40px, 6.25vw, 120px);
  }
}

/* Breadcrumbs
--------------------------------------------- */
.breadcrumbs {
  font-size: clamp(16px, 1.25vw, 18px);
  display: flex;
  text-align: left;
  background-color: #fff;
  color: var(--color-red);
  margin-top: clamp(28px, 3.125vw, 60px);
}

.single-post .breadcrumbs,
.single-case-studies .breadcrumbs {
  margin-bottom: clamp(28px, 3.125vw, 40px);
}

.breadcrumbs::-webkit-scrollbar {
  display: none;
}

.breadcrumbs span > span,
.breadcrumbs a {
  font-weight: var(--body-font-weight-bold, 700);
}

.breadcrumbs a {
  color: var(--color-red);
  text-decoration: none;
}

.breadcrumbs a:hover {
  opacity: .8;
}

.breadcrumb_last {
  opacity: .8;
  font-weight: var(--body-font-weight-bold, 700);
  text-decoration: underline;
}

.breadcrumbs > span > span > a {
  margin-left: 0;
}

.breadcrumbs .separator {
  margin-left: .5em;
  margin-right: .5em;
  display: inline-block;
  line-height: 1.2;
}

/* Posts Grid
--------------------------------------------- */
.site-main {
  position: relative;
}

.post,
.page {
  margin: 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.content-area {
  position: relative;
}

.search .content-area,
.archive .content-area,
.blog .content-area {
  padding-top: clamp(40px, 7vw, 60px);
  padding-bottom: clamp(40px, 7vw, 90px);
}

.entry-footer {
  font-size: 14px;
  margin: 40px 0;
}

.entry-footer .cat-links {
  font-style: italic;
}

.entry-content .wp-block-image.aligncenter img {
  margin-left: auto;
  margin-right: auto;
}

.post-list.post-list--related {
  flex-direction: column;
}

.post-list__item a:where(:not(.wp-element-button):not(.button)),
.carousel__item a:where(:not(.wp-element-button):not(.button)) {
  text-decoration: none;
  color: #FFFFFF;
}

.post-list__item a:hover .article__title,
.carousel__item a:hover .article__title {
  text-decoration: underline;
}

.post-list__item a .article__title,
.carousel__item a .article__title {
  text-wrap: pretty;
  line-height: 1.3;
}

.post-list__item a.button,
.carousel__item a.button {
  align-self: flex-start;
  margin-top: auto;
  padding: 0.55em 1em;
  font-size: 0.875em;
}

.wp-block-latest-posts__list li,
.post-list__item {
  flex: 0 1 420px;
  margin-bottom: 40px;
}

.wp-block-latest-posts__list li,
.post-list__item,
.carousel__item {
  color: var(--color-text-main);
  line-height: 1.4;
  font-size: clamp(1rem, 1.5625vw, 1.125rem);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: auto;
}

.post-list__item,
.recent-posts .carousel__item {
  background-color: #FFFFFF;
  background-color: var(--color-red);
  color: #FFFFFF;
  --heading-color: #FFFFFF;
}

.post-list__item a.button,
.carousel__item a.button {
  --button-background: var(--color-white);
  --button-background-hover: var(--color-black);
  --button-color: var(--color-red);
  --button-color-hover: #FFFFFF;
}

.has-background:not(.has-white-background-color) .post-list__item,
.has-background:not(.has-white-background-color) .recent-posts .carousel__item {
  background-color: #FFFFFF;
  color: var(--color-text-black);
  --heading-color: var(--color-black);
}

.has-background:not(.has-white-background-color) .article__date {
  color: var(--color-red);
}

.has-background:not(.has-white-background-color) .post-list__item a .article__title,
.has-background:not(.has-white-background-color) .carousel__item a .article__title,
.has-background:not(.has-white-background-color) .post-list__item a:where(:not(.wp-element-button):not(.button)),
.has-background:not(.has-white-background-color) .carousel__item a:where(:not(.wp-element-button):not(.button)) {
  color: var(--color-black);
}

.has-background:not(.has-white-background-color) .post-list__item a:hover .article__title,
.has-background:not(.has-white-background-color) .carousel__item a:hover .article__title,
.has-background:not(.has-white-background-color) .post-list__item a:where(:not(.wp-element-button):not(.button)):hover,
.has-background:not(.has-white-background-color) .carousel__item a:where(:not(.wp-element-button):not(.button)):hover {
  color: var(--color-orange);
}

.has-background:not(.has-white-background-color) .post-list__item a.button,
.has-background:not(.has-white-background-color) .carousel__item a.button {
  --button-background: var(--color-red);
  --button-background-hover: var(--color-black);
  --button-color: #FFFFFF;
  --button-color-hover: #FFFFFF;
}

/* 
--------------------------------------------- */
.article--featured,
.swiper-slide .article {
  height: 100%;
}

.article--featured .article__title {
  font-size: clamp(22px, 1.875vw, 24px);
}

/* 
--------------------------------------------- */
.article {
  font-size: clamp(16px, 1.53vw, 18px);
}

.article__meta {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  grid-gap: 10px;
  gap: 10px;
  font-size: .875rem;
  margin-bottom: 1em;
}

.article__date {
  font-size: clamp(16px, 1.53vw, 18px);
  margin-bottom: 1em;
  display: block;
  font-weight: var(--body-font-weight-bold);
}

.article__title,
.article__text {
  font-weight: 300;
  text-wrap: pretty;
}

.article__title {
  margin-bottom: .75em;
  line-height: 1.26;
  font-size: clamp(20px, 1.67vw, 24px);
}

.article__text {
  padding: clamp(20px, 2.4vw, 36px) clamp(16px, 2.08vw, 30px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
}

.article__text p:last-of-type {
  margin-bottom: 1.5em;
}

.article__image,
.article__image img {
  display: block;
}

.article__image img {
  -webkit-transition: all 0.15s;
  /* Safari */
  transition: all 0.15s;
  width: 100%;
}

.article__image {
  overflow: hidden;
  background-color: var(--color-orange);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.article__image:hover img {
  opacity: .7;
}

/* Posts/Events Carousel Header
--------------------------------------------- */
.carousel-header {
  margin-bottom: 40px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 14px;
}

.carousel-header__heading {
  display: block;
  margin-right: auto;
  margin-bottom: 0;
  line-height: 1;
  flex: 1 1 100%;
  margin-bottom: 20px;
}

.carousel-header__heading .big-header {
  margin-bottom: 0;
}

.carousel-header__controls {
  display: flex;
  flex-direction: row;
  column-gap: 8px;
  flex: 0 0 82px;
  margin-top: 0;
}

@media all and (min-width: 600px) {
  .carousel-header {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  .carousel-header__heading {
    flex-basis: auto;
    margin-bottom: 0;
  }
}

@media all and (min-width: 800px) {
  .carousel-header {
    gap: 26px;
  }
}

@media all and (min-width: 1200px) {
  .carousel-header {
    margin-bottom: 80px;
  }
}

/* 
--------------------------------------------- */
.news-post {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  font-size: clamp(16px, 1.53vw, 22px);
}

.news-post a {
  text-decoration: none;
}

.news-post__title a {
  color: var(--color-text-black);
}

.news-post__title {
  font-size: clamp(24px, 2.5vw, 48px);
  font-weight: 300;
  margin-bottom: .5em;
  text-wrap: balance;
}

.news-post__cat {
  font-size: clamp(16px, 1.8vw, 26px);
  margin-bottom: 1em;
  font-weight: var(--body-font-weight-bold);
  color: var(--color-red);
  text-wrap: pretty;
}

.news-post__excerpt {
  max-width: 28em;
  text-wrap: pretty;
  margin-bottom: 1em;
  line-height: 1.4;
}

.news-post__image {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.news-post__image a,
.news-post__image img {
  display: block;
}

@media all and (max-width: 499px) {
  .news-post__image {
    justify-content: center;
    max-height: 30vh;
    overflow: hidden;
  }
}

@media all and (min-width: 500px) {
  .news-post {
    flex-direction: row;
    flex-wrap: nowrap;
    column-gap: 40px;
    column-gap: clamp(30px, 3.125vw, 60px);
  }
  .news-post__image {
    flex: 0 1 35%;
  }
  .news-post__text {
    flex: 1 1 60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-bottom: clamp(46px, 3.75vw, 72px);
  }
}

@media all and (min-width: 720px) {
  .news-post__image {
    flex-basis: 45%;
  }
  .news-post__text {
    flex-basis: 50%;
  }
}

@media all and (min-width: 600px) {
  .post-list,
  .post-list--columns,
  .carousel--posts:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    grid-gap: 30px 20px;
    gap: 30px 20px;
  }
  .wp-block-latest-posts__list li,
  .post-list__item,
  .carousel--posts:not(.swiper-initialized) .swiper-slide {
    margin-bottom: 0;
    flex: 0 0 calc(50% - 10px);
  }
}

@media all and (min-width: 768px) and (max-width: 1023px) {
  .post-list--columns,
  .carousel--posts:not(.swiper-initialized) .swiper-wrapper {
    grid-column-gap: 30px;
    grid-row-gap: 40px;
  }
  .post-list__item,
  .carousel--posts:not(.swiper-initialized) .swiper-slide {
    flex: 0 0 calc(50% - 15px);
  }
}

@media all and (min-width: 820px) {
  .post-list,
  .post-list--columns,
  .carousel--posts:not(.swiper-initialized) .swiper-wrapper {
    margin-bottom: 40px;
    grid-gap: 40px 30px;
    gap: 40px 30px;
  }
  .wp-block-latest-posts__list li,
  .post-list__item,
  .carousel--posts:not(.swiper-initialized) .swiper-slide {
    flex: 0 0 calc(50% - 15px);
  }
}

@media all and (min-width: 1024px) {
  .post-list__item,
  .carousel--posts:not(.swiper-initialized) .swiper-slide {
    flex: 0 1 calc(33.333% - 20px);
  }
}

/* Single Post
--------------------------------------------- */
/* Copy
--------------------------------------------- */
:root {
  --post-width-min: 92vw;
  --post-width-max: 812px;
  --post-width: var(--post-width-min);
  --post-padding: calc((100vw - var(--post-width)) / 2);
}

.post-image {
  position: relative;
  margin-bottom: clamp(2.5rem, 6.25vw, 60px);
}

.entry-content {
  overflow: hidden;
}

.post-template-default .the-post__content > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)) {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto !important;
  margin-right: auto !important;
}

.post-template-default .the-post__content > .alignfull {
  margin-left: calc(var(--site-padding) * -1);
  margin-right: calc(var(--site-padding) * -1);
}

.the-post__content {
  width: 100%;
  line-height: 1.55;
}

.the-post__content h2,
.the-post__content h3,
.the-post__content h4,
.the-post__content h5 {
  margin-top: 1.5em;
  margin-bottom: 0.75em;
}

.the-post__content h2:first-of-type {
  margin-top: 0;
}

.the-post__content p + h2:first-of-type {
  margin-top: 2.5em;
}

.the-post__content ul {
  margin: 1.5em 0 2em;
  padding: 0 0 0 2em;
}

.the-post__content ul > li {
  margin-bottom: 0.45em;
}

.the-post__content h4 + ul {
  margin-top: 1em;
}

.the-post__content ol {
  margin: 1.5em 0 2em;
  padding: 0 0 0 2em;
}

.the-post__content ol > li {
  margin-bottom: 0.85em;
}

@media all and (max-width: 1023px) {
  .the-post__content {
    margin-left: auto;
    margin-right: auto;
  }
}

/* 
--------------------------------------------- */
.post-meta {
  margin-bottom: clamp(30px, 2.5vw, 60px);
}

.post-meta__date {
  margin-left: auto;
  flex: 0 0 130px;
  text-align: right;
  font-size: 1.0625rem;
  font-family: var(--heading-font-family-italic);
}

.updated:not(.published) {
  display: none;
}

.the-post__footer {
  border-top: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  gap: 1em;
  margin-top: clamp(40px, 6.25vw, 80px);
  padding-top: clamp(20px, 3.125vw, 40px);
}

.the-post__footer .posted-on {
  padding-right: 0.75em;
  margin-right: 0.75em;
  border-right: 1.5px solid #fff;
}

.the-post__footer .comment-link {
  margin-left: auto;
}

.the-post__footer a {
  color: var(--color-text-main);
  text-decoration: none;
}

.the-post__footer a:hover {
  text-decoration: underline;
}

.the-post__meta {
  color: var(--color-brand-primary);
  font-size: .75rem;
  display: block;
  line-height: 1.3;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 20px;
}

.the-post__meta a {
  text-decoration: none;
  color: var(--color-brand-primary);
  text-transform: uppercase;
}

.cat-links .separator:last-child {
  display: none;
}

/* 
--------------------------------------------- */
.the-post__content .wp-block-image:not(:first-child),
.the-post__content .wp-block-gallery:not(:first-child),
.the-post__content .wp-block-columns:not(:first-child) {
  margin-block-start: clamp(40px, 5.5vw, 48px);
}

.the-post__content .wp-block-image:not(:last-child),
.the-post__content .wp-block-gallery:not(:last-child),
.the-post__content .wp-block-columns:not(:last-child) {
  margin-block-end: clamp(40px, 5.5vw, 60px);
}

.the-post__content .wp-block-image + .wp-block-gallery,
.the-post__content .wp-block-image + .wp-block-image,
.the-post__content .wp-block-image + .wp-block-columns,
.the-post__content .wp-block-gallery + .wp-block-gallery,
.the-post__content .wp-block-gallery + .wp-block-image,
.the-post__content .wp-block-gallery + .wp-block-columns,
.the-post__content .wp-block-columns + .wp-block-gallery,
.the-post__content .wp-block-columns + .wp-block-image,
.the-post__content .wp-block-columns + .wp-block-columns {
  margin-block-start: 0;
}

/* 
--------------------------------------------- */
.wp-block-latest-posts.wp-block-latest-posts__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(40px, 3.125vw, 3.75rem);
}

.wp-block-latest-posts.wp-block-latest-posts__list li {
  flex: 1 1 240px;
}

.wp-block-latest-posts.wp-block-latest-posts__list li img {
  width: 100%;
  display: block;
}

.wp-block-latest-posts.wp-block-latest-posts__list {
  margin: 0;
  padding: 0;
}

.wp-block-latest-posts__post-title {
  text-decoration: none;
  display: block;
  margin-bottom: 1em;
  --color-link: currentColor;
  transition: color .2s;
}

.wp-block-latest-posts__post-title:hover {
  --color-link: var(--color-light-grey);
  --color-link-hover: var(--color-light-grey);
  cursor: pointer;
}

.wp-block-latest-posts__featured-image a,
.wp-block-latest-posts__featured-image img {
  display: block;
}

.wp-block-latest-posts__featured-image {
  width: 100%;
  display: block;
  margin-bottom: .75em;
}

@media all and (min-width: 400px) {
  .wp-block-latest-posts.wp-block-latest-posts__list li {
    flex: 0 1 290px;
  }
}

/* 
--------------------------------------------- */
.related-posts {
  padding: clamp(40px, 6.25vw, 60px) 0;
  background-color: var(--color-light-grey);
}

/* Posts/Events Carousel Header
--------------------------------------------- */
.related-posts__header {
  margin-bottom: 40px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 14px;
}

.related-posts__header h3 {
  display: block;
  margin-right: auto;
  margin-bottom: 0;
  line-height: 1;
  flex: 1 1 100%;
  margin-bottom: 20px;
}

@media all and (min-width: 600px) {
  .related-posts__header {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  .related-posts__header h3 {
    flex-basis: auto;
    margin-bottom: 0;
  }
}

@media all and (min-width: 800px) {
  .related-posts__header {
    gap: 26px;
  }
}

@media all and (min-width: 1200px) {
  .related-posts__header {
    margin-bottom: 80px;
  }
}

/* Featured
--------------------------------------------- */
.featured-item {
  position: relative;
  padding-bottom: clamp(6.25rem, 13.28vw, 15.94rem);
  transition: all .3s;
  display: flex;
  flex-direction: column;
}

.featured-item--wide {
  max-width: 1364px;
  margin: 0 auto clamp(5rem, 8.98vw, 6.875rem);
}

.featured-item--wide h2,
.alignwide > .featured-item h2 {
  font-size: clamp(1.25rem, 4.08vw, 5rem);
}

.featured-item__image {
  width: 100%;
  transition: all .3s ease-in;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  margin: 0;
}

.featured-item__image:after {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 57.7%;
}

.featured-item__image img {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.featured-item__graphic {
  display: none;
}

.featured-item__content {
  position: absolute;
  width: 80%;
  left: 10%;
  right: 10%;
  height: calc(100% - clamp(7.5rem, 20.57vw, 24.69rem));
  top: clamp(7.5rem, 20.57vw, 24.69rem);
  transition: all .4s;
  background-color: #FFFFFF;
  padding: clamp(1.625rem, 5.47vw, 5rem);
  padding-bottom: 0;
  z-index: 5;
}

.featured-item--event.in-view .featured-item__header,
.featured-item--event.in-view .featured-item__content h2,
.featured-item--event .featured-item__header,
.featured-item--event .featured-item__content h2 {
  font-size: clamp(1.25rem, 3.125vw, 3.75rem);
}

.featured-item--event .featured-item__header i {
  margin-bottom: .25em;
  display: block;
}

.featured-item--event p {
  display: none;
}

.featured-item--event {
  padding-bottom: 0;
}

.featured-item--event .featured-item__meta {
  font-size: clamp(1.125rem, 1.5625vw, 1.875rem);
  margin-bottom: 1.25em;
}

.featured-item__date {
  margin-bottom: .75em;
}

@media all and (max-width: 599px) {
  .featured-item--event {
    display: flex;
    flex-direction: column;
  }
  .featured-item--event .featured-item__content {
    position: static;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    padding: clamp(1.25rem, 3.125vw, 2.25rem) clamp(1rem, 2.8125vw, 2.25rem) clamp(2rem, 6.25vw, 7.5rem) 0;
  }
  .featured-item--event .featured-item__image:after {
    padding-bottom: 94.56%;
  }
  .featured-item--event .featured-item__image {
    flex: 0 0 50%;
    margin: 0;
  }
  .featured-item--event .featured-item__image img {
    height: 100%;
    width: auto;
    max-width: none;
  }
}

@media all and (min-width: 600px) {
  .featured-item--event .featured-item__content {
    width: auto;
    right: auto;
    left: 0;
    bottom: 0;
    top: auto;
    height: auto;
    padding: clamp(1.625rem, 2.08vw, 2.5rem) clamp(1.625rem, 2.6vw, 3.125rem);
  }
}

@media all and (min-width: 800px) {
  .featured-item h2 {
    max-width: 15ch;
  }
}

.featured-news {
  margin-bottom: clamp(5rem, 25.39vw, 20.3125rem);
}

.home .featured-news {
  margin-top: clamp(60px, 6.25vw, 120px);
  margin-bottom: clamp(120px, 16.98vw, 326px);
}

.featured-news__header {
  font-size: clamp(1.5rem, 2.6vw, 3.125rem);
  margin-bottom: clamp(1em, 4.16vw, 80px);
}

.featured-news__cols {
  display: flex;
  flex-direction: column;
  column-gap: 50px;
  row-gap: 50px;
}

.featured-news__cols .featured-item {
  order: 2;
}

.featured-news__cols .featured-news__text {
  order: 1;
}

.featured-news__text p {
  max-width: 42ch;
  line-height: 1.55;
}

.featured-news__link {
  margin-top: 3em;
}

.featured-item--small {
  padding-bottom: 0;
}

.featured-item--small .featured-item__graphic {
  display: block;
  position: absolute;
  bottom: -45px;
  left: -45px;
  width: calc(50% + 2vw + 45px);
}

.featured-item--small .featured-item__graphic svg {
  width: 100%;
}

.featured-item--small {
  display: flex;
  flex-direction: row;
}

.featured-item--small h2 {
  font-size: clamp(1.25rem, 2.08vw, 2.5rem);
}

.featured-item--small .featured-item__content {
  position: static;
  width: 50%;
  height: 100%;
  left: 0;
  right: 50%;
  top: 0;
  padding: clamp(1.25rem, 3.125vw, 2.25rem) clamp(1rem, 2.8125vw, 2.25rem) clamp(2rem, 6.25vw, 7.5rem) 0;
}

.featured-item--small .featured-item__image:after {
  padding-bottom: 94.56%;
}

.featured-item--small .featured-item__image {
  flex: 0 0 50%;
  margin: 0;
}

.featured-item--small .featured-item__image img {
  height: 100%;
  width: auto;
  max-width: none;
}

.featured-offer {
  position: relative;
  transition: all .3s;
}

.featured-offer .button {
  --button-background: var(--color-brand-primary);
  --button-background-hover: #FFFFFF;
  --button-color-hover: var(--color-brand-primary);
}

.featured-offer h2 {
  max-width: 18ch;
  font-size: clamp(1.25rem, 4.08vw, 1.6875rem);
}

.featured-offer__image {
  width: 100%;
  transition: all .3s ease-in;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  flex: 0 0 100%;
}

.featured-offer__image:after {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 40%;
}

.featured-offer__image img {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.featured-offer__content {
  background-color: var(--color-light-grey);
  padding: clamp(15px, 3.95vw, 30px);
  padding-bottom: clamp(15px, 3.64vw, 70px);
  z-index: 5;
  color: #FFFFFF;
}

@media all and (max-width: 799px) {
  .featured-offer__image {
    display: none;
  }
}

@media all and (min-width: 800px) {
  .featured-offer__content {
    position: absolute;
    width: calc(100% - 30px);
    left: 30px;
    right: 0;
    bottom: 0;
    transition: all .3s;
  }
}

@media all and (max-width: 499px) {
  .featured-item--small .featured-item__content {
    flex: 0 0 65%;
  }
  .featured-item--small .featured-item__image {
    flex: 0 0 35%;
  }
}

@media all and (min-width: 800px) {
  .featured-item.in-view {
    padding-bottom: 0;
    display: flex;
    flex-direction: row;
  }
  .featured-item.in-view:after {
    display: block;
    content: "";
    padding-bottom: 50%;
  }
  .alignwide > .featured-item.in-view .featured-item__content,
  .featured-item--wide.in-view {
    margin-bottom: clamp(5rem, 25.39vw, 20.3125rem);
    width: 88%;
    max-width: 1500px;
  }
  .featured-item--wide.in-view h2,
  .alignwide > .featured-item.in-view h2 {
    font-size: clamp(1.625rem, 3.65vw, 4.375rem);
  }
  .featured-item.in-view .featured-item__graphic {
    display: block;
    position: absolute;
    bottom: -45px;
    left: -45px;
    width: calc(50% + 2vw + 45px);
  }
  .featured-item.in-view .featured-item__graphic svg {
    width: 100%;
  }
  .featured-item__content {
    padding-bottom: 60px;
  }
  .featured-item.in-view .featured-item__content {
    position: static;
    width: 50%;
    height: 100%;
    left: 0;
    right: 50%;
    top: 0;
    padding-left: 0;
    padding-top: clamp(1rem, 2.8125vw, 2.25rem);
    padding-right: clamp(1rem, 2.8125vw, 2.25rem);
    flex: 0 0 50%;
  }
  .featured-item.in-view .featured-item__image:after {
    padding-bottom: 94.56%;
  }
  .featured-item--wide .featured-item__image {
    flex: 0 0 100%;
  }
  .featured-item.in-view .featured-item__image {
    position: absolute;
    width: 50%;
    margin-left: 50%;
    flex: 0 0 50%;
  }
  .featured-item.in-view .featured-item__image img {
    height: 100%;
    width: auto;
    max-width: none;
  }
}

@media all and (min-width: 1000px) {
  .featured-news__cols {
    flex-direction: row;
  }
  .featured-news__cols .featured-item {
    flex: 1 1 65%;
    order: 1;
  }
  .featured-news__cols .featured-news__text {
    flex: 0 1 calc(35% - 50px);
    order: 2;
  }
}

@media all and (min-width: 1080px) {
  /* Hover Animation */
  .featured-offer__content {
    flex: 1;
    bottom: 0;
    left: 30px;
    right: 0;
    position: absolute;
    width: calc(100% - 30px);
    z-index: 2;
  }
  .featured-offer__excerpt {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all .75s ease 0s;
  }
  .featured-offer:hover .featured-offer__content {
    width: 860px;
    padding-bottom: clamp(15px, 3.95vw, 30px);
    transition: width .3s;
  }
  .featured-offer:hover .featured-offer__excerpt {
    max-height: 240px;
    opacity: 1;
  }
}

/* Search
--------------------------------------------- */
/* Search Form
--------------------------------------------- */
.search-fields {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  flex: 1;
  grid-column-gap: clamp(12px, 1.67vw, 24px);
  grid-row-gap: clamp(12px, 1.67vw, 24px);
  gap: clamp(12px, 1.67vw, 24px);
}

.search-fields__field {
  flex: 0 1 220px;
}

.search-fields__field.keywords {
  flex: 1 1 auto;
}

.search-fields input[type="text"],
.search-fields input[type="search"],
.search-fields select {
  height: auto;
  padding: 0.75em;
}

.post-search {
  border-top: 2px solid #d7d7d7;
  border-bottom: 2px solid #d7d7d7;
  padding: clamp(14px, 1.53vw, 18px) 0;
  margin-bottom: clamp(40px, 7vw, 60px);
}

.posts-search .post-search {
  margin-bottom: 0;
}

.post-search__label {
  margin-bottom: clamp(12px, 1.67vw, 24px);
  flex: 1 0 100%;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.015em;
}

.post-search__submit {
  margin-top: clamp(12px, 1.67vw, 24px);
}

@media all and (min-width: 480px) {
  .post-search {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: clamp(20px, 1.67vw, 24px);
  }
  .post-search__submit {
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .post-search__label {
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

@media all and (min-width: 1024px) {
  .post-search__label {
    flex: 0 0 auto;
  }
}

/* Hero / Page Title Banner
--------------------------------------------- */
/* Hero
--------------------------------------------- */
.wp-block-cover.hero {
  padding-top: clamp(120px, 13vw, 150px);
  padding-bottom: clamp(120px, 13vw, 180px);
}

.hero h1 {
  text-wrap: balance;
  margin-bottom: .75em;
  font-size: clamp(36px, 4.16vw, 60px);
}

.hero__buttons,
.hero__buttons .wp-block-button__link {
  font-size: clamp(18px, 1.53vw, 20px);
}

@media (min-height: 900px) {
  .wp-block-cover.hero {
    padding-top: clamp(120px, 13vw, 180px);
    padding-bottom: clamp(120px, 13vw, 200px);
  }
}

/* Page Header
--------------------------------------------- */
.page-header .container {
  position: relative;
  z-index: 5;
}

.page-header {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background-color: var(--color-light-grey);
  background-image: url(assets/img/default-page-header.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  color: var(--color-white);
  --color-heading: var(--color-white);
  --heading-color: var(--color-white);
}

.page-header h1,
.page-header .h1 {
  font-family: var(--heading-font-family);
  font-size: clamp(38px, 3.125vw, 60px);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 0;
  text-wrap: balance;
  --heading-color: var(--color-white);
}

.page-header:has(.page-header-description) h1 {
  margin-bottom: .35em;
}

.page-header .post-title {
  max-width: 31ch;
  text-wrap: pretty;
}

.page-header .post-title,
.page-header--short h1 {
  font-size: clamp(28px, 4.6875vw, 45px);
  text-wrap: pretty;
}

.page-header__meta {
  margin-top: 1em;
  font-size: clamp(14px, 1.75vw, 16px);
}

.page-header__link {
  margin-top: clamp(28px, 4.6875vw, 45px);
}

.page-header__content {
  background: rgba(0, 0, 0, 0.65);
  opacity: 1;
  display: block;
  width: 100%;
  padding-bottom: clamp(80px, 12.5vw, 120px);
  height: 380px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.page-header .button {
  --button-color:  #FFF;
  --button-outline-color:  #FFF;
  --button-outline-color-hover: var(--color-black, #000);
}

.page-header--blank {
  background: var(--color-red);
}

.page-header--blank .page-header__content {
  background: transparent;
}

@media all and (min-width: 1000px) and (min-height: 900px) {
  .page-header__content,
  .page-header--short .page-header__content,
  .single .page-header .page-header__content {
    padding-bottom: clamp(150px, 18.2vw, 220px);
    height: 520px;
  }
  .page-header--short .page-header__content,
  .single .page-header .page-header__content {
    padding-bottom: clamp(80px, 12.5vw, 120px);
  }
  .page-header h1 {
    font-size: clamp(48px, 3.75vw, 72px);
  }
  .page-header .post-title,
  .page-header--short h1 {
    font-size: clamp(28px, 2.8vw, 54px);
  }
}

/* Welcome Dropdown
--------------------------------------------- */
.page-nav__label {
  font-size: 16px;
  margin-bottom: .75em;
  display: block;
}

.page-nav__fields {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  width: 100%;
  grid-column-gap: 15px;
  column-gap: 15px;
}

.page-nav .button,
.page-nav .button-outline,
.page-nav .button-outline:visited {
  --button-outline-color: var(--color-white);
  --button-color: var(--color-white);
  padding-top: 0;
  padding-bottom: 0;
  height: 42px;
  padding-left: 1em;
  padding-right: 1em;
}

.page-nav .button {
  --button-color-hover: var(--color-white);
}

.page-nav .button-outline {
  --button-color-hover: var(--color-red);
}

.select-nav {
  position: relative;
  cursor: pointer;
}

.select-nav__option,
.select-nav__default {
  padding: 10px;
  color: var(--color-body);
  font-size: 16px;
  font-weight: var(--body-font-weight-bold);
  background-color: var(--color-white);
  min-height: 40px;
}

.select-nav__option:not(.default):hover {
  background-color: #f1f1f1;
}

.select-nav__option.active,
.select-nav__option.active:hover {
  background-color: var(--color-orange);
  color: var(--color-white);
}

.select-nav__default {
  background: #FFFFFF url(assets/img/icons/toggle-icon.svg) no-repeat right 8px center;
  background-size: auto 14px;
  padding-right: 40px;
  position: relative;
  z-index: 5;
}

.select-nav .other-options {
  display: none;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 2;
}

.select-nav.active .select-nav__default {
  background-color: var(--color-light-grey);
}

.select-nav.active .other-options {
  display: block;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.29);
}

/* Newsletter
--------------------------------------------- */
.newsletter-row {
  background-color: var(--color-orange);
  background: linear-gradient(130deg, #e1521d 0, var(--color-orange));
  background: radial-gradient(var(--color-orange) 40%, var(--color-red) 180%);
  color: #FFFFFF;
  padding-top: clamp(40px, 5.21vw, 80px);
  padding-bottom: clamp(40px, 5.21vw, 80px);
  --heading-color: #FFFFFF;
}

.newsletter-row hr {
  --color-background-hr: currentColor;
  margin-left: 0;
  margin-right: 0;
}

.newsletter-row p a {
  color: #FFFFFF;
  text-decoration: underline;
}

.newsletter-row a:hover {
  color: var(--color-black);
  text-decoration: underline;
}

.newsletter-row .button {
  --button-background: var(--color-black);
  --button-background-hover: var(--color-white);
  --button-color: var(--color-white);
  --button-color-hover:  var(--color-black);
  padding: 0.75em 1.25em 0.85em;
}

.newsletter-row a:hover {
  color: var(--color-black);
}

.newsletter-row__header h2 {
  flex: 1 1 auto;
  font-size: clamp(28px, 3.36vw, 42px);
  line-height: 1.2;
  margin-bottom: .75em;
  font-weight: 400;
}

.newsletter-row .form-group__fields {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  column-gap: 46px;
  row-gap: 20px;
}

.newsletter-row .form-group__fields,
.newsletter-row__form,
.newsletter-row .label--terms {
  margin-bottom: 30px;
}

.newsletter-row label,
.newsletter-row .label__input,
.newsletter-row .label__text {
  display: block;
}

.newsletter-row .label__text {
  margin-bottom: .5em;
  font-size: clamp(18px, 1.39vw, 20px);
  font-weight: 500;
}

.newsletter-row label {
  width: 100%;
}

.newsletter-row__footer {
  font-size: 16px;
}

.newsletter-row .label--terms {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  column-gap: 0.75em;
  border: 2px solid rgba(255, 255, 255, 0.8);
  padding: 0.75em 1em;
  border-radius: 1em;
  line-height: 1.3;
}

.newsletter-consent {
  font-size: 0.875rem;
}

.newsletter-footer {
  margin-top: 30px;
}

.newsletter-row__header > * {
  max-width: 530px;
}

.newsletter-row input {
  --color-border-input: #FFFFFF;
  --color-border-input-focus: var(--color-black);
  --color-text-input-focus: var(--color-black);
  --color-input-background-focus: #fff1e6;
}

@media all and (min-width: 900px) {
  .newsletter-row .container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    grid-column-gap: 60px;
  }
  .newsletter-row__header,
  .newsletter-row__form {
    flex: 0 1 50%;
  }
}

/* Testimonials
--------------------------------------------- */
.testimonials {
  position: static;
  display: block;
  font-family: var(--heading-font-family, unset);
  font-weight: var(--body-font-weight, normal);
  --swiper-navigation-color: var(--color-white);
  --swiper-pagination-color: var(--color-white);
  --swiper-pagination-bullet-inactive-color: var(--color-yellow);
  --swiper-pagination-bullet-size: 16px;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 0;
}

.testimonials * {
  min-height: 0;
  min-width: 0;
}

.testimonials blockquote {
  display: block;
  margin: 0 auto;
  padding: 0;
  max-width: 54ch;
  border: none;
  text-align: center;
  font-size: clamp(18px, 2.1875vw, 28px);
  line-height: 1.4;
  text-wrap: pretty;
}

.testimonials blockquote p:first-of-type {
  margin-top: 0;
}

.testimonials blockquote p:last-of-type {
  margin-bottom: 0;
}

.testimonials blockquote b {
  font-weight: 700;
}

.testimonials blockquote i {
  font-size: .875em;
  font-weight: var(--body-font-weight);
}

.testimonials .review__quote {
  font-weight: 300;
}

.testimonials .review__identity {
  font-style: normal;
  display: block;
  font-size: clamp(14px, 1.72vw, 22px);
  margin-top: 2em;
}

.testimonials .swiper-slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.testimonial__header {
  font-size: clamp(14px, 1.72vw, 24px);
  text-align: center;
  font-weight: var(--body-font-weight-bold);
  margin-bottom: 1em;
  display: block;
}

.carousel--testimonials:not(.swiper-initialized) .swiper-slide {
  margin-bottom: clamp(26px, 2.08vw, 40px);
}

@media all and (min-width: 500px) {
  .testimonials .carousel-wrapper {
    padding-left: 30px;
    padding-right: 30px;
  }
  .testimonials .carousel-wrapper__navigation {
    margin: 0;
    position: static;
  }
  .carousel-wrapper__navigation .testimonials-prev,
  .carousel-wrapper__navigation .testimonials-next {
    position: absolute;
    top: 50%;
    margin-top: -20px;
  }
  .carousel-wrapper__navigation .testimonials-prev {
    left: 0;
  }
  .carousel-wrapper__navigation .testimonials-next {
    right: 0;
  }
}

/* Accordion
--------------------------------------------- */
/* Yoast FAQs
--------------------------------------------- */
.schema-faq-section:first-child {
  border-top: 2px solid #d7d7d7;
}

.schema-faq-section {
  border-bottom: 2px solid;
  border-color: #d7d7d7;
  padding: clamp(20px, 3.125vw, 40px) 0;
  text-wrap: pretty;
}

.schema-faq-question {
  display: block;
  margin-bottom: .75em;
  font-size: clamp(18px, 1.53vw, 20px);
  color: var(--color-black);
}

.schema-faq-section p:last-of-type {
  margin-bottom: 0;
}

/* Accordion
--------------------------------------------- */
.accordion {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
}

.accordion__panel:first-child .accordion__toggle {
  border-top: 2px solid;
}

.accordion__toggle {
  position: relative;
  padding: 1.15em 0;
  color: var(--color-red);
  font-size: clamp(20px, 2.53vw, 26px);
  font-family: var(--heading-font-family);
  font-weight: 500;
  line-height: 1.15;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  border-color: var(--color-red);
  border-bottom: 2px solid;
}

.toggle-bar--question {
  border-color: var(--color-text-main);
  color: var(--color-black);
  font-size: clamp(18px, 1.53vw, 22px);
  padding: 1.35em 0;
  line-height: 1.4;
}

.toggle-bar__icon {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  flex: 0 0 48px;
}

.accordion__toggle svg {
  transform-origin: center;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
}

.accordion__toggle--active svg {
  transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
}

.toggle-bar__text {
  max-width: 95%;
  display: block;
  flex: 0 0 calc(100% - 48px);
  line-height: 1.2;
}

.toggle-bar--question .toggle-bar__text {
  line-height: 1.4;
  text-wrap: pretty;
}

.accordion__toggle--active {
  border: none;
  padding-top: 1.5em;
  color: var(--color-orange);
}

.accordion__toggle:hover {
  cursor: pointer;
}

.accordion__toggle:last-of-type {
  margin-bottom: 0;
}

.accordion__content p a:not(.button) {
  text-decoration: underline;
}

.accordion__content a:not(.button),
.accordion__content a:not(.button):hover {
  text-decoration: underline;
}

.accordion__content {
  display: none;
  margin: 0;
  padding: clamp(20px, 2.22vw, 32px) 0;
}

.accordion__content--active,
.accordion__content.default {
  display: block;
}

.accordion__content--active {
  padding-top: 1.5em;
  padding-bottom: 2.5em;
  border-bottom: 2px solid var(--color-red);
}

/* Cards
--------------------------------------------- */
/* Cards
--------------------------------------------- */
.cards {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(26px, 2.78vw, 34px);
  line-height: 1.37;
}

.cards__item {
  background-color: var(--color-red);
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1em;
  font-size: clamp(16px, 1.25vw, 18px);
  flex: 0 0 100%;
  padding-bottom: clamp(20px, 2.4vw, 36px);
}

.card-block--plain,
.card-block--icon {
  padding: clamp(30px, 2.78vw, 40px) clamp(16px, 2.08vw, 30px);
}

.card-block--photo {
  gap: 0;
}

.card-block--photo .card-block__content {
  padding: clamp(20px, 2.4vw, 36px) clamp(16px, 2.08vw, 30px) 0;
}

.card-block:nth-child(6n-5),
.card-block:nth-child(6n) {
  background-color: var(--color-orange);
}

.card-block:nth-child(6n-3),
.card-block:nth-child(6n-1) {
  background-color: var(--color-yellow);
}

.card-block__icon {
  max-width: 85px;
  margin: 0 auto 8px;
}

.card-block img {
  display: block;
}

.card-block__content,
.card-block__link {
  width: 100%;
  text-align: center;
}

.card-block__content p:last-of-type {
  margin-bottom: 0;
}

.card-block__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
  text-wrap: balance;
}

.card-block__title {
  --heading-color: #FFFFFF;
  --color-heading: #FFFFFF;
  font-size: clamp(22px, 1.94vw, 26px);
  font-weight: var(--body-font-weight-bold);
  margin-bottom: .5em;
  text-wrap: balance;
}

.card-block__link {
  margin-top: 0.5em;
}

.card-block__link {
  margin-top: 0.5em;
}

.card-block--photo .card-block__link {
  margin: 0;
  padding: clamp(16px, 2.08vw, 30px) clamp(16px, 2.08vw, 30px) 0;
}

.cards__item {
  color: #FFFFFF;
  --heading-color: #FFFFFF;
}

.cards__item a.button {
  --button-background: var(--color-white);
  --button-background-hover: var(--color-black);
  --button-color: var(--color-red);
  --button-color-hover: #FFFFFF;
  padding: .65em 1.25em;
}

.has-background:not(.has-white-background-color):not(.has-off-white-background-color) .cards__item {
  background-color: #FFFFFF;
  color: var(--color-text-black);
  --heading-color: var(--color-black);
}

.has-background:not(.has-white-background-color):not(.has-off-white-background-color) .card-block__title,
.has-background:not(.has-white-background-color):not(.has-off-white-background-color) .cards__item a:where(:not(.wp-element-button):not(.button)) {
  color: var(--color-black);
}

.has-background:not(.has-white-background-color):not(.has-off-white-background-color) .cards__item a:where(:not(.wp-element-button):not(.button)) {
  color: var(--color-orange);
}

.has-background:not(.has-white-background-color):not(.has-off-white-background-color) .cards__item a.button {
  --button-background: var(--color-red);
  --button-background-hover: var(--color-orange);
  --button-color: #FFFFFF;
  --button-color-hover: #FFFFFF;
}

@media all and (min-width: 600px) {
  .cards {
    flex-direction: row;
    align-items: stretch;
    column-gap: clamp(24px, 2.8vw, 40px);
  }
  .cards__item {
    flex: 0 1 calc(50% - calc((clamp(24px, 2.8vw, 40px) * 2) / 3));
  }
}

@media all and (min-width: 900px) {
  .cards {
    column-gap: clamp(24px, 2.8vw, 40px);
    flex-wrap: wrap;
  }
  .cards__item {
    flex: 0 1 auto;
    flex: 0 1 calc(33.333% - calc((clamp(24px, 2.8vw, 40px) * 2) / 3));
  }
}

/* Team
--------------------------------------------- */
.team__grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  grid-column-gap: 0;
  grid-row-gap: 40px;
}

.team-member {
  position: relative;
  background-color: #FFFFFF;
  background-color: var(--color-red);
  color: #FFFFFF;
  --heading-color: #FFFFFF;
  font-size: 1rem;
}

.team-member--static .team-member__front {
  display: flex;
  flex-direction: column;
}

.has-background:not(.has-white-background-color) .team-member {
  background-color: #FFFFFF;
  color: var(--color-text-black);
  --heading-color: var(--color-black);
}

.team-member p {
  max-width: 420px;
  line-height: 1.3;
  margin: 0 0 1em;
}

.team-member p:last-of-type {
  margin-bottom: 0;
}

.team-member__image {
  margin-bottom: 20px;
  overflow: hidden;
}

.team-member__image img {
  display: block;
  width: 100%;
}

.team-member__bio {
  margin-top: 1.25em;
  padding-bottom: 2em;
}

.team-member__header {
  font-size: 1rem;
  line-height: 1.2;
}

.team-member__header h3 {
  font-size: clamp(20px, 1.875vw, 24px);
  line-height: 1.15;
  margin-bottom: .5em;
  font-weight: 500;
}

.team-member--static .team-member__header {
  padding-bottom: clamp(14px, 2vw, 26px);
}

.team-member__image {
  margin-bottom: clamp(14px, 2.08vw, 24px);
}

.team-member__header,
.team-member__bio {
  padding-left: clamp(14px, 2vw, 26px);
  padding-right: clamp(14px, 2vw, 26px);
}

.team-member__email {
  background-color: #FFFFFF;
  color: var(--color-red);
  padding: 1em clamp(14px, 2vw, 26px);
  margin-top: auto;
  border: 2px solid var(--color-red);
}

.member-email__label,
.member-email__email {
  display: block;
}

.member-email__email {
  flex: 0 0 max-content;
  overflow-wrap: break-word;
  word-wrap: break-word;
  max-width: 100%;
}

.team-member__content {
  flex: 1;
}

.team-member--bios:not(:has(.team-member__back)) .team-member__front {
  padding-bottom: 25px;
}

@media all and (max-width: 419px) {
  .team__grid {
    justify-content: center;
  }
  .team-member {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
  .team-member__image {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media all and (min-width: 600px) {
  .team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: 20px;
  }
  .team__member {
    display: flex;
    flex-direction: column;
  }
}

@media all and (min-width: 900px) {
  .team__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .team-member--card,
  .has-background:not(.has-white-background-color) .team-member--card {
    background: transparent;
  }
  .team-member--card {
    position: relative;
    height: 650px;
  }
  .team-member--card .team-member__content {
    position: absolute;
    width: 100%;
    height: 100%;
    transition: transform .6s;
    transform-style: preserve-3d;
  }
  .team-member--card:hover .team-member__content {
    transform: rotateY(180deg);
    transition: transform 0.5s;
  }
  .team-member--card .team-member__back {
    transform: rotateY(180deg);
  }
  .team-member__front {
    height: 100%;
  }
  .team-member__front,
  .team-member__back {
    background-color: var(--color-red);
    color: #FFFFFF;
    width: 100%;
  }
  .team-member--bios .team-member__front,
  .team-member--bios .team-member__back {
    padding-bottom: 25px;
  }
  .team-member--card .team-member__front,
  .team-member--card .team-member__back {
    position: absolute;
    height: 100%;
    backface-visibility: hidden;
  }
  .has-background:not(.has-white-background-color) .team-member__front,
  .has-background:not(.has-white-background-color) .team-member__back {
    background-color: #FFFFFF;
    color: var(--color-text-black);
    --heading-color: var(--color-black);
  }
}

@media all and (min-width: 1024px) {
  .team__grid {
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 30px;
  }
}

@media all and (min-width: 1200px) {
  .team-member--card {
    height: 550px;
  }
}

/* Statistics
--------------------------------------------- */
/* Statistics
--------------------------------------------- */
.statistics {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 50px clamp(26px, 2.78vw, 34px);
  line-height: 1.37;
}

.statistics__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  font-size: clamp(18px, 1.25vw, 24px);
  font-weight: var(--body-font-weight-bold);
  flex: 0 0 100%;
}

.stat--boxed {
  padding: clamp(20px, 1.98vw, 38px) clamp(1em, 1.67vw, 24px) clamp(36px, 4.17vw, 80px);
  background-color: var(--color-red);
  color: var(--color-white);
}

.stat--boxed:nth-child(3n-2) {
  background-color: var(--color-orange);
}

.stat--boxed:nth-child(3n) {
  background-color: var(--color-yellow);
}

.stat__figure {
  font-size: clamp(36px, 3.02vw, 58px);
  font-weight: var(--body-font-weight-bold);
  display: block;
  white-space: nowrap;
  margin-bottom: 16px;
}

.stat__icon {
  max-width: 85px;
  margin: 0 auto;
}

.stat__icon img {
  display: block;
}

.stat__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1.37;
  flex: 1;
  text-wrap: balance;
}

@media all and (min-width: 600px) {
  .statistics {
    flex-direction: row;
    align-items: stretch;
  }
  .statistics__item {
    flex: 1 1 210px;
  }
}

@media all and (min-width: 1200px) {
  .statistics {
    column-gap: 60px;
    column-gap: clamp(36px, 3.125vw, 60px);
    flex-wrap: nowrap;
  }
  .statistics__item {
    flex: 0 1 auto;
    flex: 0 1 calc(20% - calc((clamp(36px, 3.125vw, 60px) * 4) / 5));
  }
  .statistics--boxed {
    column-gap: 24px;
  }
  .statistics__item.stat--boxed {
    flex: 0 1 calc(20% - calc((clamp(26px, 2.08vw, 40px) * 4) / 5));
  }
}

/* Sidebar
--------------------------------------------- */
/* Layout
--------------------------------------------- */
.post-template-default .sidebar {
  display: flex;
  flex-direction: column;
  margin-bottom: clamp(120px, 10.94vw, 140px);
}

.post-template-default .content-area {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
}

.post-template-default #primary {
  padding-top: clamp(60px, 6.5vw, 90px);
}

.post-template-default .site-main,
.page-template-default .site-main {
  margin-bottom: clamp(40px, 6.5vw, 60px);
}

.page-template-default .content-area--sidebar,
.post-template-default .content-area--sidebar {
  padding-top: clamp(40px, 6.25vw, 60px);
  padding-bottom: clamp(40px, 6.25vw, 120px);
}

@media all and (min-width: 1024px) {
  .content-area--sidebar {
    display: grid;
    grid-template-columns: minmax(600px, 820px) minmax(280px, 410px);
    grid-template-rows: auto;
    column-gap: clamp(40px, 4vw, 90px);
    grid-template-areas: "main sidebar";
  }
  .content-area--post {
    display: grid;
    grid-template-columns: minmax(680px, 820px) minmax(180px, 410px);
    grid-template-rows: auto;
    column-gap: clamp(40px, 6.25vw, 90px);
    grid-template-areas: "main sidebar";
  }
  .page-template-default .site-main {
    grid-area: main;
    margin-bottom: 0;
    order: 2;
  }
  .page-template-default .widget-area {
    grid-area: sidebar;
    order: 1;
  }
  .post-template-default .site-main {
    grid-area: main;
    margin-bottom: 0;
    order: 1;
  }
  .post-template-default .widget-area {
    grid-area: sidebar;
    order: 2;
  }
}

/* 
--------------------------------------------- */
@media all and (min-width: 1024px) {
  .default-columns {
    max-width: 1140px;
    display: grid;
    grid-template-columns: 1fr 260px;
    grid-template-rows: auto;
    grid-column-gap: 60px;
  }
}

/* Page Dropdown
--------------------------------------------- */
@media all and (max-width: 1023px) {
  .sidebar .page-dropdown {
    margin-top: clamp(40px, 7.8125vw, 80px);
  }
}

.sidebar .page-dropdown {
  padding: clamp(10px, 1.5625vw, 14px);
  background-color: var(--color-off-white);
  margin-bottom: clamp(28px, 3.125vw, 40px);
}

.sidebar .select-nav {
  max-width: 100%;
  width: 100%;
}

/* Page List (Sidebar)
--------------------------------------------- */
.page-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: clamp(16px, 1.71vw, 18px);
  --link-color: var(--color-red);
}

.page-list ul:not(.children) {
  border-top: 1px solid #ddd;
}

.page-list ul:not(.children) > li {
  border-bottom: 1px solid #ddd;
}

.page-list ul li.current_page_item > a {
  font-weight: var(--body-font-weight-bold);
}

.page-list ul.children {
  /*margin-top: .5em;*/
  margin-bottom: .75em;
}

.page-list a {
  text-decoration: none;
  display: block;
  line-height: 1.2;
  padding: .75em .5em;
  color: var(--color-black);
}

.page-list ul.children a {
  padding: .5em;
}

.page-list a:hover,
.page-list a:focus,
.page-list a:active {
  background-color: #ffe0d8;
}

.page-list .current_page_item > a {
  background-color: var(--color-red);
  color: var(--color-white);
}

/*-----*/
.page-list .children {
  --spacing: 10px;
  --radius: 10px;
}

.page-list .children li {
  display: block;
  position: relative;
  padding-left: calc(2 * var(--spacing) - 2px);
}

.page-list .children {
  margin-left: 8px;
  padding-left: 0;
}

.page-list .children li {
  border-left: 2px solid #ddd;
}

.page-list .children li:last-child {
  border-color: transparent;
}

.page-list .children li::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: -2px;
  width: calc(var(--spacing) + 2px);
  height: 50%;
  border: solid #ddd;
  border-width: 0 0 2px 2px;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Logos
--------------------------------------------- */
.logos {
  text-align: center;
  position: relative;
  padding-top: 40px;
  padding-bottom: clamp(100px, 16.66vw, 320px);
}

.logos__inner,
.logos .slick-track {
  margin-top: clamp(30px, 6.25vw, 110px);
  display: flex;
  align-items: center;
  justify-content: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  grid-gap: 26px clamp(24px, 3.125vw, 60px);
}

.logos__header {
  font-size: clamp(24px, 2.6vw, 50px);
}

.logos .wp-block-image {
  flex: 0 0 clamp(120px, 16.66vw, 320px);
  margin: 0;
  overflow: hidden;
}

.logos img {
  display: block;
  margin: 0 auto;
  object-fit: contain;
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: gray;
  opacity: .7;
}

.logos .wp-block-image.square {
  flex-basis: clamp(90px, 16.66vw, 160px);
}

.logos .wp-block-image.rectangle {
  flex-basis: clamp(180px, 16.66vw, 320px);
}

.logos .wp-block-image.slick-slide {
  height: auto;
  display: flex;
}

.logos .wp-block-image {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media all and (min-width: 800px) {
  .logos .wp-block-image {
    flex: 0 0 clamp(180px, 16.66vw, 320px);
  }
}

/* Event
--------------------------------------------- */
/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

#gallery,
.gallery-row {
  padding-left: var(--site-padding);
}

#gallery .gallery-row__inner {
  margin: 0;
  overflow: hidden;
}

#gallery .wp-block-gallery,
#gallery .gallery-row__images {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 28px;
  overflow: auto;
  white-space: nowrap;
}

#gallery .wp-block-image {
  flex: 0 0 398px;
}

/* Scrolling Gallery
--------------------------------------------- */
.gallery-row {
  overflow: hidden;
  padding-top: clamp(80px, 10.42vw, 190px);
  padding-bottom: clamp(80px, 13.54vw, 260px);
}

.gallery-row__header {
  font-size: clamp(28px, 2.6vw, 50px);
  margin-bottom: 1.5em;
}

@media all and (min-width: 1000px) {
  .gallery-row__header {
    font-size: clamp(28px, 2.6vw, 50px);
    margin-bottom: clamp(40px, 6.93vw, 130px);
  }
}

/* Header
--------------------------------------------- */
.toggle-menu {
  grid-area: mh-toggle;
}

.masthead__branding {
  grid-area: mh-logo;
}

.masthead__menu {
  grid-area: mh-nav;
}

.masthead__contact {
  grid-area: mh-contact;
}

#page.menu-open {
  position: fixed;
  width: 100vw;
}

.masthead {
  z-index: 400;
  font-family: var(--heading-font-family);
  display: flex;
  flex-direction: column;
  width: 100%;
  background-color: var(--color-orange);
  color: var(--color-white);
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 500;
}

.masthead a {
  text-decoration: none;
  color: var(--color-white);
}

.masthead a:focus {
  outline: none;
}

.masthead__main .container {
  display: grid;
  position: relative;
  grid-template-columns: minmax(180px, 220px) 1fr 42px;
  grid-template-rows: auto;
  grid-gap: 0 30px;
  gap: 0 30px;
  grid-template-areas: "mh-logo . mh-toggle";
  align-items: center;
  justify-content: space-between;
  padding-top: 15px;
  padding-bottom: 15px;
  position: relative;
}

.masthead__branding,
.masthead__branding svg {
  width: 100%;
}

.masthead__logo {
  display: flex;
  width: 212px;
  height: 61px;
  max-width: 100%;
  position: relative;
}

.masthead__widgets {
  z-index: 40;
}

.social-tab {
  position: relative;
  display: block;
}

.social-tab p,
.social-tab__header {
  margin: 0;
  border-radius: 4px 4px 0 0;
  display: block;
  padding: .5em .65em;
  line-height: 1;
}

.social-tab:hover {
  position: relative;
}

.social-tab:hover .social-tab__icons {
  display: block;
}

.social-tab .wp-block-social-links {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  gap: .25em;
}

.social-tab .wp-block-social-links a:hover,
.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover {
  color: var(--color-black);
}

@media all and (max-width: 979px) {
  .social-tab {
    z-index: 20;
  }
}

@media all and (min-width: 600px) {
  .masthead__main .container {
    padding-top: 20px;
    padding-bottom: 20px;
    grid-template-columns: minmax(180px, 291px) 1fr 42px;
  }
}

@media all and (min-height: 900px) {
  .masthead__main .container {
    padding-top: 14px;
    padding-bottom: 14px;
  }
}

@media all and (min-width: 1140px) {
  .masthead__main .container {
    grid-template-columns: minmax(120px, 280px) minmax(max-content, 1fr);
    grid-template-areas: "mh-logo mh-nav";
  }
  .masthead__widgets {
    margin-left: var(--menu-item-gap);
  }
  .social-tab__icons {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #FFFFFF;
    color: var(--color-red);
    border-radius: 0 0 4px 4px;
    margin: 0;
    padding: .25em .65em;
  }
  .social-tab:hover .social-tab__header {
    text-decoration: underline;
    background-color: #FFFFFF;
    color: var(--color-red);
  }
}

@media all and (min-width: 1180px) {
  .masthead__menu {
    grid-area: mh-nav;
  }
  .masthead {
    transition: all 0.2s;
  }
  .masthead__main .container {
    display: grid;
    position: relative;
    grid-template-columns: minmax(120px, 380px) minmax(max-content, 1fr);
    grid-template-rows: auto;
    grid-gap: 0 24px;
    gap: 0 24px;
    grid-template-areas: "mh-logo mh-nav";
    justify-content: space-between;
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .masthead .custom-logo-link {
    width: 100%;
  }
  .masthead__branding {
    order: 1;
    transition: all 0.2s;
  }
  .masthead__branding a {
    display: block;
  }
  .masthead__nav {
    order: 2;
    margin-left: auto;
    justify-content: flex-end;
  }
  .masthead__logo {
    transition: all 0.2s;
  }
}

/* Footer
--------------------------------------------- */
.site-footer .col--branding {
  grid-area: sf-branding;
}

.site-footer .col--cols {
  grid-area: sf-nav;
}

.site-footer .col--social {
  grid-area: sf-social;
}

.site-footer .col--legal {
  grid-area: sf-legal;
}

.site-footer {
  font-size: 1rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: var(--color-background-body);
  color: var(--color-white);
}

.site-footer__legal .container {
  flex-direction: column;
}

.site-footer .container {
  display: flex;
  flex-direction: column;
  width: 100%;
  position: relative;
  row-gap: 40px;
}

.site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer .menu-item a:hover {
  text-decoration: underline;
}

.site-footer .menu-item a {
  font-weight: 600;
  text-decoration: none;
}

.site-footer a {
  color: var(--color-white);
  --menu-item-link-color: var(--color-white);
  --menu-item-link-color-hover: var(--color-skyblue);
}

.site-footer__main {
  padding-top: clamp(40px, 4.6875vw, 90px);
  padding-bottom: clamp(40px, 4.6875vw, 90px);
  gap: 40px;
}

.site-footer__branding {
  width: 200px;
  margin-bottom: 25px;
}

.site-footer__branding a {
  display: block;
}

.site-footer__branding svg {
  width: 144px;
  height: 89px;
  max-width: 100%;
}

.sf-brand {
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  flex: 0 1 46em;
}

.sf-info {
  flex: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 40px;
}

.site-footer__policies li {
  flex: 0 0 max-content;
}

.site-footer__policies,
#menu-policies {
  display: flex;
  flex-direction: row;
  gap: .5em 1em;
  flex-wrap: wrap;
}

#menu-policies li {
  line-height: 1;
}

#menu-policies li + li {
  border-left: 1px solid currentColor;
  padding-left: 1em;
}

.site-footer .wp-social-link {
  font-size: 38px;
}

@media all and (min-width: 900px) {
  .site-footer .container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 20px;
  }
  .site-footer__legal .container {
    flex-direction: column;
  }
  .sf-brand {
    margin-bottom: 0;
  }
}

@media all and (min-width: 1000px) {
  .site-footer__main .site-footer__column {
    width: 100%;
    flex: 1 1 210px;
  }
  .site-footer__column.col--01 {
    order: 1;
    flex: 0 1 50%;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
  }
  .site-footer__column.col--02 {
    order: 2;
    flex: 0 1 calc(50% - 20px);
    text-align: right;
  }
  .site-footer #block-15 {
    flex: 1;
  }
  .site-footer .container,
  .site-footer__legal .container {
    flex-direction: row;
  }
  .site-footer__legal p {
    margin-bottom: 0;
  }
  .site-footer__legal p + p {
    margin-top: 1em;
  }
  .sf-brand {
    flex: 0 0 48%;
  }
  .sf-info {
    flex: 0 1 43%;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .site-footer__social,
  .site-footer .wp-block-social-links,
  .site-footer__policies {
    text-align: right;
    justify-content: flex-end;
  }
  .site-footer__right,
  .site-footer__right .wp-block-columns,
  #menu-policies {
    text-align: right;
    justify-content: flex-end;
  }
}

@media all and (min-width: 1280px) {
  .site-footer__branding {
    width: auto;
  }
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Backgrounds
--------------------------------------------- */
.has-base-color {
  color: var(--color-base, #FFFFFF);
  --heading-color: var(--color-base, #FFFFFF);
}

.has-red-color {
  color: var(--color-red, #db411a);
  --heading-color: var(--color-red, #db411a);
}

.has-orange-color {
  color: var(--color-orange, #ef7e23);
  --heading-color: var(--color-orange, #ef7e23);
}

.has-yellow-color {
  color: var(--color-yellow, #F4A800);
  --heading-color: var(--color-yellow, #F4A800);
}

.has-white-color {
  color: var(--color-white, #FFFFFF);
  --heading-color: var(--color-white, #FFFFFF);
}

.has-off-white-color {
  color: var(--color-off-white, #F8F7F7);
  --heading-color: var(--color-off-white, #F8F7F7);
}

.has-light-grey-color {
  color: var(--color-light-grey, #E5E5E5);
  --heading-color: var(--color-light-grey, #E5E5E5);
}

.has-grey-color {
  color: var(--color-grey, #AFAFAF);
  --heading-color: var(--color-grey, #AFAFAF);
}

.has-meta-grey-color {
  color: var(--color-meta-grey, #707070);
  --heading-color: var(--color-meta-grey, #707070);
}

.has-black-color {
  color: var(--color-black, #1a131b);
  --heading-color: var(--color-black, #1a131b);
}

.has-text-black-color {
  color: var(--color-text-black, #212427);
  --heading-color: var(--color-text-black, #212427);
}

/* Backgrounds
--------------------------------------------- */
.has-base-background-color {
  background-color: var(--color-base, #FFFFFF);
}

.has-red-background-color {
  background-color: var(--color-red, #db411a);
}

.has-orange-background-color {
  background-color: var(--color-orange, #ef7e23);
}

.has-yellow-background-color {
  background-color: var(--color-yellow, #F4A800);
}

.has-white-background-color {
  background-color: var(--color-white, #FFFFFF);
}

.has-off-white-background-color {
  background-color: var(--color-off-white, #F8F7F7);
}

.has-light-grey-background-color {
  background-color: var(--color-light-grey, #E5E5E5);
}

.has-grey-background-color {
  background-color: var(--color-grey, #AFAFAF);
}

.has-meta-grey-background-color {
  background-color: var(--color-meta-grey, #707070);
}

.has-black-background-color {
  background-color: var(--color-black, #1a131b);
}

.has-text-black-background-color {
  background-color: var(--color-text-black, #212427);
}

/* Edges
--------------------------------------------- */
.edge-bg {
  position: relative;
}

.edge-bg--before:before {
  content: "";
  background-color: inherit;
  position: absolute;
  height: 100%;
  right: 100%;
  top: 0;
  display: block;
  padding-right: 999em;
}

.edge-bg--after:after {
  content: "";
  background-color: inherit;
  position: absolute;
  height: 100%;
  left: 100%;
  top: 0;
  display: block;
  padding-left: 999em;
}

@media all and (max-width: 599px) {
  .wp-block-media-text.edge-bg--after:after,
  .wp-block-media-text.edge-bg--before:before {
    display: none;
  }
}

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

.screen-reader-text:focus {
  background-color: var(--color-background-screen);
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: var(--color-text-screen);
  display: block;
  font-size: 0.875rem;
  font-weight: var(--body-font-weight-bold, 700);
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
@media only screen and (min-width: 800px) {
  .alignleft {
    float: left;
  }
  .alignright {
    float: right;
  }
  .aligncenter {
    margin: 0 auto;
  }
  .aligncenter:after {
    clear: both;
    content: "";
    display: block;
  }
}
