@charset "UTF-8";
/*!
Theme Name: NiBS
Theme URI:
Author: Clear
Author URI: https://cleardesign.co.uk/
Description:
Version: 1.0
Tested up to: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: nibs

Copyright © 2022 Clear Design. All Rights Reserved.

This theme is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
Also based on Twenty Twenty-One WordPress Theme, (C) 2020 WordPress.org
Twenty Twenty-One is distributed under the terms of the GNU GPL.
*/
/**
 * SETTINGS
 * Colors...............All the colours that the project will use, some may be selectable via the Block Editor.
 * Fonts................Any self-hosted font files, if the project needs specific fonts.
 * Typography...........Project-specific changes to font families, font sizes, weights, line heights etc.
 * Global...............Project-specific, additional globally available CSS variables.
 * Layout...............Horizontal widths and margins, used for the main components and blocks.
 * Vertical-margins.....Vertical spacing for the main components and blocks.
 * Buttons..............Project variables specific to buttons.
 * Links................Project variables specific to links.
 *
 * TOOLS
 * Mixins...............Global mixins.
 * Breakpoints..........Mixins and variables for responsive styles.
 *
 * GENERIC
 * Reset................Reset specific elements to make them easier to style in other contexts.
 * Base.................Styles for HTML/Body
 *
 * ELEMENTS
 * Blockquote...........Default blockquote.
 * Links................Default links.
 * Forms................Element-level form styling.
 * Buttons..............Default form buttons.
 * Media................Images, Figure, Figcaption, Embed, iFrame, Objects, Video.
 * Misc.................Additional miscellaneous elements.
 *
 * BLOCKS
 * _Core................Copied styles for blocks from the core WP styles. Provides base functionality.
 * Audio................Specific styles for the audio block.
 * Button...............Specific styles for the button block.
 * Code.................Specific styles for the code block.
 * Columns..............Specific styles for the columns block.
 * Cover................Specific styles for the cover block.
 * File.................Specific styles for the file block.
 * Gallery..............Specific styles for the gallery block.
 * Group................Specific styles for the group block.
 * Heading..............Specific styles for the heading block, and generically H1–H6.
 * Image................Specific styles for the image block.
 * Latest posts.........Specific styles for the latest posts block.
 * List.................Specific styles for the list block.
 * Media text...........Specific styles for the media and text block.
 * Paragraph............Specific styles for the paragraph block.
 * Pullquote............Specific styles for the pullquote block.
 * Quote................Specific styles for the quote block.
 * Search...............Specific styles for the search block.
 * Separator............Specific styles for the separator block.
 * Spacer...............Specific styles for the spacer block.
 * Table................Specific styles for the table block.
 * Video................Specific styles for the video block.
 * _Utilities...........Block alignments.
 *
 * COMPONENTS
 * _Header..............Header styles. Catch all for files in /header/ directory.
 * _Footer..............Footer styles. Catch all for files in /footer/ directory.
 * Comments.............Comment styles. Generally unused feature.
 * Card.................Basic Card component that can be shared.
 * Grid.................Basic Grid classes that allow auto grids of items, such as cards.
 * Archives.............Archive styles.
 * 404..................404 styles.
 * Search...............Search styles.
 * Pagination...........Pagination styles.
 * Single...............Single page and post styles.
 * Posts and pages......Misc, sticky post styles.
 * Entry................Entry, author biography.
 * Widget...............Widget styles.
 * Editor...............Editor styles.
 * Social-share.........Social sharing styles.
 *
 * COMPONENTS - OPTIONAL
 * _ACF.................ACF Built styles. Catch all for files in /acf/ directory.
 * _Shortcodes..........Styles for particular shortcodes. Catch all for files in /shortcodes/ directory.
 *
 * UTILITIES
 * A11y.................Screen reader text, prefers reduced motion etc.
 * Color Palette........Classes for the color palette colors. Uses SASS variables from global settings.
 * Editor Font Sizes....Editor Font Sizes. Uses SASS variables from global typography.
 * Helpers..............Additional generic helpers.
 *
 * VENDORS (Overriding CSS from external libraries/frameworks)
 * CF7..................Contact Form 7.
 * Swiper...............Swiper Carousel.
 */
/* Categories 01 to 03 are the basics. */
/*--------------------------------------------------------------
  Sass Variables
--------------------------------------------------------------*/
/*
	SASS array, as used for creating Block editor utility classes, see 07-utilities/_color-palette.scss
*/
:root {
  --palette--primary-110: rgb(9, 8, 64);
  --palette--primary: rgb(26, 38, 117);
  --palette--primary-80: rgb(117, 124, 172);
  --palette--primary-60: rgb(209, 211, 227);
  --palette--primary-50: rgb(240, 242, 250);
  --palette--secondary-110: rgb(191, 37, 29);
  --palette--secondary: rgb(239, 47, 37);
  --palette--secondary-50: rgb(252, 213, 211);
  --palette--white: #ffffff;
  --palette--mid-gray: #dddddd;
  --palette--gray: #767676;
  --palette--dark-gray: #222222;
  --palette--black: #000000;
  --palette--white-50: rgba(255, 255, 255, 0.5);
  --palette--white-80: rgba(255, 255, 255, 0.8);
  --palette--black-20: rgba(0, 0, 0, 0.2);
  /*
  	--color-primary is the main colour used across the site.
  	Much of the blocks and components use this as part of the cascade.
  	i.e. Body text color, site title, footer text color.
  */
  /*
  	--color-secondary is the alternative colour used across the site.
  	Again blocks and components use this as part of the cascade.
  	i.e. Headings
  */
  /*
  	Hyperlinks
  */
  --palette--link: initial;
  --palette--link-hover: var(--palette--secondary);
  /*
  	Default body background
  */
  --palette--background: var(--palette--white);
  /*
  	Used for borders (e.g. separators)
  */
  --palette--border: var(--palette--primary-60);
  /*
  	Forms

  	Configure forms, rather than directly changing 04-elements/_forms
  	Note this *doesn't* include buttons, see below
  */
  --form--text-color: var(--palette--dark-gray);
  --form--input-color: var(--palette--gray);
  --form--input-background-color: var(--palette--white);
  --form--ranged-background-color: var(--palette--gray);
  --form--border-color: var(--palette--mid-gray);
  --form--input-focus-color: var(--palette--black);
  --form--outline-color: var(--palette--black);
}

/*
	Use fluid scaling font sizes from https://utopia.fyi/type/calculator/
	@link https://utopia.fyi/type/calculator/?c=320,16,1.2,1500,18,1.25,6,1,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l
*/
:root {
  --step--1: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  --step-0: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  --step-1: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  --step-2: max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem));
  --step-3: max(1.73rem, min(calc(1.45rem + 1.38vw), 2.75rem));
  --step-4: max(2.07rem, min(calc(1.47rem + 3.01vw), 4.29rem));
  /*
  	Style Guide - Font Family

  	Ideally use locally hosted fonts, add @font-face rules to fonts.scss
  	Otherwise set via WP enqueued styles in 'core.php' and add to each line below.

  	System Font Stack:
  	"Apple Garamond", Baskerville, "Times New Roman", "Droid Serif", Times, "Source Serif Pro", serif;
  	-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  */
  --font-headings: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  --font-base: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  /*
  	Style Guide - Line Height
  */
  --line-height-body: 1.5;
  --line-height-heading: 1.2;
  /*
  	Style Guide - Headings - Font Sizes
   */
  --heading--font-size-h1: var(--step-4);
  --heading--font-size-h2: var(--step-3);
  --heading--font-size-h3: var(--step-2);
  --heading--font-size-h4: var(--step-1);
  --heading--font-size-h5: var(--step-1);
  --heading--font-size-h6: var(--step-0);
  /*
  	Style Guide - Headings - Letter Spacings (if required)
   */
  --heading--letter-spacing-h1: normal;
  --heading--letter-spacing-h2: normal;
  --heading--letter-spacing-h3: normal;
  --heading--letter-spacing-h4: normal;
  --heading--letter-spacing-h5: normal;
  --heading--letter-spacing-h6: normal;
  /*
  	Style Guide - Headings - Line Spacing
   */
  --heading--line-height-h1: 1.2;
  --heading--line-height-h2: var(--line-height-heading);
  --heading--line-height-h3: var(--line-height-heading);
  --heading--line-height-h4: var(--line-height-heading);
  --heading--line-height-h5: var(--line-height-heading);
  --heading--line-height-h6: var(--line-height-heading);
  /*
  	Style Guide - Font Weights
   */
  --font-weight-base: 400;
  --heading--font-weight: 700;
  --heading--font-weight-light: 400;
  --heading--font-weight-strong: 700;
  /*
  	Forms

  	Configure forms, rather than directly changing 04-elements/_forms
  	Note this *doesn't* include buttons, see below
     */
  --form--font-family: var(--font-base);
  --form--text-size: var(--step-0);
  --form--font-size: Max(16px, 1rem);
  --form--line-height: 1.35;
  --form--label-weight: 400;
  --form--input-min-height: 3.125rem;
  --form--spacing-unit: 1.25rem;
  --form--border-width: 1px;
  --form--border-radius: 4px;
  --form--outline-width: Max(2px, 0.08em);
}

/*
	Responsive Breakpoints
*/
/*
	Use fluid scaling spacing from https://utopia.fyi/space/calculator/
	@link https://utopia.fyi/type/calculator?c=320,18,1.2,1500,18,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l
*/
:root {
  /*
  	Spacing - WIP

  	Most elements/components across the site use these as margins
  	Works in conjunction with the _vertical-margins.scss include
   */
  --spacing-horizontal: 20px;
  --spacing-vertical: 20px;
  --browser-margin: var(--spacing-horizontal);
  --default-margins: calc(0.5 * var(--spacing-vertical));
  --heading-margins: 30px;
  --separator-margins: 50px;
  --block-margins: var(--spacing-vertical);
  /*
  	Archive listings
   */
  --listing--min-width: max(15rem, min(30%, 100%));
  --listing--gap-width: min(3.75rem, calc(1rem + 4.0741vh)) var(--spacing-horizontal);
}
@media only screen and (min-width: 1200px) {
  :root {
    --browser-margin: calc(3 * var(--spacing-horizontal));
  }
}

/*
	Responsive Breakpoints
*/
/**
 * Responsive layouts
 */
/**
 * Root Media Query Variables
 */
:root {
  --responsive--alignnarrow-width: calc(100vw - 2 * var(--browser-margin));
  --responsive--aligndefault-width: calc(100vw - 2 * var(--browser-margin));
  --responsive--alignwide-width: calc(100vw - 2 * var(--browser-margin));
  --responsive--alignfull-width: calc(100vw - 2 * var(--browser-margin));
}

@media only screen and (min-width: 600px) {
  :root {
    --responsive--alignnarrow-width: min(calc(100% - 2 * var(--browser-margin)), 760px);
    --responsive--aligndefault-width: min(calc(100% - 2 * var(--browser-margin)), 760px);
    --responsive--alignwide-width: min(calc(100% - 2 * var(--browser-margin)), 1280px);
    --responsive--alignfull-width: min(calc(100% - 2 * var(--browser-margin)), 1540px);
  }
  :root body.single-post {
    --responsive--alignwide-width: min(calc(100vw - 2 * var(--browser-margin)), 1020px);
  }
}
/**
 * SASS Extends, used throughout
 */
:where(.entry-content) > :not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator) {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--aligndefault-width);
  margin-left: auto;
  margin-right: auto;
}
:where(.site-footer__top-widget-area > *), .default-max-width {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--aligndefault-width);
  margin-left: auto;
  margin-right: auto;
}

.entry-header .post-thumbnail, .singular .post-thumbnail, .alignfull [class*=inner-container] > .alignwide, .alignwide [class*=inner-container] > .alignwide, .alignwide, .wp-block-group:not(.is-style-carousel) .wp-block-group__inner-container > *.alignwide, .wide-max-width {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--alignwide-width);
  margin-left: auto;
  margin-right: auto;
}

.alignfull, .wp-block-group:not(.is-style-carousel) .wp-block-group__inner-container > *.alignfull, .full-max-width {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--alignfull-width);
  width: auto;
  margin-left: auto;
  margin-right: auto;
}

:root {
  /*
  	Buttons

  	Shared form buttons and Block buttons
  */
  --button--color-text: var(--palette--white);
  --button--color-text-hover: var(--palette--white);
  --button--color-text-active: var(--palette--white);
  --button--color-background: var(--palette--secondary);
  --button--color-background-active: var(--palette--secondary-110);
  --button--font-family: inherit;
  --button--font-size: var(--step--1);
  --button--font-weight: 700;
  --button--line-height: 1.25;
  --button--border-width: 0px;
  --button--border-radius: 1.75rem;
  --button--border-color: var(--palette--secondary);
  --button--padding-vertical: 1.1875rem;
  --button--padding-horizontal: 2rem;
}

:root {
  /*
  	SVG Icons - WIP
  */
  --icon-size-unit: 28px;
  /*
  	Block: Banner/Hero
  	Located here to share between frontend/backend
  */
  --hero--color-background: transparent;
  --hero--color-foreground: var(--palette--white);
  --hero--heading-font-size: var(--step-4);
  --hero--heading-line-height: 1.2;
  --hero--text-font-size: var(--step-2);
  --hero--min-height: calc( min(100vh, 400px) - var(--global--admin-bar--height));
  --header-height: 9.375rem;
  /*
  	Block: Cover
  	Located here to share between frontend/backend
  */
  --cover--min-height: min(600px, 100vh);
  --cover--color-background: var(--palette--black);
  --cover--color-foreground: var(--palette--white);
  --cover--heading-font-size: var(--step-4);
  --cover--heading-line-height: 1.2;
  /*
  	Block: Separator
  	Located here to share between frontend/backend
  */
  --separator--border-color: var(--palette--border);
  --separator--height: 1px;
  /*
  	Block: Latest Posts
  	Located here to share between frontend/backend
  */
  --latest-posts--title-font-family: var(--font-headings);
  --latest-posts--title-font-size: var(--step-2);
  --latest-posts--description-font-family: var(--font-base);
  --latest-posts--description-font-size: var(--step-0);
  /*
  	Admin-bar height - Set on root to allow header etc to use
  */
  --global--admin-bar--height: 0px;
}
:root body.home {
  --hero--min-height: calc(max(28.75rem, min(calc(35rem + 25vw), 55.3125rem)) - var(--header-height, 0px) - var(--global--admin-bar--height));
}

.admin-bar {
  --global--admin-bar--height: 32px;
}
@media only screen and (max-width: 782px) {
  .admin-bar {
    --global--admin-bar--height: 46px;
  }
}

/*
	Responsive Breakpoints
*/
/*
	A Modern CSS Reset
	@link https://piccalil.li/blog/a-modern-css-reset/
*/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: calc(100vh - 0px);
  min-height: calc(100vh - var(--global--admin-bar--height, 0));
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

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

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

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

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
html {
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--font-base);
  font-weight: 400;
  line-height: 1.5;
  line-height: var(--line-height-body);
  background-color: #ffffff;
  background-color: var(--palette--background);
}

body {
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--step-0);
  font-weight: 400;
  font-weight: var(--font-weight-base);
  color: #222222;
  color: var(--palette--dark-gray);
  text-align: left;
  background-color: #ffffff;
  background-color: var(--palette--background);
  overflow-x: hidden;
}

/* Category 04 can contain any default HTML element. Should not add classes here, just give the elements some basic styles. */
/*
	Responsive Breakpoints
*/
:root {
  /* Block: Basic Blockquotes, floated */
  --quote--font-family: var(--font-base);
  --quote--font-family-large: var(--font-headings);
  --quote--font-size: var(--step-1);
  --quote--font-size-large: var(--step-3);
  --quote--font-style: italic;
  --quote--font-weight: 400;
  --quote--font-weight-large: normal;
  --quote--font-weight-strong: 700;
  --quote--font-style-large: italic;
  --quote--font-style-cite: normal;
  --quote--line-height: 1.35;
  --quote--line-height-large: var(--line-height-body);
  /* Block: Pullquote, i.e. fancier blockquote that can have a width */
  --pullquote--font-family: var(--font-headings);
  --pullquote--font-size: var(--step-2);
  --pullquote--font-style: italic;
  --pullquote--letter-spacing: normal;
  --pullquote--line-height: var(--line-height-heading);
  --pullquote--border-width: 3px;
  --pullquote--border-color: var(--palette--primary);
  --pullquote--color-foreground: var(--palette--dark-gray);
  --pullquote--color-background: var(--palette--background);
}

blockquote {
  padding: 0;
  position: relative;
  margin: 20px 0 20px 20px;
  margin: var(--spacing-vertical) 0 var(--spacing-vertical) var(--spacing-horizontal);
}
.swiper-slide[class] blockquote {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--alignnarrow-width);
  margin-top: 0;
  margin-bottom: calc(2 * 20px);
  margin-bottom: calc(2 * var(--spacing-vertical));
}
blockquote > * {
  margin-top: 20px;
  margin-top: var(--spacing-vertical);
  margin-bottom: 20px;
  margin-bottom: var(--spacing-vertical);
}
blockquote > *:first-child {
  margin-top: 0;
}
blockquote > *:last-child {
  margin-bottom: 0;
}
blockquote p {
  letter-spacing: normal;
  letter-spacing: var(--heading--letter-spacing-h4);
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--quote--font-family);
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--quote--font-size);
  font-style: italic;
  font-style: var(--quote--font-style);
  font-weight: 400;
  font-weight: var(--quote--font-weight);
  line-height: 1.35;
  line-height: var(--quote--line-height);
}
blockquote cite,
blockquote footer {
  font-weight: 400;
  color: #222222;
  color: var(--palette--dark-gray);
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--quote--font-size);
  letter-spacing: normal;
}
blockquote.alignleft, blockquote.alignright {
  padding-left: inherit;
}
blockquote.alignleft p, blockquote.alignright p {
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--step-1);
  max-width: inherit;
  width: inherit;
}
blockquote.alignleft cite,
blockquote.alignleft footer, blockquote.alignright cite,
blockquote.alignright footer {
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--quote--font-size);
  letter-spacing: normal;
}
blockquote strong {
  font-weight: 700;
  font-weight: var(--quote--font-weight-strong);
}
blockquote:before {
  content: "“";
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--quote--font-size);
  line-height: 1.35;
  line-height: var(--quote--line-height);
  position: absolute;
  left: calc(-0.5 * 20px);
  left: calc(-0.5 * var(--spacing-horizontal));
}
blockquote .wp-block-quote__citation,
blockquote cite,
blockquote footer {
  color: #222222;
  color: var(--palette--dark-gray);
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--quote--font-size);
  font-style: normal;
  font-style: var(--quote--font-style-cite);
}
@media only screen and (max-width: 599px) {
  blockquote {
    padding-left: calc(0.5 * 20px);
    padding-left: calc(0.5 * var(--spacing-horizontal));
  }
  blockquote:before {
    left: 0;
  }
}

/*
 * text-underline-offset doesn't work in Chrome at all 👎
 * But looks nice in Safari/Firefox, so let's keep it and
 * maybe Chrome will support it soon.
 */
a {
  cursor: pointer;
  color: var(--palette--link);
  text-underline-offset: 0.15em;
  -webkit-text-decoration-skip-ink: all;
          text-decoration-skip-ink: all;
}
a svg {
  fill: currentColor;
}
a:hover, a:focus {
  color: rgb(239, 47, 37);
  color: var(--palette--link-hover);
  text-decoration-style: solid;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
a[href^="tel:"] {
  white-space: nowrap;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
  word-break: normal;
}

a:not(.wp-block-button__link):not(.wp-block-file__button), button:not(.wp-block-button__link):not(.wp-block-file__button), input:not(.wp-block-button__link):not(.wp-block-file__button), textarea:not(.wp-block-button__link):not(.wp-block-file__button) {
  --outline-unit: max(2px, 0.08em);
  --outline-style: solid;
  --outline-color: currentColor;
}
a:not(.wp-block-button__link):not(.wp-block-file__button):focus, button:not(.wp-block-button__link):not(.wp-block-file__button):focus, input:not(.wp-block-button__link):not(.wp-block-file__button):focus, textarea:not(.wp-block-button__link):not(.wp-block-file__button):focus {
  outline: var(--outline-unit) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-offset, var(--outline-unit));
}
a:not(.wp-block-button__link):not(.wp-block-file__button):focus:not(:focus-visible) {
  outline: none;
}
button:not(.wp-block-button__link):not(.wp-block-file__button):focus:not(:focus-visible) {
  outline: none;
}
input:not(.wp-block-button__link):not(.wp-block-file__button):focus:not(:focus-visible) {
  outline: none;
}
textarea:not(.wp-block-button__link):not(.wp-block-file__button):focus:not(:focus-visible) {
  outline: none;
}
a:not(.wp-block-button__link):not(.wp-block-file__button):focus-visible {
  outline: var(--outline-unit) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-offset, var(--outline-unit));
}
button:not(.wp-block-button__link):not(.wp-block-file__button):focus-visible {
  outline: var(--outline-unit) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-offset, var(--outline-unit));
}
input:not(.wp-block-button__link):not(.wp-block-file__button):focus-visible {
  outline: var(--outline-unit) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-offset, var(--outline-unit));
}
textarea:not(.wp-block-button__link):not(.wp-block-file__button):focus-visible {
  outline: var(--outline-unit) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-offset, var(--outline-unit));
}

#page [id] {
  scroll-margin-top: calc(10rem + 0px);
  scroll-margin-top: calc(10rem + var(--global--admin-bar--height));
}

.has-background .has-link-color a, .has-background.has-link-color a {
  color: var(--palette--link);
}

/*
	Responsive Breakpoints
*/
input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
.site textarea {
  border: 1px solid #dddddd;
  border: var(--form--border-width) solid var(--form--border-color);
  border-radius: 4px;
  border-radius: var(--form--border-radius);
  color: #767676;
  color: var(--form--input-color);
  font-size: Max(16px, 1rem);
  font-size: var(--form--font-size);
  line-height: 1.35;
  line-height: var(--form--line-height);
  padding: 0.725em 1.25em;
  min-height: 3.125rem;
  min-height: var(--form--input-min-height);
  max-width: 100%;
  margin: 0;
  transition: 180ms box-shadow ease-in-out;
  --form--outline-style: solid;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=url]::-moz-placeholder, input[type=password]::-moz-placeholder, input[type=search]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=date]::-moz-placeholder, input[type=month]::-moz-placeholder, input[type=week]::-moz-placeholder, input[type=time]::-moz-placeholder, input[type=datetime]::-moz-placeholder, input[type=datetime-local]::-moz-placeholder, input[type=color]::-moz-placeholder, .site textarea::-moz-placeholder {
  color: #767676;
  color: var(--form--input-color);
  font-size: Max(16px, 1rem);
  font-size: var(--form--font-size);
  font-style: normal;
  font-weight: 400;
  opacity: 0.5;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=url]::placeholder,
input[type=password]::placeholder,
input[type=search]::placeholder,
input[type=number]::placeholder,
input[type=tel]::placeholder,
input[type=date]::placeholder,
input[type=month]::placeholder,
input[type=week]::placeholder,
input[type=time]::placeholder,
input[type=datetime]::placeholder,
input[type=datetime-local]::placeholder,
input[type=color]::placeholder,
.site textarea::placeholder {
  color: #767676;
  color: var(--form--input-color);
  font-size: Max(16px, 1rem);
  font-size: var(--form--font-size);
  font-style: normal;
  font-weight: 400;
  opacity: 0.5;
}
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=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,
.site textarea:focus {
  color: #767676;
  color: var(--form--input-color);
  border-color: #000000;
  border-color: var(--form--input-focus-color);
  box-shadow: 0 0 0 2px #000000;
  box-shadow: 0 0 0 2px var(--form--input-focus-color);
  outline: Max(2px, 0.08em) var(--form--outline-style) #000000;
  outline: var(--form--outline-width) var(--form--outline-style) var(--form--outline-color);
  outline-offset: Max(2px, 0.08em);
  outline-offset: var(--form--outline-width);
}
input[type=text]:focus:not(:focus-visible),
input[type=email]:focus:not(:focus-visible),
input[type=url]:focus:not(:focus-visible),
input[type=password]:focus:not(:focus-visible),
input[type=search]:focus:not(:focus-visible),
input[type=number]:focus:not(:focus-visible),
input[type=tel]:focus:not(:focus-visible),
input[type=date]:focus:not(:focus-visible),
input[type=month]:focus:not(:focus-visible),
input[type=week]:focus:not(:focus-visible),
input[type=time]:focus:not(:focus-visible),
input[type=datetime]:focus:not(:focus-visible),
input[type=datetime-local]:focus:not(:focus-visible),
input[type=color]:focus:not(:focus-visible),
.site textarea:focus:not(:focus-visible) {
  outline: none;
}
input[type=text]:focus-visible,
input[type=email]:focus-visible,
input[type=url]:focus-visible,
input[type=password]:focus-visible,
input[type=search]:focus-visible,
input[type=number]:focus-visible,
input[type=tel]:focus-visible,
input[type=date]:focus-visible,
input[type=month]:focus-visible,
input[type=week]:focus-visible,
input[type=time]:focus-visible,
input[type=datetime]:focus-visible,
input[type=datetime-local]:focus-visible,
input[type=color]:focus-visible,
.site textarea:focus-visible {
  outline: Max(2px, 0.08em) var(--form--outline-style) #000000;
  outline: var(--form--outline-width) var(--form--outline-style) var(--form--outline-color);
  outline-offset: Max(2px, 0.08em);
  outline-offset: var(--form--outline-width);
}
input[type=text]:disabled,
input[type=email]:disabled,
input[type=url]:disabled,
input[type=password]:disabled,
input[type=search]:disabled,
input[type=number]:disabled,
input[type=tel]:disabled,
input[type=date]:disabled,
input[type=month]:disabled,
input[type=week]:disabled,
input[type=time]:disabled,
input[type=datetime]:disabled,
input[type=datetime-local]:disabled,
input[type=color]:disabled,
.site textarea:disabled {
  opacity: 0.6;
}

input[type=search]:focus {
  outline-offset: -7px;
}
input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

input[type=color] {
  min-height: 3.125rem;
  min-height: var(--form--input-min-height);
}

input[type=email],
input[type=url] {
  /*rtl:ignore*/
  direction: ltr;
}

select {
  border: 1px solid #dddddd;
  border: var(--form--border-width) solid var(--form--border-color);
  color: #767676;
  color: var(--form--input-color);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-family: inherit;
  font-size: Max(16px, 1rem);
  font-size: var(--form--font-size);
  line-height: 1.5;
  line-height: var(--line-height-body);
  padding: 0.25em 1.5em 0.25em 0.25em;
  background-color: #ffffff;
  background-color: var(--form--input-background-color);
  background-image: url("data:image/svg+xml;utf8,<svg fill='%23000000' height='8' width='12' viewBox='0 0 11.32 7.062' xmlns='http://www.w3.org/2000/svg'><path d='M0 1.406L1.42-.008l4.24 4.242L9.9-.008l1.42 1.414-5.66 5.657z'/></svg>"), linear-gradient(to bottom, #ffffff 0%, #ffffff 100%);
  background-image: url("data:image/svg+xml;utf8,<svg fill='%23000000' height='8' width='12' viewBox='0 0 11.32 7.062' xmlns='http://www.w3.org/2000/svg'><path d='M0 1.406L1.42-.008l4.24 4.242L9.9-.008l1.42 1.414-5.66 5.657z'/></svg>"), linear-gradient(to bottom, var(--form--input-background-color) 0%, var(--form--input-background-color) 100%);
  background-repeat: no-repeat, repeat;
  /* arrow icon position (1em from the right, 50% vertical), then gradient position */
  background-position: right 0.25em top 50%;
  /* icon size, then gradient */
  background-size: 1em auto, 100%;
  --form--outline-style: dotted;
}
select:focus {
  outline: Max(2px, 0.08em) var(--form--outline-style) #000000;
  outline: var(--form--outline-width) var(--form--outline-style) var(--form--outline-color);
  outline-offset: Max(2px, 0.08em);
  outline-offset: var(--form--outline-width);
}
select:focus:not(:focus-visible) {
  outline: none;
}
select:focus-visible {
  outline: Max(2px, 0.08em) var(--form--outline-style) #000000;
  outline: var(--form--outline-width) var(--form--outline-style) var(--form--outline-color);
  outline-offset: Max(2px, 0.08em);
  outline-offset: var(--form--outline-width);
}

textarea {
  display: block;
  max-height: none;
  max-height: initial;
  width: 100%;
}

label {
  color: #222222;
  color: var(--form--text-color);
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--form--text-size);
  font-weight: 400;
  font-weight: var(--form--label-weight);
  margin-bottom: calc(1.25rem / 3);
  margin-bottom: calc(var(--form--spacing-unit) / 3);
}

input[type=range],
input[type=checkbox],
input[type=radio] {
  flex: none;
  border: 1px solid #dddddd;
  border: var(--form--border-width) solid var(--form--border-color);
  accent-color: rgb(239, 47, 37);
  accent-color: var(--palette--secondary);
  --form--outline-style: dotted;
}
input[type=range]:disabled,
input[type=checkbox]:disabled,
input[type=radio]:disabled {
  opacity: 0.7;
}

input[type=checkbox] {
  width: 1.25rem;
  height: 1.25rem;
}

input[type=radio] {
  width: 1.875rem;
  height: 1.875rem;
}

/**
https://css-tricks.com/custom-styling-form-inputs-with-modern-css-features/
https://codepen.io/aaroniker/pen/ZEYoxEY by Aaron Iker.
License: MIT.
*/
input[type=checkbox] + label,
input[type=radio] + label {
  display: inline-block;
  padding-left: 10px;
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
  vertical-align: top;
}

/**
 * https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/
*/
select::-ms-expand {
  display: none;
}

fieldset {
  display: grid;
  border: none;
  padding: 0.25em 0.5em;
}
fieldset legend {
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--form--text-size);
}
fieldset input[type=submit] {
  max-width: -moz-max-content;
  max-width: max-content;
}
fieldset input:not([type=submit]) {
  margin-bottom: 20px;
  margin-bottom: var(--spacing-vertical);
}
fieldset input[type=radio], fieldset input[type=checkbox] {
  margin-bottom: 0;
}
fieldset input[type=radio] + label, fieldset input[type=checkbox] + label {
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--form--text-size);
  padding-left: 0;
  margin-bottom: 20px;
  margin-bottom: var(--spacing-vertical);
}
fieldset > p,
fieldset .wpcf7-form-control.wpcf7-radio {
  grid-template-columns: repeat(calc(2 - 1), auto) 1fr;
  grid-template-columns: repeat(calc(var(--cols, 2) - 1), auto) 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
@media only screen and (min-width: 768px) {
  fieldset > p,
  fieldset .wpcf7-form-control.wpcf7-radio {
    display: grid;
  }
}
fieldset .wpcf7-list-item {
  margin-left: 0;
}

::-moz-placeholder {
  opacity: 1;
}

.post-password-message {
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--step-1);
}

.post-password-form {
  display: flex;
  flex-wrap: wrap;
}
.post-password-form__label {
  width: 100%;
  margin-bottom: 0;
}
.post-password-form input[type=password] {
  flex-grow: 1;
  margin-top: 1.25rem;
  margin-top: var(--form--spacing-unit);
  margin-right: 1.25rem;
  margin-right: var(--form--spacing-unit);
}
.post-password-form__submit {
  margin-top: 1.25rem;
  margin-top: var(--form--spacing-unit);
}
@media only screen and (min-width: 768px) {
  .post-password-form__submit {
    margin-left: 1.25rem;
    margin-left: var(--form--spacing-unit);
  }
}

.post-password-form p {
  width: 100%;
  text-align: center;
}
.post-password-form p + p {
  padding: 1.875rem 0;
  background-color: rgb(240, 242, 250);
  background-color: var(--palette--primary-50);
  margin-top: 20px;
  margin-top: var(--spacing-vertical);
}
.post-password-form input[type=submit] {
  margin: 1rem;
}

button {
  cursor: pointer;
}

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

/* Classic editor images */
.entry-content img {
  max-width: 100%;
}

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

/* Media captions */
figcaption,
.wp-caption,
.wp-caption-text,
.wp-block-embed figcaption {
  color: currentColor;
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
  line-height: 1.5;
  line-height: var(--line-height-body);
  margin-top: calc(0.5 * 20px);
  margin-top: calc(0.5 * var(--spacing-vertical));
  margin-bottom: 20px;
  margin-bottom: var(--spacing-vertical);
  text-align: center;
}
.alignleft figcaption, .alignright figcaption,
.alignleft .wp-caption,
.alignright .wp-caption,
.alignleft .wp-caption-text,
.alignright .wp-caption-text,
.alignleft .wp-block-embed figcaption,
.alignright .wp-block-embed figcaption {
  margin-bottom: 0;
}

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

/* Over here, place any elements that do not need to have their own file. */
table {
  --table--stripes-border-color: var(--palette--light-gray);
  --table--stripes-background-color: var(--palette--light-gray);
  --table--has-background-text-color: var(--palette--dark-gray);
}

b,
strong {
  font-weight: 600;
}

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

pre {
  white-space: pre;
  overflow-x: auto;
}

/*
FLOW/STACK UTILITY

More info:
 https://cube.fyi/composition.html#examples
 https://every-layout.dev/layouts/stack/
 https://piccalil.li/quick-tip/flow-utility/
*/
.stack {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.stack > * {
  margin-top: 0;
  margin-bottom: 0;
}

.flow > * + *,
.stack > * + *,
.wp-block-media-text__content > * + *,
[class*=inner-container] > * + *,
.contact-details > * + * {
  margin-top: 1.25rem;
  margin-top: var(--flow-space, 1.25rem);
}

:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h1 {
  --flow-space: 2.5rem;
}

:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h2 {
  --flow-space: 2.5rem;
}

:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h3 {
  --flow-space: 2.5rem;
}

:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h4 {
  --flow-space: 2.5rem;
}

:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h5 {
  --flow-space: 2.5rem;
}

:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h6 {
  --flow-space: 2.5rem;
}
:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h1 + * {
  --flow-space: 1.875rem;
}
:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h2 + * {
  --flow-space: 1.875rem;
}
:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h3 + * {
  --flow-space: 1.875rem;
}
:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h4 + * {
  --flow-space: 1.875rem;
}
:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h5 + * {
  --flow-space: 1.875rem;
}
:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h6 + * {
  --flow-space: 1.875rem;
}
:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h1 + h3 {
  --flow-space: 1.25rem;
}
:where(.entry-content,
.wp-block-media-text__content,
.contact-details,
[class*=inner-container]) h2 + h3 {
  --flow-space: 1.25rem;
}
:where(.entry-content,
[class*=inner-container],
.wp-block-media-text__content,
.contact-details) .wp-block-image {
  --flow-space: 2.5rem;
  margin-bottom: 2.5rem;
  margin-bottom: var(--flow-space);
}
:where(.entry-content,
[class*=inner-container],
.wp-block-media-text__content,
.contact-details) .wp-block-buttons {
  --flow-space: 2.5rem;
}

/*
 Grid listings
 */
.grid,
.list-wrapper {
  display: grid;
  grid-gap: var(--grid-gap-width);
  gap: var(--grid-gap-width);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--grid-min-width)), 1fr));
  grid-template-columns: repeat(var(--grid-auto, auto-fill), minmax(min(100%, var(--grid-min-width)), 1fr));
}

.list-wrapper {
  --grid-min-width: var(--listing--min-width);
  --grid-gap-width: var(--listing--gap-width);
}

/*
SIDEBAR

More info:
 https://every-layout.dev/layouts/sidebar/

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

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

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

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

EXCEPTIONS
.sidebar[data-direction='rtl']: flips the sidebar to be on the right
*/
:where(.with-sidebar,
.is-style-form-media [class*=inner-container],
.is-style-text-form [class*=inner-container],
.is-style-contact-details [class*=inner-container]) {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  gap: var(--gutter, var(--space-s, 1rem));
}

/*
The 'default' version, sidebar on left, content right.
*/
:where(.with-sidebar:not([data-direction]),
.is-style-text-form [class*=inner-container]) > :first-child {
  flex-basis: 20rem;
  flex-basis: var(--sidebar-target-width, 20rem);
  flex-grow: 1;
}
:where(.with-sidebar:not([data-direction]),
.is-style-text-form [class*=inner-container]) > :last-child {
  flex-basis: 0;
  flex-grow: 999;
  min-width: 50%;
  min-width: var(--sidebar-content-min-width, 50%);
}

/*
A flipped version where the sidebar is on the right
*/
:where(.has-sidebar[data-direction=rtl],
.is-style-form-media [class*=inner-container],
.is-style-contact-details [class*=inner-container]) > :last-child {
  flex-basis: 20rem;
  flex-basis: var(--sidebar-target-width, 20rem);
  flex-grow: 1;
}
:where(.has-sidebar[data-direction=rtl],
.is-style-form-media [class*=inner-container],
.is-style-contact-details [class*=inner-container]) > :first-child {
  flex-basis: 0;
  flex-grow: 999;
  min-width: 50%;
  min-width: var(--sidebar-content-min-width, 50%);
}

/*
 Switcher
 https://every-layout.dev/layouts/switcher/
 https://every-layout.dev/demos/switcher-basic/
 https://cube-css-with-tailwind.netlify.app/

SWITCHER
More info: https://every-layout.dev/layouts/switcher/
A layout that allows you to lay **2** items next to each other
until there is not enough horizontal space to allow that.

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

--switcher-target-container-width (40rem): How large the container
needs to be to allow items to sit inline with each other

--switcher-vertical-alignment How items should align vertically.
Can be any acceptable flexbox alignment value.
*/
:where(.switcher,
.is-style-call-to-action [class*=inner-container]) {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  gap: var(--gutter, var(--space-s, 1rem));
  align-items: flex-start;
  align-items: var(--switcher-vertical-alignment, flex-start);
}
:where(.switcher,
.is-style-call-to-action [class*=inner-container]) > * {
  flex-grow: 1;
  flex-basis: calc((40rem - 100%) * 999);
  flex-basis: calc((var(--switcher-target-container-width, 40rem) - 100%) * 999);
}

/* Category 05 is all about adjusting the default block styles to the given layout. */
/**
	DEV NOTE: THIS IS THE EDITED VERSION OF THE CORE LIBRARY STYLES.

	Removal:
	* wp-block-site-logo
	* wp-block-search
	* wp-block-post-template
	* wp-block-query-loop
	* wp-block-query-pagination
	* wp-block-categories
	* wp-block-post-featured-image
	* wp-block-post-terms*
	* wp-block-post-title
	* wp-block-post-author*
	* wp-block-rss
	* wp-block-calendar
	* wp-block-latest-comments
	* wp-block-navigation
	* wp-block-post-comments
	* wp-block-comments-pagination
	* wp-block-comment-template
	* wp-block-archives-dropdown
	* wp-block-avatar
	* wp-block-social-links
	* wp-block-tag-cloud
	* wp-block-text-columns
	* wp-block-cover-image (as deprecated)
	* :root color utility classes
	* Font-size utility classes
	Changed media breakpoints to use sass mixins
 */
/**
 * Colors
 */
/**
 * Breakpoints & Media Queries
 */
/**
 * SCSS Variables.
 *
 * Please use variables from this sheet to ensure consistency across the UI.
 * Don't add to this sheet unless you're pretty sure the value will be reused in many places.
 * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
 */
/**
 * Colors
 */
/**
 * Fonts & basic variables.
 */
/**
 * Grid System.
 * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
 */
/**
 * Dimensions.
 */
/**
 * Shadows.
 */
/**
 * Editor widths.
 */
/**
 * Block & Editor UI.
 */
/**
 * Block paddings.
 */
/**
 * React Native specific.
 * These variables do not appear to be used anywhere else.
 */
/**
*  Converts a hex value into the rgb equivalent.
*
* @param {string} hex - the hexadecimal value to convert
* @return {string} comma separated rgb values
*/
/**
 * Breakpoint mixins
 */
/**
 * Long content fade mixin
 *
 * Creates a fading overlay to signify that the content is longer
 * than the space allows.
 */
/**
 * Focus styles.
 */
/**
 * Applies editor left position to the selector passed as argument
 */
/**
 * Styles that are reused verbatim in a few places
 */
/**
 * Allows users to opt-out of animations via OS-level preferences.
 */
/**
 * Reset default styles for JavaScript UI based pages.
 * This is a WP-admin agnostic reset
 */
/**
 * Reset the WP Admin page styles for Gutenberg-like pages.
 */
.wp-block-audio {
  margin: 0 0 1em 0;
}

.wp-block-audio figcaption {
  margin-top: 0.5em;
  margin-bottom: 1em;
}

.wp-block-audio audio {
  width: 100%;
  min-width: 300px;
}

.wp-block-buttons > .wp-block-button.has-custom-width {
  max-width: none;
}

.wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link {
  width: 100%;
}

.wp-block-buttons > .wp-block-button.has-custom-font-size .wp-block-button__link {
  font-size: inherit;
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-25 {
  width: calc(25% - 0.5em * 0.75);
  width: calc(25% - var(--wp--style--block-gap, 0.5em) * 0.75);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
  width: calc(50% - 0.5em * 0.5);
  width: calc(50% - var(--wp--style--block-gap, 0.5em) * 0.5);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-75 {
  width: calc(75% - 0.5em * 0.25);
  width: calc(75% - var(--wp--style--block-gap, 0.5em) * 0.25);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-100 {
  width: 100%;
  flex-basis: 100%;
}

.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-25 {
  width: 25%;
}

.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-50 {
  width: 50%;
}

.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-75 {
  width: 75%;
}

.wp-block-button.is-style-squared,
.wp-block-button__link.wp-block-button.is-style-squared {
  border-radius: 0;
}

.wp-block-button.no-border-radius,
.wp-block-button__link.no-border-radius {
  border-radius: 0 !important;
}

.is-style-outline > :where(.wp-block-button__link),
:where(.wp-block-button__link).is-style-outline {
  border: 2px solid currentColor;
  padding: 0.667em 1.333em;
}

.is-style-outline > .wp-block-button__link:not(.has-text-color),
.wp-block-button__link.is-style-outline:not(.has-text-color) {
  color: currentColor;
}

.is-style-outline > .wp-block-button__link:not(.has-background),
.wp-block-button__link.is-style-outline:not(.has-background) {
  background-color: transparent;
}

.wp-block-buttons {
  /* stylelint-disable indentation */
}

.wp-block-buttons.is-vertical {
  flex-direction: column;
}

.wp-block-buttons.is-vertical > .wp-block-button:last-child {
  margin-bottom: 0;
}

.wp-block-buttons > .wp-block-button {
  display: inline-block;
  margin: 0;
}

.wp-block-buttons.is-content-justification-left {
  justify-content: flex-start;
}

.wp-block-buttons.is-content-justification-left.is-vertical {
  align-items: flex-start;
}

.wp-block-buttons.is-content-justification-center {
  justify-content: center;
}

.wp-block-buttons.is-content-justification-center.is-vertical {
  align-items: center;
}

.wp-block-buttons.is-content-justification-right {
  justify-content: flex-end;
}

.wp-block-buttons.is-content-justification-right.is-vertical {
  align-items: flex-end;
}

.wp-block-buttons.is-content-justification-space-between {
  justify-content: space-between;
}

.wp-block-buttons.aligncenter {
  text-align: center;
}

.wp-block-buttons:not(.is-content-justification-space-between):not(.is-content-justification-right):not(.is-content-justification-left):not(.is-content-justification-center) .wp-block-button.aligncenter {
  /* stylelint-enable indentation */
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.wp-block-button.aligncenter {
  text-align: center;
}

.wp-block-code code {
  display: block;
  font-family: inherit;
  word-wrap: break-word;
  white-space: pre-wrap;
}

.wp-block-columns {
  display: flex;
  margin-bottom: 1.75em;
  box-sizing: border-box;
  flex-wrap: wrap !important;
  align-items: initial !important;
  /**
  * All Columns Alignment
  */
}

@media only screen and (min-width: 768px) {
  .wp-block-columns {
    flex-wrap: nowrap !important;
  }
}
.wp-block-columns.are-vertically-aligned-top {
  align-items: flex-start;
}

.wp-block-columns.are-vertically-aligned-center {
  align-items: center;
}

.wp-block-columns.are-vertically-aligned-bottom {
  align-items: flex-end;
}

@media only screen and (max-width: 767px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
  }
}
@media only screen and (min-width: 768px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*=flex-basis] {
    flex-grow: 0;
  }
}
.wp-block-columns.is-not-stacked-on-mobile {
  flex-wrap: nowrap !important;
}

.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  flex-basis: 0;
  flex-grow: 1;
}

.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column[style*=flex-basis] {
  flex-grow: 0;
}

:where(.wp-block-columns.has-background) {
  padding: 1.25em 2.375em;
}

.wp-block-column {
  flex-grow: 1;
  min-width: 0;
  word-break: break-word;
  word-wrap: break-word;
  /**
  * Individual Column Alignment
  */
}

.wp-block-column.is-vertically-aligned-top {
  align-self: flex-start;
}

.wp-block-column.is-vertically-aligned-center {
  align-self: center;
}

.wp-block-column.is-vertically-aligned-bottom {
  align-self: flex-end;
}

.wp-block-column.is-vertically-aligned-top, .wp-block-column.is-vertically-aligned-center, .wp-block-column.is-vertically-aligned-bottom {
  width: 100%;
}

section.wp-block-cover-image h2,
.wp-block-cover-image-text,
.wp-block-cover-text {
  color: #fff;
}

section.wp-block-cover-image h2 a,
section.wp-block-cover-image h2 a:hover,
section.wp-block-cover-image h2 a:focus,
section.wp-block-cover-image h2 a:active,
.wp-block-cover-image-text a,
.wp-block-cover-image-text a:hover,
.wp-block-cover-image-text a:focus,
.wp-block-cover-image-text a:active,
.wp-block-cover-text a,
.wp-block-cover-text a:hover,
.wp-block-cover-text a:focus,
.wp-block-cover-text a:active {
  color: #fff;
}

.wp-block-cover-image .wp-block-cover.has-left-content {
  justify-content: flex-start;
}

.wp-block-cover-image .wp-block-cover.has-right-content {
  justify-content: flex-end;
}

section.wp-block-cover-image.has-left-content > h2,
.wp-block-cover-image.has-left-content .wp-block-cover-image-text,
.wp-block-cover.has-left-content .wp-block-cover-text {
  margin-left: 0;
  text-align: left;
}

section.wp-block-cover-image.has-right-content > h2,
.wp-block-cover-image.has-right-content .wp-block-cover-image-text,
.wp-block-cover.has-right-content .wp-block-cover-text {
  margin-right: 0;
  text-align: right;
}

section.wp-block-cover-image > h2,
.wp-block-cover-image .wp-block-cover-image-text,
.wp-block-cover .wp-block-cover-text {
  font-size: 2em;
  line-height: 1.25;
  z-index: 1;
  margin-bottom: 0;
  max-width: 840px;
  padding: 0.44em;
  text-align: center;
}

.wp-block[data-align=left] > [data-type="core/embed"],
.wp-block[data-align=right] > [data-type="core/embed"],
.wp-block-embed.alignleft,
.wp-block-embed.alignright {
  max-width: 360px;
  width: 100%;
}

.wp-block[data-align=left] > [data-type="core/embed"] .wp-block-embed__wrapper,
.wp-block[data-align=right] > [data-type="core/embed"] .wp-block-embed__wrapper,
.wp-block-embed.alignleft .wp-block-embed__wrapper,
.wp-block-embed.alignright .wp-block-embed__wrapper {
  min-width: 280px;
}

.wp-block-cover .wp-block-embed {
  min-width: 320px;
  min-height: 240px;
}

.wp-block-embed {
  margin: 0 0 1em 0;
  word-wrap: break-word;
}

.wp-block-embed figcaption {
  margin-top: 0.5em;
  margin-bottom: 1em;
}

.wp-block-embed iframe {
  max-width: 100%;
}

.wp-block-embed__wrapper {
  position: relative;
}

.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  padding-top: 50%;
}

.wp-embed-responsive .wp-has-aspect-ratio iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper::before {
  padding-top: 42.85%;
}

.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper::before {
  padding-top: 50%;
}

.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
  padding-top: 56.25%;
}

.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper::before {
  padding-top: 75%;
}

.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper::before {
  padding-top: 100%;
}

.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper::before {
  padding-top: 177.77%;
}

.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper::before {
  padding-top: 200%;
}

.wp-block-file {
  margin-bottom: 1.5em;
}

.wp-block-file.aligncenter {
  text-align: center;
}

.wp-block-file.alignright {
  /*rtl:ignore*/
  text-align: right;
}

.wp-block-file .wp-block-file__embed {
  margin-bottom: 1em;
}

.wp-block-file .wp-block-file__button {
  background: #32373c;
  border-radius: 2em;
  color: #fff;
  font-size: 0.8em;
  padding: 0.5em 1em;
}

.wp-block-file a.wp-block-file__button {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.wp-block-file a.wp-block-file__button:hover, .wp-block-file a.wp-block-file__button:visited, .wp-block-file a.wp-block-file__button:focus, .wp-block-file a.wp-block-file__button:active {
  box-shadow: none;
  color: #fff;
  opacity: 0.85;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.wp-block-file * + .wp-block-file__button {
  margin-left: 0.75em;
}

.wp-block-gallery:not(.has-nested-images).alignleft, .wp-block-gallery:not(.has-nested-images).alignright,
.blocks-gallery-grid:not(.has-nested-images).alignleft,
.blocks-gallery-grid:not(.has-nested-images).alignright {
  max-width: 420px;
  width: 100%;
}

.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure,
.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure {
  justify-content: center;
}

.wp-block-gallery:not(.is-cropped) .blocks-gallery-item {
  align-self: flex-start;
}

figure.wp-block-gallery.has-nested-images {
  align-items: normal;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  width: calc(50% - 16px / 2);
  width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) / 2);
  margin: 0;
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
  display: flex;
  flex-grow: 1;
  justify-content: center;
  position: relative;
  flex-direction: column;
  max-width: 100%;
}

.wp-block-gallery.has-nested-images figure.wp-block-image > div,
.wp-block-gallery.has-nested-images figure.wp-block-image > a {
  margin: 0;
  flex-direction: column;
  flex-grow: 1;
}

.wp-block-gallery.has-nested-images figure.wp-block-image img {
  display: block;
  height: auto;
  max-width: 100% !important;
  width: auto;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent);
  bottom: 0;
  color: #fff;
  font-size: 13px;
  left: 0;
  margin-bottom: 0;
  max-height: 60%;
  overflow: auto;
  padding: 0 8px 8px;
  position: absolute;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img {
  display: inline;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a {
  color: inherit;
}

.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > div,
.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > a {
  flex: 1 1 auto;
}

.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption {
  flex: initial;
  background: none;
  color: inherit;
  margin: 0;
  padding: 10px 10px 9px;
  position: relative;
}

.wp-block-gallery.has-nested-images figcaption {
  flex-grow: 1;
  flex-basis: 100%;
  text-align: center;
}

.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) {
  margin-top: 0;
  margin-bottom: auto;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) {
  align-self: inherit;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > div:not(.components-drop-zone),
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > a {
  display: flex;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
  width: 100%;
  flex: 1 0 0%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) {
  width: 100%;
}

@media only screen and (min-width: 600px) {
  .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) {
    width: calc(33.3333333333% - 16px * 0.6666666667);
    width: calc(33.3333333333% - var(--wp--style--unstable-gallery-gap, 16px) * 0.6666666667);
  }
  .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) {
    width: calc(25% - 16px * 0.75);
    width: calc(25% - var(--wp--style--unstable-gallery-gap, 16px) * 0.75);
  }
  .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image) {
    width: calc(20% - 16px * 0.8);
    width: calc(20% - var(--wp--style--unstable-gallery-gap, 16px) * 0.8);
  }
  .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image) {
    width: calc(16.6666666667% - 16px * 0.8333333333);
    width: calc(16.6666666667% - var(--wp--style--unstable-gallery-gap, 16px) * 0.8333333333);
  }
  .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image) {
    width: calc(14.2857142857% - 16px * 0.8571428571);
    width: calc(14.2857142857% - var(--wp--style--unstable-gallery-gap, 16px) * 0.8571428571);
  }
  .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image) {
    width: calc(12.5% - 16px * 0.875);
    width: calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px) * 0.875);
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
    width: calc(33.33% - 16px * 0.6666666667);
    width: calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px) * 0.6666666667);
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2) ~ figure.wp-block-image:not(#individual-image) {
    width: calc(50% - 16px * 0.5);
    width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) * 0.5);
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(1) {
    width: 100%;
  }
}
.wp-block-gallery.has-nested-images.alignleft, .wp-block-gallery.has-nested-images.alignright {
  max-width: 420px;
  width: 100%;
}

.wp-block-gallery.has-nested-images.aligncenter {
  justify-content: center;
}

.wp-block-group {
  box-sizing: border-box;
}

h1.has-background,
h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h6.has-background {
  padding: 1.25em 2.375em;
}

.wp-block-latest-posts.alignleft {
  /*rtl:ignore*/
  margin-right: 2em;
}

.wp-block-latest-posts.alignright {
  /*rtl:ignore*/
  margin-left: 2em;
}

.wp-block-latest-posts.wp-block-latest-posts__list {
  list-style: none;
  padding-left: 0;
}

.wp-block-latest-posts.wp-block-latest-posts__list li {
  clear: both;
}

.wp-block-latest-posts.is-grid {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}

.wp-block-latest-posts.is-grid li {
  margin: 0 1.25em 1.25em 0;
  width: 100%;
}

@media only screen and (min-width: 600px) {
  .wp-block-latest-posts.columns-2 li {
    width: calc(50% - 1.25em + 0.625em);
  }
  .wp-block-latest-posts.columns-2 li:nth-child(2n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-3 li {
    width: calc(33.3333333333% - 1.25em + 0.4166666667em);
  }
  .wp-block-latest-posts.columns-3 li:nth-child(3n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-4 li {
    width: calc(25% - 1.25em + 0.3125em);
  }
  .wp-block-latest-posts.columns-4 li:nth-child(4n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-5 li {
    width: calc(20% - 1.25em + 0.25em);
  }
  .wp-block-latest-posts.columns-5 li:nth-child(5n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-6 li {
    width: calc(16.6666666667% - 1.25em + 0.2083333333em);
  }
  .wp-block-latest-posts.columns-6 li:nth-child(6n) {
    margin-right: 0;
  }
}
.wp-block-latest-posts__post-date,
.wp-block-latest-posts__post-author {
  display: block;
  font-size: 0.8125em;
}

.wp-block-latest-posts__post-excerpt {
  margin-top: 0.5em;
  margin-bottom: 1em;
}

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

.wp-block-latest-posts__featured-image img {
  height: auto;
  width: auto;
  max-width: 100%;
}

.wp-block-latest-posts__featured-image.alignleft {
  /*rtl:ignore*/
  margin-right: 1em;
  /*rtl:ignore*/
  float: left;
}

.wp-block-latest-posts__featured-image.alignright {
  /*rtl:ignore*/
  margin-left: 1em;
  /*rtl:ignore*/
  float: right;
}

.wp-block-latest-posts__featured-image.aligncenter {
  margin-bottom: 1em;
  text-align: center;
}

ol,
ul {
  box-sizing: border-box;
}

ol.has-background,
ul.has-background {
  padding: 1.25em 2.375em;
}

/*
* Here we here not able to use a mobile first CSS approach.
* Custom widths are set using inline styles, and on mobile,
* we need 100% width, so we use important to overwrite the inline style.
* If the style were set on mobile first, on desktop styles,
* we would have no way of setting the style again to the inline style.
*/
.is-small-text {
  font-size: 0.875em;
}

.is-regular-text {
  font-size: 1em;
}

.is-large-text {
  font-size: 2.25em;
}

.is-larger-text {
  font-size: 3em;
}

.has-drop-cap:not(:focus)::first-letter {
  float: left;
  font-size: 8.4em;
  line-height: 0.68;
  font-weight: 100;
  margin: 0.05em 0.1em 0 0;
  text-transform: uppercase;
  font-style: normal;
}

p.has-drop-cap.has-background {
  overflow: hidden;
}

p.has-background {
  padding: 1.25em 2.375em;
}

:where(p.has-text-color:not(.has-link-color)) a {
  color: inherit;
}

.wp-block-preformatted {
  white-space: pre-wrap;
}

.wp-block-preformatted.has-background {
  padding: 1.25em 2.375em;
}

.wp-block-pullquote {
  margin: 0 0 1em 0;
  padding: 3em 0;
  text-align: center;
  word-wrap: break-word;
  box-sizing: border-box;
}

.wp-block-pullquote p,
.wp-block-pullquote blockquote,
.wp-block-pullquote cite {
  color: inherit;
}

.wp-block-pullquote.has-text-align-left, .wp-block-pullquote.has-text-align-right, .wp-block-pullquote.alignleft, .wp-block-pullquote.alignright {
  max-width: 420px;
}

.wp-block-pullquote.has-text-align-left p, .wp-block-pullquote.has-text-align-right p, .wp-block-pullquote.alignleft p, .wp-block-pullquote.alignright p {
  font-size: 1.25em;
}

.wp-block-pullquote p {
  font-size: 1.75em;
  line-height: 1.6;
}

.wp-block-pullquote cite,
.wp-block-pullquote footer {
  position: relative;
}

.wp-block-pullquote .has-text-color a {
  color: inherit;
}

.wp-block-pullquote.has-text-align-left blockquote {
  text-align: left;
}

.wp-block-pullquote.has-text-align-right blockquote {
  text-align: right;
}

.wp-block-pullquote.is-style-solid-color {
  border: none;
}

.wp-block-pullquote.is-style-solid-color blockquote {
  margin-left: auto;
  margin-right: auto;
  max-width: 60%;
}

.wp-block-pullquote.is-style-solid-color blockquote p {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2em;
}

.wp-block-pullquote.is-style-solid-color blockquote cite {
  text-transform: none;
  font-style: normal;
}

.wp-block-pullquote cite {
  color: inherit;
}

.wp-block-quote {
  box-sizing: border-box;
  word-wrap: break-word;
}

.wp-block-quote.is-style-large:not(.is-style-plain), .wp-block-quote.is-large:not(.is-style-plain) {
  margin-bottom: 1em;
  padding: 0 1em;
}

.wp-block-quote.is-style-large:not(.is-style-plain) p, .wp-block-quote.is-large:not(.is-style-plain) p {
  font-size: 1.5em;
  font-style: italic;
  line-height: 1.6;
}

.wp-block-quote.is-style-large:not(.is-style-plain) cite,
.wp-block-quote.is-style-large:not(.is-style-plain) footer, .wp-block-quote.is-large:not(.is-style-plain) cite,
.wp-block-quote.is-large:not(.is-style-plain) footer {
  font-size: 1.125em;
  text-align: right;
}

.wp-block-read-more {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}

.wp-block-read-more:not([style*=text-decoration]) {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.wp-block-read-more:not([style*=text-decoration]):focus, .wp-block-read-more:not([style*=text-decoration]):active {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.wp-block-separator {
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
}

.wp-block-separator.is-style-dots {
  background: none !important;
  border: none;
  text-align: center;
  line-height: 1;
  height: auto;
}

.wp-block-separator.is-style-dots::before {
  content: "···";
  color: currentColor;
  font-size: 1.5em;
  letter-spacing: 2em;
  /*rtl:ignore*/
  padding-left: 2em;
  font-family: serif;
}

.wp-block-spacer {
  clear: both;
}

.wp-block-table {
  margin: 0 0 1em 0;
  overflow-x: auto;
}

.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
}

.wp-block-table .has-fixed-layout {
  table-layout: fixed;
  width: 100%;
}

.wp-block-table .has-fixed-layout td,
.wp-block-table .has-fixed-layout th {
  word-break: break-word;
}

.wp-block-table.alignleft, .wp-block-table.aligncenter, .wp-block-table.alignright {
  display: table;
  width: auto;
}

.wp-block-table.alignleft td,
.wp-block-table.alignleft th, .wp-block-table.aligncenter td,
.wp-block-table.aligncenter th, .wp-block-table.alignright td,
.wp-block-table.alignright th {
  word-break: break-word;
}

.wp-block-table .has-subtle-light-gray-background-color {
  background-color: #f3f4f5;
}

.wp-block-table .has-subtle-pale-green-background-color {
  background-color: #e9fbe5;
}

.wp-block-table .has-subtle-pale-blue-background-color {
  background-color: #e7f5fe;
}

.wp-block-table .has-subtle-pale-pink-background-color {
  background-color: #fcf0ef;
}

.wp-block-table.is-style-stripes {
  border-spacing: 0;
  border-collapse: inherit;
  background-color: transparent;
  border-bottom: 1px solid #f0f0f0;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: #f0f0f0;
}

.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd) {
  background-color: #f3f4f5;
}

.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd) {
  background-color: #e9fbe5;
}

.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd) {
  background-color: #e7f5fe;
}

.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd) {
  background-color: #fcf0ef;
}

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

.wp-block-table .has-border-color > *,
.wp-block-table .has-border-color tr,
.wp-block-table .has-border-color th,
.wp-block-table .has-border-color td {
  border-color: inherit;
}

.wp-block-table table[style*=border-style] > *,
.wp-block-table table[style*=border-style] tr,
.wp-block-table table[style*=border-style] th,
.wp-block-table table[style*=border-style] td {
  border-style: inherit;
}

.wp-block-table table[style*=border-width] > *,
.wp-block-table table[style*=border-width] tr,
.wp-block-table table[style*=border-width] th,
.wp-block-table table[style*=border-width] td {
  border-width: inherit;
  border-style: inherit;
}

pre.wp-block-verse {
  font-family: inherit;
  overflow: auto;
  white-space: pre-wrap;
}

.wp-block-video {
  margin: 0 0 1em 0;
}

.wp-block-video video {
  width: 100%;
}

@supports (position: sticky) {
  .wp-block-video [poster] {
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.wp-block-video.aligncenter {
  text-align: center;
}

.wp-block-video figcaption {
  margin-top: 0.5em;
  margin-bottom: 1em;
}

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

.has-text-align-left {
  /*rtl:ignore*/
  text-align: left;
}

.has-text-align-right {
  /*rtl:ignore*/
  text-align: right;
}

#end-resizable-editor-section {
  display: none;
}

.aligncenter {
  clear: both;
}

.items-justified-left {
  justify-content: flex-start;
}

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

.items-justified-right {
  justify-content: flex-end;
}

.items-justified-space-between {
  justify-content: space-between;
}

/**
 * The following provide a simple means of applying a default border style when
 * a user first makes a selection in the border block support panel.
 * This prevents issues such as where the user could set a border width
 * and see no border due there being no border style set.
 *
 * This is intended to be removed once intelligent defaults can be set while
 * making border selections via the block support.
 *
 * See: https://github.com/WordPress/gutenberg/pull/33743
 */
html :where(.has-border-color) {
  border-style: solid;
}

html :where([style*=border-width]) {
  border-style: solid;
}

/**
 * Provide baseline responsiveness for images.
 */
html :where(img[class*=wp-image-]) {
  height: auto;
  max-width: 100%;
}

/*
Covers a variety of blocks which could be hero elements
Matches the PHP logic
*/
:where(.home .hero-content) {
  margin-bottom: clamp(3.75rem, 1rem + 3.333vw, 5rem);
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel) {
  --swiper-navigation-offset: max(1px, min(calc(-3rem + 5vw), 5rem));
  width: 100%;
  max-width: none;
  max-width: initial;
  margin: 0;
  min-height: calc( min(100vh, 400px) - 0px);
  min-height: var(--hero--min-height, 100vh);
  background-color: transparent;
  background-color: var(--hero--color-background);
  color: #ffffff;
  color: var(--hero--color-foreground);
  --palette--secondary: var(--hero--color-foreground);
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel) :not([class*=-font-size]) {
  font-size: max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem));
  font-size: var(--hero--text-font-size);
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel) :where(p, h1, h2, h3, h4, h5, h6):not([class*=has-text-align-]) {
  text-align: left;
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel) :where(h1, h2, h3, h4, h5, h6, .heading) {
  font-weight: 700;
  text-shadow: 0px 3px 40px rgba(0, 0, 0, 0.4);
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel) :where(h1, h2, h3, h4, h5, h6, .heading):not(.has-text-color) {
  color: #ffffff;
  color: var(--palette--white);
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel) :where(h1, h2, h3, h4, h5, h6, .heading):not([class*=-font-size]) {
  font-size: max(2.07rem, min(calc(1.47rem + 3.01vw), 4.29rem));
  font-size: var(--hero--heading-font-size);
  line-height: 1.2;
  line-height: var(--hero--heading-line-height);
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel).wp-block-image img {
  min-height: calc( min(100vh, 400px) - 0px);
  min-height: var(--hero--min-height, 100vh);
  -o-object-fit: cover;
     object-fit: cover;
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel).wp-block-media-text figure {
  height: 100% !important;
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel).wp-block-media-text figure img {
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel).wp-block-cover {
  display: grid;
  grid-template-columns: [left-edge] 1fr [content-start] calc(100vw - 2 * 20px) [content-end] 1fr [right-edge];
  grid-template-columns: [left-edge] 1fr [content-start] var(--responsive--alignfull-width) [content-end] 1fr [right-edge];
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel).wp-block-cover .wp-block-cover__inner-container[class] {
  padding: 3.125rem 0 6.25rem;
  grid-column: content-start/content-end;
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--aligndefault-width);
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel).wp-block-cover .wp-block-cover__inner-container[class] > * {
  max-width: none;
  max-width: initial;
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel).wp-block-media-text {
  gap: calc(2 * (0.5 * 20px)) 0;
  gap: calc(2 * calc(0.5 * 20px)) 0;
  gap: calc(2 * var(--default-margins)) 0;
  grid-template-columns: [left-edge media-start] 1fr [content-start] calc(100vw - 2 * 20px) [content-end] 1fr [media-end right-edge];
  grid-template-columns: [left-edge media-start] 1fr [content-start] var(--responsive--alignfull-width) [content-end] 1fr [media-end right-edge];
  grid-template-rows: [media-start] auto [media-end content-start] auto [content-end];
}
@media only screen and (max-width: 599px) {
  .hero-content :where(.wp-block-cover,
  .wp-block-image,
  .wp-block-media-text,
  .wp-block-columns,
  .is-style-carousel).wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: [left-edge media-start] 1fr [content-start] calc(100vw - 2 * 20px) [content-end] 1fr [media-end right-edge] !important;
    grid-template-columns: [left-edge media-start] 1fr [content-start] var(--responsive--alignfull-width) [content-end] 1fr [media-end right-edge] !important;
  }
}
@media only screen and (min-width: 600px) {
  .hero-content :where(.wp-block-cover,
  .wp-block-image,
  .wp-block-media-text,
  .wp-block-columns,
  .is-style-carousel).wp-block-media-text {
    grid-template-columns: [left-end media-start] minmax(20px, 1fr) calc((100vw - 2 * 20px) / 2) [media-end] var(--content-media-gap) [content-start] calc((100vw - 2 * 20px) / 2 - var(--content-media-gap)) [content-end] minmax(20px, 1fr) [left-edge];
    grid-template-columns: [left-end media-start] minmax(20px, 1fr) calc(calc(100vw - 2 * 20px) / 2) [media-end] var(--content-media-gap) [content-start] calc(calc(100vw - 2 * 20px) / 2 - var(--content-media-gap)) [content-end] minmax(20px, 1fr) [left-edge];
    grid-template-columns: [left-end media-start] minmax(var(--browser-margin), 1fr) calc(var(--responsive--alignfull-width) / 2) [media-end] var(--content-media-gap) [content-start] calc(var(--responsive--alignfull-width) / 2 - var(--content-media-gap)) [content-end] minmax(var(--browser-margin), 1fr) [left-edge];
    grid-template-rows: [content-start media-start] 1fr [media-end content-end];
  }
}
@media only screen and (min-width: 600px) {
  .hero-content :where(.wp-block-cover,
  .wp-block-image,
  .wp-block-media-text,
  .wp-block-columns,
  .is-style-carousel).wp-block-media-text.has-media-on-the-right {
    grid-template-columns: [left-edge] minmax(20px, 1fr) [content-start] calc((100vw - 2 * 20px) / 2 - var(--content-media-gap)) [content-end] var(--content-media-gap) [media-start] calc((100vw - 2 * 20px) / 2) minmax(20px, 1fr) [media-end right-edge];
    grid-template-columns: [left-edge] minmax(20px, 1fr) [content-start] calc(calc(100vw - 2 * 20px) / 2 - var(--content-media-gap)) [content-end] var(--content-media-gap) [media-start] calc(calc(100vw - 2 * 20px) / 2) minmax(20px, 1fr) [media-end right-edge];
    grid-template-columns: [left-edge] minmax(var(--browser-margin), 1fr) [content-start] calc(var(--responsive--alignfull-width) / 2 - var(--content-media-gap)) [content-end] var(--content-media-gap) [media-start] calc(var(--responsive--alignfull-width) / 2) minmax(var(--browser-margin), 1fr) [media-end right-edge];
  }
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel).wp-block-media-text .wp-block-media-text__media[class] {
  grid-column: media-start/media-end;
  grid-row: media-start/media-end;
}
.hero-content :where(.wp-block-cover,
.wp-block-image,
.wp-block-media-text,
.wp-block-columns,
.is-style-carousel).wp-block-media-text .wp-block-media-text__content[class] {
  padding: 0;
  grid-column: content-start/content-end;
  grid-row: content-start/content-end;
}
.hero-content :where(.wp-block-cover) {
  overflow: hidden;
  --corner-point: max(0px, min(2.96875vw, 3.5625rem));
  clip-path: ellipse(calc(min(100vw, 1560px) + 65vmax - max(0px, min(2.96875vw, 3.5625rem))) 100% at 50% 0%);
  clip-path: ellipse(calc(min(100vw, 1560px) + 65vmax - var(--corner-point)) 100% at 50% 0%);
}
.home .hero-content :where(.wp-block-cover) {
  --corner-point: max(0px, min(2.96875vw, -12rem));
}
.hero-content .is-style-carousel {
  --swiper-navigation-size: clamp(1rem, 1rem + 1.5vw, 2.8125rem);
  --swiper-pagination-offset: 20px;
  --swiper-navigation-offset-vert: 10rem;
  --swiper-theme-color: var(--palette--white);
  --swiper-pagination-color: var(--palette--white);
  --swiper-pagination-inactive-color: var(--palette--white-50);
  --swiper-navigation-color: var(--palette--white-80);
}

.wp-block-audio audio:focus {
  outline-offset: 5px;
  outline: 2px solid rgb(26, 38, 117);
  outline: 2px solid var(--palette--primary);
}

/**
 * Button
 */
.site .button,
input[type=submit],
input[type=reset],
.wp-block-search__button,
.wp-block-button:not(.is-style-plain) .wp-block-button__link {
  line-height: 1.25;
  line-height: var(--button--line-height);
  color: #ffffff;
  color: var(--button--color-text);
  cursor: pointer;
  font-weight: 700;
  font-weight: var(--button--font-weight);
  font-family: inherit;
  font-family: var(--button--font-family);
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--button--font-size);
  background-color: rgb(239, 47, 37);
  background-color: var(--button--color-background);
  border-radius: 1.75rem;
  border-radius: var(--button--border-radius);
  border: 0px solid rgb(239, 47, 37);
  border: var(--button--border-width) solid var(--button--border-color);
  -webkit-text-decoration: none;
  text-decoration: none;
  padding: 1.1875rem 2rem;
  padding: var(--button--padding-vertical) var(--button--padding-horizontal);
  min-height: 3.5rem;
  box-shadow: none;
  text-transform: uppercase;
  text-align: center;
  transition: color 200ms ease-in-out, border-color 200ms ease-in-out, background-color 200ms ease-in-out;
  -webkit-appearance: none;
}
.site .button:hover, .site .button:active, .site .button:focus, .site .button:focus-within, .site .button.has-focus,
input[type=submit]:hover,
input[type=submit]:active,
input[type=submit]:focus,
input[type=submit]:focus-within,
input[type=submit].has-focus,
input[type=reset]:hover,
input[type=reset]:active,
input[type=reset]:focus,
input[type=reset]:focus-within,
input[type=reset].has-focus,
.wp-block-search__button:hover,
.wp-block-search__button:active,
.wp-block-search__button:focus,
.wp-block-search__button:focus-within,
.wp-block-search__button.has-focus,
.wp-block-button:not(.is-style-plain) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-plain) .wp-block-button__link:active,
.wp-block-button:not(.is-style-plain) .wp-block-button__link:focus,
.wp-block-button:not(.is-style-plain) .wp-block-button__link:focus-within,
.wp-block-button:not(.is-style-plain) .wp-block-button__link.has-focus {
  background-color: rgb(191, 37, 29);
  background-color: var(--button--color-background-active);
  transition: color 100ms ease-in-out, border-color 100ms ease-in-out, background-color 100ms ease-in-out;
}
.site .button:focus,
input[type=submit]:focus,
input[type=reset]:focus,
.wp-block-search__button:focus,
.wp-block-button:not(.is-style-plain) .wp-block-button__link:focus {
  outline-offset: -6px;
  outline: 2px dotted currentColor;
}
.site .button:focus:not(.has-background),
input[type=submit]:focus:not(.has-background),
input[type=reset]:focus:not(.has-background),
.wp-block-search__button:focus:not(.has-background),
.wp-block-button:not(.is-style-plain) .wp-block-button__link:focus:not(.has-background) {
  color: #ffffff;
  color: var(--button--color-text-hover);
}
.site .button:focus:not(:focus-visible),
input[type=submit]:focus:not(:focus-visible),
input[type=reset]:focus:not(:focus-visible),
.wp-block-search__button:focus:not(:focus-visible),
.wp-block-button:not(.is-style-plain) .wp-block-button__link:focus:not(:focus-visible) {
  outline: none;
}
.site .button:disabled:disabled,
input[type=submit]:disabled:disabled,
input[type=reset]:disabled:disabled,
.wp-block-search__button:disabled:disabled,
.wp-block-button:not(.is-style-plain) .wp-block-button__link:disabled:disabled {
  background-color: rgb(252, 213, 211);
  background-color: var(--palette--secondary-50);
  border-color: rgb(252, 213, 211);
  border-color: var(--palette--secondary-50);
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
  opacity: 0.4;
}

.site .button:visited,
input[type=submit]:visited,
input[type=reset]:visited,
.wp-block-search .wp-block-search__button:visited,
.wp-block-file .wp-block-file__button:visited {
  background-color: rgb(239, 47, 37);
  background-color: var(--button--color-background);
  color: #ffffff;
  color: var(--button--color-text);
}
.site .button:active,
input[type=submit]:active,
input[type=reset]:active,
.wp-block-search .wp-block-search__button:active,
.wp-block-file .wp-block-file__button:active {
  color: #ffffff;
  color: var(--button--color-text-active);
  background-color: rgb(191, 37, 29);
  background-color: var(--button--color-background-active);
}
.site .button:hover,
input[type=submit]:hover,
input[type=reset]:hover,
.wp-block-search .wp-block-search__button:hover,
.wp-block-file .wp-block-file__button:hover {
  color: #ffffff;
  color: var(--button--color-text-hover);
  background-color: rgb(191, 37, 29);
  background-color: var(--button--color-background-active);
}

/**
 * Block Options
 */
.wp-block-button {
  width: -moz-max-content;
  width: max-content;
  min-width: min(270px, 100%);
  max-width: min(50ch, 100%);
}
.wp-block-button .wp-block-button__link {
  width: 100%;
  max-width: none;
  max-width: initial;
  word-break: break-word;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0.375rem;
}
.wp-block-button .wp-block-button__link.alignleft {
  justify-content: left;
}
.wp-block-button .wp-block-button__link.alignright {
  justify-content: right;
}
.wp-block-button .wp-block-button__link[href$=".pdf"]::before {
  content: url("../svg/download.svg");
  height: 1.125rem;
  width: auto;
}
.wp-block-button:not(.is-style-outline):not(.is-style-plain) .wp-block-button__link:active {
  color: #ffffff !important;
  color: var(--button--color-text-active) !important;
  border-color: rgb(239, 47, 37);
  border-color: var(--button--color-background);
}
.wp-block-button:not(.is-style-outline):not(.is-style-plain) .wp-block-button__link:hover {
  color: #ffffff !important;
  color: var(--button--color-text-hover) !important;
}
.wp-block-button:not(.is-style-outline):not(.is-style-plain) .wp-block-button__link:focus {
  color: #ffffff !important;
  color: var(--button--color-text) !important;
  background-color: rgb(191, 37, 29) !important;
  background-color: var(--button--color-background-active) !important;
}
.wp-block-button.is-style-plain {
  -webkit-appearance: none;
}
.wp-block-button.is-style-plain:first-child {
  margin-top: calc(-1 * 20px + (0.5 * 20px));
  margin-top: calc(-1 * 20px + calc(0.5 * 20px));
  margin-top: calc(-1 * var(--block-margins) + var(--default-margins));
}
.wp-block-button.is-style-plain .wp-block-button__link {
  background-color: inherit;
  border: none;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: block;
  font: inherit;
  padding: inherit;
  text-align: inherit;
  color: var(--palette--link);
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
  font-weight: 400;
  -webkit-text-decoration: underline;
  text-decoration: underline;
  word-wrap: break-word;
  box-sizing: border-box;
  text-transform: uppercase;
}
.wp-block-button.is-style-plain .wp-block-button__link:hover, .wp-block-button.is-style-plain .wp-block-button__link:focus, .wp-block-button.is-style-plain .wp-block-button__link:active {
  color: rgb(239, 47, 37);
  color: var(--palette--link-hover);
  text-decoration-style: dotted;
}
.wp-block-buttons.is-content-justification-center .wp-block-button.is-style-plain .wp-block-button__link {
  text-align: center;
}
.wp-block-buttons.is-vertical .wp-block-button.is-style-plain + * {
  margin-top: calc(0.5 * 20px);
  margin-top: var(--default-margins);
}

.wp-block-buttons {
  display: flex;
  flex-flow: row wrap;
  gap: 0.625rem;
}

.is-style-plain .wp-block-button__link[style*=radius]:focus,
.is-style-outline .wp-block-button__link[style*=radius]:focus,
.wp-block-button a.wp-block-button__link[style*=radius]:focus {
  outline-offset: 2px;
  outline: 2px dotted rgb(239, 47, 37);
  outline: 2px dotted var(--button--color-background);
}

.wp-block-code {
  border-color: rgb(209, 211, 227);
  border-color: var(--palette--border);
  border-radius: 0;
  border-style: solid;
  border-width: 0.1rem;
  padding: 20px;
  padding: var(--spacing-horizontal);
}
.wp-block-code code {
  color: #222222;
  color: var(--palette--dark-gray);
  white-space: pre;
  overflow-x: auto;
  display: block;
}

.wp-block-columns:not(.alignwide):not(.alignfull) {
  clear: both;
}
.wp-block-columns .wp-block-column.has-background {
  padding: 20px 20px;
  padding: var(--spacing-vertical) var(--spacing-horizontal);
}
.wp-block-columns .wp-block-column:last-child {
  margin-bottom: 0;
}
.wp-block-columns .wp-block-column:not(:last-child) {
  margin-bottom: 20px;
  margin-bottom: var(--block-margins);
}
@media only screen and (min-width: 600px) {
  .wp-block-columns .wp-block-column:not(:last-child) {
    margin-bottom: 0;
  }
}
.wp-block-columns.alignfull .wp-block-column p:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h1:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h2:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h3:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h4:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h5:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h6:not(.has-background) {
  padding-left: 20px;
  padding-left: var(--spacing-horizontal);
  padding-right: 20px;
  padding-right: var(--spacing-horizontal);
}

:where(.wp-block-cover) {
  min-height: min(600px, 100vh);
  min-height: var(--cover--min-height);
  margin-top: inherit;
  margin-bottom: inherit;
  padding: 0;
  position: relative;
  background-size: cover;
  background-position: center center;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  /* cover defaults */
}
:where(.wp-block-cover):not(.alignwide):not(.alignfull) {
  clear: both;
}
:where(.wp-block-cover).alignfull {
  margin-top: 0;
  margin-bottom: 0;
}
:where(.wp-block-cover).alignfull .wp-block-cover__inner-container {
  width: 100%;
}
.alignfull:where(.wp-block-cover) .wp-block-cover__inner-container > :not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator) {
  max-width: none;
  max-width: initial;
}
:where(.wp-block-cover).alignwide .wp-block-cover__inner-container {
  width: 100%;
}
.alignwide:where(.wp-block-cover) .wp-block-cover__inner-container > :not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator) {
  max-width: none;
  max-width: initial;
}
:where(.wp-block-cover) > .wp-block-cover__inner-container {
  color: #ffffff;
  color: var(--cover--color-foreground);
  padding: 20px 20px;
  padding: var(--spacing-vertical) var(--spacing-horizontal);
  width: 100%;
  z-index: 1;
}
:where(.wp-block-cover) > .wp-block-cover__inner-container > * {
  max-width: none;
  max-width: initial;
}
:where(.wp-block-cover) > .wp-block-cover__inner-container a:not(.wp-block-button__link):not(.wp-block-file__button) {
  color: currentColor;
}
:where(.wp-block-cover) > .wp-block-cover__inner-container .has-link-color a {
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
}
:where(.wp-block-cover):where(p, h1, h2, h3, h4, h5, h6):not([class*=has-text-color]) {
  color: inherit;
}
:where(.wp-block-cover):where(p, h1, h2, h3, h4, h5, h6):not([class*=has-text-align-]) {
  text-align: center;
}
:where(.wp-block-cover):where(h1, h2, h3, h4, h5, h6, .heading):not([class*=-font-size]) {
  font-size: max(2.07rem, min(calc(1.47rem + 3.01vw), 4.29rem));
  font-size: var(--cover--heading-font-size);
}
:where(.wp-block-cover) .wp-block-cover__background,
:where(.wp-block-cover) .wp-block-cover__gradient-background {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  opacity: 0.5;
}
:where(.wp-block-cover) .wp-block-cover__gradient-background:not([class*=-background-color]),
:where(.wp-block-cover) .wp-block-cover__background:not([class*=-background-color]) {
  background-color: #000000;
  background-color: var(--cover--color-background);
}
:where(.wp-block-cover).has-parallax {
  background-attachment: fixed;
}
@supports (-webkit-touch-callout: inherit) {
  :where(.wp-block-cover).has-parallax {
    background-attachment: scroll;
  }
}
@media (prefers-reduced-motion: reduce) {
  :where(.wp-block-cover).has-parallax {
    background-attachment: scroll;
  }
}
:where(.wp-block-cover) img.wp-block-cover__image-background,
:where(.wp-block-cover) video.wp-block-cover__video-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  -o-object-fit: cover;
     object-fit: cover;
  outline: none;
  border: none;
  box-shadow: none;
  z-index: 0;
}
:where(.wp-block-cover) .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,
:where(.wp-block-cover) .wp-block-cover__background.has-background-dim.has-background-dim-0 {
  opacity: 0;
}
:where(.wp-block-cover) .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,
:where(.wp-block-cover) .wp-block-cover__background.has-background-dim.has-background-dim-10 {
  opacity: 0.1;
}
:where(.wp-block-cover) .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,
:where(.wp-block-cover) .wp-block-cover__background.has-background-dim.has-background-dim-20 {
  opacity: 0.2;
}
:where(.wp-block-cover) .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,
:where(.wp-block-cover) .wp-block-cover__background.has-background-dim.has-background-dim-30 {
  opacity: 0.3;
}
:where(.wp-block-cover) .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,
:where(.wp-block-cover) .wp-block-cover__background.has-background-dim.has-background-dim-40 {
  opacity: 0.4;
}
:where(.wp-block-cover) .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,
:where(.wp-block-cover) .wp-block-cover__background.has-background-dim.has-background-dim-50 {
  opacity: 0.5;
}
:where(.wp-block-cover) .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,
:where(.wp-block-cover) .wp-block-cover__background.has-background-dim.has-background-dim-60 {
  opacity: 0.6;
}
:where(.wp-block-cover) .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,
:where(.wp-block-cover) .wp-block-cover__background.has-background-dim.has-background-dim-70 {
  opacity: 0.7;
}
:where(.wp-block-cover) .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,
:where(.wp-block-cover) .wp-block-cover__background.has-background-dim.has-background-dim-80 {
  opacity: 0.8;
}
:where(.wp-block-cover) .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,
:where(.wp-block-cover) .wp-block-cover__background.has-background-dim.has-background-dim-90 {
  opacity: 0.9;
}
:where(.wp-block-cover) .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,
:where(.wp-block-cover) .wp-block-cover__background.has-background-dim.has-background-dim-100 {
  opacity: 1;
}
:where(.wp-block-cover).is-position-top-left {
  align-items: flex-start;
  justify-content: flex-start;
}
:where(.wp-block-cover).is-position-top-center {
  align-items: flex-start;
  justify-content: center;
}
:where(.wp-block-cover).is-position-top-right {
  align-items: flex-start;
  justify-content: flex-end;
}
:where(.wp-block-cover).is-position-center-left {
  align-items: center;
  justify-content: flex-start;
}
:where(.wp-block-cover).is-position-center-center {
  align-items: center;
  justify-content: center;
}
:where(.wp-block-cover).is-position-center-right {
  align-items: center;
  justify-content: flex-end;
}
:where(.wp-block-cover).is-position-bottom-left {
  align-items: flex-end;
  justify-content: flex-start;
}
:where(.wp-block-cover).is-position-bottom-center {
  align-items: flex-end;
  justify-content: center;
}
:where(.wp-block-cover).is-position-bottom-right {
  align-items: flex-end;
  justify-content: flex-end;
}

.wp-block-file a.wp-block-file__button:active,
.wp-block-file a.wp-block-file__button:focus,
.wp-block-file a.wp-block-file__button:hover {
  color: #ffffff;
  color: var(--button--color-text-hover);
  opacity: inherit;
}
.wp-block-file a.wp-block-file__button:visited {
  color: #ffffff;
  color: var(--button--color-text);
}
.wp-block-file a.wp-block-file__button:visited:hover {
  color: #ffffff;
  color: var(--button--color-text-hover);
}
.wp-block-file .wp-block-file__button {
  line-height: 1.25;
  line-height: var(--button--line-height);
  color: #ffffff;
  color: var(--button--color-text);
  cursor: pointer;
  font-weight: 700;
  font-weight: var(--button--font-weight);
  font-family: inherit;
  font-family: var(--button--font-family);
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--button--font-size);
  background-color: rgb(239, 47, 37);
  background-color: var(--button--color-background);
  border-radius: 1.75rem;
  border-radius: var(--button--border-radius);
  border: 0px solid rgb(239, 47, 37);
  border: var(--button--border-width) solid var(--button--border-color);
  -webkit-text-decoration: none;
  text-decoration: none;
  padding: 1.1875rem 2rem;
  padding: var(--button--padding-vertical) var(--button--padding-horizontal);
  min-height: 3.5rem;
  box-shadow: none;
  text-transform: uppercase;
  text-align: center;
  transition: color 200ms ease-in-out, border-color 200ms ease-in-out, background-color 200ms ease-in-out;
  display: inline-block;
}
.wp-block-file .wp-block-file__button:hover, .wp-block-file .wp-block-file__button:active, .wp-block-file .wp-block-file__button:focus, .wp-block-file .wp-block-file__button:focus-within, .wp-block-file .wp-block-file__button.has-focus {
  background-color: rgb(191, 37, 29);
  background-color: var(--button--color-background-active);
  transition: color 100ms ease-in-out, border-color 100ms ease-in-out, background-color 100ms ease-in-out;
}
.wp-block-file .wp-block-file__button:focus {
  outline-offset: -6px;
  outline: 2px dotted currentColor;
}
.wp-block-file .wp-block-file__button:focus:not(.has-background) {
  color: #ffffff;
  color: var(--button--color-text-hover);
}
.wp-block-file .wp-block-file__button:focus:not(:focus-visible) {
  outline: none;
}
.wp-block-file .wp-block-file__button:disabled:disabled {
  background-color: rgb(252, 213, 211);
  background-color: var(--palette--secondary-50);
  border-color: rgb(252, 213, 211);
  border-color: var(--palette--secondary-50);
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
  opacity: 0.4;
}

:where(.wp-block-gallery) {
  display: flex;
  flex-wrap: wrap;
}

.wp-block-gallery {
  list-style-type: none;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
  --col-min: 215px;
  --grid-min-width: min(var(--col-min), 26.75vw);
  --grid-gap-width: 1.875rem 1.25rem;
  gap: 1.875rem 1.25rem;
  gap: var(--grid-gap-width);
}
.single-post .wp-block-gallery {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--aligndefault-width);
  margin-top: calc(2 * 20px);
  margin-top: calc(2 * var(--spacing-vertical));
  --col-min: 250px;
  --grid-min-width: min(var(--col-min), 30vw);
}
.wp-block-gallery.is-cropped {
  --aspect-ratio: 1;
  --fallback-ratio: max(30vmin, var(--min));
}
.wp-block-gallery .wp-block-image {
  margin: 0;
  aspect-ratio: unset;
  aspect-ratio: var(--aspect-ratio, unset);
}
@supports not (aspect-ratio: 1/1) {
  .wp-block-gallery .wp-block-image {
    height: auto;
    height: var(--fallback-ratio, auto);
  }
}
.wp-block-gallery .wp-block-image figcaption {
  margin: 0;
  pointer-events: none;
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
  line-height: normal;
  padding: 2em 0.5em 0.5em;
}
.wp-block-gallery .wp-block-image figcaption a {
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
}
.wp-block-gallery .wp-block-image figcaption a:focus {
  background-color: transparent;
  outline: 2px solid rgb(26, 38, 117);
  outline: 2px solid var(--palette--primary);
  -webkit-text-decoration: none;
  text-decoration: none;
}
.wp-block-gallery .wp-block-image a:focus img {
  --outline-offset: 2px;
}

.wp-block-group {
  display: flow-root;
  margin-top: clamp(3.75rem, 1rem + 4.375vw, 6.25rem);
  margin-bottom: clamp(3.75rem, 1rem + 4.375vw, 6.25rem);
}
.entry-content > .wp-block-group.is-style-carousel:first-child {
  width: 100%;
  max-width: none;
  max-width: initial;
  margin-left: 0;
  margin-right: 0;
  --swiper-theme-color: var(--palette--white);
  --swiper-pagination-color: var(--palette--white);
  --swiper-pagination-inactive-color: var(--palette--white-50);
  --swiper-navigation-color: var(--palette--white-50);
  --swiper-navigation-size: var(--step-3);
  --swiper-navigation-offset: min(5vw, 2em);
  --swiper-pagination-offset: 1em;
}
.entry-content > .wp-block-group.is-style-carousel:first-child .swiper-slide > * {
  max-width: none;
  max-width: initial;
}
.wp-block-group.is-style-carousel {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}
.wp-block-group.is-style-carousel.alignfull .wp-block-group__inner-container > * {
  width: 100%;
  max-width: none;
  max-width: initial;
}
.no-js .wp-block-group.is-style-carousel .wp-block-group__inner-container > * + * {
  display: none;
}
.wp-block-group.is-style-carousel.swiper-container .wp-block-group__inner-container > .swiper-slide {
  max-width: none !important;
  max-width: initial !important;
  margin: 0;
  padding: 0;
}
.wp-block-group.is-style-carousel .wp-block-group__inner-container .swiper-wrapper,
.wp-block-group.is-style-carousel .wp-block-group__inner-container .swiper-pagination,
.wp-block-group.is-style-carousel .wp-block-group__inner-container .swiper-button-prev,
.wp-block-group.is-style-carousel .wp-block-group__inner-container .swiper-button-next {
  margin: 0 auto;
}
.wp-block-group.is-style-carousel.has-wp-block-image {
  --swiper-pagination-color: var(--palette--white);
  --swiper-pagination-inactive-color: var(--palette--white-50);
  --swiper-pagination-offset: 3em;
}
.wp-block-group.is-style-carousel.has-wp-block-image .swiper-slide[class] {
  padding: 20px 50px;
}
.wp-block-group.is-style-carousel.has-wp-block-image .wp-block-image {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--alignwide-width);
}
.wp-block-group.is-style-carousel.has-wp-block-column {
  --swiper-pagination-offset: 0;
}
.wp-block-group.is-style-carousel.has-wp-block-column .swiper-slide[class] {
  padding: 0 0 50px;
}

:where(.wp-block-group .has-background,
.has-background) {
  padding: clamp(1.875rem, 1rem + 2.3vw, 3.75rem);
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  clear: both;
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--font-headings);
  font-weight: 700;
  font-weight: var(--heading--font-weight);
  font-style: normal;
}
h1 strong,
.h1 strong,
h2 strong,
.h2 strong,
h3 strong,
.h3 strong,
h4 strong,
.h4 strong,
h5 strong,
.h5 strong,
h6 strong,
.h6 strong {
  font-weight: 700;
  font-weight: var(--heading--font-weight-strong);
}
h1:not(.has-text-color),
.h1:not(.has-text-color),
h2:not(.has-text-color),
.h2:not(.has-text-color),
h3:not(.has-text-color),
.h3:not(.has-text-color),
h4:not(.has-text-color),
.h4:not(.has-text-color),
h5:not(.has-text-color),
.h5:not(.has-text-color),
h6:not(.has-text-color),
.h6:not(.has-text-color) {
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
}
h1 span,
.h1 span,
h2 span,
.h2 span,
h3 span,
.h3 span,
h4 span,
.h4 span,
h5 span,
.h5 span,
h6 span,
.h6 span {
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
}

h1,
.h1 {
  font-size: max(2.07rem, min(calc(1.47rem + 3.01vw), 4.29rem));
  font-size: var(--heading--font-size-h1);
  letter-spacing: normal;
  letter-spacing: var(--heading--letter-spacing-h1);
  line-height: 1.2;
  line-height: var(--heading--line-height-h1);
}

h2,
.h2 {
  font-size: max(1.73rem, min(calc(1.45rem + 1.38vw), 2.75rem));
  font-size: var(--heading--font-size-h2);
  letter-spacing: normal;
  letter-spacing: var(--heading--letter-spacing-h2);
  line-height: 1.2;
  line-height: var(--heading--line-height-h2);
}
.single-post h2,
.single-post .h2 {
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--heading--font-size-h4);
}

h3,
.h3 {
  font-size: max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem));
  font-size: var(--heading--font-size-h3);
  letter-spacing: normal;
  letter-spacing: var(--heading--letter-spacing-h3);
  line-height: 1.2;
  line-height: var(--heading--line-height-h3);
}
.single-post h3,
.single-post .h3 {
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--heading--font-size-h4);
}
h3 strong,
.h3 strong {
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--step-0);
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
}

h4,
.h4 {
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--heading--font-size-h4);
  font-weight: 700;
  font-weight: var(--heading--font-weight-strong);
  letter-spacing: normal;
  letter-spacing: var(--heading--letter-spacing-h4);
  line-height: 1.2;
  line-height: var(--heading--line-height-h4);
}

h5,
.h5 {
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--heading--font-size-h5);
  font-weight: 700;
  font-weight: var(--heading--font-weight-strong);
  letter-spacing: normal;
  letter-spacing: var(--heading--letter-spacing-h5);
  line-height: 1.2;
  line-height: var(--heading--line-height-h5);
}

h6,
.h6 {
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--heading--font-size-h6);
  font-weight: 700;
  font-weight: var(--heading--font-weight-strong);
  letter-spacing: normal;
  letter-spacing: var(--heading--letter-spacing-h6);
  line-height: 1.2;
  line-height: var(--heading--line-height-h6);
}

.wp-block-image {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.wp-block-image figcaption {
  color: #222222;
  color: var(--palette--dark-gray);
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
  line-height: 1.5;
  line-height: var(--line-height-body);
  margin-top: calc(0.5 * 20px);
  margin-top: calc(0.5 * var(--spacing-vertical));
  margin-bottom: 20px;
  margin-bottom: var(--spacing-vertical);
  text-align: center;
}
.wp-block-image .alignright {
  margin-left: 20px;
  margin-left: var(--spacing-horizontal);
}
.wp-block-image .alignleft {
  margin-right: 20px;
  margin-right: var(--spacing-horizontal);
}
.wp-block-image a:focus img {
  outline-offset: 2px;
}

.entry-content > *[class=wp-block-image] {
  margin-top: 0;
  margin-bottom: 0;
}
.entry-content > *[class=wp-block-image] + * {
  margin-top: 0;
}

.entry-content :where(.wp-block-image.alignwide,
.wp-block-image.alignfull,
.wp-block-group.is-style-carousel .wp-block-image) img {
  width: 100%;
}

@media only screen and (min-width: 600px) {
  .entry-content .wp-block-image > .alignleft,
  .entry-content .wp-block-image > .alignright {
    max-width: 50%;
  }
}
@media only screen and (max-width: 599px) {
  .entry-content .wp-block-image > .alignleft,
  .entry-content .wp-block-image > .alignright {
    margin-left: 0;
    margin-right: 0;
  }
}

.wp-block-latest-posts {
  padding-left: 0;
}
.wp-block-latest-posts:not(.is-grid) > li {
  margin-top: calc(1.666 * 20px);
  margin-top: calc(1.666 * var(--block-margins));
  margin-bottom: calc(1.666 * 20px);
  margin-bottom: calc(1.666 * var(--block-margins));
}
.wp-block-latest-posts:not(.is-grid) > li:first-child {
  margin-top: 0;
}
.wp-block-latest-posts:not(.is-grid) > li:last-child {
  margin-bottom: 0;
}
.wp-block-latest-posts.is-grid {
  word-wrap: break-word;
  word-break: break-word;
}
.wp-block-latest-posts.is-grid > li {
  margin-bottom: 20px;
  margin-bottom: var(--spacing-vertical);
}
.wp-block-latest-posts.is-grid > li:last-child {
  margin-bottom: 0;
}
.wp-block-latest-posts.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1), .wp-block-latest-posts.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li, .wp-block-latest-posts.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1), .wp-block-latest-posts.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li, .wp-block-latest-posts.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1), .wp-block-latest-posts.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li, .wp-block-latest-posts.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1), .wp-block-latest-posts.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li, .wp-block-latest-posts.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1), .wp-block-latest-posts.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
  margin-bottom: 0;
}
.wp-block-latest-posts > li > * {
  margin-top: calc(0.333 * 20px);
  margin-top: calc(0.333 * var(--spacing-vertical));
  margin-bottom: calc(0.333 * 20px);
  margin-bottom: calc(0.333 * var(--spacing-vertical));
}
.wp-block-latest-posts > li > *:first-child {
  margin-top: 0;
}
.wp-block-latest-posts > li > *:last-child {
  margin-bottom: 0;
}
.wp-block-latest-posts > li > a {
  display: inline-block;
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--latest-posts--title-font-family);
  font-size: max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem));
  font-size: var(--latest-posts--title-font-size);
  font-weight: 700;
  font-weight: var(--heading--font-weight);
  line-height: 1.2;
  line-height: var(--line-height-heading);
  margin-bottom: calc(0.333 * 20px);
  margin-bottom: calc(0.333 * var(--spacing-vertical));
}
.wp-block-latest-posts .wp-block-latest-posts__post-author {
  color: #222222;
  color: var(--palette--dark-gray);
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
  line-height: 1.5;
  line-height: var(--line-height-body);
}
.wp-block-latest-posts .wp-block-latest-posts__post-date {
  color: #222222;
  color: var(--palette--dark-gray);
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
  line-height: 1.5;
  line-height: var(--line-height-body);
}
[class*=inner-container] .wp-block-latest-posts .wp-block-latest-posts__post-date, .has-background .wp-block-latest-posts .wp-block-latest-posts__post-date {
  color: currentColor;
}
.wp-block-latest-posts .wp-block-latest-posts__post-excerpt,
.wp-block-latest-posts .wp-block-latest-posts__post-full-content {
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--latest-posts--description-font-family);
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--latest-posts--description-font-size);
  line-height: 1.5;
  line-height: var(--line-height-body);
  margin-top: calc(0.666 * 20px);
  margin-top: calc(0.666 * var(--spacing-vertical));
}
.wp-block-latest-posts.alignfull {
  padding-left: 20px;
  padding-left: var(--spacing-horizontal);
  padding-right: 20px;
  padding-right: var(--spacing-horizontal);
}
.entry-content [class*=inner-container] .wp-block-latest-posts.alignfull, .entry-content .has-background .wp-block-latest-posts.alignfull {
  padding-left: 0;
  padding-right: 0;
}

ul,
ol {
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--font-base);
  margin: 0;
  padding-left: 1.25rem;
}
ul.aligncenter,
ol.aligncenter {
  list-style-position: inside;
  padding: 0;
}
ul.alignright,
ol.alignright {
  list-style-position: inside;
  text-align: right;
  padding: 0;
}
ul li::marker,
ol li::marker {
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
}
ul.is-style-columns,
ol.is-style-columns {
  -moz-column-gap: max(50px, min(10vw, 80px));
       column-gap: max(50px, min(10vw, 80px));
  -moz-column-width: 20ch;
       column-width: 20ch;
}
ul.is-style-columns > li,
ol.is-style-columns > li {
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}

ul {
  list-style-type: square;
}
ul ul {
  list-style-type: circle;
}

ol {
  list-style-type: decimal;
}
ol ul {
  list-style-type: circle;
}

dt {
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--font-headings);
  font-style: italic;
  font-weight: 700;
}

dd {
  margin: 0;
  padding-left: calc(2 * 20px);
  padding-left: calc(2 * var(--spacing-horizontal));
}

.wp-block-media-text {
  margin-top: clamp(3.75rem, 1rem + 3.334vw, 5rem);
  margin-bottom: clamp(3.75rem, 1rem + 3.334vw, 5rem);
  --gutter: 20px;
  direction: ltr;
  display: grid;
  grid-template-columns: calc(50% - 20px / 2) 1fr;
  grid-template-columns: calc(50% - var(--gutter, 0) / 2) 1fr;
  grid-template-rows: auto;
  grid-gap: 20px;
  grid-gap: var(--gutter, var(--space-s, 1rem));
  gap: 20px;
  gap: var(--gutter, var(--space-s, 1rem));
  align-items: center;
  --outline-offset: -1px;
}
.wp-block-media-text + .wp-block-media-text {
  border-top: 1px solid rgb(209, 211, 227);
  border-top: 1px solid var(--palette--primary-60);
  padding-top: clamp(3.75rem, 1rem + 3.334vw, 5rem);
}
.wp-block-media-text:has(+ .is-style-mini-contact-us,
+ :where(h1, h2, h3, h4, h5, h6) + .is-style-partners) {
  border-bottom: 1px solid rgb(209, 211, 227);
  border-bottom: 1px solid var(--palette--primary-60);
  padding-bottom: clamp(3.75rem, 1rem + 3.334vw, 5rem);
}
.wp-block-media-text.has-media-on-the-right {
  grid-template-columns: 1fr calc(50% - 0 / 2);
  grid-template-columns: 1fr calc(50% - var(--gutter, 0) / 2);
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
  grid-column: 2;
  grid-row: 1;
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
  grid-column: 1;
  grid-row: 1;
}
.wp-block-media-text.is-vertically-aligned-top {
  align-items: start;
}
.wp-block-media-text.is-vertically-aligned-center {
  align-items: center;
}
.wp-block-media-text.is-vertically-aligned-bottom {
  align-items: end;
}
@media only screen and (max-width: 599px) {
  .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 100% !important;
  }
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1;
  }
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 2;
  }
}
.wp-block-media-text__media {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}
.wp-block-media-text__media :where(img, video) {
  height: auto;
  max-width: none;
  max-width: initial;
  width: 100%;
  vertical-align: middle;
}
.wp-block-media-text__content {
  grid-column: 2;
  grid-row: 1;
  padding: 0;
  word-break: break-word;
}
.wp-block-media-text.is-image-fill .wp-block-media-text__media {
  height: 100%;
}
.wp-block-media-text.is-image-fill .wp-block-media-text__media img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

p {
  line-height: 1.5;
  line-height: var(--line-height-body);
}
p.has-background {
  padding: 20px;
  padding: var(--spacing-vertical);
}
p.has-text-color a {
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
}
p.is-style-stat-value {
  font-size: max(2.07rem, min(calc(1.47rem + 3.01vw), 4.29rem));
  font-size: var(--step-4);
  line-height: 1;
  text-align: center;
}
p.is-style-stat-value + p {
  margin-top: 0 !important;
  margin-bottom: 3px;
  text-align: center;
}

pre.wp-block-preformatted {
  overflow-x: auto;
  white-space: pre;
}

.wp-block-pullquote {
  padding: calc(2 * 20px) 0;
  padding: calc(2 * var(--spacing-vertical)) 0;
  text-align: center;
  border-width: 3px;
  border-width: var(--pullquote--border-width);
  border-bottom-style: solid;
  border-top-style: solid;
  color: currentColor;
  border-color: currentColor;
  position: relative;
  /**
   * Block Options
   */
}
.wp-block-pullquote blockquote::before {
  color: currentColor;
  content: "“";
  display: block;
  position: relative;
  left: 0;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
}
.wp-block-pullquote p {
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--pullquote--font-family);
  font-size: max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem));
  font-size: var(--pullquote--font-size);
  font-style: italic;
  font-style: var(--pullquote--font-style);
  font-weight: 700;
  letter-spacing: normal;
  letter-spacing: var(--pullquote--letter-spacing);
  line-height: 1.2;
  line-height: var(--pullquote--line-height);
  margin: 0;
}
.wp-block-pullquote a {
  color: currentColor;
}
.wp-block-pullquote .wp-block-pullquote__citation,
.wp-block-pullquote cite,
.wp-block-pullquote footer {
  color: currentColor;
  display: block;
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
  font-style: italic;
  font-style: var(--pullquote--font-style);
  text-transform: none;
}
.wp-block-pullquote:not(.is-style-solid-color) {
  background: none;
}
.wp-block-pullquote.alignleft:not(.is-style-solid-color) blockquote:before,
.wp-block-pullquote.alignleft:not(.is-style-solid-color) cite {
  text-align: center;
}
.wp-block-pullquote.alignwide > p, .wp-block-pullquote.alignwide blockquote {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--alignwide-width);
}
.wp-block-pullquote.alignfull:not(.is-style-solid-color) > p, .wp-block-pullquote.alignfull:not(.is-style-solid-color) blockquote {
  padding: 0 calc(2 * 20px);
  padding: 0 calc(2 * var(--spacing-horizontal));
}
.wp-block-pullquote.is-style-solid-color {
  color: #222222;
  color: var(--pullquote--color-foreground);
  padding: calc(2 * 20px);
  padding: calc(2 * var(--spacing-vertical));
  border-width: 3px;
  border-width: var(--pullquote--border-width);
  border-style: solid;
  border-color: rgb(26, 38, 117);
  border-color: var(--pullquote--border-color);
}
@media (min-width: 600px) {
  .wp-block-pullquote.is-style-solid-color {
    padding: calc(3 * 20px);
    padding: calc(3 * var(--spacing-vertical));
  }
}
.wp-block-pullquote.is-style-solid-color blockquote::before {
  text-align: left;
}
.wp-block-pullquote.is-style-solid-color blockquote {
  margin: 0;
  max-width: inherit;
}
.wp-block-pullquote.is-style-solid-color blockquote p {
  font-size: max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem));
  font-size: var(--pullquote--font-size);
}
.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation,
.wp-block-pullquote.is-style-solid-color cite,
.wp-block-pullquote.is-style-solid-color footer {
  color: currentColor;
}
.wp-block-pullquote.is-style-solid-color.alignleft, .wp-block-pullquote.is-style-solid-color.alignright {
  padding: 20px;
  padding: var(--spacing-vertical);
}
.wp-block-pullquote.is-style-solid-color.alignleft blockquote, .wp-block-pullquote.is-style-solid-color.alignright blockquote {
  max-width: none;
  max-width: initial;
}

.wp-block-quote {
  border-left: none;
  margin-right: auto;
  margin-left: 20px;
  margin-left: var(--spacing-horizontal);
  /**
   * Block Options
   */
}
.wp-block-quote:before {
  content: "“";
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--quote--font-size);
  line-height: 1.35;
  line-height: var(--quote--line-height);
  left: 8px;
}
.has-background .wp-block-quote .wp-block-quote__citation, [class*=background-color] .wp-block-quote .wp-block-quote__citation, [style*=background-color] .wp-block-quote .wp-block-quote__citation, .wp-block-cover[style*=background-image] .wp-block-quote .wp-block-quote__citation,
.has-background .wp-block-quote cite,
[class*=background-color] .wp-block-quote cite,
[style*=background-color] .wp-block-quote cite,
.wp-block-cover[style*=background-image] .wp-block-quote cite,
.has-background .wp-block-quote footer,
[class*=background-color] .wp-block-quote footer,
[style*=background-color] .wp-block-quote footer,
.wp-block-cover[style*=background-image] .wp-block-quote footer {
  color: currentColor;
}
.wp-block-quote.has-text-align-right {
  margin-right: 20px;
  margin-right: var(--spacing-horizontal);
  margin-left: auto;
  padding-right: 0;
  border-right: none;
}
.wp-block-quote.has-text-align-right:before {
  display: none;
}
.wp-block-quote.has-text-align-right p:before {
  content: "”";
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--quote--font-size);
  font-weight: normal;
  line-height: 1.35;
  line-height: var(--quote--line-height);
  margin-right: 5px;
}
.wp-block-quote.has-text-align-center {
  margin-left: auto;
  margin-right: auto;
}
.wp-block-quote.has-text-align-center:before {
  display: none;
}
.wp-block-quote.is-large, .wp-block-quote.is-style-large {
  padding-left: 0;
  padding-right: 0;
  /* Resetting margins to match _block-container.scss */
}
.wp-block-quote.is-large p, .wp-block-quote.is-style-large p {
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--quote--font-family-large);
  font-size: max(1.73rem, min(calc(1.45rem + 1.38vw), 2.75rem));
  font-size: var(--quote--font-size-large);
  font-style: italic;
  font-style: var(--quote--font-style-large);
  font-weight: normal;
  font-weight: var(--quote--font-weight-large);
  line-height: 1.5;
  line-height: var(--quote--line-height-large);
}
.wp-block-quote.is-large:before, .wp-block-quote.is-style-large:before {
  font-size: max(1.73rem, min(calc(1.45rem + 1.38vw), 2.75rem));
  font-size: var(--quote--font-size-large);
  line-height: 1.5;
  line-height: var(--quote--line-height-large);
  left: calc(-1 * 20px);
  left: calc(-1 * var(--spacing-horizontal));
}
.wp-block-quote.is-large.has-text-align-right:before, .wp-block-quote.is-style-large.has-text-align-right:before {
  display: none;
}
.wp-block-quote.is-large.has-text-align-right p:before, .wp-block-quote.is-style-large.has-text-align-right p:before {
  content: "”";
  font-size: max(1.73rem, min(calc(1.45rem + 1.38vw), 2.75rem));
  font-size: var(--quote--font-size-large);
  font-weight: normal;
  line-height: 1.5;
  line-height: var(--quote--line-height-large);
  margin-right: 10px;
}
.wp-block-quote.is-large .wp-block-quote__citation,
.wp-block-quote.is-large cite,
.wp-block-quote.is-large footer, .wp-block-quote.is-style-large .wp-block-quote__citation,
.wp-block-quote.is-style-large cite,
.wp-block-quote.is-style-large footer {
  color: #222222;
  color: var(--palette--dark-gray);
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--step-0);
}
@media only screen and (max-width: 599px) {
  .wp-block-quote.is-large, .wp-block-quote.is-style-large {
    padding-left: 20px;
    padding-left: var(--spacing-horizontal);
  }
  .wp-block-quote.is-large:before, .wp-block-quote.is-style-large:before {
    left: 0;
  }
  .wp-block-quote.is-large.has-text-align-right, .wp-block-quote.is-style-large.has-text-align-right {
    padding-left: 0;
    padding-right: 20px;
    padding-right: var(--spacing-horizontal);
  }
  .wp-block-quote.is-large.has-text-align-right:before, .wp-block-quote.is-style-large.has-text-align-right:before {
    right: 0;
  }
  .wp-block-quote.is-large.has-text-align-center, .wp-block-quote.is-style-large.has-text-align-center {
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (max-width: 599px) {
  .wp-block-quote.has-text-align-right {
    padding-left: 0;
    padding-right: calc(0.5 * 20px);
    padding-right: calc(0.5 * var(--spacing-horizontal));
  }
  .wp-block-quote.has-text-align-right:before {
    right: 0;
  }
  .wp-block-quote.has-text-align-center {
    padding-left: 0;
    padding-right: 0;
  }
}
.entry-content > .wp-block-quote:last-of-type + * {
  margin-top: calc(2 * 20px);
  margin-top: calc(2 * var(--block-margins));
}

hr {
  border-style: none;
  border-bottom: 1px solid rgb(209, 211, 227);
  border-bottom: var(--separator--height) solid var(--separator--border-color);
  clear: both;
  margin-left: auto;
  margin-right: auto;
}
hr.wp-block-separator {
  border-top: none;
  border-bottom: 1px solid rgb(209, 211, 227);
  border-bottom: var(--separator--height) solid var(--separator--border-color);
  opacity: 1;
  width: 100%;
}
hr.wp-block-separator:not(.is-style-dots):not(.alignwide) {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--aligndefault-width);
}
hr.wp-block-separator:not(.is-style-dots).alignwide {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--alignwide-width);
}
hr.wp-block-separator:not(.is-style-dots).alignfull {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--alignfull-width);
}
.has-background hr.wp-block-separator, [class*=background-color] hr.wp-block-separator, [style*=background-color] hr.wp-block-separator, .wp-block-cover[style*=background-image] hr.wp-block-separator {
  border-color: currentColor;
}

.site-main .wp-block-site-logo[class] {
  margin-left: auto;
  margin-right: auto;
  max-width: -moz-max-content;
  max-width: max-content;
}
@media only screen and (max-width: 767px) {
  .site-main .wp-block-site-logo[class] {
    display: none;
  }
  .site-main .wp-block-site-logo[class] + * {
    margin-top: 0 !important;
  }
}

.wp-block-spacer {
  display: block;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}
@media only screen and (max-width: 599px) {
  .wp-block-spacer[style] {
    height: calc(0.5 * 20px) !important;
    height: var(--default-margins) !important;
  }
}

table,
.wp-block-table {
  width: 100%;
  min-width: 240px;
  border-collapse: collapse;
}
table thead,
table tfoot,
.wp-block-table thead,
.wp-block-table tfoot {
  text-align: center;
}
table th,
.wp-block-table th {
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--font-base);
  font-weight: 700;
}
table td,
table th,
.wp-block-table td,
.wp-block-table th {
  padding: calc(0.5 * 20px);
  padding: calc(0.5 * var(--spacing-horizontal));
  border: 1px solid;
}
table figcaption,
.wp-block-table figcaption {
  color: #222222;
  color: var(--palette--dark-gray);
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
}
table.is-style-regular .has-background, table.is-style-stripes .has-background, table.is-style-stripes .has-background thead tr, table.is-style-stripes .has-background tfoot tr, table.is-style-stripes .has-background tbody tr,
.wp-block-table.is-style-regular .has-background,
.wp-block-table.is-style-stripes .has-background,
.wp-block-table.is-style-stripes .has-background thead tr,
.wp-block-table.is-style-stripes .has-background tfoot tr,
.wp-block-table.is-style-stripes .has-background tbody tr {
  color: var(--table--has-background-text-color);
}
table.is-style-stripes,
.wp-block-table.is-style-stripes {
  border-color: var(--table--stripes-border-color);
}
table.is-style-stripes th,
table.is-style-stripes td,
.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes td {
  border-width: 0;
}
table.is-style-stripes tbody tr:nth-child(odd),
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--table--stripes-background-color);
}
table.is-style-stripes .has-background tbody tr:nth-child(odd),
.wp-block-table.is-style-stripes .has-background tbody tr:nth-child(odd) {
  background-color: var(--palette--white-90);
}

.wp-block-video figcaption {
  color: #222222;
  color: var(--palette--dark-gray);
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
  margin-top: calc(0.5 * 20px);
  margin-top: calc(0.5 * var(--spacing-vertical));
  margin-bottom: 20px;
  margin-bottom: var(--spacing-vertical);
  text-align: center;
}

* > figure > video {
  max-width: none;
  max-width: initial;
  width: 100%;
  vertical-align: middle;
}

.wp-block-getwid-accordion .wp-block-getwid-accordion__header-wrapper[class] {
  border: none;
  --outline-unit: max(2px, 0.08em);
  --outline-style: solid;
  --outline-color: currentColor;
}
.wp-block-getwid-accordion .wp-block-getwid-accordion__header-wrapper[class]:first-child {
  border: none;
}
.wp-block-getwid-accordion .wp-block-getwid-accordion__header-wrapper[class]:focus {
  outline: var(--outline-unit) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-unit);
}
.wp-block-getwid-accordion .wp-block-getwid-accordion__header-wrapper[class]:focus:not(:focus-visible) {
  outline: none;
}
.wp-block-getwid-accordion .wp-block-getwid-accordion__header-wrapper[class]:focus-within, .wp-block-getwid-accordion .wp-block-getwid-accordion__header-wrapper[class]:focus-visible {
  outline: var(--outline-unit) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-unit);
}
.wp-block-getwid-accordion .wp-block-getwid-accordion__content-wrapper + .wp-block-getwid-accordion__header-wrapper[class] {
  border-top: 1px solid #dddddd;
  border-top: 1px solid var(--palette--mid-gray);
}
.wp-block-getwid-accordion__content[class] {
  border: none;
  padding: 0 max(10%, 2em) 2em 0;
}
.wp-block-getwid-accordion .wp-block-getwid-accordion__header[class] {
  padding: 1.25em 0;
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--font-base);
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--heading--font-size-h4);
  font-style: normal;
  font-weight: 400;
  font-weight: var(--font-weight-base);
}
.wp-block-getwid-accordion__icon[class] i {
  font-size: 1em;
}

/* Block Alignments */
/**
 * These selectors set the default max width for content appearing inside a post or page.
 * With low specificity to allow easy overriding
 */
/**
 * .alignleft
 */
.alignleft {
  text-align: left;
  margin-top: 0;
}

@media only screen and (min-width: 600px) {
  .alignleft {
    float: left;
  }
}
/**
 * .aligncenter
 */
.aligncenter {
  clear: both;
  display: block;
  float: none;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

/**
 * .alignright
 */
.alignright {
  margin-top: 0;
}

@media only screen and (min-width: 600px) {
  .alignright {
    float: right;
  }
}
/**
 * .alignwide
 */
.alignwide {
  clear: both;
}

/**
 * .alignfull
 */
.alignfull {
  clear: both;
}

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

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

.has-parallax {
  background-attachment: fixed;
}

.has-drop-cap:not(:focus)::first-letter {
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--font-headings);
  font-weight: 700;
  font-weight: var(--heading--font-weight);
  line-height: 0.66;
  text-transform: uppercase;
  font-style: italic;
  float: left;
  margin: 0.1em 0.1em 0 0;
  font-size: calc(1.2 * max(2.07rem, min(calc(1.47rem + 3.01vw), 4.29rem)));
  font-size: calc(1.2 * var(--heading--font-size-h1));
}

.has-drop-cap:not(:focus)::after {
  content: "";
  display: table;
  clear: both;
  padding-top: 14px;
}

/*
Category 06 contains all "bigger" components which contain elements of the previous
two categories like header, footer, page template, single template, comments section, archives, ...
*/
/*
Site Header
Covers the whole header, with styles that cascade to the (optional) header-top, branding and navigation.
*/
.site-header {
  --branding--logo--max-width: 320px;
  --branding--logo--max-height: 40px;
  --branding--logo--max-width-slim: 240px;
  --branding--logo--max-height-slim: 30px;
  --branding--logo--max-width-mobile: 240px;
  --branding--logo--max-height-mobile: 30px;
  --header--color-background: var(--palette--white);
  --header--color-text: var(--palette--dark-gray);
  --header--font-family: var(--font-base);
  --header--font-size: var(--step--1);
  --header--font-weight: 700;
  /* Main navigation */
  --nav--font-family: var(--font-base);
  --nav--font-size: 1rem;
  --nav--font-style: normal;
  --nav--font-weight: 400;
  --nav--color-text: var(--palette--primary);
  --nav--color-background: var(--palette--primary);
  --nav--color-background-sub-menu: var(--palette--primary-110);
  --nav--button-height: 29px;
  --nav--button-width: 24px;
  --palette--link: var(--palette--primary);
  --palette--link-hover: var(--palette--primary);
  position: relative;
  z-index: 10;
  transition: transform 200ms ease-in-out, background-color 200ms ease-in-out, color 300ms ease-in-out, height 300ms ease-in-out;
  --logo--max-width: var(--branding--logo--max-width-mobile);
  --logo--max-height: var(--branding--logo--max-height-mobile);
  background-color: #ffffff;
  background-color: var(--header--color-background);
  color: #222222;
  color: var(--header--color-text);
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--header--font-family);
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--header--font-size);
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
}
@media only screen and (min-width: 600px) {
  .site-header {
    --logo--max-width: var(--branding--logo--max-width-slim);
    --logo--max-height: var(--branding--logo--max-height-slim);
  }
}
@media only screen and (min-width: 768px) {
  .site-header {
    --logo--max-width: var(--branding--logo--max-width);
    --logo--max-height: var(--branding--logo--max-height);
  }
  .js body.has-scrolled .site-header {
    --logo--slim-width: var(--branding--logo--max-width-slim);
    --logo--slim-height: var(--branding--logo--max-height-slim);
    border-top: none;
  }
  .js body.has-scrolled .site-header .site-header__branding {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 1200px) {
  .site-header {
    border-top: 5px solid rgb(239, 47, 37);
    border-top: 5px solid var(--palette--secondary);
    --nav--color-text: var(--palette--white);
    --palette--link: var(--palette--white);
    --palette--link-hover: var(--palette--white);
  }
}
.site-header__inner {
  margin: 0 auto;
  width: auto;
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--alignfull-width);
  transition: height 300ms ease-in-out, background-color 0ms;
  display: grid;
  grid-template-columns: [intro-start branding-start nav-start] max-content [branding-end] 1fr [intro-end nav-end];
  grid-template-rows: [intro-start] max-content [intro-end branding-start nav-start] 1fr [branding-end nav-end];
  grid-gap: 0 20px;
  grid-gap: 0 var(--spacing-horizontal);
  gap: 0 20px;
  gap: 0 var(--spacing-horizontal);
}
.has-mobile-navigation-open .site-header__inner {
  transition: height 300ms ease-in-out, background-color 10ms 290ms;
}
@media only screen and (min-width: 1200px) {
  .site-header__inner {
    grid-template-columns: [branding-start nav-start] max-content [branding-end intro-start] 1fr [intro-end nav-end];
    grid-template-rows: [branding-start intro-start] max-content [branding-end intro-end nav-start] 1fr [nav-end];
  }
}
.site-header a:not(:focus):not(:hover) {
  -webkit-text-decoration: none;
  text-decoration: none;
}
.site-header__branding {
  margin: 20px auto;
  grid-column: branding-start/branding-end;
  grid-row: branding-start/branding-end;
  transition: all 300ms ease-in-out;
}
@media only screen and (min-width: 1200px) {
  .site-header__branding {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.site-header__navigation {
  grid-column: nav-start/nav-end;
  grid-row: nav-start/nav-end;
}

.site-title a {
  display: block;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.site-title .custom-logo {
  display: block;
  margin: 0 auto;
  max-width: var(--logo--slim-width, var(--logo--max-width));
  max-height: var(--logo--slim-height, var(--logo--max-height));
  transition: max-height 200ms ease-in-out, max-width 200ms ease-in-out;
}

.site-header {
  position: sticky;
  top: 0px;
  top: var(--global--admin-bar--height, 0px);
  width: 100%;
}

.site {
  position: relative;
}

.site:before {
  content: "";
  position: absolute;
  z-index: 8;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  background-color: var(--palette--black);
  opacity: 0;
  visibility: hidden;
  transition: opacity 200ms ease-in-out, visibility 100ms linear;
  transition-delay: 200ms;
  pointer-events: none;
}

.has-body-overlay:not(.lock-body-scrolling) .site:before {
  opacity: 0.6;
  visibility: visible;
  transition-delay: 0ms;
}
.has-body-overlay:not(.lock-body-scrolling) .site > *:not(.to-the-top):not(header) {
  position: relative;
  z-index: 1;
}

.lock-body-scrolling .site {
  position: fixed;
  max-height: 100vh;
  max-width: 100%;
  width: 100%;
  visibility: hidden;
}
.lock-body-scrolling .site header {
  visibility: visible;
  top: 0px;
  top: var(--global--admin-bar--height);
  filter: none;
}

/* Header Top */
.site-header__intro {
  --palette--link: var(--palette--white);
  --palette--link-hover: var(--palette--white);
  grid-column: intro-start/intro-end;
  grid-row: intro-start/intro-end;
  align-self: center;
  justify-self: flex-end;
  text-align: center;
  position: relative;
}
.site-header__intro span {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media only screen and (max-width: 1199px) {
  .site-header__intro {
    background-color: rgb(239, 47, 37);
    background-color: var(--palette--secondary);
    -o-border-image: conic-gradient(rgb(239, 47, 37) 0, rgb(239, 47, 37) 0) 1/0/0 100vw;
       border-image: conic-gradient(rgb(239, 47, 37) 0, rgb(239, 47, 37) 0) fill 1/0/0 100vw;
    -o-border-image: conic-gradient(var(--palette--secondary) 0, var(--palette--secondary) 0) 1/0/0 100vw;
       border-image: conic-gradient(var(--palette--secondary) 0, var(--palette--secondary) 0) fill 1/0/0 100vw;
    -o-border-image: conic-gradient(rgb(239, 47, 37) 0 0) 1/0/0 100vw;
       border-image: conic-gradient(rgb(239, 47, 37) 0 0) fill 1/0/0 100vw;
  }

@supports (background: conic-gradient(red 0deg, red 0deg 1deg, red 2deg)){
.site-header__intro {
    -o-border-image: conic-gradient(var(--palette--secondary) 0 0) 1/0/0 100vw;
       border-image: conic-gradient(var(--palette--secondary) 0 0) fill 1/0/0 100vw;
  }
}
  .site-header__intro > span {
    flex-direction: row-reverse;
    align-items: center;
    visibility: hidden;
  }
  .site-header__intro a {
    visibility: visible !important;
  }
}
.site-header__intro a {
  display: flex;
  align-content: center;
  gap: 5px;
  font-size: 0.875rem;
  line-height: 1.786;
  font-weight: 700;
}
@media only screen and (min-width: 1200px) {
  .site-header__intro a {
    --palette--link: var(--palette--primary);
    --palette--link-hover: var(--palette--primary);
    font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
    font-size: var(--step-0);
    line-height: normal;
  }
}
.site-header__intro svg {
  flex: none;
  display: inline-block;
  fill: currentColor;
  width: 1em;
  height: auto;
  margin-right: 0.5rem;
}
@media only screen and (min-width: 1200px) {
  .site-header__intro svg {
    fill: rgb(239, 47, 37);
    fill: var(--palette--secondary);
  }
}

.site-header__top {
  --header--color-background: var(--palette--secondary);
  --header--color-text: var(--palette--white);
  --header--font-size: var(--step--2);
  --header--font-weight: 400;
  background-color: rgb(239, 47, 37);
  background-color: var(--header--color-background);
  color: #ffffff;
  color: var(--header--color-text);
  font-size: var(--header--font-size);
}
.site-header__top__inner {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--alignfull-width);
  align-items: center;
  /* ↓ Save the large negative or large positive value to a variable */
  --multiplier: calc((57rem - 100%) * 666);
}
.site-header__top__inner:before {
  content: "";
  flex-grow: 666;
  margin: 0;
  /* ↓ If --multiplier is negative, use 0px instead */
  flex-basis: max(0px, var(--multiplier));
}
.site-header__top__inner > * {
  flex-grow: 1;
}
.site-header__top__inner > *:first-child {
  order: -1;
}
.site-header__top__navigation {
  display: none;
}
@media only screen and (min-width: 992px) {
  .site-header__top__navigation {
    display: block;
  }
}
.site-header__top .menu__items {
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0;
  align-self: stretch;
}
.site-header__top .sub-menu {
  left: -1.25rem;
  background-color: #ffffff;
  background-color: var(--palette--white);
}
.site-header__top .menu__item.is-top-level:hover, .site-header__top .menu__item.is-top-level:focus-within {
  background-color: #00226A;
}
.site-header__top .menu__item.is-top-level:hover > .sub-menu-toggle, .site-header__top .menu__item.is-top-level:focus-within > .sub-menu-toggle {
  color: #ffffff;
  color: var(--palette--white);
}
.site-header__top .menu__item.is-top-level > a {
  --palette--link: var(--palette--white);
  --palette--link-hover: var(--palette--white);
  font-size: var(--step--2);
  padding-top: 0.28125rem;
  padding-bottom: 0.28125rem;
  border-radius: 0;
}
.site-header__top .menu__item.is-top-level:last-child {
  margin-right: calc(-1 * var(--padding-inner));
}
.site-header__top .menu__item.has-children {
  --button-spacing: 30px;
}
.site-header__top .sub-menu-toggle svg {
  width: 8px;
}

/* Site Navigation */
.site-header .sub-menu-toggle {
  justify-self: flex-end;
  align-self: stretch;
  display: flex;
  align-items: center;
  line-height: 1;
  margin-right: 0;
  margin-right: var(--button-indent, 0);
  padding: 0 5px;
  background: transparent;
  color: currentColor;
  border: none;
}
.site-header .sub-menu-toggle .icon-wrap {
  display: flex;
}
.site-header .sub-menu-toggle[aria-expanded=false] ~ ul {
  visibility: hidden;
  max-height: 0;
  pointer-events: none;
  opacity: 0;
}
.site-header .sub-menu-toggle[aria-expanded=true] svg {
  transform: scaleY(-1);
}
.site-header :hover > .sub-menu-toggle,
.site-header :focus-within > .sub-menu-toggle {
  color: rgb(239, 47, 37);
  color: var(--palette--link-hover);
}
.site-header .menu__item {
  text-transform: uppercase;
  --padding-inner: 1.25rem;
  --padding-left: var(--padding-inner);
  --padding-right: var(--padding-inner);
  --button-spacing: 2.375rem;
  --button-indent: .8rem;
  display: grid;
  grid-template-areas: "stack";
  position: relative;
  font-family: var(--nav--font-family);
  font-size: var(--nav--font-size);
  font-weight: var(--nav--font-weight);
}
.site-header .menu__item > *:not(.sub-menu) {
  grid-area: stack;
}
.site-header__menu-container > :last-child .menu__item.is-top-level:last-child {
  margin-right: calc(-1 * var(--padding-inner));
}

.site-header .menu__item.has-children {
  --padding-right: var(--button-spacing);
}
.site-header .menu__item > a {
  display: block;
  padding: 0.875rem var(--padding-right) 0.875rem var(--padding-left);
  -webkit-text-decoration: none;
  text-decoration: none;
}
.site-header .menu__items--primary .is-top-level > a, .site-header .menu__items--secondary .is-top-level > a {
  font-weight: 700;
  display: grid;
  align-content: center;
  justify-content: center;
  place-content: center;
  text-align: center;
}
.site-header .menu__items--primary .is-top-level:not(.has-icon):hover > a,
.site-header .menu__items--primary .is-top-level:not(.has-icon):hover > .sub-menu-toggle, .site-header .menu__items--primary .is-top-level:not(.has-icon):focus-within > a,
.site-header .menu__items--primary .is-top-level:not(.has-icon):focus-within > .sub-menu-toggle, .site-header .menu__items--secondary .is-top-level:not(.has-icon):hover > a,
.site-header .menu__items--secondary .is-top-level:not(.has-icon):hover > .sub-menu-toggle, .site-header .menu__items--secondary .is-top-level:not(.has-icon):focus-within > a,
.site-header .menu__items--secondary .is-top-level:not(.has-icon):focus-within > .sub-menu-toggle {
  background-color: rgb(9, 8, 64);
  background-color: var(--palette--primary-110);
  color: rgb(239, 47, 37);
  color: var(--palette--link-hover);
}
.site-header .menu__items--primary .is-top-level.has-icon > a, .site-header .menu__items--secondary .is-top-level.has-icon > a {
  --padding-left: 0;
}
.site-header .menu__items--primary .is-top-level.has-icon:not(:last-of-type), .site-header .menu__items--secondary .is-top-level.has-icon:not(:last-of-type) {
  --padding-right: 0;
}
.site-header .menu__items--primary .is-top-level.has-icon:hover > a svg, .site-header .menu__items--primary .is-top-level.has-icon:focus-within > a svg, .site-header .menu__items--secondary .is-top-level.has-icon:hover > a svg, .site-header .menu__items--secondary .is-top-level.has-icon:focus-within > a svg {
  fill: rgb(239, 47, 37);
  fill: var(--palette--secondary);
}
.site-header .menu__item :not(.is-top-level):hover > a, .site-header .menu__item :not(.is-top-level):focus-within > a {
  background-color: rgb(26, 38, 117);
  background-color: var(--palette--primary);
  color: #ffffff;
  color: var(--palette--white);
}
.site-header .menu__item :not(.is-top-level):hover > .sub-menu-toggle, .site-header .menu__item :not(.is-top-level):focus-within > .sub-menu-toggle {
  color: #ffffff;
  color: var(--palette--white);
}
.site-header .menu__items {
  --outline-offset: -2px;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 5px min(2vw, 1rem);
  flex-flow: row wrap;
  align-self: stretch;
  position: relative;
}
.site-header .menu__items--top .sub-menu, .site-header .menu__items--primary .sub-menu, .site-header .menu__items--secondary .sub-menu {
  padding: 0.625rem 0 1.625rem;
  min-width: 20rem;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1;
  background-color: var(--nav--color-background-sub-menu);
}
.site-header .menu__items--mobile {
  margin-top: 20px;
  margin-bottom: 20px;
  margin-top: var(--spacing-vertical);
  margin-bottom: var(--spacing-vertical);
  margin-left: auto;
  margin-right: auto;
  flex-flow: row wrap;
  gap: 0;
}
.site-header .menu__items--mobile .menu__item {
  width: 100%;
}
.site-header .menu__items--mobile .menu__item:has(a > svg.icon) {
  width: -moz-max-content;
  width: max-content;
}
.site-header .menu__items--mobile .sub-menu {
  flex-basis: 100%;
  border-radius: 4px;
  background-color: rgb(26, 38, 117);
  background-color: var(--palette--primary);
  --palette--link: var(--palette--white);
  --palette--link-hover: var(--palette--white);
}
.site-header .menu__items--mobile .sub-menu.sub-menu-reposition-right .menu__item {
  text-align: left;
}
.site-header .menu__items--mobile .sub-menu .menu__item {
  padding-left: 0;
  padding-right: 0;
  color: #ffffff;
  color: var(--palette--white);
}
.site-header .sub-menu {
  margin: 0;
  padding: 0;
  display: block;
  width: inherit;
  text-align: left;
  max-height: 1000vh;
  transition: max-height 300ms ease-in-out, opacity 300ms ease-in-out, visibility 200ms linear;
  opacity: 1;
}
@media only screen and (min-width: 1200px) {
  .site-header .sub-menu ul.sub-menu {
    display: block;
    top: 0;
    left: 100%;
    min-height: 100%;
    z-index: 1;
    background-color: rgb(26, 38, 117);
    background-color: var(--palette--primary);
    --palette--link: var(--palette--white);
    --palette--link-hover: var(--palette--white);
    transition: all 500ms ease;
    opacity: 1;
  }
  .site-header .sub-menu .sub-menu-toggle svg {
    transform: rotate(-90deg) scaleY(1);
  }
  .site-header .sub-menu.sub-menu-reposition-right {
    right: 0;
    left: auto;
  }
  .site-header .sub-menu.sub-menu-reposition-right > .menu__item.has-children {
    --padding-left: var(--button-spacing);
    --padding-right: var(--padding-inner);
  }
  .site-header .sub-menu.sub-menu-reposition-right .menu__item {
    text-align: right;
  }
  .site-header .sub-menu.sub-menu-reposition-right .sub-menu-toggle {
    justify-self: flex-start;
    margin-left: var(--button-indent);
    margin-right: 0;
  }
  .site-header .sub-menu.sub-menu-reposition-right .sub-menu-toggle svg {
    transform: rotate(90deg) scaleY(1);
  }
  .site-header .sub-menu.sub-menu-reposition-right .sub-menu {
    left: auto;
    right: 100%;
  }
}
.site-header .sub-menu .menu__item {
  position: static;
  position: initial;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.site-header .sub-menu .menu__item + .menu__item {
  margin-top: 5px;
}
.site-header .sub-menu a {
  border-radius: 4px;
}
.site-header__navigation {
  display: flex;
  flex-direction: row;
  width: 100%;
  background-color: transparent;
  color: var(--nav--color-text);
  font-size: var(--nav--font-size);
}
@media only screen and (min-width: 1200px) {
  .site-header__navigation {
    background-color: var(--nav--color-background);
    -o-border-image: conic-gradient(var(--nav--color-background) 0, var(--nav--color-background) 0) 1/0/0 100vw;
       border-image: conic-gradient(var(--nav--color-background) 0, var(--nav--color-background) 0) fill 1/0/0 100vw;
  }

@supports (background: conic-gradient(red 0deg, red 0deg 1deg, red 2deg)){
.site-header__navigation {
    -o-border-image: conic-gradient(var(--nav--color-background) 0 0) 1/0/0 100vw;
       border-image: conic-gradient(var(--nav--color-background) 0 0) fill 1/0/0 100vw;
  }
}
}
@media only screen and (max-width: 1199px) {
  .site-header__navigation {
    flex-direction: column;
    pointer-events: none;
    position: relative;
    justify-content: center;
  }
  .has-mobile-navigation-open .site-header__navigation {
    height: auto;
  }
}
.site-header__button-container {
  pointer-events: none;
  display: flex;
  justify-content: flex-end;
}
@media only screen and (min-width: 1200px) {
  .site-header__button-container {
    display: none;
  }
}
.site-header__button-container .menu-toggle.menu-toggle {
  pointer-events: auto;
  background-color: transparent;
  border: none;
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
  margin: 0;
  padding: 0;
}
.site-header__button-container .menu-toggle.menu-toggle .burger {
  display: block;
  width: var(--nav--button-width);
  height: var(--nav--button-height);
  position: relative;
}
.site-header__button-container .menu-toggle.menu-toggle .burger span,
.site-header__button-container .menu-toggle.menu-toggle .burger span::before,
.site-header__button-container .menu-toggle.menu-toggle .burger span::after {
  content: "";
  background-color: currentColor;
  display: block;
  width: 100%;
  height: 3px;
  position: absolute;
  top: calc(0.5 * var(--nav--button-height) - 1.5px);
  right: 0;
  transition: top 100ms ease, background-color 200ms, opacity 200ms, transform 250ms ease;
}
.site-header__button-container .menu-toggle.menu-toggle .burger span::before {
  top: -9px;
}
.site-header__button-container .menu-toggle.menu-toggle .burger span::after {
  top: 9px;
}
.site-header__button-container .menu-toggle.menu-toggle[aria-expanded*=true] .burger span,
.site-header__button-container .menu-toggle.menu-toggle[aria-expanded*=true] .burger span::before,
.site-header__button-container .menu-toggle.menu-toggle[aria-expanded*=true] .burger span::after {
  transition: top 100ms ease, background-color 200ms, opacity 200ms, transform 250ms ease;
}
.site-header__button-container .menu-toggle.menu-toggle[aria-expanded*=true] .burger span {
  transform: rotate(45deg);
}
.site-header__button-container .menu-toggle.menu-toggle[aria-expanded*=true] .burger span::before {
  top: 0;
  transform: rotate(-90deg);
}
.site-header__button-container .menu-toggle.menu-toggle[aria-expanded*=true] .burger span::after {
  opacity: 0;
  top: 0;
  transform: rotate(90deg);
}
.site-header__menu-container {
  display: flex;
  -moz-column-gap: 100px;
       column-gap: 100px;
  justify-content: flex-end;
  width: 100%;
  align-items: center;
}
.has-secondary-nav .site-header__menu-container {
  /**********************************************************************
  // Center - Primary and secondary nav centered
  // Space-between - primary nav on left, secondary nav on right
  // space-around - primary nav centered, secondary nav on right
  // flex-end  - primary and secondary navigation on the right
  /**********************************************************************/
  justify-content: space-between;
}
@media only screen and (max-width: 1199px) {
  .site-header__menu-container {
    display: none;
  }
}
.site-header__mobile-menu-container {
  pointer-events: auto;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  height: 0;
  visibility: hidden;
  opacity: 0;
  overflow-x: hidden;
  overflow-y: auto;
  transition: all 150ms ease-in-out;
}
.has-mobile-navigation-open .site-header__mobile-menu-container {
  height: auto;
  visibility: visible;
  opacity: 1;
  overflow-x: hidden;
  overflow-y: scroll;
  max-height: calc(100vh - 2.5 * var(--branding--logo--max-height));
}
@media only screen and (min-width: 1200px) {
  .site-header__mobile-menu-container {
    display: none;
  }
}
.site-header__mobile-menu-container .sub-menu {
  position: relative;
  top: 0;
  z-index: 0;
  margin: 0;
}
.site-header__mobile-menu-container .sub-menu .sub-menu {
  border: none;
}

/*
	Back/Return to the Top link
*/
a.to-the-top {
  color: rgba(0, 0, 0, 0.15);
  fill: currentColor;
  position: fixed;
  bottom: 100px;
  right: 20px;
  right: var(--spacing-horizontal);
  display: inline-flex;
  text-align: center;
  z-index: 1;
  aspect-ratio: 1/1;
  transition: all 400ms ease;
  transform: scale(1);
}
.js a.to-the-top, .has-mobile-navigation-open a.to-the-top {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
a.to-the-top svg {
  width: clamp(2.5rem, 1rem + 2.85vw, 4.375rem);
  height: auto;
}
a.to-the-top.active {
  pointer-events: all;
  opacity: 1;
  visibility: visible;
}
a.to-the-top:hover, a.to-the-top:focus {
  background: transparent;
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
}
a.to-the-top:active {
  color: #222222;
  color: var(--palette--dark-gray);
  transform: scale(0.9);
}

/*
	Site Footer

	The main Footer element which contains the (optional) topbar, main footer widgets, and credits
 */
.site-footer {
  /* Footer Variables */
  --footer--color-background: var(--palette--primary-110);
  --footer--color-text: var(--palette--white);
  --footer--color-heading: var(--palette--primary);
  --footer--font-family: var(--font-base);
  --footer--font-size: var(--step--1);
  --footer--border-width: 0px;
  --footer--border-color: var(--palette--primary-110);
  background-color: rgb(9, 8, 64);
  background-color: var(--footer--color-background);
  border-top: 0px solid rgb(9, 8, 64);
  border-top: var(--footer--border-width) solid var(--footer--border-color);
  color: #ffffff;
  color: var(--footer--color-text);
  font-family: "century-gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--footer--font-family);
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--footer--font-size);
  margin-top: clamp(3.75rem, 1rem + 4.375vw, 6.25rem);
}
.home .site-footer {
  margin-top: clamp(3.75rem, 1rem + 4.375vw, 5rem);
}
.site-footer > *:not(.site-footer_site-footer__top-widget-area) {
  padding-top: clamp(1.875rem, 1rem + 1.25vw, 2.5rem);
  margin-left: auto;
  margin-right: auto;
}
.site-footer a {
  --palette--link: var(--palette--white);
  --palette--link-hover: var(--palette--white);
}
.site-footer a:not(:hover):not(:focus) {
  -webkit-text-decoration: none;
  text-decoration: none;
}
.site-footer img,
.site-footer svg {
  margin: 0 auto;
  vertical-align: middle;
}
.site-footer svg {
  fill: #ffffff;
  fill: var(--palette--white);
}

/*
	Site Footer Top Bar
 */
.site-footer__top-widget-area {
  --palette--link: var(--palette--dark-gray);
  --palette--link-hover: var(--palette--dark-gray);
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--step-0);
  background-color: rgb(240, 242, 250);
  background-color: var(--palette--primary-50);
  --footer--color-text: var(--palette--dark-gray);
  color: #222222;
  color: var(--footer--color-text);
  padding: clamp(2.5rem, 3.3333vw + 1rem, 5rem) 0;
  display: flex;
  flex-direction: column;
}
.site-footer__top-widget-area > * + * {
  margin-top: 20px;
  margin-top: var(--spacing-vertical);
}
.site-footer__top-widget-area h2, .site-footer__top-widget-area h3, .site-footer__top-widget-area h4, .site-footer__top-widget-area .site-footer-top__widget-title {
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--step-1);
  font-weight: 700;
  line-height: normal;
  text-align: center;
  text-transform: none;
  text-transform: initial;
}
@media only screen and (min-width: 992px) {
  .site-footer__top-widget-area h2, .site-footer__top-widget-area h3, .site-footer__top-widget-area h4, .site-footer__top-widget-area .site-footer-top__widget-title {
    white-space: nowrap;
    text-align: right;
  }
}
.site-footer__top-widget-area .text:empty {
  display: none;
}
.site-footer__top-widget-area .text:not(:empty) {
  text-align: center;
}
.site-footer__top-widget-area a {
  display: block;
  font-weight: 700;
  white-space: nowrap;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.site-footer__top-widget-area a svg {
  margin-right: calc(0.5 * 20px);
  margin-right: calc(0.5 * var(--spacing-horizontal));
}
.site-footer__top-widget-area ul.menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .site-footer__top-widget-area ul.menu {
    flex-direction: row;
  }
}
.site-footer__top-widget-area .menu__item {
  flex: 1 1 33%;
  text-align: center;
  padding-left: calc(0.5 * 20px);
  padding-left: calc(0.5 * var(--spacing-horizontal));
  padding-right: calc(0.5 * 20px);
  padding-right: calc(0.5 * var(--spacing-horizontal));
}
.site-footer__top-widget-area .menu__item + .menu__item {
  margin-top: calc(0.75 * 20px);
  margin-top: calc(0.75 * var(--spacing-vertical));
}
@media only screen and (min-width: 768px) {
  .site-footer__top-widget-area .menu__item + .menu__item {
    margin-top: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.5);
    border-left: 1px solid var(--palette--white-50);
  }
}
.site-footer__top-widget-area .widget_cf7_form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem 20px;
  gap: 0.625rem var(--spacing-horizontal);
}
.site-footer__top-widget-area .wpcf7 form {
  margin: 1.25rem auto;
  position: relative;
  border-radius: 4px;
  /* Single inline field */
  display: grid;
  grid-template-areas: "content button" "not-valid-response not-valid-response" "response response";
  grid-template-columns: 1fr min-content;
  grid-gap: 0;
  gap: 0;
  padding: 0;
  background-color: transparent;
  /* Multiple inline fields */
}
.site-footer__top-widget-area .wpcf7 form p:only-of-type,
.site-footer__top-widget-area .wpcf7 form .wpcf7-form-control-wrap {
  display: contents;
}
.site-footer__top-widget-area .wpcf7 form input:not([type=submit]) {
  grid-area: content;
  align-self: center;
  max-width: none;
  max-width: initial;
}
.site-footer__top-widget-area .wpcf7 form .wpcf7-spinner,
.site-footer__top-widget-area .wpcf7 form input[type=submit] {
  grid-area: content;
}
.site-footer__top-widget-area .wpcf7 form input:not([type=submit]) {
  padding-right: 3rem;
  background-color: #ffffff;
  background-color: var(--palette--white);
  border: 1px solid #dddddd;
  border: 1px solid var(--palette--mid-gray);
  transition: border 100ms ease-in, background-color 100ms ease-in;
  border-radius: 0;
  box-shadow: none !important;
}
.site-footer__top-widget-area .wpcf7 form input:not([type=submit]):focus, .site-footer__top-widget-area .wpcf7 form input:not([type=submit]):hover:focus {
  background-color: #ffffff;
  background-color: var(--palette--white);
}
.site-footer__top-widget-area .wpcf7 form input[type=submit] {
  background: #ffffff;
  background: var(--palette--white);
  color: #000000;
  color: var(--palette--black);
  background-image: url(../svg/arrow-right-secondary.svg);
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 4px;
  text-indent: -9999px;
  align-self: center;
  transition: background 0.1s ease-in-out;
  justify-self: flex-end;
  margin: 5px;
  height: 2rem;
  width: 2rem;
  min-height: 0;
  min-height: initial;
  min-width: 0;
  min-width: initial;
}
.site-footer__top-widget-area .wpcf7 form input[type=submit]:hover, .site-footer__top-widget-area .wpcf7 form input[type=submit]:focus, .site-footer__top-widget-area .wpcf7 form input[type=submit]:active {
  transform: scale(1.1);
  background-image: url(../svg/arrow-right-hover.svg);
}
.site-footer__top-widget-area .wpcf7 form .wpcf7-spinner {
  justify-self: flex-end;
  align-self: center;
  margin: 0;
}
.site-footer__top-widget-area .wpcf7 form .wpcf7-response-output,
.site-footer__top-widget-area .wpcf7 form .wpcf7-not-valid-tip {
  background-color: #ffffff;
  background-color: var(--palette--white);
  grid-area: response;
  margin: 1em;
  width: auto;
  border: none;
  border: 1px solid #ffb900;
}
.site-footer__top-widget-area .wpcf7 form .wpcf7-not-valid-tip {
  color: #000000;
  color: var(--palette--black);
  grid-area: not-valid-response;
  padding: 0.2em 1em;
}

/*
	 Site Footer
	 Widgets
 */
.site-footer {
  /*
  	Widgets, generally in footer, rarely elsewhere
  */
  --widget--line-height-list: 1.5;
  --widget--line-height-title: 1.5;
  --widget--font-weight-title: 700;
  --widget--font-family-title: var(--font-headings);
  --widget--font-size-title: var(--step-0);
  --widget--spacing-menu: 8px;
}
.site-footer__widget {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.site-footer__widget .gallery {
  display: flex;
  gap: 1em;
}
.site-footer__widget + .site-footer__widget {
  margin-top: 20px;
  margin-top: var(--spacing-vertical);
}
.site-footer .is-top-level.has-children > a {
  display: inline-block;
}
.site-footer__widget-title[class], .site-footer .is-top-level.has-children > a {
  color: var(--footer--color-heading);
  font-family: var(--widget--font-family-title);
  font-size: var(--widget--font-size-title);
  font-weight: var(--widget--font-weight-title);
  line-height: var(--widget--line-height-title);
  margin-bottom: 1rem;
  text-transform: none;
  text-transform: initial;
}
.site-footer__widget-title[class]:last-child, .site-footer .is-top-level.has-children > a:last-child {
  margin-bottom: 0;
}
.site-footer .widget_nav_menu summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
  list-style: none;
}
.site-footer .widget_nav_menu summary::-webkit-details-marker {
  display: none;
}
.site-footer .widget_nav_menu summary::after {
  display: none;
  content: url(../svg/angle-down.svg);
  transition: transform 150ms linear;
}
.site-footer .widget_nav_menu summary + * {
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .site-footer .widget_nav_menu summary {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #ffffff;
    border-bottom: 1px solid var(--palette--white);
    cursor: pointer;
    pointer-events: auto;
  }
  .site-footer .widget_nav_menu summary::after {
    display: block;
  }
  + .site-footer .widget_nav_menu .menu__item {
    margin-top: 1.25rem;
  }
  .site-footer .widget_nav_menu details[open] summary::after {
    transform: scaleY(-1);
  }
}
.site-footer__content {
  margin-bottom: clamp(2.5rem, 1rem + 2.191vw, 3.75rem);
  font-size: var(--footer--font-size);
  --footer--color-heading: var(--palette--white);
  width: calc(100vw - 2 * 20px);
  width: var(--responsive--alignfull-width);
  max-width: none;
  max-width: initial;
  display: grid;
  grid-template-rows: auto;
  grid-row-gap: 20px;
  grid-row-gap: var(--spacing-vertical);
  row-gap: 20px;
  row-gap: var(--spacing-vertical);
  grid-template-columns: auto;
  grid-template-areas: "col1" "col2" "col3" "col4";
  grid-column-gap: min(5% + 1em, 8.3333vw);
  -moz-column-gap: min(5% + 1em, 8.3333vw);
       column-gap: min(5% + 1em, 8.3333vw);
}
.site-footer__content .footer-widgets-1 {
  grid-area: col1;
}
.site-footer__content .footer-widgets-2 {
  grid-area: col2;
}
.site-footer__content .footer-widgets-3 {
  grid-area: col3;
}
.site-footer__content .footer-widgets-4 {
  grid-area: col4;
}
.site-footer__content .footer-widgets-5 {
  grid-area: col5;
}
.site-footer__content .footer-widgets-6 {
  grid-area: col6;
}
@media only screen and (min-width: 768px) {
  .site-footer__content {
    grid-template-columns: 4fr 1fr 4fr;
    grid-template-areas: "col1 . col2" "col3 . col4";
  }
}
@media only screen and (min-width: 992px) {
  .site-footer__content {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-areas: "col1 col2 col3 col4";
  }
}
.site-footer__content .widget_nav_menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-footer__content .widget_nav_menu ul li {
  padding-left: 0;
  line-height: var(--widget--line-height-list);
}
.site-footer__content .widget_nav_menu ul li::before {
  content: normal;
  content: initial;
  display: none;
}
.site-footer__content .widget_contact_details {
  --palette--link: var(--palette--dark-gray);
}
.site-footer__content .widget_contact_details a {
  -webkit-text-decoration: none;
  text-decoration: none;
}
.site-footer__content .widget_contact_details a:not(:hover):not(:focus) {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
.site-footer__content .widget_contact_details p + p {
  margin-top: 30px;
}
.site-footer__content .widget_contact_details .contact-link {
  display: inline-flex;
  gap: 8px;
}
@media only screen and (max-width: 767px) {
  .site-footer__content .widget_contact_details .contact-link:not(:first-of-type) {
    margin-top: 1.25rem;
  }
}
.site-footer__content .widget_contact_details svg {
  flex: none;
  width: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  width: var(--step--1);
  height: auto;
}

.menu--social-links {
  display: flex;
  gap: 1em;
  justify-content: center;
  margin-left: 0;
  margin-right: 0;
  --palette--link: var(--palette--dark-gray);
}
.menu--social-links a {
  display: block;
  padding: 1em;
  margin: -1em;
}
.menu--social-links a:hover svg, .menu--social-links a:focus svg {
  fill: rgb(239, 47, 37);
  fill: var(--palette--secondary);
}
.menu--social-links svg {
  width: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  width: var(--step-0);
  height: auto;
}
@media only screen and (min-width: 768px) {
  .menu--social-links {
    justify-content: flex-start;
    margin-left: 0;
    margin-right: 0;
  }
}

/*
	Site Footer - Credits
	Appears at the very end
*/
.site-footer {
  /* Footer Variables */
  --footer--credits--border-width: 2px;
  --footer--credits--border-color: var(--palette--white-80);
  --footer--credits--font-size: var(--step--1);
}
.site-footer__credits {
  background-color: rgb(9, 8, 64);
  background-color: var(--palette--primary-110);
  --footer--color-text: var(--palette--white);
  --palette--link: var(--palette--white);
  position: relative;
  z-index: 1;
  border-top: var(--footer--credits--border-width) solid var(--footer--credits--border-color);
  font-size: var(--footer--credits--font-size);
}
.site-footer__credits__inner {
  padding-top: 20px;
  padding-top: var(--spacing-vertical);
  padding-bottom: 20px;
  padding-bottom: var(--spacing-vertical);
  display: grid;
  align-items: center;
  grid-template-rows: auto;
  grid-row-gap: 20px;
  grid-row-gap: var(--spacing-vertical);
  row-gap: 20px;
  row-gap: var(--spacing-vertical);
  grid-template-columns: auto;
  grid-template-areas: "widgets" "site-info" "registration" "agency";
}
@media only screen and (min-width: 768px) {
  .site-footer__credits__inner {
    grid-template-columns: 2fr 1fr 150px;
    grid-template-areas: "widgets widgets widgets" "site-info site-info agency" "registration registration registration";
  }
}
@media only screen and (min-width: 1200px) {
  .site-footer__credits__inner {
    grid-template-columns: 1fr 1fr 1fr 150px;
    grid-template-areas: "site-info site-info widgets agency" "registration registration registration registration";
  }
}
@media only screen and (min-width: 1420px) {
  .site-footer__credits__inner {
    grid-template-columns: 1fr 1fr 200px;
    grid-template-areas: "site-info registration agency";
  }
}
.site-footer__site-info {
  grid-area: site-info;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  line-height: normal;
}
@media only screen and (min-width: 768px) {
  .site-footer__site-info {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2em 1em;
  }
}
.site-footer__site-info .menu__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .site-footer__site-info .menu__items {
    justify-content: flex-start;
  }
}
.site-footer__site-info .menu__item {
  margin-top: 0;
  border-left: 1px solid currentColor;
}
.site-footer__site-info .menu__item a {
  padding-left: 1em;
  padding-right: 1em;
}
@media only screen and (max-width: 767px) {
  .site-footer__site-info .menu__item a {
    white-space: nowrap;
  }
}
.site-footer__bottom-widget-area {
  grid-area: widgets;
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 1200px) {
  .site-footer__bottom-widget-area {
    justify-content: flex-start;
  }
}
.site-footer__registration {
  grid-area: registration;
  text-align: center;
}
.site-footer__agency {
  grid-area: agency;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .site-footer__agency {
    text-align: right;
  }
}

.singular .entry-header {
  border-bottom: 3px solid rgb(209, 211, 227);
  border-bottom: 3px solid var(--palette--border);
  padding-bottom: calc(2 * 20px);
  padding-bottom: calc(2 * var(--spacing-vertical));
  margin-bottom: calc(3 * 20px);
  margin-bottom: calc(3 * var(--spacing-vertical));
}

.home .entry-header {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.singular .has-post-thumbnail .entry-header {
  border-bottom: none;
  padding-bottom: calc(1.3 * 20px);
  padding-bottom: calc(1.3 * var(--spacing-vertical));
  margin-bottom: 0;
}

.page-links {
  clear: both;
}
.page-links .post-page-numbers {
  display: inline-block;
  margin-left: 20px;
  margin-left: var(--spacing-horizontal);
  margin-right: 20px;
  margin-right: var(--spacing-horizontal);
  min-width: 44px;
  min-height: 44px;
}
.page-links .post-page-numbers:first-child {
  margin-left: 0;
}

:root {
  /* entry */
}

.entry-title {
  color: var(--entry-header--color);
  font-size: max(1.73rem, min(calc(1.45rem + 1.38vw), 2.75rem));
  font-size: var(--heading--font-size-h2);
  letter-spacing: normal;
  letter-spacing: var(--heading--letter-spacing-h2);
  line-height: 1.2;
  line-height: var(--heading--line-height-h2);
  word-wrap: break-word;
}
.entry-title a {
  text-underline-offset: 0.15em;
}

.singular .entry-title {
  font-size: max(2.07rem, min(calc(1.47rem + 3.01vw), 4.29rem));
  font-size: var(--step-4);
}

h1.entry-title {
  line-height: 1.2;
  line-height: var(--heading--line-height-h1);
  font-weight: 700;
  font-weight: var(--heading--font-weight);
}

/**
 * Entry Meta
 */
.entry-meta .posted-on a,
.entry-meta .estimated-read a {
  -webkit-text-decoration: none;
  text-decoration: none;
}
.entry-meta .estimated-read::before {
  content: "•";
}
.entry-meta .posted-on time {
  display: none;
}
.entry-meta .posted-on time:last-of-type {
  display: inline;
}

.yoast-breadcrumbs {
  --flow-space: .625rem;
  margin-top: .625rem;
  margin-top: var(--flow-space);
  margin-bottom: clamp(2.5rem, 1rem + 4.375vw, 5.625rem);
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
}
.yoast-breadcrumbs a:not(:hover):not(:focus) {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
.yoast-breadcrumbs span, .yoast-breadcrumbs a:not(:focus):not(a:hover) {
  color: #767676;
  color: var(--palette--gray);
}
.yoast-breadcrumbs [aria-current] {
  color: #222222;
  color: var(--palette--dark-gray);
}

/**
 * Entry Content
 */
.entry-content p {
  word-wrap: break-word;
}
.single-post .entry-content p:first-of-type {
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--step-1);
}
.entry-content > iframe[style] {
  margin: 20px 0 !important;
  margin: var(--spacing-vertical) 0 !important;
  max-width: 100% !important;
}

article .more-link {
  display: block;
  width: -moz-max-content;
  width: max-content;
  margin: calc(20px / 2) 0;
  margin: calc(var(--spacing-vertical) / 2) 0;
}

/**
 * Post Thumbnails
 */
.post-thumbnail {
  text-align: center;
}
.post-thumbnail .wp-post-image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  margin: 0 auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/**
 * Author
 */
.author-bio {
  position: relative;
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--step-0);
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--aligndefault-width);
}
.site-main > article > .author-bio {
  margin-top: calc(2 * 20px);
  margin-top: calc(2 * var(--spacing-vertical));
}
.author-bio.show-avatars .avatar {
  display: inline-block;
  vertical-align: top;
  border-radius: 50%;
}
.author-bio.show-avatars .author-bio-content {
  display: inline-block;
  padding-left: 20px;
  padding-left: var(--spacing-horizontal);
  max-width: calc((100vw - 2 * 20px) - 90px);
  max-width: calc(calc(100vw - 2 * 20px) - 90px);
  max-width: calc(var(--responsive--aligndefault-width) - 90px);
}
.author-bio .author-bio-content .author-title {
  font-family: var(--entry-author-bio--font-family);
  font-size: var(--entry-author-bio--font-size);
  display: inline;
}
.author-bio .author-bio-content .author-description {
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--step-0);
  margin-top: calc(0.5 * 20px);
  margin-top: calc(0.5 * var(--spacing-vertical));
  margin-bottom: calc(0.5 * 20px);
  margin-bottom: calc(0.5 * var(--spacing-vertical));
}

.page-title {
  font-size: max(2.07rem, min(calc(1.47rem + 3.01vw), 4.29rem));
  font-size: var(--step-4);
}

h1.page-title,
h2.page-title {
  font-weight: 700;
  font-weight: var(--heading--font-weight);
}

h1.page-title {
  line-height: 1.2;
  line-height: var(--heading--line-height-h1);
}

.page-header {
  border-bottom: 3px solid rgb(209, 211, 227);
  border-bottom: 3px solid var(--palette--border);
  padding-bottom: 20px;
  padding-bottom: var(--spacing-vertical);
  padding-top: clamp(1.25rem, 1rem + 5vw, 7.8125rem);
}

.archive .content-area .format-aside .entry-content,
.archive .content-area .format-status .entry-content,
.archive .content-area .format-link .entry-content,
.search .content-area .format-aside .entry-content,
.search .content-area .format-status .entry-content,
.search .content-area .format-link .entry-content,
.blog .content-area .format-aside .entry-content,
.blog .content-area .format-status .entry-content,
.blog .content-area .format-link .entry-content {
  font-size: max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem));
  font-size: var(--step-2);
}
.archive .format-image .entry-content,
.archive .format-gallery .entry-content,
.archive .format-video .entry-content,
.search .format-image .entry-content,
.search .format-gallery .entry-content,
.search .format-video .entry-content,
.blog .format-image .entry-content,
.blog .format-gallery .entry-content,
.blog .format-video .entry-content {
  margin-top: 20px;
  margin-top: var(--spacing-vertical);
}

.archive-description {
  font-size: max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem));
  font-size: var(--step-2);
  line-height: 1.2;
  line-height: var(--line-height-heading);
}

.related {
  margin-top: clamp(3.75rem, 1rem + 4.375vw, 6.25rem);
  margin-bottom: clamp(3.75rem, 1rem + 4.375vw, 6.25rem);
}
.related .list-wrapper {
  --flow-space: 1.875rem;
}

.archive-filters ul {
  display: flex;
  margin: 2rem auto;
  padding: 0;
  flex-wrap: wrap;
  gap: 0.15em 0.15em;
  justify-content: center;
}
@media only screen and (min-width: 600px) {
  .archive-filters ul {
    font-size: medium;
    font-size: initial;
    gap: 0.5em 1.25rem;
  }
}
.archive-filters li[data-state=active] {
  background-color: rgb(240, 242, 250);
  background-color: var(--palette--primary-50);
}
.archive-filters a {
  display: inline-block;
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.875rem 1.25rem;
}
@media only screen and (min-width: 600px) {
  .archive-filters a {
    font-size: 1rem;
  }
}
.archive-filters a:hover, .archive-filters a:focus-within {
  background-color: rgb(240, 242, 250);
  background-color: var(--palette--primary-50);
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
}
.archive-filters a:not(:hover):not(:focus) {
  -webkit-text-decoration: none;
  text-decoration: none;
}

:where(.list-wrapper,
.latest-news,
.related) article {
  position: relative;
  margin: 0;
  display: flex;
  flex-flow: column;
}
:where(.list-wrapper,
.latest-news,
.related) article:hover .post-thumbnail img, :where(.list-wrapper,
.latest-news,
.related) article:focus-within .post-thumbnail img {
  transform: scale(1.1);
}
:where(.list-wrapper,
.latest-news,
.related) article .post-thumbnail {
  aspect-ratio: 5/3;
  overflow: hidden;
  margin: 0;
}
:where(.list-wrapper,
.latest-news,
.related) article .post-thumbnail img {
  transition: 0.3s all;
}
:where(.list-wrapper,
.latest-news,
.related) article .article__text {
  flex-grow: 1;
  display: grid;
  grid-template-rows: auto 1fr;
  grid-gap: 1.125rem;
  gap: 1.125rem;
}
:where(.list-wrapper,
.latest-news,
.related) article .entry-header {
  margin-top: 1.25rem;
  padding-right: clamp(0px, -1rem + 3.5vw, 2.5rem);
}
:where(.list-wrapper,
.latest-news,
.related) article .entry-header > * {
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--step-1);
}
:where(.list-wrapper,
.latest-news,
.related) article .entry-summary {
  margin-bottom: 1.875rem;
  padding-right: clamp(0px, -1rem + 3.5vw, 2.5rem);
  align-self: end;
}
:where(.list-wrapper,
.latest-news,
.related) article .entry-meta {
  margin-top: auto;
  border-top: 1px solid #dddddd;
  border-top: 1px solid var(--palette--mid-gray);
  padding-top: 1.125rem;
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
}
:where(.list-wrapper,
.latest-news,
.related) article a {
  -webkit-text-decoration: none;
  text-decoration: none;
}
:where(.list-wrapper,
.latest-news,
.related) article a::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
}

.error404 .site-main {
  margin-top: clamp(1.25rem, 0.5rem + 2vw, 2.5rem);
}
.error404 p {
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--step-0);
}

/*
	Responsive Breakpoints
*/
/* Next/Previous navigation, might need work */
.navigation {
  /* Pagination Variables */
  --flow-space:clamp(1.875rem, 1rem + 2.3vw, 3.75rem);
  --pagination--color-background: var(--palette--white);
  --palette--link: var(--palette--primary);
  --palette--link-hover: var(--palette--white);
  --pagination--font-family: var(--font-base);
  --pagination--font-size: var(--step--1);
  --pagination--font-weight: normal;
  --pagination--font-weight-strong: 600;
  color: #ffffff;
  color: var(--palette--white);
}
.navigation a {
  color: var(--palette--link);
  -webkit-text-decoration: none;
  text-decoration: none;
}
.navigation a:hover {
  color: rgb(239, 47, 37);
  color: var(--palette--link-hover);
  --pagination--color-background: var(--palette--secondary);
}
.navigation a:focus {
  color: rgb(239, 47, 37);
  color: var(--palette--link-hover);
  --pagination--color-background: var(--palette--secondary);
}
.navigation a:active {
  color: var(--palette--link);
  --pagination--color-background: var(--palette--secondary);
}
.navigation .nav-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 10px;
}
.navigation .nav-links > * {
  min-width: 3.6rem;
  min-height: 3.6rem;
}
.navigation .nav-links .nav-next a,
.navigation .nav-links .nav-previous a {
  display: flex;
  flex-direction: column;
}
.navigation .nav-links .dots {
  text-align: center;
}
.navigation .nav-links .nav-next,
.navigation .nav-links .nav-previous {
  flex: 0 1 auto;
  max-width: calc(50% - 0.5 * 20px);
  max-width: calc(50% - 0.5 * var(--spacing-horizontal));
}
.navigation .nav-links .nav-next {
  text-align: right;
}
.navigation .svg-icon {
  display: inline-block;
  fill: currentColor;
  vertical-align: middle;
  position: relative;
}
.navigation .nav-previous .svg-icon,
.navigation .prev .svg-icon {
  top: -2px;
  margin-right: calc(0.25 * 20px);
  margin-right: calc(0.25 * var(--spacing-horizontal));
}
.navigation .nav-next .svg-icon,
.navigation .next .svg-icon {
  top: -1px;
  margin-left: calc(0.25 * 20px);
  margin-left: calc(0.25 * var(--spacing-horizontal));
}

.pagination {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--alignwide-width);
  margin-left: auto;
  margin-right: auto;
}
.pagination .nav-links a:hover, .pagination .nav-links a:focus, .pagination .nav-links a:active {
  color: rgb(239, 47, 37);
  color: var(--palette--link-hover);
}
.pagination .nav-links > * {
  background-color: transparent;
  background-color: var(--pagination--color-background, transparent);
  color: var(--palette--link);
  font-family: var(--pagination--font-family);
  font-size: var(--pagination--font-size);
  font-weight: var(--pagination--font-weight);
  border: 1px solid #DDDDDD;
  border-radius: max(4px, 0.25rem);
  display: grid;
  align-content: center;
  justify-content: center;
  place-content: center;
  aspect-ratio: 1/1;
}
.pagination .nav-links > *.current {
  --pagination--color-background: var(--palette--secondary);
  --palette--link: var(--palette--white);
}
.pagination .nav-links > *:not(.dots):not(.current):hover {
  -webkit-text-decoration: none;
  text-decoration: none;
}
.pagination .nav-links > *.next, .pagination .nav-links > *.prev {
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
}
@media only screen and (max-width: 599px) {
  .pagination .nav-links > *:not(.prev):not(.next) {
    display: none;
  }
}

/* Social Share */
ul.social-share {
  max-width: calc(100vw - 2 * 20px);
  max-width: var(--responsive--aligndefault-width);
  --flow-space: clamp(1.875rem, 1rem + 2.3vw, 3.75rem);
  padding-top: clamp(1.875rem, 1rem + 2vw, 2.5rem);
  border-top: 2px solid rgb(209, 211, 227);
  border-top: 2px solid var(--palette--primary-60);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
ul.social-share li {
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  margin: 0;
  padding: 0;
}
ul.social-share li:not(.social-label) + li {
  margin-left: 20px;
  margin-left: var(--spacing-horizontal);
}
ul.social-share .social-label {
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
  flex-basis: 100%;
  margin-bottom: calc(0.75 * (0.5 * 20px));
  margin-bottom: calc(0.75 * calc(0.5 * 20px));
  margin-bottom: calc(0.75 * var(--default-margins));
}
ul.social-share .social-label svg {
  display: none;
}
ul.social-share .menu__anchor--social {
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  height: var(--icon-size-unit);
  width: 28px;
  width: var(--icon-size-unit);
}
ul.social-share .menu__anchor--social svg {
  fill: currentColor;
  transition: 0.05s all;
}
ul.social-share .menu__anchor--social:hover svg, ul.social-share .menu__anchor--social:focus svg, ul.social-share .menu__anchor--social:active svg {
  transform: scale(1.1);
  fill: rgb(26, 38, 117);
  fill: var(--palette--primary);
}

/* Individually list files from /acf/, one file per ACF component */
.is-style-mini-contact-us {
  padding-left: 1em;
  padding-right: 1em;
}
.is-style-mini-contact-us svg {
  fill: rgb(239, 47, 37);
  fill: var(--palette--secondary);
  height: 20px;
  width: auto;
  flex: none;
}
.is-style-mini-contact-us > * {
  text-align: center;
  --heading-margins: 10px;
  --default-margins: 1.875rem;
}
.is-style-mini-contact-us > * h1, .is-style-mini-contact-us > * h2, .is-style-mini-contact-us > * h3, .is-style-mini-contact-us > * h4, .is-style-mini-contact-us > * h5, .is-style-mini-contact-us > * h6 {
  margin-top: 0;
  margin-bottom: 0;
}
.is-style-mini-contact-us > * h1 + *, .is-style-mini-contact-us > * h2 + *, .is-style-mini-contact-us > * h3 + *, .is-style-mini-contact-us > * h4 + *, .is-style-mini-contact-us > * h5 + *, .is-style-mini-contact-us > * h6 + * {
  --flow-space: .625rem;
}
.is-style-mini-contact-us > * a {
  font-weight: 700;
  margin-bottom: 1rem;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.is-style-mini-contact-us > * a:not(:hover):not(:focus) {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.latest-news {
  margin-top: clamp(3.75rem, 1rem + 3.334vw, 5rem);
  margin-bottom: clamp(3.75rem, 1rem + 3.334vw, 5rem);
  padding-top: clamp(2.5rem, 1rem + 4.375vw, 6.25rem);
  padding-bottom: clamp(3.75rem, 1rem + 5.4167vw, 7.5rem);
  padding-left: 0;
  padding-right: 0;
  max-width: none;
  max-width: initial;
}
.latest-news .latest-news__intro {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: clamp(0px, -1rem + 2vw, 1.25rem);
}
.latest-news .latest-news__intro + .list-wrapper {
  margin-top: clamp(0px, -1rem + 2vw, 1.25rem);
}
.latest-news .latest-news__intro > *:not(a) {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  margin-right: auto;
}
.latest-news .latest-news__intro a {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 1rem;
  margin-left: auto;
}
.latest-news .latest-news__intro a svg {
  height: 1rem;
  width: auto;
  flex: none;
}
.latest-news .latest-news__intro a:not(:hover):not(:focus) {
  -webkit-text-decoration: none;
  text-decoration: none;
}

:where(.is-style-form-media) [class*=inner-container] {
  --gutter: 20px;
}
:where(.is-style-form-media) [class*=inner-container] > * {
  margin-top: 0;
}
:where(.is-style-form-media) [class*=inner-container] > *:has(form) .wpcf7 :where(h3),
:where(.is-style-form-media) [class*=inner-container] > .has-form .wpcf7 :where(h3) {
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--step-1);
}
:where(.is-style-form-media) [class*=inner-container] > *:has(form) .wpcf7 :where(h4, h5),
:where(.is-style-form-media) [class*=inner-container] > .has-form .wpcf7 :where(h4, h5) {
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--step-0);
}
:where(.is-style-form-media) [class*=inner-container] > *:not(:has(form)),
:where(.is-style-form-media) [class*=inner-container] > :not(.has-form) {
  border: 1px solid rgb(209, 211, 227);
  border: 1px solid var(--palette--primary-60);
  align-self: flex-start;
  padding-left: clamp(1.5rem, 1rem + 0.5vw, 2.1875rem);
  padding-right: clamp(1.5rem, 1rem + 0.5vw, 2.1875rem);
  --flow-space: 1rem;
  --sidebar-target-width: max(22rem, min(40.86%, 100%));
}
:where(.is-style-form-media) [class*=inner-container] > *:not(:has(form)) > *,
:where(.is-style-form-media) [class*=inner-container] > :not(.has-form) > * {
  display: block;
}
:where(.is-style-form-media) [class*=inner-container] > :not(:has(form)) h2 + * {
  --flow-space: 1rem;
}
:where(.is-style-form-media) [class*=inner-container] > :not(:has(form)) h3 + * {
  --flow-space: 1rem;
}
:where(.is-style-form-media) [class*=inner-container] > :not(:has(form)) h4 + * {
  --flow-space: 1rem;
}
:where(.is-style-form-media) [class*=inner-container] > :not(:has(form)) h5 + * {
  --flow-space: 1rem;
}
:where(.is-style-form-media) [class*=inner-container] > :not(:has(form)) h6 + * {
  --flow-space: 1rem;
}
:where(.is-style-form-media) [class*=inner-container] > :not(.has-form) h2 + * {
  --flow-space: 1rem;
}
:where(.is-style-form-media) [class*=inner-container] > :not(.has-form) h3 + * {
  --flow-space: 1rem;
}
:where(.is-style-form-media) [class*=inner-container] > :not(.has-form) h4 + * {
  --flow-space: 1rem;
}
:where(.is-style-form-media) [class*=inner-container] > :not(.has-form) h5 + * {
  --flow-space: 1rem;
}
:where(.is-style-form-media) [class*=inner-container] > :not(.has-form) h6 + * {
  --flow-space: 1rem;
}
:where(.is-style-form-media) [class*=inner-container] .wp-block-image {
  --flow-space: .5rem;
  margin-left: 0;
  margin-right: 0;
  max-width: min(100%, 600px);
}
:where(.is-style-form-media) [class*=inner-container] .wp-block-image > a {
  display: block;
  position: relative;
}
:where(.is-style-form-media) [class*=inner-container] .wp-block-image > a::after {
  content: "";
  background-image: url(../svg/magnifying-glass-plus.svg);
  position: absolute;
  bottom: 0;
  right: 0;
  height: 23px;
  width: 23px;
}

.is-style-call-to-action {
  margin-top: clamp(2.5rem, 1rem + 3.333vw, 5rem);
  margin-bottom: clamp(3.75rem, 1rem + 4.375vw, 6.25rem);
}
h1 + .is-style-call-to-action, h2 + .is-style-call-to-action, h3 + .is-style-call-to-action, h4 + .is-style-call-to-action, h5 + .is-style-call-to-action, h6 + .is-style-call-to-action {
  margin-top: 1.875rem;
  margin-top: var(--flow-space, 1.875rem);
}

:where(.is-style-call-to-action) [class*=inner-container] {
  --gutter: 20px;
  --switcher-target-container-width: 25rem;
  --switcher-vertical-alignment: stretch;
}
:where(.is-style-call-to-action) [class*=inner-container] > * {
  margin-top: 0;
}
:where(.is-style-call-to-action) [class*=inner-container] .box {
  position: relative;
  display: flex;
  flex-direction: column;
}
:where(.is-style-call-to-action) [class*=inner-container] .box:hover img, :where(.is-style-call-to-action) [class*=inner-container] .box:focus-within img {
  transform: scale(1.1);
}
:where(.is-style-call-to-action) [class*=inner-container] .box > :first-child {
  margin-bottom: 20px;
}
:where(.is-style-call-to-action) [class*=inner-container] figure {
  overflow: hidden;
}
:where(.is-style-call-to-action) [class*=inner-container] figure img {
  width: 100%;
  max-width: none;
  max-width: initial;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
  transition: 0.3s all;
}
:where(.is-style-call-to-action) [class*=inner-container] > :nth-last-child(n+3) img, :where(.is-style-call-to-action) [class*=inner-container] > :nth-last-child(n+3) ~ * img {
  aspect-ratio: 37/27;
}
:where(.is-style-call-to-action) [class*=inner-container] :where(h2, h3, h4, h5) a {
  -webkit-text-decoration: none;
  text-decoration: none;
}
:where(.is-style-call-to-action) [class*=inner-container] :where(h2, h3, h4, h5) a::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
:where(.is-style-call-to-action) [class*=inner-container] .wp-block-buttons {
  margin-top: auto;
  justify-content: center;
  --button--color-background: var(--palette--white);
  --button--color-text: var(--palette--primary);
}

:where(.is-style-contact-details) [class*=inner-container] {
  --gutter: 20px;
  align-items: center;
}
:where(.is-style-contact-details) [class*=inner-container] > * {
  margin-top: 0;
}
:where(.is-style-contact-details) [class*=inner-container] > .contact-details {
  --sidebar-content-min-width: 15rem;
}
:where(.is-style-contact-details) [class*=inner-container] .contact + .contact {
  --flow-space: .625rem;
}
:where(.is-style-contact-details) [class*=inner-container] .contact a {
  --palette--link: var(--palette--primary);
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  font-weight: 700;
}
:where(.is-style-contact-details) [class*=inner-container] .contact a:not(:focus):not(:hover) {
  -webkit-text-decoration: none;
  text-decoration: none;
}
:where(.is-style-contact-details) [class*=inner-container] .contact svg {
  flex: none;
  fill: rgb(239, 47, 37);
  fill: var(--palette--secondary);
  height: auto;
  width: 1em;
}
:where(.is-style-contact-details) [class*=inner-container] .menu--social-links {
  justify-content: flex-start;
}
:where(.is-style-contact-details) [class*=inner-container] svg {
  fill: rgb(26, 38, 117);
  fill: var(--palette--primary);
}
:where(.is-style-contact-details) [class*=inner-container] address {
  font-style: normal;
}
:where(.is-style-contact-details) [class*=inner-container] > .location {
  --sidebar-target-width: clamp(22rem, 50% - (.5 * var(--gutter)), 100%);
}
:where(.is-style-contact-details) [class*=inner-container] > .location a {
  display: block;
}
:where(.is-style-contact-details) [class*=inner-container] > .location img {
  height: 100%;
  width: 100%;
  max-width: none;
  max-width: initial;
  max-height: none;
  max-height: initial;
  -o-object-fit: contain;
     object-fit: contain;
}

.is-style-text-columns {
  --spacing: clamp(1.875rem, 1rem + 2.291vw, 3.75rem);
  margin-top: clamp(1.875rem, 1rem + 2.291vw, 3.75rem);
  margin-bottom: clamp(1.875rem, 1rem + 2.291vw, 3.75rem);
  margin-top: var(--spacing);
  margin-bottom: var(--spacing);
}
.is-style-text-columns + .is-style-text-columns {
  border-top: 1px solid rgb(209, 211, 227);
  border-top: 1px solid var(--palette--primary-60);
  padding-top: var(--spacing);
  padding-bottom: 0;
}

:where(.is-style-text-columns) [class*=inner-container] {
  display: flex;
  gap: clamp(1.25rem, 1rem + 2.5vw, 4rem);
  justify-content: space-between;
}
:where(.is-style-text-columns) [class*=inner-container] > * {
  margin-top: 0;
  flex-basis: 31.25rem;
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child {
  flex-shrink: 0;
  flex-basis: max(8rem, min(15.58%, 100%));
  align-self: center;
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child h2 {
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child h3 {
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child h4 {
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child h5 {
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child h2.is-style-oversized {
  text-align: left;
  font-size: clamp(9.49rem, -0.65rem + 15.71vw, 14.07rem);
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child h3.is-style-oversized {
  text-align: left;
  font-size: clamp(9.49rem, -0.65rem + 15.71vw, 14.07rem);
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child h4.is-style-oversized {
  text-align: left;
  font-size: clamp(9.49rem, -0.65rem + 15.71vw, 14.07rem);
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child h5.is-style-oversized {
  text-align: left;
  font-size: clamp(9.49rem, -0.65rem + 15.71vw, 14.07rem);
}
@media only screen and (min-width: 600px) {
  :where(.is-style-text-columns) [class*=inner-container] > :first-child h2.is-style-oversized {
    text-align: center;
  }
  :where(.is-style-text-columns) [class*=inner-container] > :first-child h3.is-style-oversized {
    text-align: center;
  }
  :where(.is-style-text-columns) [class*=inner-container] > :first-child h4.is-style-oversized {
    text-align: center;
  }
  :where(.is-style-text-columns) [class*=inner-container] > :first-child h5.is-style-oversized {
    text-align: center;
  }
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child ~ * h2 + * {
  --flow-space: 1.25rem;
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child ~ * h3 + * {
  --flow-space: 1.25rem;
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child ~ * h4 + * {
  --flow-space: 1.25rem;
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child ~ * h5 + * {
  --flow-space: 1.25rem;
}
:where(.is-style-text-columns) [class*=inner-container] > :first-child ~ * h6 + * {
  --flow-space: 1.25rem;
}
@media only screen and (max-width: 599px) {
  :where(.is-style-text-columns) [class*=inner-container] {
    flex-wrap: wrap;
  }
  :where(.is-style-text-columns) [class*=inner-container] > *,
  :where(.is-style-text-columns) [class*=inner-container] > *:first-child {
    flex-basis: 100%;
  }
}
:where(.is-style-text-columns) [class*=inner-container] em,
:where(.is-style-text-columns) [class*=inner-container] strong,
:where(.is-style-text-columns) [class*=inner-container] .price {
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
  font-style: normal;
  font-weight: bold;
}
:where(.is-style-text-columns) [class*=inner-container] .price span {
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
}
:where(.is-style-text-columns) [class*=inner-container] .price + p {
  --flow-space: 0;
}

:where(.is-style-text-form) [class*=inner-container] {
  --gutter: 0px;
}
:where(.is-style-text-form) [class*=inner-container] > * {
  margin-top: 0;
}
:where(.is-style-text-form) [class*=inner-container] > :not(.has-form) {
  --sidebar-target-width: min(39.375rem, 32.8125vw);
  justify-content: center;
  padding: clamp(2.5rem, 0.5rem + 3.75vw, 5rem) clamp(1.25rem, 0.5rem + 6.35416vw, 8.125rem);
}
:where(.is-style-text-form) [class*=inner-container] > :not(.has-form) a {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  font-weight: 700;
  gap: 0.5rem;
  padding-top: 1.25rem;
}
:where(.is-style-text-form) [class*=inner-container] > :not(.has-form) a:not(:focus):not(:hover) {
  -webkit-text-decoration: none;
  text-decoration: none;
}
:where(.is-style-text-form) [class*=inner-container] > :not(.has-form) a svg {
  flex: none;
  fill: rgb(239, 47, 37);
  fill: var(--palette--secondary);
  height: auto;
  width: 2.1875rem;
}
:where(.is-style-text-form) [class*=inner-container] > .has-form {
  padding: clamp(2.5rem, 0.5rem + 3.75vw, 5rem) clamp(1.25rem, 0.5rem + 6.35416vw, 8.125rem) clamp(2.5rem, 0.5rem + 4.7916vw, 6.25rem) clamp(1.25rem, 0.5rem + 7.3958vw, 9.375rem);
}

.is-style-partners {
  margin-bottom: clamp(2.5rem, 1rem + 3.333vw, 5rem);
  justify-content: center;
  align-items: center;
  --grid-gap-width: 1.25rem;
}
:where(h1, h2, h3, h4, h5, h6) + .is-style-partners {
  --flow-space: 1.25rem;
}
.wp-block-media-text + :where(h1, h2, h3, h4, h5, h6) + .is-style-partners {
  border-bottom: 1px solid rgb(209, 211, 227);
  border-bottom: 1px solid var(--palette--primary-60);
  padding-bottom: clamp(2.5rem, 1rem + 3.333vw, 5rem);
}
.is-style-partners .swiper-pagination-bullets {
  position: relative;
}
.is-style-partners figure {
  margin: auto;
  max-width: 240px;
}
.is-style-partners figure img {
  aspect-ratio: 3/1;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  margin: auto;
}

.is-style-technical-papers {
  --flow-space: 2.5rem;
}
.is-style-technical-papers__item {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: clamp(20px, 1rem + 5.4167vw, 9.375rem);
  grid-gap: clamp(var(--spacing-vertical), 1rem + 5.4167vw, 9.375rem);
  gap: clamp(20px, 1rem + 5.4167vw, 9.375rem);
  gap: clamp(var(--spacing-vertical), 1rem + 5.4167vw, 9.375rem);
}
@media only screen and (min-width: 992px) {
  .is-style-technical-papers__item {
    grid-template-columns: 0.75fr 1fr;
  }
}
.is-style-technical-papers__item .company {
  display: flex;
  flex-wrap: wrap;
  gap: 1ch;
  align-items: baseline;
  margin-bottom: 1rem;
}
.is-style-technical-papers__item .bio p + p {
  margin-top: 1.25rem;
}
.is-style-technical-papers__item + .is-style-technical-papers__item {
  padding-top: var(--flow-space);
  border-top: 2px solid rgb(209, 211, 227);
  border-top: 2px solid var(--palette--primary-60);
}
.is-style-technical-papers__rhs--item {
  padding: 0 1.875rem;
}
.is-style-technical-papers__rhs--item__inner {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 1.25rem;
  gap: 1.25rem;
  padding: 1.875rem 0;
}
.is-style-technical-papers__rhs--item__inner h4 {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 992px) {
  .is-style-technical-papers__rhs--item__inner {
    grid-template-columns: 1fr auto;
  }
}
.is-style-technical-papers__rhs--item__inner + .is-style-technical-papers__rhs--item__inner {
  border-top: 2px solid rgb(209, 211, 227);
  border-top: 2px solid var(--palette--primary-60);
}
.is-style-technical-papers__rhs--item__button {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 1200px) {
  .is-style-technical-papers__rhs .wp-block-button__link {
    min-width: 270px;
  }
}
.is-style-technical-papers__rhs .wp-block-button__link[href$=".pdf"]::before {
  display: none;
}

/* Individually list files from /shortcodes/, one file per shortcode */
/* Category 07 is for any utility classes that are not assigned to a specific component. */
.visually-hidden,
.screen-reader-text {
  /* Text meant only for screen readers. */
  border: 0;
  clip: rect(0 0 0 0);
  height: auto;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  white-space: nowrap;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
  word-break: normal;
}

.skip-link:focus {
  background-color: #f1f1f1;
  background-color: var(--palette--light-gray, #f1f1f1);
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #222222;
  color: var(--palette--dark-gray, #21759b);
  display: block;
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--step-0, 0.875rem);
  font-weight: bold;
  height: auto;
  left: 1em;
  line-height: normal;
  padding: 1em 1.5em;
  -webkit-text-decoration: none;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}

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

/*
	SASS array, as used for creating Block editor utility classes, see 07-utilities/_color-palette.scss
*/
:root {
  --palette--primary-110: rgb(9, 8, 64);
  --palette--primary: rgb(26, 38, 117);
  --palette--primary-80: rgb(117, 124, 172);
  --palette--primary-60: rgb(209, 211, 227);
  --palette--primary-50: rgb(240, 242, 250);
  --palette--secondary-110: rgb(191, 37, 29);
  --palette--secondary: rgb(239, 47, 37);
  --palette--secondary-50: rgb(252, 213, 211);
  --palette--white: #ffffff;
  --palette--mid-gray: #dddddd;
  --palette--gray: #767676;
  --palette--dark-gray: #222222;
  --palette--black: #000000;
  --palette--white-50: rgba(255, 255, 255, 0.5);
  --palette--white-80: rgba(255, 255, 255, 0.8);
  --palette--black-20: rgba(0, 0, 0, 0.2);
  /*
  	--color-primary is the main colour used across the site.
  	Much of the blocks and components use this as part of the cascade.
  	i.e. Body text color, site title, footer text color.
  */
  /*
  	--color-secondary is the alternative colour used across the site.
  	Again blocks and components use this as part of the cascade.
  	i.e. Headings
  */
  /*
  	Hyperlinks
  */
  --palette--link: initial;
  --palette--link-hover: var(--palette--secondary);
  /*
  	Default body background
  */
  --palette--background: var(--palette--white);
  /*
  	Used for borders (e.g. separators)
  */
  --palette--border: var(--palette--primary-60);
  /*
  	Forms

  	Configure forms, rather than directly changing 04-elements/_forms
  	Note this *doesn't* include buttons, see below
  */
  --form--text-color: var(--palette--dark-gray);
  --form--input-color: var(--palette--gray);
  --form--input-background-color: var(--palette--white);
  --form--ranged-background-color: var(--palette--gray);
  --form--border-color: var(--palette--mid-gray);
  --form--input-focus-color: var(--palette--black);
  --form--outline-color: var(--palette--black);
}

:root .has-primary-110-color[class] {
  color: rgb(9, 8, 64);
  color: var(--palette--primary-110);
  --form--text-color: var(--palette--primary-110);
}
:root .has-primary-110-background-color[class] {
  background-color: rgb(9, 8, 64);
  background-color: var(--palette--primary-110);
  --background-color: var(--palette--primary-110);
}
:root .has-primary-color[class] {
  color: rgb(26, 38, 117);
  color: var(--palette--primary);
  --form--text-color: var(--palette--primary);
}
:root .has-primary-background-color[class] {
  background-color: rgb(26, 38, 117);
  background-color: var(--palette--primary);
  --background-color: var(--palette--primary);
}
:root .has-primary-80-color[class] {
  color: rgb(117, 124, 172);
  color: var(--palette--primary-80);
  --form--text-color: var(--palette--primary-80);
}
:root .has-primary-80-background-color[class] {
  background-color: rgb(117, 124, 172);
  background-color: var(--palette--primary-80);
  --background-color: var(--palette--primary-80);
}
:root .has-primary-60-color[class] {
  color: rgb(209, 211, 227);
  color: var(--palette--primary-60);
  --form--text-color: var(--palette--primary-60);
}
:root .has-primary-60-background-color[class] {
  background-color: rgb(209, 211, 227);
  background-color: var(--palette--primary-60);
  --background-color: var(--palette--primary-60);
}
:root .has-primary-50-color[class] {
  color: rgb(240, 242, 250);
  color: var(--palette--primary-50);
  --form--text-color: var(--palette--primary-50);
}
:root .has-primary-50-background-color[class] {
  background-color: rgb(240, 242, 250);
  background-color: var(--palette--primary-50);
  --background-color: var(--palette--primary-50);
}
:root .has-secondary-110-color[class] {
  color: rgb(191, 37, 29);
  color: var(--palette--secondary-110);
  --form--text-color: var(--palette--secondary-110);
}
:root .has-secondary-110-background-color[class] {
  background-color: rgb(191, 37, 29);
  background-color: var(--palette--secondary-110);
  --background-color: var(--palette--secondary-110);
}
:root .has-secondary-color[class] {
  color: rgb(239, 47, 37);
  color: var(--palette--secondary);
  --form--text-color: var(--palette--secondary);
}
:root .has-secondary-background-color[class] {
  background-color: rgb(239, 47, 37);
  background-color: var(--palette--secondary);
  --background-color: var(--palette--secondary);
}
:root .has-secondary-50-color[class] {
  color: rgb(252, 213, 211);
  color: var(--palette--secondary-50);
  --form--text-color: var(--palette--secondary-50);
}
:root .has-secondary-50-background-color[class] {
  background-color: rgb(252, 213, 211);
  background-color: var(--palette--secondary-50);
  --background-color: var(--palette--secondary-50);
}
:root .has-white-color[class] {
  color: #ffffff;
  color: var(--palette--white);
  --form--text-color: var(--palette--white);
}
:root .has-white-background-color[class] {
  background-color: #ffffff;
  background-color: var(--palette--white);
  --background-color: var(--palette--white);
}
:root .has-mid-gray-color[class] {
  color: #dddddd;
  color: var(--palette--mid-gray);
  --form--text-color: var(--palette--mid-gray);
}
:root .has-mid-gray-background-color[class] {
  background-color: #dddddd;
  background-color: var(--palette--mid-gray);
  --background-color: var(--palette--mid-gray);
}
:root .has-gray-color[class] {
  color: #767676;
  color: var(--palette--gray);
  --form--text-color: var(--palette--gray);
}
:root .has-gray-background-color[class] {
  background-color: #767676;
  background-color: var(--palette--gray);
  --background-color: var(--palette--gray);
}
:root .has-dark-gray-color[class] {
  color: #222222;
  color: var(--palette--dark-gray);
  --form--text-color: var(--palette--dark-gray);
}
:root .has-dark-gray-background-color[class] {
  background-color: #222222;
  background-color: var(--palette--dark-gray);
  --background-color: var(--palette--dark-gray);
}
:root .has-black-color[class] {
  color: #000000;
  color: var(--palette--black);
  --form--text-color: var(--palette--black);
}
:root .has-black-background-color[class] {
  background-color: #000000;
  background-color: var(--palette--black);
  --background-color: var(--palette--black);
}
:root .has-white-50-color[class] {
  color: rgba(255, 255, 255, 0.5);
  color: var(--palette--white-50);
  --form--text-color: var(--palette--white-50);
}
:root .has-white-50-background-color[class] {
  background-color: rgba(255, 255, 255, 0.5);
  background-color: var(--palette--white-50);
  --background-color: var(--palette--white-50);
}
:root .has-white-80-color[class] {
  color: rgba(255, 255, 255, 0.8);
  color: var(--palette--white-80);
  --form--text-color: var(--palette--white-80);
}
:root .has-white-80-background-color[class] {
  background-color: rgba(255, 255, 255, 0.8);
  background-color: var(--palette--white-80);
  --background-color: var(--palette--white-80);
}
:root .has-black-20-color[class] {
  color: rgba(0, 0, 0, 0.2);
  color: var(--palette--black-20);
  --form--text-color: var(--palette--black-20);
}
:root .has-black-20-background-color[class] {
  background-color: rgba(0, 0, 0, 0.2);
  background-color: var(--palette--black-20);
  --background-color: var(--palette--black-20);
}
:root .has-white-background-color[class] {
  background-color: #ffffff;
  background-color: var(--palette--white);
}
:root .has-black-background-color[class] {
  background-color: #000000;
  background-color: var(--palette--black);
}
:root :where(.has-background) :where(a, p, h1, h2, h3, h4, h5, h6) {
  color: currentColor;
}

:root .has-step--1-font-size {
  font-size: max(0.83rem, min(calc(0.81rem + 0.09vw), 0.90rem));
  font-size: var(--step--1);
}
:root .has-step-0-font-size {
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem));
  font-size: var(--step-0);
}
:root .has-step-1-font-size {
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--step-1);
}
:root .has-step-2-font-size {
  font-size: max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem));
  font-size: var(--step-2);
}
:root .has-step-3-font-size {
  font-size: max(1.73rem, min(calc(1.45rem + 1.38vw), 2.75rem));
  font-size: var(--step-3);
}
:root .has-step-4-font-size {
  font-size: max(2.07rem, min(calc(1.47rem + 3.01vw), 4.29rem));
  font-size: var(--step-4);
}
:root .single-post .has-step-2-font-size {
  font-size: max(1.20rem, min(calc(1.14rem + 0.28vw), 1.41rem));
  font-size: var(--step-1);
}

/*
	Generic Helpers
*/
.reset-list {
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  list-style-type: none;
}

.js .show-if-js,
.no-js .show-if-no-js {
  display: block !important; /* stylelint-disable declaration-no-important */
}

.js .hide-if-js,
.no-js .hide-if-no-js {
  display: none !important; /* stylelint-disable declaration-no-important */
}

/* Category 08 is for any overrides of vendor based styles included elsewhere */
/* Note: Swiper css directly pulled from node_modules, npm install first. */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-container-pointer-events {
  touch-action: pan-y;
}
.swiper-container-pointer-events.swiper-container-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}
.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

/* 3D Effects */
.swiper-container-3d {
  perspective: 1200px;
}
.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: calc(max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem)) / 44 * 27);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem));
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem)) / 2);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(239, 47, 37);
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem));
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-feature-settings: ;
  font-variant: normal;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}
.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-prev.swiper-button-white,
.swiper-button-next.swiper-button-white {
  --swiper-navigation-color: #ffffff;
}

.swiper-button-prev.swiper-button-black,
.swiper-button-next.swiper-button-black {
  --swiper-navigation-color: #000000;
}

.swiper-button-lock {
  display: none;
}

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 50%;
  background: #000;
  opacity: 0.2;
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: rgb(239, 47, 37);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}
.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: rgb(239, 47, 37);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}
.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}
.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}
.swiper-container-vertical > .swiper-pagination-progressbar, .swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white {
  --swiper-pagination-color: #ffffff;
}

.swiper-pagination-black {
  --swiper-pagination-color: #000000;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

:root {
  --swiper-theme-color: var(--palette--secondary-110);
  --swiper-pagination-color: var(--palette--secondary);
  --swiper-pagination-inactive-color: var(--palette--secondary-50);
  --swiper-navigation-color: var(--palette--secondary);
  --swiper-navigation-size: var(--step-2);
  --swiper-navigation-offset: 0;
  --swiper-pagination-offset: 0;
}

.swiper-button-prev,
.swiper-button-next {
  text-rendering: auto !important;
  color: rgb(239, 47, 37);
  color: var(--swiper-navigation-color);
  top: calc(50% - 0.5 * (max(1.44rem, min(calc(1.23rem + 1.03vw), 2.20rem)) + 2em));
  top: calc(50% - 0.5 * (var(--swiper-navigation-size) + var(--swiper-navigation-offset-vert, 2em)));
  padding: 2em 5px;
  --outline-unit: max(2px, 0.08em);
  --outline-style: solid;
  --outline-color: currentColor;
}
@media only screen and (max-width: 1199px) {
  .swiper-button-prev,
  .swiper-button-next {
    display: none;
  }
}
.swiper-button-prev:hover, .swiper-button-prev:focus,
.swiper-button-next:hover,
.swiper-button-next:focus {
  --swiper-navigation-color: var(--swiper-theme-color);
}
.swiper-button-prev:focus,
.swiper-button-next:focus {
  outline: var(--outline-unit) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-unit);
}
.swiper-button-prev:focus:not(:focus-visible),
.swiper-button-next:focus:not(:focus-visible) {
  outline: none;
}
.swiper-button-prev:focus-visible,
.swiper-button-next:focus-visible {
  outline: var(--outline-unit) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-unit);
}
.swiper-button-prev:after,
.swiper-button-next:after {
  font-weight: 400;
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0;
}
.swiper-button-prev.is-svg,
.swiper-button-next.is-svg {
  box-sizing: content-box;
}
.swiper-button-prev.is-svg svg,
.swiper-button-next.is-svg svg {
  fill: currentColor;
}
.swiper-button-prev.is-svg:after,
.swiper-button-next.is-svg:after {
  content: "";
  display: none;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 0;
  left: var(--swiper-navigation-offset);
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 0;
  right: var(--swiper-navigation-offset);
}

.swiper-pagination {
  font-size: max(1.00rem, min(calc(0.97rem + 0.17vw), 1.125rem)) !important;
  font-size: var(--step-0) !important;
  line-height: 1;
}

.swiper-pagination-bullet {
  height: 10px;
  height: var(--swiper-pagination-size, 10px);
  width: 10px;
  width: var(--swiper-pagination-size, 10px);
}
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
  background: rgb(252, 213, 211);
  background: var(--swiper-pagination-inactive-color);
  opacity: 1;
}
.swiper-pagination-bullet:first-child:last-child {
  opacity: 0;
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 0;
  bottom: var(--swiper-pagination-offset);
}

/* Override CF7 Styles */
.wpcf7 form > div:first-child + :where(h2, h3, h4, h5, h6, p) {
  margin-top: 0;
}
.wpcf7 form > * {
  position: relative;
}
.wpcf7 form > * + * {
  margin-top: 1.25rem;
  margin-top: var(--form--spacing-unit);
}
.wpcf7 form > * + h2, .wpcf7 form > * + h3, .wpcf7 form > * + h4, .wpcf7 form > * + h5 {
  margin-top: calc(2 * 1.25rem);
  margin-top: calc(2 * var(--form--spacing-unit));
}
.wpcf7 form .wpcf7-form-control-wrap:has(+ .wpcf7-form-control-wrap) {
  display: inline-block;
  margin-right: 1.25rem;
  margin-right: var(--form--spacing-unit, 20px);
  margin-bottom: calc(0.5 * 1.25rem);
  margin-bottom: calc(0.5 * var(--form--spacing-unit, 20px));
}
.wpcf7 form .wpcf7-form-control-wrap input[type=number]:only-child {
  width: 100%;
}
.wpcf7 form .wpcf7-list-item {
  display: block;
  margin-left: 0;
}
.wpcf7 form .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.wpcf7 form .wpcf7-response-output {
  margin-top: 1.25rem;
  margin-top: var(--form--spacing-unit);
  margin-left: auto;
  margin-right: auto;
  width: min(calc(100vw - 2 * 20px), 60ch);
  width: min(var(--responsive--aligndefault-width), 60ch);
  max-width: 100%;
}

.wpcf7-submit {
  display: inline-block;
  width: auto;
  min-width: min(270px, 100%);
  margin-left: 0;
  margin-right: auto;
}
.wpcf7-submit + .wpcf7-spinner,
.wpcf7-submit + .ajax-loader {
  position: absolute;
  margin: 0.5em;
  top: 0;
  transform: translateX(calc(-100% - 1em)) translateY(calc(100% - 1em));
}

.wpcf7 form input[type=text][size="40"], .wpcf7 form input[type=email][size="40"], .wpcf7 form input[type=number][size="40"], .wpcf7 form input[type=url][size="40"], .wpcf7 form input[type=tel][size="40"], .wpcf7 form input[type=password][size="40"], .wpcf7 form input[type=search][size="40"], .wpcf7 form textarea[cols="40"], .wpcf7 form select {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .wpcf7 form input[type=text], .wpcf7 form input[type=email], .wpcf7 form input[type=number], .wpcf7 form input[type=url], .wpcf7 form input[type=tel], .wpcf7 form input[type=password], .wpcf7 form input[type=search], .wpcf7 form textarea {
    width: 100%;
  }
}