/*
Theme Name: Veriforce CHAS
Description: Custom WordPress theme for Veriforce CHAS built by Glass Mountains Digital.
Author: Glass Mountains Digital
Version: 1.1.49
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
License: Proprietary
Text Domain: chas
*/

/* Design tokens
....................................................................... */
:root {
  /* Brand palette */
  --c-white: var(--wp--preset--color--white);
  --c-black: var(--wp--preset--color--black);
  --c-dark: var(--wp--preset--color--dark);
  --c-primary: var(--wp--preset--color--primary);
  --c-primary-tint: var(--wp--preset--color--primary-tint);
  --c-blue-pale: #e1ecf8;
  --c-navy: var(--wp--preset--color--navy);
  --c-navy-tint: var(--wp--preset--color--navy-tint);
  --c-blue: var(--wp--preset--color--blue);
  --c-blue-tint: var(--wp--preset--color--blue-tint);
  --c-green: var(--wp--preset--color--green);
  --c-bg-snow: var(--wp--preset--color--bg-snow);
  --c-surface: var(--c-white);
  --c-surface-muted: var(--c-bg-snow);
  --c-primary-dark: #3a0256;
  --footer-bg: var(--c-primary-dark);
  --footer-lower-bg: var(--footer-bg);
  --footer-text: var(--c-text-inverse);
  --footer-text-muted: var(--c-white-soft);
  --footer-border: var(--c-white-border);
  --footer-card-bg: var(--c-surface);
  --header-cta-accent-bg: var(--c-green);
  --c-text: var(--c-black);
  --c-text-inverse: var(--c-white);
  --c-text-muted: #6e7077;
  --c-border: #ccc;
  --c-border-soft: #d3c6e1;
  --c-border-soft-muted: rgba(211, 198, 225, 0.5);
  --c-border-accent: #a88dc1;
  --c-error: #cc004a;
  --c-overlay-dark: rgba(15, 20, 33, 0.78);
  --c-primary-border: rgba(89, 23, 138, 0.18);
  --c-primary-border-subtle: rgba(89, 23, 138, 0.12);
  --c-primary-border-strong: rgba(89, 23, 138, 0.35);
  --c-primary-divider: rgba(89, 23, 138, 0.1);
  --c-dark-soft: rgba(15, 20, 33, 0.4);
  --c-white-soft: rgba(255, 255, 255, 0.78);
  --c-white-wash: rgba(255, 255, 255, 0.1);
  --c-white-mist: rgba(255, 255, 255, 0.06);
  --c-white-panel: rgba(255, 255, 255, 0.14);
  --c-white-border: rgba(255, 255, 255, 0.18);
  --c-white-border-strong: rgba(255, 255, 255, 0.35);

  /* Typography */
  --font-body: var(--wp--preset--font-family--body);
  --fs-base: var(--wp--preset--font-size--base);
  --lh-base: 1.4;

  /* Spacing scale */
  --space-xs: var(--wp--preset--spacing--20);
  --space-sm: var(--wp--preset--spacing--30);
  --space-md: var(--wp--preset--spacing--40);
  --space-lg: var(--wp--preset--spacing--50);
  --space-xl: var(--wp--preset--spacing--60);
  --space-2xl: var(--wp--preset--spacing--70);
  --block-padding-y: var(--space-2xl);
  --block-padding-y-mobile: var(--space-xl);
  --block-padding-y-tight: calc(var(--space-xl) + var(--space-sm));
  --block-panel-padding: var(--space-lg);
  --block-radius: var(--radius-md);
  --block-content-gap: var(--space-lg);
  --block-item-gap: var(--space-lg);
  --block-item-gap-large: var(--space-xl);
  --block-wide-gap: 50px;

  /* Layout */
  --header-h: var(--wp--custom--header--height);
  --gap-col: 3.5%;
  /* Breakpoints: xs 479, sm 599, md 767, nav 1023, desktop 1024+. */

  /* Radii & shadows */
  --radius-sm: 3px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --shadow-card: 0 12px 22px rgba(17, 19, 26, 0.14);
  --shadow-card-soft: 0 0 4px rgba(0, 0, 0, 0.1);
  --shadow-resource-card: 0 14px 34px rgba(15, 20, 33, 0.08);
  --shadow-resource-card-hover: 0 20px 44px rgba(15, 20, 33, 0.12);

  /* Motion */
  --t-fast: 0.2s ease-in-out;

  /* Focus */
  --focus-ring: 2px solid var(--c-primary);
  --focus-ring-offset: 2px;
}

/* Base reset
....................................................................... */
html {
  /* Keep anchor targets below the fixed header. */
  scroll-padding-top: calc(var(--header-h) + var(--space-md));
}
* {
  vertical-align: baseline;
  border: 0 none;
  padding: 0;
  margin: 0;
}
/* Keyboard focus */
*:focus {
  outline: 0;
}
*:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-ring-offset);
}
.chas-breadcrumbs {
  margin: 0 0 clamp(var(--space-sm), 2.4vw, var(--space-lg));
  font-size: clamp(13px, 0.85vw, 15px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0;
}
.chas-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 8px;
  row-gap: 4px;
  list-style: none;
  counter-reset: none;
  margin: 0;
  padding: 0;
}
.chas-breadcrumbs li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: inherit;
  counter-increment: none;
  line-height: inherit;
  list-style: none;
  margin: 0;
  padding: 0;
}
.chas-breadcrumbs li::before {
  content: none;
  display: none;
}
.hero-eyebrow {
  max-width: 100%;
  margin: 0 0 clamp(10px, 1vw, 16px);
  color: var(--c-primary);
  font-size: clamp(14px, 0.95vw, 16px);
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.35;
}
.chas-breadcrumbs li + li::before {
  display: inline;
  content: "/";
  color: currentColor;
  font-weight: 400;
  margin: 0;
  opacity: 0.45;
  width: auto;
}
.chas-breadcrumbs a,
.chas-breadcrumbs span {
  color: inherit;
}
.chas-breadcrumbs a {
  color: var(--c-primary);
  text-decoration: none;
  transition: color var(--t-fast), opacity var(--t-fast);
}
.chas-breadcrumbs span {
  font-weight: 600;
}
.chas-breadcrumbs a:hover,
.chas-breadcrumbs a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.textcenter .chas-breadcrumbs ol {
  justify-content: center;
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
body {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  font-weight: 400;
  color: var(--c-text);
  background: var(--c-surface);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  padding-top: var(--header-h);
  overflow-x: hidden;
}
body.noscroll {
  overflow-y: hidden;
}

/* Search modal
....................................................................... */
.search-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(20px, 10vh, 120px) 20px 20px;
  background: var(--c-overlay-dark);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity 0.2s ease;
  overflow-y: auto;
}
.search-modal[hidden] {
  display: none;
}
body.chas-search-open .search-modal {
  opacity: 1;
}
body.chas-search-open {
  overflow: hidden;
}

.search-modal-content {
  position: relative;
  width: 100%;
  max-width: 720px;
  background: var(--c-surface);
  border-radius: var(--radius-lg);
  padding: clamp(20px, 4vw, 40px);
  box-shadow: var(--shadow-card);
  transform: translateY(-8px);
  transition: transform 0.2s ease;
}
body.chas-search-open .search-modal-content {
  transform: translateY(0);
}

.search-modal-content form label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-primary);
  margin: 0 0 12px;
}
.search-modal-content form > div {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
}
.search-modal-content form input[type="search"] {
  flex: 1 1 auto;
  margin: 0;
  font: inherit;
  font-size: clamp(15px, 1.6vw, 18px);
  padding: 10px 14px;
  color: var(--c-text);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.search-modal-content form input[type="search"]:focus {
  border-color: var(--c-primary);
  box-shadow: 0 0 0 2px var(--c-primary-border);
}
.search-modal-content form input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
.search-modal-content form input[type="search"]::placeholder {
  color: var(--c-dark-soft);
}
.search-modal-content form .searchsubmit {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--c-primary);
  color: var(--c-text-inverse);
  border: 0;
  border-radius: 999px;
  padding: 0 22px;
  height: 42px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease;
}
.search-modal-content form .searchsubmit:hover,
.search-modal-content form .searchsubmit:focus-visible {
  filter: brightness(0.88);
}
.search-modal-content form .searchsubmit span {
  position: static;
  clip: auto;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  white-space: normal;
}
.search-modal-content form .searchsubmit i {
  display: inline-block;
  width: 16px;
  height: 16px;
  background: var(--c-white);
  -webkit-mask: url(images/search.svg) 50% 50% no-repeat;
  mask: url(images/search.svg) 50% 50% no-repeat;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
}

.search-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 8px 14px;
  color: var(--c-dark);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.search-modal-close:hover,
.search-modal-close:focus-visible {
  background: var(--c-bg-snow);
  border-color: var(--c-border);
  outline: none;
}
.search-modal-close i {
  display: inline-block;
  width: 14px;
  height: 14px;
  background: var(--c-dark);
  -webkit-mask: url(images/cross-white.svg) 50% 50% no-repeat;
  mask: url(images/cross-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: 14px 14px;
  mask-size: 14px 14px;
}

@media screen and (max-width: 599px) {
  .search-modal-close .text {
    display: none;
  }
  .search-modal-content form > div {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .search-modal-content form .searchsubmit {
    align-self: flex-end;
  }
}

.chas-form-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(20px, 10vh, 120px) 20px 20px;
  background: var(--c-overlay-dark);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity 0.2s ease;
  overflow-y: auto;
}
.chas-form-modal[hidden] {
  display: none;
}
body.chas-form-modal-open .chas-form-modal {
  opacity: 1;
}
body.chas-form-modal-open {
  overflow: hidden;
}

.chas-form-modal-content {
  position: relative;
  width: 100%;
  max-width: 720px;
  background: var(--c-surface);
  border-radius: var(--radius-lg);
  padding: clamp(20px, 4vw, 40px);
  box-shadow: var(--shadow-card);
  transform: translateY(-8px);
  transition: transform 0.2s ease;
}
.chas-form-modal--go-chas .chas-form-modal-content {
  background: var(--c-primary);
  color: var(--c-text-inverse);
}
body.chas-form-modal-open .chas-form-modal-content {
  transform: translateY(0);
}

.chas-form-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 8px 14px;
  color: var(--c-dark);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.chas-form-modal-close:hover,
.chas-form-modal-close:focus-visible {
  background: var(--c-surface-muted);
  border-color: var(--c-border);
  outline: none;
}
.chas-form-modal-close i {
  display: inline-block;
  width: 14px;
  height: 14px;
  background: var(--c-dark);
  -webkit-mask: url(images/cross-white.svg) 50% 50% no-repeat;
  mask: url(images/cross-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: 14px 14px;
  mask-size: 14px 14px;
}
.chas-form-modal--go-chas .chas-form-modal-close {
  color: var(--c-text-inverse);
}
.chas-form-modal--go-chas .chas-form-modal-close:hover,
.chas-form-modal--go-chas .chas-form-modal-close:focus-visible {
  background: var(--c-white-panel);
  border-color: var(--c-white-border-strong);
}
.chas-form-modal--go-chas .chas-form-modal-close i {
  background: var(--c-text-inverse);
}

.chas-form-modal-title {
  margin: 0 48px 20px 0;
}
.chas-form-modal-body form,
.chas-form-modal-body .wpforms-container,
.chas-form-modal-body .wpforms-container-full {
  margin-bottom: 0;
}

@media screen and (max-width: 599px) {
  .chas-form-modal-close .text {
    display: none;
  }
}

/* Header template variants */
body.chas-header-no-nav .header_extras {
  margin-left: auto;
}
body.chas-header-logo-only .page-wrap_top header,
body.chas-header-logo-only-centered .page-wrap_top header {
  padding-top: 8px;
  padding-bottom: 8px;
}
body.chas-header-logo-only-centered .page-wrap_top header {
  justify-content: center;
  text-align: center;
}
body.chas-header-logo-only-centered .header_logo {
  margin: 0 auto;
  flex: 0 0 auto;
}
@media screen and (max-width: 1023px) {
  body.chas-header-no-nav .header_logo,
  body.chas-header-logo-only .header_logo,
  body.chas-header-logo-only-centered .header_logo {
    flex: 0 0 auto;
  }
}

/* Page Layout
....................................................................... */
#scroll_top {
  position: relative;
  top: calc(var(--header-h) * -1);
}
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 10000;
  transform: translateY(-140%);
  color: var(--c-text-inverse);
  background: var(--c-primary);
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 700;
  text-decoration: none;
  transition: transform var(--t-fast);
}
.skip-link:focus {
  transform: translateY(0);
  outline: 2px solid var(--c-text-inverse);
  outline-offset: 2px;
}
.page-wrap_top {
  position: fixed;
  top: 0;
  width: 100%;
  /* Safe minimum before JS updates --header-h. */
  min-height: 75px;
  color: var(--c-dark);
  background: var(--c-surface);
  border-bottom: 1px solid var(--c-primary-divider);
  box-shadow: 0 8px 24px rgba(15, 20, 33, 0.08);
  z-index: 100;
  transition: top 0.2s ease-in-out;
}
.page-wrap_top.nav-up {
  top: calc(var(--header-h) * -1);
}
.page-wrap_content {
  position: relative;
  overflow: hidden;
}
.page-wrap_footer {
  position: relative;
  color: var(--footer-text);
  background: var(--footer-bg);
  padding: 40px 0 0 0;
}
.center {
  max-width: 1240px;
  width: 90%;
  margin: 0 auto;
}
.center .center {
  width: 100%;
}
.center .fullwidth .center {
  width: 90%;
}
.center.center-wide {
  max-width: 1640px;
}
.fullwidth {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  overflow-x: hidden;
}

/* Logged in view
....................................................................... */
html {
  margin-top: 0 !important;
}
#wpadminbar {
  position: fixed !important;
  top: auto !important;
  bottom: 0;
}
#wpadminbar .menupop .ab-sub-wrapper {
  bottom: 28px;
}

/* Grid
....................................................................... */
.row {
  display: flex;
  overflow: hidden;
}
.row.valign-center {
  align-items: center;
}
.row:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.span {
  overflow: hidden;
}
.span1 {
  flex: 1 1 5.125%;
  margin: 0 3.5% 0 0;
}
.span2 {
  flex: 1 1 13.75%;
  margin: 0 3.5% 0 0;
}
.span3 {
  flex: 1 1 22.375%;
  margin: 0 3.5% 0 0;
}
.span4 {
  flex: 1 1 31%;
  margin: 0 3.5% 0 0;
}
.span5 {
  flex: 1 1 39.625%;
  margin: 0 3.5% 0 0;
}
.span6 {
  flex: 1 1 48.25%;
  margin: 0 3.5% 0 0;
}
.span7 {
  flex: 1 1 56.875%;
  margin: 0 3.5% 0 0;
}
.span8 {
  flex: 1 1 65.5%;
  margin: 0 3.5% 0 0;
}
.span9 {
  flex: 1 1 74.125%;
  margin: 0 3.5% 0 0;
}
.span10 {
  flex: 1 1 82.75%;
  margin: 0 3.5% 0 0;
}
.span11 {
  flex: 1 1 91.375%;
  margin: 0 3.5% 0 0;
}
.span12 {
  flex: 1 1 100%;
  margin: 0 0 0 0;
}
.span:empty {
  margin-bottom: 0;
}
.row > .span:last-child {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .row {
    flex-wrap: wrap;
  }
  .span1,
  .span2,
  .span3,
  .span4,
  .span5,
  .span6,
  .span7,
  .span8,
  .span9,
  .span10,
  .span11,
  .span12 {
    flex: 1 0 100%;
    margin: 0 0 60px 0;
  }
}

/* Automatic table of contents template
....................................................................... */
.page-template-template-tableofcontents .page-wrap_content {
  overflow-x: visible;
}

.page-template-template-tableofcontents .text-block {
  padding-top: 0;
}

.table-of-contents-layout {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  gap: clamp(var(--space-lg), 5vw, var(--space-2xl));
  align-items: start;
  padding-top: var(--space-xl);
  overflow: visible;
}

.table-of-contents-nav {
  position: sticky;
  top: calc(var(--header-h) + var(--space-md));
  align-self: flex-start;
  padding: var(--space-md);
  border: 1px solid var(--c-primary-border-subtle);
  border-radius: var(--radius-lg);
  background: var(--c-surface-muted);
}

.table-of-contents-nav[hidden] {
  display: none;
}

.table-of-contents-nav[hidden] + .table-of-contents-content {
  grid-column: 1 / -1;
}

.table-of-contents-nav__title {
  font-size: 1.4rem;
  line-height: 1.15;
  margin: 0 0 var(--space-md) 0;
}

.table-of-contents-nav a {
  display: block;
  margin: 0 0 var(--space-sm);
  padding: 0 0 var(--space-sm);
  border-bottom: 1px solid var(--c-primary-tint);
  color: var(--c-primary);
  font-weight: 600;
  text-decoration: none;
}

.table-of-contents-nav a:hover,
.table-of-contents-nav a:focus-visible {
  color: var(--c-primary);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.table-of-contents-content {
  min-width: 0;
}

.table-of-contents-content :is(h1, h2, h3, h4, h5, h6)[id] {
  scroll-margin-top: calc(var(--header-h) + var(--space-md));
}

.table-of-contents-content .toc-table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 0 var(--space-lg) 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--c-primary-border-subtle);
  border-radius: var(--radius-md);
  background: var(--c-surface);
  box-shadow: var(--shadow-card-soft);
}

.table-of-contents-content .toc-table-wrap table {
  width: 100% !important;
  min-width: 680px;
  height: auto !important;
  border-collapse: collapse;
  border: 0;
  background: var(--c-surface);
  font-size: 0.95rem;
  line-height: 1.45;
}

.table-of-contents-content .toc-table-wrap th,
.table-of-contents-content .toc-table-wrap td {
  padding: 12px 16px;
  border: 1px solid var(--c-primary-border-subtle);
  vertical-align: top;
  text-align: left;
}

.table-of-contents-content .toc-table-wrap th,
.table-of-contents-content .toc-table-wrap .toc-table--no-head tbody tr:first-child td {
  background: var(--c-surface-muted);
  color: var(--c-text);
  font-weight: 700;
}

.table-of-contents-content .toc-table-wrap tbody tr:nth-child(even) {
  background: var(--c-surface-muted);
}

.table-of-contents-content .toc-table-wrap td:first-child {
  width: 1%;
  color: var(--c-text-muted);
  white-space: nowrap;
}

.table-of-contents-nav .h3 a {
  padding-left: var(--space-sm);
}

.table-of-contents-nav .h4 a,
.table-of-contents-nav .h5 a,
.table-of-contents-nav .h6 a {
  padding-left: var(--space-md);
  font-size: 0.95em;
}

@media screen and (max-width: 1023px) {
  .table-of-contents-layout {
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
    gap: var(--space-lg);
  }
}

@media screen and (max-width: 767px) {
  .table-of-contents-layout {
    display: block;
    padding-top: var(--space-lg);
  }

  .table-of-contents-nav {
    position: relative;
    top: auto;
    margin: 0 0 var(--space-lg) 0;
  }

  .table-of-contents-content .toc-table-wrap table {
    min-width: 560px;
  }
}

/* Global block rules
....................................................................... */
.block {
  position: relative;
}
.block.has-padding-top-none {
  padding-top: 0 !important;
}
.block.has-padding-bottom-none {
  padding-bottom: 0 !important;
}
.block.has-padding-top-compact {
  padding-top: var(--space-lg) !important;
}
.block.has-padding-bottom-compact {
  padding-bottom: var(--space-lg) !important;
}
.block.has-square-decoration {
  position: relative;
  z-index: 1;
  isolation: isolate;
  overflow: visible;
}
.block.has-square-decoration > .center {
  position: relative;
  z-index: 2;
}
.block.has-square-decoration > .chas-square-decoration,
.block.has-square-decoration .hero-block__media-decoration > .chas-square-decoration,
.ctabanner-block.has-square-decoration .ctabanner-block__image-wrap > .chas-square-decoration {
  position: absolute;
  z-index: 1;
  display: block;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.block.has-square-decoration--purple > .chas-square-decoration--top,
.block.has-square-decoration--purple .hero-block__media-decoration > .chas-square-decoration--top,
.ctabanner-block.has-square-decoration--purple .ctabanner-block__image-wrap > .chas-square-decoration--top {
  background-image: url("images/CHAS-Squares/VeriforceCHAS_Squares%2015.svg");
}
.block.has-square-decoration--purple > .chas-square-decoration--bottom,
.block.has-square-decoration--purple .hero-block__media-decoration > .chas-square-decoration--bottom,
.ctabanner-block.has-square-decoration--purple .ctabanner-block__image-wrap > .chas-square-decoration--bottom {
  background-image: url("images/CHAS-Squares/VeriforceCHAS_Squares%203.svg");
}
.block.has-square-decoration--white > .chas-square-decoration--top,
.block.has-square-decoration--white .hero-block__media-decoration > .chas-square-decoration--top,
.ctabanner-block.has-square-decoration--white .ctabanner-block__image-wrap > .chas-square-decoration--top {
  background-image: url("images/CHAS-Squares/VeriforceCHAS_Squares%205.svg");
}
.block.has-square-decoration--white > .chas-square-decoration--bottom,
.block.has-square-decoration--white .hero-block__media-decoration > .chas-square-decoration--bottom,
.ctabanner-block.has-square-decoration--white .ctabanner-block__image-wrap > .chas-square-decoration--bottom {
  background-image: url("images/CHAS-Squares/VeriforceCHAS_Squares%206.svg");
}
.block.has-square-decoration--opposite.has-square-decoration--purple > .chas-square-decoration--top {
  background-image: url("images/CHAS-Squares/VeriforceCHAS_Squares%208.svg");
}
.block.has-square-decoration--opposite.has-square-decoration--purple > .chas-square-decoration--bottom {
  background-image: url("images/CHAS-Squares/VeriforceCHAS_Squares%203.svg");
}
.block.has-square-decoration--opposite.has-square-decoration--white > .chas-square-decoration--top {
  background-image: url("images/CHAS-Squares/VeriforceCHAS_Squares%201.svg");
}
.block.has-square-decoration--opposite.has-square-decoration--white > .chas-square-decoration--bottom {
  background-image: url("images/CHAS-Squares/VeriforceCHAS_Squares%202.svg");
}
.block.has-square-decoration--top > .chas-square-decoration--top {
  top: clamp(18px, 3vw, 42px);
  right: clamp(16px, 4vw, 72px);
  width: clamp(118px, 13vw, 230px);
  aspect-ratio: 230 / 114;
}
.block.has-square-decoration--top > .chas-square-decoration--bottom {
  display: none;
}
.block.has-square-decoration--opposite > .chas-square-decoration--top {
  top: clamp(18px, 3vw, 42px);
  right: clamp(16px, 4vw, 72px);
  width: clamp(118px, 13vw, 230px);
  aspect-ratio: 230 / 114;
}
.block.has-square-decoration--opposite > .chas-square-decoration--bottom {
  bottom: clamp(18px, 4vw, 64px);
  left: clamp(16px, 5vw, 86px);
  width: clamp(54px, 6vw, 112px);
  aspect-ratio: 1;
  opacity: 0.42;
}
.block.has-square-decoration--hero > .chas-square-decoration--top {
  top: clamp(22px, 4vw, 64px);
  right: clamp(18px, 5vw, 92px);
  width: clamp(132px, 15vw, 260px);
  aspect-ratio: 230 / 114;
}
.block.has-square-decoration--hero > .chas-square-decoration--bottom {
  bottom: clamp(22px, 4vw, 72px);
  left: clamp(18px, 5vw, 96px);
  width: clamp(104px, 11vw, 190px);
  aspect-ratio: 1;
}
.block.has-square-decoration--hero .hero-block__media-decoration > .chas-square-decoration {
  z-index: 2;
  opacity: 0.9;
}
.block.has-square-decoration--hero .hero-block__media-decoration {
  overflow: visible;
}
.block.has-square-decoration--hero .hero-block__media-decoration > .chas-square-decoration--top {
  top: clamp(-20px, -1.5vw, -8px);
  right: clamp(-54px, -3.4vw, -24px);
  width: clamp(132px, 15vw, 260px);
  aspect-ratio: 230 / 114;
}
.block.has-square-decoration--hero .hero-block__media-decoration > .chas-square-decoration--bottom {
  bottom: clamp(-52px, -3.2vw, -24px);
  left: clamp(-34px, -2vw, -14px);
  width: clamp(86px, 9vw, 154px);
  aspect-ratio: 1;
}
.block.has-square-decoration--cta > .chas-square-decoration--top {
  top: clamp(18px, 3vw, 46px);
  left: clamp(160px, 31vw, 560px);
  width: clamp(96px, 12vw, 220px);
  aspect-ratio: 230 / 114;
}
.block.has-square-decoration--cta > .chas-square-decoration--bottom {
  right: clamp(24px, 6vw, 120px);
  bottom: clamp(18px, 3vw, 48px);
  width: clamp(92px, 11vw, 190px);
  aspect-ratio: 1;
}
.chas-layout-columns.wp-block-columns {
  width: 90%;
  max-width: 1240px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: var(--block-padding-y) 0;
  column-gap: var(--block-wide-gap);
}
.chas-layout-columns .wp-block-column {
  min-width: 0;
}
.chas-layout-columns .wp-block-column > .block {
  padding: 0 !important;
  overflow: visible;
}
.chas-layout-columns .wp-block-column > .block > .center {
  width: 100%;
  max-width: none;
}
.chas-layout-columns .wp-block-column > .block > .center > .row {
  display: block;
  margin-left: 0;
  margin-right: 0;
}
.chas-layout-columns .wp-block-column > .block > .center > .row > .span,
.chas-layout-columns .wp-block-column > .block > .center > .row > article {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.chas-layout-columns .wp-block-column > .form-block .form-block__inner {
  max-width: none;
}
body.single .block:not(.bg-ffffff-color) {
  /* Keep coloured blocks inset in single-entry layouts. */
  padding-left: var(--space-lg);
  padding-right: var(--space-lg);
}
@media screen and (max-width: 767px) {
  .block.has-padding-top-compact {
    padding-top: var(--space-md) !important;
  }
  .block.has-padding-bottom-compact {
    padding-bottom: var(--space-md) !important;
  }
  .block.has-square-decoration > .chas-square-decoration {
    opacity: 0.8;
  }
  .block.has-square-decoration--top > .chas-square-decoration--top,
  .block.has-square-decoration--opposite > .chas-square-decoration--top,
  .block.has-square-decoration--hero > .chas-square-decoration--top,
  .block.has-square-decoration--cta > .chas-square-decoration--top {
    top: var(--space-sm);
    right: var(--space-sm);
    left: auto;
    width: 108px;
  }
  .block.has-square-decoration--opposite > .chas-square-decoration--bottom,
  .block.has-square-decoration--hero > .chas-square-decoration--bottom,
  .block.has-square-decoration--cta > .chas-square-decoration--bottom {
    bottom: var(--space-sm);
    left: var(--space-sm);
    right: auto;
    width: 82px;
  }
  .block.has-square-decoration--opposite > .chas-square-decoration--bottom {
    width: 58px;
  }
  .block.has-square-decoration--hero .hero-block__media-decoration > .chas-square-decoration--top {
    top: -10px;
    right: -22px;
    width: 108px;
  }
  .block.has-square-decoration--hero .hero-block__media-decoration > .chas-square-decoration--bottom {
    bottom: -22px;
    left: -14px;
    width: 68px;
  }
  .chas-layout-columns.wp-block-columns {
    width: 90%;
    padding-top: var(--block-padding-y-mobile);
    padding-bottom: var(--block-padding-y-mobile);
    row-gap: var(--block-item-gap-large);
  }
}
/* Globals
....................................................................... */
p {
  margin: 0 0 30px 0;
  word-wrap: break-word;
}
small {
  font-size: 14px;
}
pre {
  white-space: pre-wrap;
  word-wrap: break-word;
  line-height: 140%;
  margin: 0 0 30px 0;
  overflow-x: auto;
}
a {
  color: var(--c-text);
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
  transition: all 0.2s;
}
a:hover,
a:focus {
  color: var(--c-text);
  text-decoration-color: var(--c-primary);
  text-decoration-thickness: 2px;
}
a.no-decoration {
  color: var(--c-dark);
  text-decoration: none;
  font-weight: 600;
}
a.no-decoration:hover,
a.no-decoration:focus {
  text-decoration: underline;
}
h1 {
  font-size: 56px;
  line-height: 110%;
  font-weight: 500;
  margin: 0 0 30px 0;
}
h2,
h1.h2 {
  font-size: 42px;
  line-height: 115%;
  font-weight: 600;
  margin: 0 0 30px 0;
}
h3,
h1.h3 {
  font-size: 32px;
  line-height: 120%;
  font-weight: 600;
  margin: 0 0 30px 0;
}
h4,
h1.h4 {
  font-size: 24px;
  line-height: 120%;
  font-weight: 500;
  margin: 0 0 30px 0;
}
h5 {
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  margin: 0 0 30px 0;
}
h6 {
  font-size: 16px;
  line-height: 140%;
  font-weight: 400;
  margin: 0 0 15px 0;
}
b,
strong {
  font-weight: 600;
}
:is(h1, h2, h3, h4, h5, h6) :is(b, strong) {
  /* Imported headings sometimes wrap text in bold tags. */
  font-weight: inherit;
}
img {
  max-width: 100%;
  height: auto;
}
img,
img a {
  border: 0;
  text-decoration: none;
}
ol {
  list-style: none;
  counter-reset: item;
  margin: 0 0 30px 0;
}
ol > li {
  counter-increment: item;
  line-height: 1.6em;
  padding: 0 0 20px 20px;
  margin: 0 0 0 0;
}
ol > li:before {
  display: inline-block;
  vertical-align: top;
  content: counter(item) ".";
  color: inherit;
  font-weight: 600;
  width: 20px;
  margin: 0 0 0 -20px;
}
ul {
  padding: 0 0 0 10px;
  margin: 0 0 20px 0;
  list-style: none;
}
ul li {
  position: relative;
  margin: auto;
  list-style: none;
  line-height: 1.6em;
  padding: 0 0 20px 8px;
  margin: 0 0 0 0;
}
ul > li:before {
  content: "";
  position: absolute;
  top: 10px;
  left: -10px;
  background: var(--c-primary);
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
ul.tick li,
.tick ul li {
  padding-left: 14px;
}
ul.tick > li:before,
.tick ul > li:before {
  top: 5px;
  background: var(--c-primary);
  -webkit-mask: url(images/tick-white.svg) 50% 50% no-repeat;
  mask: url(images/tick-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
  width: 16px;
  height: 16px;
}
li ul,
li ol {
  margin: 20px 0 0 10px;
}
li ul li:last-child,
li ol li:last-child {
  padding-bottom: 0.25em;
}
hr,
hr.wp-block-separator {
  clear: both;
  border: 0;
  border-bottom: 1px solid var(--c-border);
  background: transparent;
  height: 1px;
  padding: 5px 0 0 0;
  margin: 0 0 30px 0;
}
blockquote {
  padding: 40px 5%;
  margin: 0 0 25px 0;
  background: var(--c-surface-muted);
}
blockquote p:last-of-type {
  margin: 0;
}
blockquote cite {
  display: inline-block;
  font-style: normal;
  margin: 20px 0 0 0;
}
.wp-block-table {
  width: 100%;
  margin: 0 0 30px 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.wp-block-table table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.wp-block-table th,
.wp-block-table td {
  padding: 12px 16px;
  border: 1px solid var(--c-border);
  vertical-align: top;
  text-align: left;
}
.wp-block-table th {
  background: var(--c-surface-muted);
  font-weight: 700;
}
.wp-block-table tbody tr:nth-child(even),
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background: var(--c-surface-muted);
}
.wp-block-table figcaption {
  color: var(--c-text-muted);
  font-size: 14px;
  margin: 10px 0 0 0;
}
.wp-block-table.is-style-stripes {
  border-bottom: 0;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.screen-reader-text,
.hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}
.clear {
  clear: both;
}
.wp-caption {
  margin-bottom: 1.5em;
  text-align: center;
  padding-top: 5px;
}
.wp-caption.aligncenter {
  width: 100% !important;
}
.wp-caption img {
  border: 0 none;
  padding: 0;
  margin: 0;
}
body.single .post_full > p > img,
body.single .post_full > p > a > img,
body.single .post_full > figure > img,
body.single .post_full > figure > a > img,
body.single .post_full .wp-block-image img,
body.single .post_full .wp-caption img {
  border-radius: var(--radius-lg);
}
.wp-caption p.wp-caption-text {
  font-size: 14px;
  color: var(--c-text-muted);
  margin: 0;
}
.textcenter,
.aligncenter,
.center_align {
  text-align: center;
}
.textcenter ul,
.textcenter ol {
  text-align: left;
  display: inline-block;
  padding: 0 20px;
  margin-left: auto;
  margin-right: auto;
}
img.aligncenter {
  display: block;
  margin: 0 auto 15px auto;
}
.textleft {
  text-align: left;
}
.textright {
  text-align: right;
}
a.cta,
button,
.header_cta_menu a {
  --cta-bg: var(--c-primary);
  --cta-fg: var(--c-text-inverse);
  --cta-border: transparent;
  --cta-hover-bg: color-mix(in srgb, var(--cta-bg) 88%, var(--c-black));
  --cta-hover-fg: var(--cta-fg);
  --cta-hover-border: var(--cta-border);
}
a.cta,
button {
  display: inline-block;
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  line-height: 26px;
  text-align: center;
  border: none;
  color: var(--cta-fg);
  background: var(--cta-bg);
  padding: 7px 22px 7px 22px;
  border-radius: 20px;
  margin: 5px 5px;
  transition: all 0.2s;
  box-shadow: inset 0 0 0 2px var(--cta-border);
}
a.cta.cta_primary,
a.cta.chas-cta--variant-primary,
.menu-item.cta_primary > a,
.header_cta_menu .cta_primary > a {
  --cta-bg: var(--c-primary);
  --cta-fg: var(--c-text-inverse);
}
a.cta.cta_green,
a.cta.cta_accent,
a.cta.chas-cta--variant-accent,
.menu-item.cta_accent > a,
.menu-item.cta_green > a,
.header_cta_menu .cta_accent > a,
.header_cta_menu .cta_green > a {
  --cta-bg: var(--header-cta-accent-bg);
  --cta-hover-bg: color-mix(in srgb, var(--header-cta-accent-bg) 86%, var(--c-black));
}
a.cta.cta_blue,
a.cta.chas-cta--variant-blue,
.menu-item.cta_blue > a,
.header_cta_menu .cta_blue > a {
  --cta-bg: var(--c-blue);
}
a.cta.cta_navy,
a.cta.chas-cta--variant-navy,
.menu-item.cta_navy > a,
.header_cta_menu .cta_navy > a {
  --cta-bg: var(--c-navy);
}
a.cta.cta_dark,
a.cta.chas-cta--variant-dark,
.menu-item.cta_dark > a,
.header_cta_menu .cta_dark > a {
  --cta-bg: var(--c-dark);
}
a.cta.cta_light,
a.cta.chas-cta--variant-light,
.menu-item.cta_light > a,
.header_cta_menu .cta_light > a {
  --cta-bg: var(--c-primary-tint);
  --cta-fg: var(--c-primary);
  --cta-hover-bg: color-mix(in srgb, var(--c-primary-tint) 92%, var(--c-primary));
}
a.cta.cta_white,
a.cta.chas-cta--variant-white,
.menu-item.cta_white > a,
.header_cta_menu .cta_white > a {
  --cta-bg: var(--c-white);
  --cta-fg: var(--c-primary);
  --cta-hover-bg: var(--c-primary-tint);
}
a.cta.cta_outline,
a.cta.cta_outline-primary,
a.cta.cta_outline_primary,
a.cta.chas-cta--outline,
a.cta.chas-cta--variant-outline-primary,
.menu-item.cta_outline > a,
.menu-item.cta_outline-primary > a,
.menu-item.cta_outline_primary > a,
.header_cta_menu .cta_outline > a,
.header_cta_menu .cta_outline-primary > a,
.header_cta_menu .cta_outline_primary > a {
  --cta-bg: transparent;
  --cta-fg: var(--chas-cta-outline-color, var(--c-primary));
  --cta-border: currentColor;
  --cta-hover-bg: var(--chas-cta-outline-color, var(--c-primary));
  --cta-hover-fg: var(--chas-cta-outline-hover-color, var(--c-white));
  --cta-hover-border: var(--chas-cta-outline-color, var(--c-primary));
}
a.cta.cta_outline-dark,
a.cta.cta_outline_dark,
a.cta.chas-cta--variant-outline-dark,
.menu-item.cta_outline-dark > a,
.menu-item.cta_outline_dark > a,
.header_cta_menu .cta_outline-dark > a,
.header_cta_menu .cta_outline_dark > a {
  --cta-bg: transparent;
  --cta-fg: var(--c-dark);
  --cta-border: currentColor;
  --cta-hover-bg: var(--c-dark);
  --cta-hover-fg: var(--c-white);
  --cta-hover-border: var(--c-dark);
}
a.cta.cta_outline-white,
a.cta.cta_outline_white,
a.cta.chas-cta--variant-outline-white,
.menu-item.cta_outline-white > a,
.menu-item.cta_outline_white > a,
.header_cta_menu .cta_outline-white > a,
.header_cta_menu .cta_outline_white > a {
  --cta-bg: transparent;
  --cta-fg: var(--c-white);
  --cta-border: currentColor;
  --cta-hover-bg: var(--c-white);
  --cta-hover-fg: var(--c-primary);
  --cta-hover-border: var(--c-white);
}
a.cta:hover,
a.cta:focus {
  color: var(--cta-hover-fg);
  background: var(--cta-hover-bg);
  box-shadow: inset 0 0 0 2px var(--cta-hover-border);
  text-decoration: underline;
}
a.cta i,
button i {
  display: inline-block;
  vertical-align: middle;
  width: 24px;
  height: 24px;
  background: currentColor;
  -webkit-mask: url(images/arrow-forward-white.svg) 50% 50% no-repeat;
  mask: url(images/arrow-forward-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
  margin: -3px 0 0 5px;
  transition: all 0.2s;
}
a.cta.cta-icon,
button.cta_icon {
  padding-left: 8px;
  padding-right: 8px;
}
a.cta.cta-icon:hover,
a.cta.cta-icon:focus,
button.cta_icon:hover,
button.cta_icon:focus {
  transform: scale(1.1);
}
a.cta.cta-icon span,
button.cta_icon span {
  position: absolute;
  top: -9999px;
  left: -9999px;
}
a.cta.cta-icon i,
button.cta_icon i {
  margin-left: 0;
}
a.cta + a.cta,
button + button {
  margin-left: 10px;
}
a.cta.cta_back {
  padding-left: 15px;
}
a.cta.cta_back i {
  -webkit-mask: url(images/arrow-back-white.svg) 50% 50% no-repeat;
  mask: url(images/arrow-back-white.svg) 50% 50% no-repeat;
  margin: -3px 5px 0 0;
}
@media screen and (max-width: 767px) {
  p,
  li {
    font-size: 16px;
    line-height: 140%;
  }
  small {
    font-size: 14px;
    line-height: 140%;
  }
  h1 {
    font-size: 36px;
    line-height: 110%;
  }
  h2,
  h1.h2 {
    font-size: 28px;
    line-height: 110%;
  }
  h3,
  h1.h3 {
    font-size: 22px;
    line-height: 120%;
  }
  h4,
  h1.h4 {
    font-size: 20px;
    line-height: 120%;
  }
  h5 {
    font-size: 16px;
    line-height: 140%;
  }
  h6 {
    font-size: 14px;
    line-height: 120%;
  }
  a.cta {
    font-size: 16px;
    display: block;
  }
  a.cta.cta-icon,
  button.cta_icon {
    display: inline-block;
  }
  a.cta + a.cta,
  button + button {
    margin-top: 10px;
    margin-left: 5px;
  }
}

/* Forms
....................................................................... */
form {
  margin: 0 0 20px 0;
  padding: 0;
}
fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}
legend {
  color: var(--c-dark);
  font-size: 14px;
  font-weight: 600;
  padding: 0;
  margin: 0 0 5px 0;
}
label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  padding: 0 0 5px 0;
}
label abbr {
  color: var(--c-error);
  text-decoration: none;
  cursor: help;
}
input,
textarea,
select {
  display: block;
  color: var(--c-text);
  width: 100%;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  background: var(--c-surface-muted);
  border: 1px solid var(--c-border-soft);
  padding: 8px 12px;
  margin: 0 5px 20px 0;
  border-radius: 8px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
input:focus,
textarea:focus,
select:focus {
  color: var(--c-text);
  border-color: var(--c-border-accent);
  -webkit-box-shadow: var(--shadow-card-soft);
  box-shadow: var(--shadow-card-soft);
}
::-webkit-input-placeholder {
  color: var(--c-dark);
  opacity: 1;
}
:-moz-placeholder {
  color: var(--c-dark);
  opacity: 1;
}
::-moz-placeholder {
  color: var(--c-dark);
  opacity: 1;
}
:-ms-input-placeholder {
  color: var(--c-dark);
  opacity: 1;
}
select {
  line-height: 2.25em;
}
select option {
  font-family: var(--font-body);
  padding: 0 15px;
}
textarea {
  overflow: auto;
  overflow-x: hidden;
  resize: none;
}
.checkbox,
.radio {
  display: grid;
  align-items: start;
  grid-template-columns: 2.25em auto;
  gap: 0.5em;
  margin: 0 0 20px 0;
}
input[type="radio"],
input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  display: grid;
  place-content: center;
  width: 1.2em;
  height: 1.2em;
  font-size: 1.25em;
  color: var(--c-dark);
  background-color: var(--c-surface-muted);
  border: 1px solid var(--c-border-soft);
  border-radius: 8px;
  padding: 0;
  margin: 0;
}
input[type="radio"] {
  border-radius: 50%;
}
input[type="radio"]:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  opacity: 0;
  box-shadow: inset 1em 1em var(--c-primary);
  border-radius: 50%;
}
input[type="checkbox"]:before {
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  opacity: 0;
  box-shadow: inset 1em 1em var(--c-primary);
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
input[type="radio"]:checked,
input[type="checkbox"]:checked {
  border-color: var(--c-border-accent);
}
input[type="radio"]:checked:before,
input[type="checkbox"]:checked:before {
  opacity: 1;
}
button,
input[type="submit"],
input[type="button"] {
  width: auto;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 26px;
  color: var(--c-text-inverse);
  background: var(--c-primary);
  border-radius: 20px;
  border: none;
  box-shadow: none;
  padding: 7px 22px 7px 22px;
  margin: 0;
  -webkit-appearance: none;
  transition: all 0.2s;
  cursor: pointer;
}
button:hover,
input[type="submit"]:hover,
input[type="submit"]:hover,
button:focus,
input[type="submit"]:focus,
input[type="submit"]:focus {
  text-decoration: underline;
}
.input-error input,
.input-error textarea,
.input-error select {
  border-color: var(--c-error);
}
.input-prompt p,
.input-error p {
  font-size: 14px;
  color: var(--c-text-muted);
  margin: -12px 0 20px 0;
}
.input-error p {
  color: var(--c-error);
}
@media screen and (max-width: 767px) {
  button,
  input[type="submit"],
  input[type="button"] {
    width: 100%;
    margin-top: 10px;
  }
  .search-modal-close,
  .chas-form-modal-close {
    justify-content: center;
    width: auto;
    min-width: 44px;
    min-height: 44px;
    margin-top: 0;
    padding: 8px;
  }
}
/* WP Forms fixes */
.wpforms-container .wpforms-required-label {
  color: var(--c-error) !important;
}
input.wpforms-error,
textarea.wpforms-error,
select.wpforms-error {
  border-color: var(--c-error);
}
em.wpforms-error {
  display: block;
  margin: -10px 0 10px 0;
}

/* Range Controller
....................................................................... */
.gm_field {
  padding: 0 10px;
}
.gm_field label {
  text-align: center;
  color: var(--c-text);
}
.gm_range_input {
  display: flex;
  align-items: flex-start;
  width: 100%;
}
.gm_range {
  flex: 0 1 calc(100% - 100px);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 15px 15px 0 0;
}
.gm_range ul {
  display: flex;
  justify-content: space-between;
  padding: 18px 0 0 0;
  margin: 0 -5px 0 0;
}
.gm_range li {
  list-style: none;
  font-size: 0.7em;
  color: var(--c-text-muted);
  padding: 0;
  margin: 0;
}
.gm_range li:before {
  display: none;
}
/* Slider label alignment */
.gm_range li:nth-child(1) {
  margin-left: 7px;
}
.gm_range li:nth-child(2) {
  margin-left: -5px;
}
.gm_range li:nth-child(3) {
  margin-left: 7px;
}
.gm_input_container {
  flex: 0 0 100px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.gm_input {
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: right;
}
.gm_input span {
  display: none;
  vertical-align: middle;
  width: 20px;
  font-size: 1.8em;
  line-height: 1em;
}
.gm_input.max span {
  display: inline-block;
}
.gm_input input,
.gm_input input[type="text"],
.gm_input input[type="number"] {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 20px);
  color: var(--c-dark);
  background: transparent;
  font-size: 1.8em;
  font-weight: 400;
  text-align: right;
  border: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  padding: 0;
  margin: 0 -4px 0 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
  cursor: default;
}
.gm_input input:focus,
.gm_input input[type="text"]:active,
.gm_input input[type="text"]:focus,
.gm_input input[type="number"]:active,
.gm_input input[type="number"]:focus {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  outline: 0;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.gm_range .rangeslider {
  background: var(--c-border-soft-muted);
  box-shadow: none;
}
.gm_range .rangeslider--horizontal {
  height: 10px;
}
.gm_range .rangeslider__fill {
  background: var(--c-primary);
  box-shadow: none;
}
.gm_range .rangeslider__handle {
  width: 34px;
  height: 34px;
  background: var(--c-primary);
  top: -13px;
  border: 0;
}
.rangeslider__handle:after {
  background: var(--c-surface);
}
@media screen and (max-width: 599px) {
  .gm_range {
    flex: 0 1 calc(100% - 100px);
  }
  .gm_input_container {
    flex: 0 0 100px;
  }
  .gm_input input,
  .gm_input input[type="text"],
  .gm_input input[type="number"] {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 479px) {
  .gm_range li:nth-child(even) {
    visibility: hidden;
  }
}

/* Social Links
....................................................................... */
.socnet a {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  width: 28px;
  height: 28px;
  line-height: 26px;
  border-radius: 50%;
  border: 2px solid var(--c-surface-muted);
  background: var(--c-primary);
  margin: 0 5px;
}
.socnet a:hover,
.socnet a:focus {
  border-color: var(--c-primary);
}
.socnet a span {
  position: absolute;
  left: -9999px;
  top: -9999px;
}
.socnet a i {
  display: inline-block;
  vertical-align: middle;
  width: 16px;
  height: 16px;
  background: var(--c-text-inverse);
}
.socnet a.tw i {
  -webkit-mask: url(images/twitter-white.svg) 50% 50% no-repeat;
  mask: url(images/twitter-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
}
.socnet a.fb i {
  -webkit-mask: url(images/facebook-white.svg) 50% 50% no-repeat;
  mask: url(images/facebook-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
}
.socnet a.li i {
  -webkit-mask: url(images/linkedin-white.svg) 50% 50% no-repeat;
  mask: url(images/linkedin-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
}
.socnet a.yt i {
  -webkit-mask: url(images/youtube-white.svg) 50% 50% no-repeat;
  mask: url(images/youtube-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
}
.socnet a.ig i {
  -webkit-mask: url(images/instagram-white.svg) 50% 50% no-repeat;
  mask: url(images/instagram-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
}

/* Swiper  controls
....................................................................... */
.swiper-button-prev,
.swiper-button-next {
  visibility: hidden;
  display: inline-block;
  vertical-align: middle;
  width: 40px;
  height: 40px;
  font-size: 16px;
  font-weight: 600;
  line-height: 26px;
  background: var(--c-primary);
  box-sizing: border-box;
  padding: 7px 8px;
  border-radius: 20px;
  margin: -20px 0 0 0;
  transition: all 0.2s;
}
.swiper-button-prev:hover,
.swiper-button-next:hover,
.swiper-button-prev:focus,
.swiper-button-next:focus {
  transform: scale(1.05);
}
.swiper-button-prev.visible,
.swiper-button-next.visible {
  visibility: visible;
}
.swiper-button-prev span,
.swiper-button-next span {
  position: absolute;
  top: -9999px;
  left: -9999px;
}
.swiper-button-prev i,
.swiper-button-next i {
  display: inline-block;
  vertical-align: middle;
  width: 24px;
  height: 24px;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
  margin: -3px 0 0 0;
}
.swiper-button-prev i {
  background: var(--c-bg-snow);
  -webkit-mask: url(images/arrow-back-white.svg) 50% 50% no-repeat;
  mask: url(images/arrow-back-white.svg) 50% 50% no-repeat;
}
.swiper-button-next i {
  background: var(--c-bg-snow);
  -webkit-mask: url(images/arrow-forward-white.svg) 50% 50% no-repeat;
  mask: url(images/arrow-forward-white.svg) 50% 50% no-repeat;
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.33;
}
.swiper-button-prev.swiper-button-disabled i,
.swiper-button-next.swiper-button-disabled i {
}
.swiper-button-next:after,
.swiper-button-prev:after {
  display: none;
}

/* Header - layout
....................................................................... */
header {
  display: flex;
  align-items: center;
  /* Safe minimum before JS updates --header-h. */
  min-height: 75px;
}
.header_logo {
  flex: 0 1 auto;
  order: 1;
  padding: 16px 0;
  transition: padding 0.2s;
}
.page-wrap_top.sticky .header_logo {
  padding: 6px 0;
}
.header_navi {
  flex: 1 0 auto;
  order: 2;
  padding: 0 15px;
}
.header_extras {
  position: relative;
  flex: 0 0 auto;
  order: 3;
  display: flex;
  align-items: center;
  isolation: isolate;
}
.header_ctas {
  display: flex;
  align-items: center;
}
.header_cta_menu {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  margin: 0;
}
.header_cta_menu li {
  list-style: none;
  padding: 0;
  margin: 0;
}
.header_cta_menu li:before {
  display: none;
}
.header_cta_menu a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  box-sizing: border-box;
  padding: 10px 22px;
  border-radius: 999px;
  color: var(--cta-fg);
  background: var(--cta-bg);
  box-shadow: inset 0 0 0 2px var(--cta-border);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition: color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);
}
.header_cta_menu a:hover,
.header_cta_menu a:focus {
  color: var(--cta-hover-fg);
  background: var(--cta-hover-bg);
  box-shadow: inset 0 0 0 2px var(--cta-hover-border);
  text-decoration: none;
}
.header_logo a {
  display: block;
  border: 1px solid transparent;
  border-radius: 3px;
  padding: 0;
}
.header_logo a:focus-visible {
  border-color: var(--c-primary);
}
.header_logo img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 128px;
  max-height: 55px;
}
.header_logo .text {
  position: absolute;
  left: -9999px;
  top: -9999px;
}
.header_extras .toggle {
  display: inline-block;
  position: relative;
  z-index: 1;
  vertical-align: middle;
  margin: 0 0 0 10px;
}
.header_extras .toggle a,
.header_extras .toggle button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  min-width: 42px;
  height: 42px;
  box-sizing: border-box;
  background: transparent;
  border-radius: 5px;
  border: 1px solid transparent;
  padding: 7px;
  margin-top: 0;
  cursor: pointer;
}
.header_extras .toggle a:hover,
.header_extras .toggle a:focus,
.header_extras .toggle button:hover,
.header_extras .toggle button:focus {
  background: var(--c-primary-tint);
  border: 1px solid var(--c-primary-border-strong);
}
.header_extras .toggle span {
  position: absolute;
  top: -9999px;
  left: -9999px;
}
.header_extras .toggle i {
  display: inline-block;
  vertical-align: middle;
  background: var(--c-dark);
  mask-size: 24px 17px;
  margin: 0;
}
.header_extras .toggle_navi i {
  -webkit-mask: url(images/menu-white.svg) 50% 50% no-repeat;
  mask: url(images/menu-white.svg) 50% 50% no-repeat;
  width: 24px;
  height: 17px;
  -webkit-mask-size: 24px 17px;
}
.header_extras .toggle_search i {
  -webkit-mask: url(images/search.svg) 50% 50% no-repeat;
  mask: url(images/search.svg) 50% 50% no-repeat;
  width: 20px;
  height: 20px;
  -webkit-mask-size: 20px 20px;
  mask-size: 20px 20px;
}
.header_extras .toggle_search {
  margin-left: 0;
  margin-right: 6px;
}
.header_extras .toggle_navi button[aria-expanded="true"] {
  background: var(--c-primary);
  border-color: var(--c-primary);
  border-radius: 999px;
}
.header_extras .toggle_navi button[aria-expanded="true"] i {
  background: var(--c-text-inverse);
  width: 18px;
  height: 18px;
  -webkit-mask: url(images/cross-white.svg) 50% 50% no-repeat;
  mask: url(images/cross-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: 18px 18px;
  mask-size: 18px 18px;
}
.header_extras > a.cta.cta_outline {
  color: var(--c-dark);
  box-shadow: inset 0 0 0 2px currentColor;
}
.header_extras > a.cta.cta_outline:hover,
.header_extras > a.cta.cta_outline:focus {
  color: var(--c-primary);
}
@media screen and (max-width: 1023px) {
  .header_extras .toggle_search {
    margin-right: 4px;
  }
}
@media screen and (min-width: 1024px) {
  .header_navi {
    display: block !important;
  }
  .header_navi > ul > li > ul .header_subnavi {
    display: flex !important;
  }
  .header_navi > ul > li > ul .header_subnavi.has_tabs {
    display: block !important;
  }
  .header_extras .toggle_navi {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  header {
    flex-wrap: wrap;
  }
  .header_navi {
    display: none;
    order: 3;
    flex: 1 1 100%;
    width: 100vw;
    height: calc(100vh - var(--header-h));
    box-sizing: border-box;
    color: var(--c-dark);
    background: var(--c-surface);
    padding: 24px 5% 48px;
    margin: 0 calc((100% - 100vw) / 2);
    overflow: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--c-border-soft) var(--c-surface);
  }
  .header_navi::-webkit-scrollbar {
    width: 6px;
  }
  .header_navi::-webkit-scrollbar-thumb {
    background-color: var(--c-border-soft);
    border-radius: 3px;
  }
  .header_navi::-webkit-scrollbar-track {
    background-color: var(--c-surface);
    border-radius: 3px;
  }
  .header_extras {
    order: 2;
    min-height: 48px;
    padding-left: 15px;
    margin: 0 0 0 auto;
  }
  .header_extras .toggle_navi {
    display: inline-block;
  }
  .navi_extras {
    display: block;
  }
  .header_logo,
  .page-wrap_top.sticky .header_logo {
    padding: 6px 0;
  }
}
@media screen and (max-width: 767px) {
  header a.cta,
  .header_ctas {
    display: none;
  }
}
@media screen and (max-width: 479px) {
  .page-wrap_top > .center {
    width: calc(100% - 24px);
  }
  .header_logo {
    flex: 0 1 112px;
    min-width: 0;
  }
  .header_logo img {
    max-width: 112px;
  }
  .header_extras {
    padding-left: 4px;
  }
  .header_extras .toggle_search {
    margin-right: 0;
  }
  .header_extras .toggle_navi {
    margin-left: 4px;
  }
}

/* Header - login navi
....................................................................... */
.login_navi {
  display: none;
  position: relative;
  z-index: 3;
}
.login_navi ul {
  padding: 0;
  margin: 0 10px 0 0;
}
.login_navi li {
  display: inline-block;
  vertical-align: middle;
  list-style: none;
  background-image: none;
  padding: 0;
  margin: 0 -3px 0 0;
}
.login_navi li:before {
  display: none;
}
.login_navi li a {
  display: block;
  font-size: 16px;
  line-height: 26px;
  text-decoration: none;
  color: var(--c-dark);
  padding: 10px 0;
  margin: 0;
}
.login_navi li a:hover,
.login_navi li a:focus {
  text-decoration: underline;
}
.login_navi > ul > li > a {
  font-weight: 600;
  border: 2px solid currentColor;
  border-radius: 20px;
  padding: 5px 20px;
  margin: 0;
}
.login_navi > ul > li > a:hover,
.login_navi > ul > li > a:focus {
  color: var(--c-primary);
}
.login_navi > ul > li {
  position: relative;
}
.login_navi > ul > li.menu-item-has-children > a:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 12px;
  height: 12px;
  background: currentColor;
  -webkit-mask: url(images/chevron-down-white.svg) 50% 50% no-repeat;
  mask: url(images/chevron-down-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  margin: 0 0 0 5px;
  transition: transform var(--t-fast);
}
.login_navi li ul {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  right: -9999px;
  top: 40px;
  width: 175px;
  background: var(--c-surface);
  border: 1px solid var(--c-primary-divider);
  border-radius: 8px;
  box-shadow: var(--shadow-card);
  padding: 5px 0 5px 0;
  margin: 0 0 0 -100px;
  z-index: 4;
  pointer-events: none;
  -webkit-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.login_navi > ul > li:hover > ul,
.login_navi > ul > li:focus-within > ul,
.login_navi > ul > li.is-open > ul {
  opacity: 1;
  visibility: visible;
  right: 0;
  pointer-events: auto;
}
.login_navi > ul > li.menu-item-has-children:hover > a:after,
.login_navi > ul > li.menu-item-has-children:focus-within > a:after,
.login_navi > ul > li.menu-item-has-children.is-open > a:after,
.login_navi > ul > li.menu-item-has-children > a[aria-expanded="true"]:after {
  transform: rotate(180deg);
}
.login_navi li ul li a {
  text-align: right;
  padding-left: 20px;
  padding-right: 20px;
}
.login_navi li ul li {
  display: block;
  margin: 0;
}
.login_navi a[href="#"] {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .login_navi {
    display: block;
  }
  .login_navi ul {
    margin: 0;
  }
  .login_navi a[href="#"] {
    pointer-events: auto;
  }
  .login_navi > ul > li > a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    box-sizing: border-box;
    border-radius: 999px;
    padding: 7px 18px;
  }
  .login_navi > ul > li.menu-item-has-children > a:after {
    transition: transform var(--t-fast);
  }
  .login_navi > ul > li.is-open > a:after {
    transform: rotate(180deg);
  }
  .login_navi li ul {
    top: calc(100% + 8px);
    right: 0;
    width: min(280px, calc(100vw - 32px));
    box-sizing: border-box;
    background: var(--c-surface);
    border: 1px solid var(--c-primary-divider);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    padding: 8px;
    margin: 0;
  }
  .login_navi > ul > li.menu-item-has-children::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 0;
    display: none;
    width: 100%;
    height: 10px;
  }
  .login_navi > ul > li.menu-item-has-children:hover::after,
  .login_navi > ul > li.menu-item-has-children:focus-within::after,
  .login_navi > ul > li.menu-item-has-children.is-open::after {
    display: block;
  }
  .login_navi li ul li a {
    text-align: left;
    border-radius: 12px;
    padding: 12px 14px;
    background: var(--c-surface-muted);
  }
  .login_navi li ul li a:hover,
  .login_navi li ul li a:focus {
    background: var(--c-primary-tint);
  }
}
@media screen and (max-width: 479px) {
  .login_navi > ul > li > a {
    padding-right: 12px;
    padding-left: 12px;
  }
}

/* Header - main navi
....................................................................... */
/* Level 1 */
.header_navi ul {
  padding: 0;
  margin: 0;
}
.header_navi > ul {
  text-align: center;
}
.header_navi li {
  display: inline-block;
  vertical-align: middle;
  list-style: none;
  background-image: none;
  padding: 0;
  margin: 0 -3px 0 0;
}
.header_navi li:before {
  display: none;
}
.header_navi li > a,
.header_navi li > button.header_menu_button {
  display: block;
  font-size: 16px;
  font-weight: 600;
  font-family: var(--font-body);
  text-decoration: none;
  line-height: 16px;
  color: var(--c-dark);
  background: transparent;
  border: 0;
  padding: 29px 15px;
  margin: 0;
  cursor: pointer;
}
/* Desktop: make the full top-level item hoverable. */
@media screen and (min-width: 1024px) {
  .header_navi {
    align-self: stretch;
  }
  .header_navi > ul {
    display: flex;
    align-items: stretch;
    justify-content: center;
    height: 100%;
  }
  .header_navi > ul > li {
    display: flex;
    align-items: stretch;
  }
  .header_navi > ul > li > a,
  .header_navi > ul > li > button.header_menu_button {
    display: flex;
    align-items: center;
    position: relative;
    padding-top: 0;
    padding-bottom: 0;
  }
  .header_navi > ul > li > a::after,
  .header_navi > ul > li > button.header_menu_button::after {
    content: "";
    position: absolute;
    right: 15px;
    bottom: 21px;
    left: 15px;
    height: 2px;
    background: var(--c-primary);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform var(--t-fast);
  }
  .header_navi > ul > li:hover > a::after,
  .header_navi > ul > li:focus-within > a::after,
  .header_navi > ul > li.is-open > a::after,
  .header_navi > ul > li:hover > button.header_menu_button::after,
  .header_navi > ul > li:focus-within > button.header_menu_button::after,
  .header_navi > ul > li.is-open > button.header_menu_button::after {
    transform: scaleX(1);
  }
}
.header_navi > ul > li.menu-item-has-children > a .indicator,
.header_navi > ul > li.menu-item-has-children > button.header_menu_button .indicator {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 12px;
  height: 12px;
  background: currentColor;
  -webkit-mask: url(images/chevron-down-white.svg) 50% 50% no-repeat;
  mask: url(images/chevron-down-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  margin: 0 0 0 5px;
  transition: transform var(--t-fast);
}
.header_navi > ul > li:hover > a,
.header_navi > ul > li > a:focus,
.header_navi > ul > li:hover > button.header_menu_button,
.header_navi > ul > li > button.header_menu_button:focus {
  color: var(--c-primary);
  text-decoration: none;
}
/* Level 2 */
.header_navi > ul > li > ul {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  left: -9999px;
  /* Keep hover continuous between the header and dropdown. */
  top: calc(var(--header-h) - 2px);
  width: 100vw;
  background: var(--c-surface);
  border-top: 1px solid var(--c-primary-divider);
  box-shadow: 0 24px 48px rgba(15, 20, 33, 0.14);
  text-align: left;
  padding: 0;
  margin: 0;
  z-index: 100;
  pointer-events: none;
  transform: translateY(-8px);
  transition:
    opacity var(--t-fast),
    transform var(--t-fast),
    visibility 0s linear 0.2s;
  will-change: opacity, transform;
}
.header_navi > ul > li:hover > ul,
.header_navi > ul > li:focus-within > ul,
.header_navi > ul > li.is-open > ul {
  opacity: 1 !important;
  visibility: visible;
  left: 0 !important;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}
.header_navi > ul > li.menu-item-has-children:hover > a .indicator,
.header_navi > ul > li.menu-item-has-children:focus-within > a .indicator,
.header_navi > ul > li.menu-item-has-children.is-open > a .indicator,
.header_navi > ul > li.menu-item-has-children > a[aria-expanded="true"] .indicator,
.header_navi > ul > li.menu-item-has-children:hover > button.header_menu_button .indicator,
.header_navi > ul > li.menu-item-has-children:focus-within > button.header_menu_button .indicator,
.header_navi > ul > li.menu-item-has-children.is-open > button.header_menu_button .indicator,
.header_navi > ul > li.menu-item-has-children > button.header_menu_button[aria-expanded="true"] .indicator {
  transform: rotate(180deg);
}
.header_subnavi_shell {
  display: block;
  width: 100%;
  margin: 0;
}
.header_navi > ul > li > ul .header_subnavi {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 30px;
  width: 90%;
  max-width: 1240px;
  text-align: left;
  padding: 18px 0 26px;
  margin: 0 auto;
  color: var(--c-dark);
}
.header_navi > ul > li > ul .header_subnavi_column {
  flex: 1;
}
.header_subnavi_parent {
  display: block;
  text-decoration: none;
}
.header_navi > ul > li > ul .header_subnavi a,
.header_navi > ul > li > ul .header_subnavi_parent {
  color: inherit;
}
.header_navi .header_subnavi_column li {
  display: block;
  padding: 0;
}
.header_navi .header_subnavi_column > a,
.header_navi .header_subnavi_column > .header_subnavi_parent,
.header_navi .header_subnavi_column li a {
  padding: 20px 0;
}
.header_navi .header_subnavi_column li.menu-item-has-children > a,
.header_navi .header_subnavi_row li.menu-item-has-children > a {
  display: block;
  padding: 15px 0 8px;
}
.header_navi .header_subnavi_column li.menu-item-has-children > ul,
.header_navi .header_subnavi_row li.menu-item-has-children > ul {
  padding-top: 8px;
}
.header_navi .header_subnavi_column > a strong,
.header_navi .header_subnavi_column > .header_subnavi_parent strong,
.header_navi .header_subnavi_column li a strong,
.header_navi .header_subnavi_parent strong,
.header_navi .header_subnavi_row li a strong {
  display: block;
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  padding: 0 0 3px 0;
  margin: 0;
}
.header_navi .header_subnavi_column > a:hover strong,
.header_navi .header_subnavi_column > a:focus strong,
.header_navi .header_subnavi_column li a:hover strong,
.header_navi .header_subnavi_row li a:hover strong,
.header_navi .header_subnavi_column li a:focus strong,
.header_navi .header_subnavi_row li a:focus strong {
  text-decoration: underline;
}
.header_navi .header_subnavi_column > a span,
.header_navi .header_subnavi_column > .header_subnavi_parent span,
.header_navi .header_subnavi_column li a span,
.header_navi .header_subnavi_parent span,
.header_navi .header_subnavi_row li a span {
  display: block;
  font-size: 14px;
  line-height: 140%;
  font-weight: 400;
  margin: 0 0 5px 0;
}
/* Levels 3+4 */
.header_navi .header_subnavi_column > ul > li,
.header_navi .header_subnavi_column li ul li,
.header_navi .header_subnavi_row li ul li {
  display: block;
  background-image: none;
  padding: 0;
  margin: 0;
}
.header_navi .header_subnavi_column li ul li a,
.header_navi .header_subnavi_row li ul li a {
  position: relative;
  font-size: 16px;
  font-weight: 400;
  text-align: left;
  border: 0;
  padding: 15px 0 15px 0;
  margin: 0;
}
/* Level 3 */
.header_subnavi_column > ul > li > a,
.header_subnavi_column > li > ul > li > a,
.header_subnavi_row > .tab_panel > ul > li > a {
  font-weight: 400;
  text-transform: uppercase;
}

/* Tabbed dropdown */
.header_subnavi_row {
  flex: 0 0 100%;
}
.header_subnavi_tab {
  display: none;
  position: relative;
  color: var(--c-dark);
  border-bottom: 1px solid var(--c-primary-divider);
  padding: 20px 10px;
  cursor: pointer;
}
.header_subnavi_row:last-of-type .header_subnavi_tab {
  border-color: transparent;
}
.header_subnavi_tab .indicator {
  position: absolute;
  top: 30px;
  right: 3%;
  display: inline-block;
  width: 17px;
  height: 17px;
  background: var(--c-dark);
  -webkit-mask: url(images/chevron-down-white.svg) 50% 50% no-repeat;
  mask: url(images/chevron-down-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  margin: -5px 0 0 0;
  transition: all 0.3s;
  z-index: 101;
  cursor: pointer;
}
.header_subnavi_tab:hover,
.header_subnavi_tab:focus {
  text-decoration: underline;
}
.header_subnavi_tab.tab_on {
  border-color: transparent;
  cursor: default;
}
.header_subnavi_tab.tab_on:hover,
.header_subnavi_tab.tab_on:focus {
  text-decoration: none;
}
.header_subnavi_tab.tab_on .indicator {
  opacity: 0;
  cursor: default;
}
.header_subnavi_row > .tab_panel {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  padding: 0 0 20px 0;
  margin: 0;
}
.header_subnavi_row:last-of-type > .tab_panel {
  border-color: transparent;
}
.header_subnavi_row > .tab_panel > .header_subnavi_parent {
  flex: 0 0 calc((100% - 30px) * 0.3333);
  box-sizing: border-box;
  padding: 10px 15px;
}
.header_subnavi_row > .tab_panel > ul {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  gap: 30px;
  width: auto;
}
.header_navi .header_subnavi_row li ul li {
  flex: 1;
  min-width: 0;
}
.header_navi .header_subnavi_row > .tab_panel > .header_subnavi_parent > strong {
  font-size: 26px;
  padding: 0 0 15px 0;
}
.header_navi .header_subnavi_row > .tab_panel > .header_subnavi_parent > span {
  font-size: 16px;
  line-height: 140%;
}
.header_navi .header_subnavi_row .tab_panel > ul > li > a > strong {
  font-weight: 400;
  font-size: 16px;
}

/* Desktop menu for tabbed dropdown */
.header_tabnavi {
  display: flex;
  align-items: stretch;
  gap: 0;
  text-align: center;
  padding: 18px 0 0;
  border-bottom: 1px solid var(--c-primary-divider);
  margin: 0 0 24px;
}
.header_tabnavi_tab {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-width: 0;
  min-height: 72px;
  box-sizing: border-box;
  color: var(--c-dark);
  font-weight: 700;
  border: 0;
  background: transparent;
  padding: 14px 18px 22px;
  margin: 0;
  cursor: pointer;
  position: relative;
  transition:
    color var(--t-fast),
    opacity var(--t-fast);
}
.header_tabnavi_tab::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  background: var(--c-primary);
  opacity: 0;
  transform: scaleX(0.75);
  transform-origin: center;
  transition:
    opacity var(--t-fast),
    transform var(--t-fast);
}
.header_tabnavi_tab:hover,
.header_tabnavi_tab:focus {
  color: var(--c-primary);
  text-decoration: none;
}
.header_tabnavi_tab.tab_on {
  color: var(--c-primary);
  cursor: default;
}
.header_tabnavi_tab.tab_on::after {
  opacity: 1;
  transform: scaleX(1);
}
.header_tabnavi_tab .indicator {
  flex: 0 0 12px;
  display: inline-block;
  width: 12px;
  height: 12px;
  background: currentColor;
  -webkit-mask: url(images/chevron-down-white.svg) 50% 50% no-repeat;
  mask: url(images/chevron-down-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: transform var(--t-fast);
}
.header_tabnavi_tab.tab_on .indicator,
.header_tabnavi_tab[aria-expanded="true"] .indicator {
  transform: rotate(180deg);
}
.header_tab_label {
  min-width: 0;
}
.header_menu_icon {
  flex: 0 0 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
}
.header_menu_icon_img {
  display: block;
  max-width: 34px;
  max-height: 34px;
  object-fit: contain;
}

/* Dropdown containing a featured article */
.header_navi > ul > li > ul .header_subnavi.has_featured_article {
  flex-wrap: nowrap;
}
.header_navi > ul > li > ul .header_subnavi_group {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}
.header_navi > ul > li > ul .header_subnavi_group > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.header_navi > ul > li > ul .header_subnavi_group > ul > .header_subnavi_column {
  flex: 1 1 0;
  min-width: 180px;
}
.header_navi .header_subnavi_featured {
  box-sizing: border-box;
  padding-left: var(--space-lg);
  border-left: 1px solid var(--c-primary-divider);
}
.header_navi > ul > li > ul .header_subnavi.has_featured_article > .header_subnavi_featured {
  flex: 0 0 340px;
  max-width: 340px;
  min-width: 0;
  margin-left: auto;
}
.header_subnavi_row > .tab_panel > ul > .header_subnavi_featured--tab {
  flex: 0 0 340px;
  max-width: 340px;
  min-width: 0;
  margin-left: auto;
}
.header_subnavi_row > .tab_panel > ul > li:not(.header_subnavi_featured--tab) {
  flex: 1 1 220px;
  min-width: 0;
}
.dropdown_article {
  height: 100%;
  color: var(--c-text-inverse);
  padding: 8px 0;
}
.dropdown_article__card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  box-sizing: border-box;
  overflow: hidden;
  color: var(--c-text-inverse);
  text-decoration: none;
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 255, 255, 0.18), transparent 34%),
    linear-gradient(145deg, var(--c-primary) 0%, #42106b 100%);
  box-shadow: 0 16px 36px rgba(89, 23, 138, 0.2);
  padding: 18px;
}
.header_navi .header_subnavi_featured .dropdown_article__card {
  display: flex;
  color: var(--c-text-inverse);
  padding: 18px;
  margin: 0;
}
.dropdown_article__card::after {
  content: "";
  position: absolute;
  right: -36px;
  bottom: -36px;
  width: 124px;
  height: 124px;
  border: 2px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius-md);
  transform: rotate(6deg);
  pointer-events: none;
}
.header_navi .header_subnavi_featured .dropdown_article__card::after {
  content: "";
  position: absolute;
  top: auto;
  right: -36px;
  bottom: -36px;
  width: 124px;
  height: 124px;
  background: none;
  border: 2px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius-md);
  opacity: 1;
  transform: rotate(6deg);
  -webkit-mask: none;
  mask: none;
}
.dropdown_article__card:hover,
.dropdown_article__card:focus {
  color: var(--c-text-inverse);
  text-decoration: none;
}
.dropdown_article__card:hover .dropdown_article__heading,
.dropdown_article__card:focus .dropdown_article__heading {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.dropdown_article__label {
  position: relative;
  z-index: 1;
  align-self: flex-start;
  color: var(--c-primary);
  background: var(--c-white);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 8px 10px;
  margin-bottom: 14px;
}
.header_navi .header_subnavi_featured .dropdown_article__label {
  display: inline-flex;
  color: var(--c-primary);
  background: var(--c-white);
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 14px;
}
.dropdown_article__media {
  position: relative;
  z-index: 1;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: rgba(255, 255, 255, 0.14);
  border-radius: calc(var(--radius-lg) - 4px);
  margin: 0 0 16px;
}
.dropdown_article__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dropdown_article__heading {
  position: relative;
  z-index: 1;
  display: block;
  color: inherit;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 800;
  margin: 0;
}
.header_navi .header_subnavi_featured .dropdown_article__heading {
  color: inherit;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 800;
  padding: 0;
  margin: 0;
}
.dropdown_article__text {
  position: relative;
  z-index: 1;
  display: block;
  color: var(--c-white-soft);
  font-size: 14px;
  line-height: 1.45;
  margin: 10px 0 0;
}
.header_navi .header_subnavi_featured .dropdown_article__text {
  display: block;
  color: var(--c-white-soft);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 400;
  margin: 10px 0 0;
}
.dropdown_article__cta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  color: var(--c-text-inverse);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  margin-top: 18px;
}
.header_navi .header_subnavi_featured .dropdown_article__cta {
  display: inline-flex;
  color: var(--c-text-inverse);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
  margin: 18px 0 0;
}
.dropdown_article__cta i {
  display: block;
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: url(images/arrow-forward-white.svg) 50% 50% no-repeat;
  mask: url(images/arrow-forward-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: transform var(--t-fast);
}
.dropdown_article__card:hover .dropdown_article__cta i,
.dropdown_article__card:focus .dropdown_article__cta i {
  transform: translateX(3px);
}
.dropdown_article p {
  line-height: 140%;
  margin: 0;
}
.dropdown_article p.dropdown_article_title,
.dropdown_article > a > p {
  color: inherit;
}
.header_subnavi_row .dropdown_article {
  padding-top: 8px;
}
.header_subnavi_row .header_subnavi_featured--tab .dropdown_article {
  padding-top: 0;
}
@media screen and (min-width: 1024px) {
  .header_navi a[href="#"] {
    pointer-events: none;
  }
}
@media screen and (max-width: 1023px) {
  .header_navi ul {
    text-align: left;
  }
  .header_navi li {
    display: block;
    margin: 0;
  }
  .header_navi li a,
  .header_navi li button.header_menu_button {
    font-size: 22px;
  }
  .header_navi > ul > li {
    border-bottom: 1px solid var(--c-primary-divider);
  }
  .header_navi > ul > li > a,
  .header_navi > ul > li > button.header_menu_button {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    text-align: left;
    color: var(--c-dark);
    padding: 24px 0;
  }
  .header_navi > ul > li.menu-item-has-children > a,
  .header_navi > ul > li.menu-item-has-children > button.header_menu_button {
    padding-right: 48px;
  }
  .header_navi > ul > li:hover > a,
  .header_navi > ul > li > a:focus,
  .header_navi > ul > li:hover > button.header_menu_button,
  .header_navi > ul > li > button.header_menu_button:focus {
    text-decoration: none;
  }
  .header_navi > ul > li.menu-item-has-children > a .indicator,
  .header_navi > ul > li.menu-item-has-children > button.header_menu_button .indicator {
    position: absolute;
    top: 50%;
    right: 0;
    width: 22px;
    height: 22px;
    border: 0;
    border-radius: 0;
    background: var(--c-primary);
    -webkit-mask: url(images/chevron-down-white.svg) 50% 50% no-repeat;
    mask: url(images/chevron-down-white.svg) 50% 50% no-repeat;
    -webkit-mask-size: 20px 10px;
    mask-size: 20px 10px;
    margin: 0;
    transform: translateY(-50%);
    transition: all 0.3s;
    z-index: 101;
    cursor: pointer;
  }
  .header_navi li .indicator.on {
    transform: rotate(180deg);
  }
  .header_navi > ul > li.menu-item-has-children > a .indicator.on,
  .header_navi > ul > li.menu-item-has-children > button.header_menu_button .indicator.on {
    transform: translateY(-50%) rotate(180deg);
  }
  .header_navi > ul > li > ul {
    opacity: 1;
    visibility: visible;
    position: relative;
    top: auto !important;
    left: auto;
    width: auto;
    box-shadow: none;
    border: 0;
    background: transparent;
    pointer-events: auto;
    transform: none;
    transition: none;
    will-change: auto;
  }
  .header_navi > ul > li > ul .header_subnavi {
    display: none;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding: 0 0 28px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--c-dark);
    box-shadow: none;
    margin: 0;
  }
  .header_navi > ul > li > ul .header_subnavi.has_tabs {
    padding-top: 0;
    padding-bottom: 0;
  }
  .header_navi > ul > li > ul .header_subnavi.has_featured_article {
    flex-wrap: wrap;
  }
  .header_navi > ul > li > ul .header_subnavi_group,
  .header_navi > ul > li > ul .header_subnavi.has_featured_article > .header_subnavi_column {
    flex: 0 0 100%;
    max-width: none;
  }
  .header_navi > ul > li > ul .header_subnavi.has_featured_article > .header_subnavi_featured {
    margin-left: 0;
  }
  .header_subnavi_row > .tab_panel > ul > .header_subnavi_featured--tab {
    flex: 0 0 100%;
    max-width: none;
    margin-left: 0;
  }
  .header_navi .header_subnavi_featured {
    padding-left: 0;
    border-left: 0;
    margin-top: 12px;
  }
  .header_navi > ul > li > ul .header_subnavi_group > ul {
    display: block;
  }
  .header_navi .header_subnavi_column > ul,
  .header_navi .header_subnavi_column > li > ul {
    padding: 25px 0 !important;
  }
  .header_navi .header_subnavi_column li ul li ul {
    height: auto;
    overflow-y: visible;
    border: 0;
    padding: 5px 0;
    margin: -5px 0 0 0;
  }
  .header_navi .header_subnavi_column > a,
  .header_navi .header_subnavi_column > .header_subnavi_parent,
  .header_navi .header_subnavi_column li a {
    display: block;
    position: relative;
    color: var(--c-dark);
    padding: 12px 38px 12px 0;
  }
  .header_navi .header_subnavi_column li.menu-item-has-children > a,
  .header_navi .header_subnavi_row li.menu-item-has-children > a {
    padding: 12px 0;
  }
  .header_navi .header_subnavi_column > a strong,
  .header_navi .header_subnavi_column > .header_subnavi_parent strong,
  .header_navi .header_subnavi_column li a strong,
  .header_navi .header_subnavi_parent strong,
  .header_navi .header_subnavi_row li a strong {
    line-height: 1.45;
    padding-bottom: 6px;
  }
  .header_navi .header_subnavi_column > a span,
  .header_navi .header_subnavi_column > .header_subnavi_parent span,
  .header_navi .header_subnavi_column li a span,
  .header_navi .header_subnavi_parent span,
  .header_navi .header_subnavi_row li a span {
    line-height: 1.55;
    margin-bottom: 8px;
  }
  .header_navi .header_subnavi_column li ul li a,
  .header_navi .header_subnavi_row li ul li a {
    line-height: 1.45;
  }
  .header_navi .header_subnavi_column > a::after,
  .header_navi .header_subnavi_column li a::after,
  .header_navi .header_subnavi_row li ul li a::after {
    content: "";
    position: absolute;
    top: 22px;
    right: 2px;
    width: 15px;
    height: 15px;
    background: var(--c-primary);
    -webkit-mask: url(images/arrow-forward-white.svg) 50% 50% no-repeat;
    mask: url(images/arrow-forward-white.svg) 50% 50% no-repeat;
    -webkit-mask-size: 15px 15px;
    mask-size: 15px 15px;
    opacity: 0.72;
  }
  .header_navi .header_subnavi_featured .dropdown_article__card::after {
    top: auto;
    right: -36px;
    bottom: -36px;
    width: 124px;
    height: 124px;
    background: none;
    border: 2px solid rgba(255, 255, 255, 0.16);
    opacity: 1;
    transform: rotate(6deg);
    -webkit-mask: none;
    mask: none;
  }
  .header_navi .header_subnavi_column li.menu-item-has-children > a::after,
  .header_navi .header_subnavi_row li.menu-item-has-children > a::after {
    content: none;
  }
  .header_navi .header_subnavi_row li.menu-item-has-children > a,
  .header_navi .header_subnavi_column li.menu-item-has-children > a {
    padding-right: 0;
    color: var(--c-text-muted);
  }
  .header_navi .header_subnavi_row li.menu-item-has-children > a:not([href="#"])::before,
  .header_navi .header_subnavi_column li.menu-item-has-children > a:not([href="#"])::before {
    content: "Overview";
    position: absolute;
    top: 14px;
    right: 0;
    color: var(--c-primary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-decoration: underline;
    text-transform: none;
    text-underline-offset: 3px;
  }
  .header_navi .header_subnavi_row li.menu-item-has-children > a strong,
  .header_navi .header_subnavi_column li.menu-item-has-children > a strong {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }
  .header_subnavi_row > .tab_panel {
    display: block;
    padding: 20px 24px 24px;
    border-top: 1px solid var(--c-primary-divider);
    background: var(--c-surface);
  }
  .header_subnavi_row {
    overflow: hidden;
    border: 1px solid var(--c-primary-border);
    border-radius: 18px;
    background: var(--c-surface);
    box-shadow: 0 8px 20px rgba(15, 20, 33, 0.05);
    margin-bottom: 10px;
  }
  .header_subnavi_row:last-of-type {
    margin-bottom: 0;
  }
  .header_subnavi_row > .tab_panel > ul {
    display: block;
  }
  .header_subnavi_row > .tab_panel > .header_subnavi_parent {
    display: block;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--c-primary-divider);
    margin: 0 0 8px;
  }
  .header_navi .header_subnavi_row > .tab_panel > .header_subnavi_parent > strong {
    display: none;
  }
  .header_navi .header_subnavi_row > .tab_panel > .header_subnavi_parent > span {
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 0;
  }
  .header_subnavi_row > .tab_panel > a.header_subnavi_parent::after {
    content: "View overview";
    display: inline-block;
    color: var(--c-primary);
    font-size: 14px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    margin-top: 10px;
  }
  .header_navi .header_subnavi_row li ul li a {
    padding: 10px 34px 10px 8px;
  }
  .header_tabnavi {
    display: none;
  }
  .header_subnavi_tab {
    display: flex;
    align-items: center;
    min-height: 64px;
    box-sizing: border-box;
    border-bottom: 0;
    color: var(--c-dark);
    padding: 16px 58px 16px 24px;
    font-weight: 700;
  }
  .header_subnavi_tab .indicator {
    top: 50%;
    right: 18px;
    background: var(--c-primary);
    margin-top: -8px;
    opacity: 1;
  }
  .header_subnavi_tab.tab_on {
    background: var(--c-primary-tint);
    color: var(--c-primary);
    cursor: pointer;
  }
  .header_subnavi_tab.tab_on .indicator {
    opacity: 1;
    transform: rotate(180deg);
    cursor: pointer;
  }
  .header_subnavi_row .dropdown_article {
    padding: 14px 0 0;
  }
  .header_navi .header_subnavi_featured .dropdown_article__card {
    border-radius: var(--radius-lg);
    padding: 16px;
  }
  .header_navi .header_subnavi_featured .dropdown_article__heading {
    font-size: 18px;
  }
  .header_navi .header_subnavi_featured .dropdown_article__text {
    font-size: 14px;
  }
}

/* Post grid listings
....................................................................... */
.post {
  display: flex;
  flex-direction: column;
  flex: 1;
  box-sizing: border-box;
  background: var(--c-surface);
}
.post figure {
  margin: 0;
  overflow: hidden;
}
.post figure a {
  display: block;
  text-align: center;
}
.post figure a img {
  display: block;
  max-width: 100%;
  height: auto;
}
.post .text {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.post .meta {
  font-size: 0.8em;
  margin: 0 0 15px 0;
}
.post_full .meta {
  margin: 0 0 15px 0;
}
.meta a,
.meta .type-label {
  display: inline-block;
  vertical-align: middle;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 600;
  background: var(--c-border-soft);
  border-radius: 20px;
  padding: 5px 15px;
  margin: 0 15px 0 0;
  color: var(--c-dark);
}
.meta a:hover,
.meta a:focus {
  text-decoration: underline;
}
.meta .date,
.meta .author {
  color: var(--c-text-muted);
}
.meta .author strong {
  text-transform: capitalize;
}
.meta .divider {
  display: inline-block;
  color: var(--c-text-muted);
  padding: 0 5px;
}
.post h4 a {
  text-decoration: none;
}
[class*="bg-"][class*="-color"] .post h4 a,
[class*="bg-"][class*="-color"] .meta a {
  color: var(--c-text);
}
.post h4 a:hover,
.post h4 a:focus {
  text-decoration: underline;
}
.post .post_foot {
  display: flex;
  align-items: center;
  gap: 15px;
  align-self: flex-end;
  width: 100%;
  margin-top: auto;
}
.post .post_foot .read_time {
  font-size: 0.85em;
  line-height: 1.2em;
  color: var(--c-text-muted);
}
.post .post_foot a.cta {
  flex: 0 0 auto;
  margin: 0 0 0 auto;
}
.post-grid {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--gap-col);
  row-gap: clamp(24px, 3vw, 44px);
}
.post-grid .post,
.postcarousel-block .post {
  overflow: hidden;
  border: 1px solid var(--c-primary-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-resource-card);
  transition:
    transform var(--t-fast),
    box-shadow var(--t-fast),
    border-color var(--t-fast);
}
.post-grid .post {
  flex: 0 0 calc(33.333% - 2.333%);
}
.post-grid .post:hover,
.post-grid .post:focus-within,
.postcarousel-block .post:hover,
.postcarousel-block .post:focus-within {
  border-color: var(--c-primary-border-strong);
  box-shadow: var(--shadow-resource-card-hover);
  transform: translateY(-3px);
}
.post-grid .post figure,
.postcarousel-block .post figure {
  border-radius: 0;
  background: var(--c-surface-muted);
}
.post-grid .post figure a,
.postcarousel-block .post figure a {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 10;
  box-sizing: border-box;
  background: linear-gradient(135deg, var(--c-surface) 0%, var(--c-surface-muted) 100%);
}
.post-grid .post figure a img,
.postcarousel-block .post figure a img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  object-fit: cover;
}
.post-grid .post .text,
.postcarousel-block .post .text {
  padding: 24px;
}
.post-grid .post h4,
.postcarousel-block .post h4 {
  margin: 0 0 var(--space-md) 0;
}
.post-grid .post .post_foot,
.postcarousel-block .post .post_foot {
  padding-top: var(--space-md);
  border-top: 1px solid var(--c-primary-divider);
}
@media screen and (max-width: 1023px) {
  .post-grid .post {
    flex: 0 0 calc(50% - 1.75%);
  }
}
@media screen and (max-width: 767px) {
  .post-grid .post {
    flex: 0 0 100% !important;
  }
}

/* Resource archive listings
....................................................................... */
.archive-listing {
  padding-bottom: var(--space-xl);
}
.archive-listing__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-lg);
  padding: var(--space-xl) 0 var(--space-lg) 0;
}
.archive-listing__heading.page_heading {
  text-align: left;
  padding: 0;
}
.archive-listing__eyebrow {
  color: var(--c-primary);
  font-weight: 700;
  margin: 0 0 var(--space-xs) 0;
}
.archive-listing__filters.post-filters {
  flex: 0 1 360px;
  padding: 0;
  margin: 0 0 8px auto;
}
.archive-listing__filters .post-search {
  flex: 1 1 auto;
  margin: 0;
}
.archive-listing__filters .post-search .facetwp-input-wrap {
  display: block;
}
.archive-listing__filters--solo.post-filters {
  justify-content: flex-end;
  padding: var(--space-lg) 0;
}
.archive-empty {
  max-width: 680px;
  margin: var(--space-lg) auto;
  padding: var(--space-lg);
  text-align: center;
  background: var(--c-surface-muted);
  border: 1px solid var(--c-primary-border-subtle);
  border-radius: var(--radius-lg);
}
.archive-empty h2 {
  margin: 0 0 var(--space-xs) 0;
}
.archive-empty p {
  margin: 0 0 var(--space-md) 0;
}
.archive-empty p:last-child {
  margin-bottom: 0;
}
/* Blog index
....................................................................... */
.post-filters {
  display: flex;
  gap: 20px;
  padding: 60px 0 40px 0;
  margin: 0;
}
.page_heading + .post-filters {
  padding-top: 0;
}
.post-filter {
  flex: 0 0 150px;
}
.post-search {
  flex: 0 1 auto;
  margin: 0 0 0 auto;
}
.post-search .facetwp-icon {
  opacity: 0.75;
}
.post-search .facetwp-icon:hover,
.post-search .facetwp-icon:focus {
  opacity: 1;
}
.post-search .facetwp-icon:before {
  background-image: url("images/search.svg");
}
.post-filters .facetwp-facet,
.post-filters select {
  margin-bottom: 0;
}
.facetwp-type-pager {
  text-align: center;
}
.facetwp-type-pager button {
  color: var(--c-primary);
  background: var(--c-surface);
  border: 2px solid var(--c-primary);
}
.facetwp-template .post-grid {
  margin: 0 0 30px 0;
}
@media screen and (max-width: 767px) {
  .post-filters {
    flex-wrap: wrap;
  }
  .post-filter {
    flex: 0 0 calc(50% - 10px);
  }
  .post-search {
    flex: 0 0 100%;
  }
  .post-search .facetwp-input-wrap {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .archive-listing__header {
    display: block;
    padding: var(--space-lg) 0;
  }
  .archive-listing__filters.post-filters {
    margin: var(--space-md) 0 0 0;
  }
  .post-grid .post .text {
    padding: 20px;
  }
}

/* Single post layout
....................................................................... */
body.single .post_full .block,
body.single
  .post_full
  :is(
    .text-block,
    .media-block,
    .form-block,
    .textmedia-block,
    .accordion-block,
    .table-block,
    .iconlist-block,
    .cardgrid-block,
    .cardcarousel-block,
    .logocarousel-block,
    .testimonials-block,
    .postcarousel-block
  ) {
  padding-top: calc(var(--space-xl) * 0.75);
  padding-bottom: calc(var(--space-xl) * 0.75);
}
body.single .post_full .block:first-child {
  padding-top: 0;
}
body.single .post_full .block:not(.bg-ffffff-color) {
  padding-left: var(--space-md);
  padding-right: var(--space-md);
}
body.single .post_full .singleintro-block {
  padding-top: 0;
  padding-bottom: var(--space-lg);
  overflow: visible;
}
body.single .sticky-container .span,
body.single .post_full,
body.single .post_full .block,
body.single .post_full .center,
body.single .post_full .row,
body.single .post_full [class*="span"] {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
body.single .post_full {
  overflow-wrap: anywhere;
}
body.single .post_full .singleintro-block .center {
  width: 100%;
}
body.single .post_full .singleintro-block .row {
  overflow: visible;
}
body.single .post_full .singleintro-block [class*="span"] {
  overflow: visible;
}
body.single .post_full .singleintro-block .span12 {
  margin-bottom: 0;
}
body.single .post_full .singleintro-block h1 {
  padding-bottom: 0.08em;
  margin-bottom: -0.08em;
}
body.single .post_full .block[id] {
  scroll-margin-top: calc(var(--header-h) + var(--space-md));
}
body.single .post_full :is(.logocarousel-block .swiper-logos, .accordion-block .accordion-intro + .accordion-list) {
  margin-top: 0;
  padding-top: var(--space-lg);
}
body.single .post_full :is(.cardcarousel-block .swiper-cards-inner, .postcarousel-block .swiper-posts-inner) {
  margin-left: var(--space-lg);
  margin-right: var(--space-lg);
}
@media screen and (max-width: 767px) {
  body.single .post_full .block,
  body.single .post_full .singleintro-block,
  body.single
    .post_full
    :is(
      .text-block,
      .media-block,
      .form-block,
      .textmedia-block,
      .accordion-block,
      .table-block,
      .iconlist-block,
      .cardgrid-block,
      .cardcarousel-block,
      .logocarousel-block,
      .testimonials-block,
      .postcarousel-block
    ) {
    padding-top: var(--space-lg);
    padding-bottom: var(--space-lg);
  }
  body.single .post_full :is(.logocarousel-block .swiper-logos, .accordion-block .accordion-intro + .accordion-list) {
    padding-top: var(--space-md);
  }
  body.single .post_full :is(.cardcarousel-block .swiper-cards-inner, .postcarousel-block .swiper-posts-inner) {
    margin-left: 0;
    margin-right: 0;
  }
  body.single .post_full .block:first-child,
  body.single .post_full .singleintro-block:first-child {
    padding-top: 0;
  }
  body.single .sticky-container > .row {
    flex-direction: column-reverse;
  }
  body.single .sticky-container :is(aside, section, .span4, .span8) {
    flex-basis: 100%;
    width: 100%;
    margin-right: 0;
  }
  body.single .post_full {
    width: 100%;
  }
  body.single .sticky-element {
    display: none;
  }
}

/* Case study layout
....................................................................... */
body.single-case_study .case-study-single__article > .block,
body.single-case_study .case-study-single__content > .block {
  padding-left: 0;
  padding-right: 0;
}
.case-study-single__article > .block[id],
.case-study-single__content > .block[id] {
  scroll-margin-top: calc(var(--header-h) + 84px);
}
.case-study-single__jump-nav {
  position: sticky;
  top: var(--header-h);
  z-index: 20;
  color: var(--c-dark);
  background: var(--c-surface);
  border-bottom: 1px solid var(--c-primary-divider);
  box-shadow: 0 8px 22px rgba(15, 20, 33, 0.06);
}
.case-study-single__jump-nav-inner {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: var(--space-lg);
}
.case-study-single__jump-nav-label {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 72px;
  color: var(--c-primary);
  font-size: 1.0625rem;
  font-weight: 700;
  white-space: nowrap;
}
.case-study-single__jump-nav ul {
  display: flex;
  align-items: stretch;
  gap: var(--space-lg);
  min-height: 72px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: thin;
}
.case-study-single__jump-nav li {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  list-style: none;
}
.case-study-single__jump-nav li::before {
  content: none;
  display: none;
}
.case-study-single__jump-nav a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 72px;
  color: inherit;
  font-size: 1.0625rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.case-study-single__jump-nav a::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  content: "";
  background: var(--c-primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t-fast);
}
.case-study-single__jump-nav a:hover::after,
.case-study-single__jump-nav a:focus-visible::after {
  transform: scaleX(1);
}
.case-study-single__content :is(.text-block, .textmedia-block) blockquote {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: start;
  column-gap: var(--space-md);
  padding: var(--space-lg) calc(var(--space-lg) + var(--space-sm));
  border: 0;
  border-radius: var(--radius-md);
  background: var(--c-surface);
  box-shadow: none;
  font-size: 1.0625rem;
  line-height: 1.55;
}
.case-study-single__content :is(.text-block, .textmedia-block) blockquote::before {
  display: block;
  margin: 0;
  color: var(--c-primary);
  content: "\201C";
  font-family: Georgia, serif;
  font-size: 3.75rem;
  font-weight: 700;
  line-height: 0.8;
  opacity: 0.85;
  text-align: left;
}
.case-study-single__content :is(.text-block, .textmedia-block) blockquote > * {
  grid-column: 2;
}
.case-study-single__legacy {
  padding-top: var(--block-padding-y);
  padding-bottom: var(--block-padding-y);
}
.case-study-single__legacy-content {
  max-width: 900px;
}
.case-study-single__legacy-content > *:last-child {
  margin-bottom: 0;
}
.case-study-single__legacy-content :is(h2, h3, h4) {
  margin-top: var(--space-lg);
}
.case-study-single__legacy-content :is(img, video, iframe) {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .case-study-single__article > .block[id],
  .case-study-single__content > .block[id] {
    scroll-margin-top: calc(var(--header-h) + 88px);
  }
  .case-study-single__jump-nav-inner {
    display: block;
    padding-top: var(--space-sm);
  }
  .case-study-single__jump-nav-label {
    justify-content: center;
    min-height: 0;
    font-size: 1rem;
  }
  .case-study-single__jump-nav ul {
    justify-content: flex-start;
    gap: var(--space-md);
    min-height: 54px;
  }
  .case-study-single__jump-nav a {
    min-height: 54px;
    font-size: 1rem;
  }
  .case-study-single__content :is(.text-block, .textmedia-block) blockquote {
    grid-template-columns: 2rem minmax(0, 1fr);
    column-gap: var(--space-sm);
    padding: var(--space-md);
    font-size: 1rem;
  }
  .case-study-single__content :is(.text-block, .textmedia-block) blockquote::before {
    font-size: 3rem;
  }
  .case-study-single__legacy {
    padding-top: var(--block-padding-y-mobile);
    padding-bottom: var(--block-padding-y-mobile);
  }
}

/* Single post breadcrumb
....................................................................... */
.post_breadcrumb {
  padding: var(--space-lg) 0;
}
.post_breadcrumb a.cta {
  display: inline-flex;
  align-items: center;
}

/* Single post sidebar
....................................................................... */
.author-info {
  display: flex;
  align-items: center;
  margin: 0 0 30px 0;
}
.author-info figure {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  margin: 0 15px 0 0;
}
.author-info figure img {
  display: block;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
}
.author-info h6 {
  font-weight: 600;
  text-transform: capitalize;
  margin: 0;
}
.post_search {
  position: relative;
  margin: 0 0 30px 0;
}
.page_heading .post_search {
  max-width: 600px;
  margin: 30px auto 0 auto;
}
.post_search form {
  margin: 0;
}
.post_search input {
  margin: 0;
}
.post_search button.searchsubmit {
  position: absolute;
  top: 0;
  right: 0;
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent url(images/search.svg) 50% 50% no-repeat;
  background-size: 20px auto;
  opacity: 0.75;
  padding: 0 !important;
  margin: 0;
  cursor: pointer;
}
.post_search button.searchsubmit:hover,
.post_search button.searchsubmit:focus {
  opacity: 1;
}
.post_search .searchsubmit span {
  position: absolute;
  top: -9999px;
  left: -9999px;
}
.post_menu {
  padding: 22px;
  background: var(--c-surface-muted);
  border: 1px solid var(--c-primary-border-subtle);
  border-radius: var(--radius-lg);
}
.post_menu:not(:last-child) {
  margin: 0 0 var(--space-md) 0;
}
.post_menu h3 {
  font-size: 1.4rem;
  line-height: 1.15;
  margin: 0 0 var(--space-sm) 0;
}
.post_menu ul,
.post_menu ol {
  padding: 0;
  margin: 0;
}
.post_menu ul li,
.post_menu ol li {
  line-height: 1.45;
  padding: 0;
  margin: 0 0 12px 0;
}
.post_menu ul li:last-child,
.post_menu ol li:last-child {
  margin: 0;
}
.post_menu ul li:before {
  display: none;
}
.post_menu ol li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.post_menu li a {
  display: inline-block;
  color: var(--c-primary);
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}
.post_menu li a:hover {
  text-decoration: underline;
}
.post_menu ol li:before {
  flex: 0 0 auto;
  width: auto;
  color: var(--c-primary);
  margin: 0;
}
@media screen and (min-width: 768px) {
  .sticky-container {
    position: relative;
  }
  .sticky-element.stickytop {
    position: fixed;
    top: 90px;
    width: 27.5%;
    max-width: 383px;
  }
  .sticky-element.stickybottom {
    position: absolute;
    top: auto;
    bottom: 0;
    width: 27.5%;
    max-width: 383px;
  }
}
@media screen and (max-width: 767px) {
  .post_breadcrumb {
    padding: var(--space-md) 0;
  }
  .post_menu:not(:last-child) {
    margin: 0 0 var(--space-md) 0;
  }
}

/* Default page heading for archives etc.
....................................................................... */
.page_heading {
  text-align: center;
  padding: 60px 0;
}
.page_heading h1 {
  margin: 0;
}

.error404-page {
  padding: var(--space-xl) 0;
}
.error404-page__content {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.error404-page__content h1 {
  margin: 0 0 var(--space-md) 0;
}
.error404-page__content > p {
  margin: 0 auto var(--space-md) auto;
}
.error404-page__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
}

/* CTA banner
....................................................................... */
.ctabanner-block {
  position: relative;
  padding: 90px 0;
  overflow: visible;
}
.block.ctabanner-block:not(.fullwidth) + .block.ctabanner-block.has-image-overlap-effect:not(.fullwidth) {
  padding: 90px 0 !important;
}
.block.ctabanner-block:not(.fullwidth) + .block.ctabanner-block:not(.fullwidth).has-padding-top-none {
  padding-top: 0 !important;
}
.block.ctabanner-block:not(.fullwidth) + .block.ctabanner-block:not(.fullwidth).has-padding-bottom-none {
  padding-bottom: 0 !important;
}
.block.ctabanner-block:not(.fullwidth) + .block.ctabanner-block:not(.fullwidth).has-padding-top-compact {
  padding-top: var(--space-lg) !important;
}
.block.ctabanner-block:not(.fullwidth) + .block.ctabanner-block:not(.fullwidth).has-padding-bottom-compact {
  padding-bottom: var(--space-lg) !important;
}
.ctabanner-block .center {
  position: relative;
  z-index: 1;
}
.ctabanner-block .row {
  overflow: visible;
  align-items: center;
}
.ctabanner-block .span {
  overflow: visible;
}
.ctabanner-block__media {
  position: relative;
  z-index: 2;
  text-align: center;
}
.ctabanner-block__image-wrap {
  position: relative;
  display: inline-block;
  max-width: 100%;
}
.ctabanner-block__image-wrap img {
  position: relative;
  z-index: 1;
}
.ctabanner-block.has-square-decoration--cta .ctabanner-block__image-wrap > .chas-square-decoration {
  z-index: 2;
  opacity: 0.9;
}
.ctabanner-block.has-square-decoration--cta .ctabanner-block__image-wrap > .chas-square-decoration--top {
  top: 7%;
  right: -6%;
  width: clamp(116px, 30%, 220px);
  aspect-ratio: 230 / 114;
}
.ctabanner-block.has-square-decoration--cta .ctabanner-block__image-wrap > .chas-square-decoration--bottom {
  left: -7%;
  bottom: -12%;
  width: clamp(104px, 30%, 196px);
  aspect-ratio: 1;
}
.ctabanner-block img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.ctabanner-block:not(.has-image-overlap-effect) img {
  border-radius: var(--radius-lg);
}
.ctabanner-block.has-image-overlap-effect img {
  margin-top: -120px;
  margin-bottom: -120px;
  max-height: calc(100% + 240px);
}
.ctabanner-block p:last-child,
.ctabanner-block ul:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .ctabanner-block {
    padding: 60px 0 !important;
    text-align: center;
  }
  .block.ctabanner-block:not(.fullwidth) + .block.ctabanner-block.has-image-overlap-effect:not(.fullwidth) {
    padding: 60px 0 !important;
  }
  .block.ctabanner-block:not(.fullwidth) + .block.ctabanner-block:not(.fullwidth).has-padding-top-none {
    padding-top: 0 !important;
  }
  .block.ctabanner-block:not(.fullwidth) + .block.ctabanner-block:not(.fullwidth).has-padding-bottom-none {
    padding-bottom: 0 !important;
  }
  .block.ctabanner-block:not(.fullwidth) + .block.ctabanner-block:not(.fullwidth).has-padding-top-compact {
    padding-top: var(--space-md) !important;
  }
  .block.ctabanner-block:not(.fullwidth) + .block.ctabanner-block:not(.fullwidth).has-padding-bottom-compact {
    padding-bottom: var(--space-md) !important;
  }
  .ctabanner-block ul,
  .ctabanner-block ol {
    text-align: left;
    display: inline-block;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .ctabanner-block .span6:first-child {
    margin-bottom: 30px;
  }
  .ctabanner-block img {
    max-width: 100%;
    max-height: none;
  }
  .ctabanner-block.has-square-decoration--cta .ctabanner-block__image-wrap > .chas-square-decoration--top {
    top: 4%;
    right: -10px;
    width: 112px;
  }
  .ctabanner-block.has-square-decoration--cta .ctabanner-block__image-wrap > .chas-square-decoration--bottom {
    left: -10px;
    bottom: -22px;
    width: 88px;
  }
  .ctabanner-block.has-image-overlap-effect img {
    max-width: 150px;
    margin: -80px auto 0 auto;
  }
}
/* Post archive and single-entry variant */
.ctabanner-block.post-ctabanner-block {
  margin-top: 90px;
}

/* Statistics
....................................................................... */
.statistics_container {
  color: var(--c-text-inverse);
  background: var(--c-primary);
  padding: 80px 0;
}
.statistics ul {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}
.statistics li {
  flex: 1;
  font-size: 0.9em;
  border-left: 8px solid var(--c-border-accent);
  box-sizing: border-box;
  padding: 0 20px 0 20px;
  margin: 10px 0;
}
.statistics li:before {
  display: none;
}
.statistics li strong {
  display: block;
  font-size: 2em;
  line-height: 1.5em;
}
.statistics li em {
  font-style: normal;
}
.statistics li span {
  font-weight: 600;
  text-transform: uppercase;
}
@media screen and (max-width: 1023px) {
  .statistics li {
    flex-basis: 50%;
  }
}
@media screen and (max-width: 767px) {
  .statistics_container {
    padding: var(--block-padding-y-mobile) 0;
    text-align: center;
  }
  .statistics ul {
    gap: var(--space-lg);
  }
  .statistics li {
    flex: 0 0 100%;
    border-left: 0;
    padding: 0;
    margin: 0;
  }
  .statistics li:before {
    display: block;
    width: 52px;
    height: 4px;
    background: var(--c-border-accent);
    border-radius: 999px;
    margin: 0 auto var(--space-sm);
  }
}

/* Footer
....................................................................... */
footer {
  padding: 30px 0;
}
footer a,
footer strong,
footer .menu-item-title {
  color: inherit;
}
footer strong {
  display: block;
}
footer ul,
footer li {
  padding: 0;
  margin: 0;
}
footer ul.footer_menu {
  margin: 0 0 30px 0;
}
footer li {
  font-size: 0.95em;
  color: var(--footer-text-muted);
}
footer li:before {
  display: none;
}
footer li a {
  color: var(--footer-text-muted);
  text-decoration: none;
  transition: color var(--t-fast), text-decoration-color var(--t-fast);
}
footer li a:hover,
footer li a:focus {
  color: var(--footer-text);
  text-decoration: underline;
}
footer > ul {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
  row-gap: 20px;
}
footer > ul > li {
  flex: 1 1 calc(25% - 20px);
}
footer > ul > li > a,
footer .menu-item-title {
  display: inline-block;
  color: var(--footer-text);
  font-size: 18px;
  font-weight: 600;
  padding: 0 0 10px 0;
}
footer ul li strong {
  color: var(--footer-text);
}
footer ul li:not(:first-of-type) strong {
  margin-top: 15px;
}
@media screen and (max-width: 1023px) {
  footer > ul > li {
    flex: 1 1 calc(50% - 20px);
  }
}
@media screen and (max-width: 479px) {
  footer > ul > li {
    flex: 0 0 100%;
  }
}

.footer_top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-lg);
  margin: 0 0 40px;
}
.footer_top p {
  margin: 0;
}
.footer_brand img {
  width: 100%;
  height: auto;
  max-width: 190px;
}
.footer_top p.footer_title {
  font-size: 24px;
  font-weight: 600;
  margin-left: calc(25% + 5px);
}
@media screen and (max-width: 1023px) {
  .footer_top p.footer_title {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .footer_top {
    flex-direction: column;
    gap: var(--space-md);
    margin-bottom: 32px;
  }
  .footer_brand img {
    max-width: 190px;
  }
}

.accreditation ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 0;
}
.accreditation {
  border-top: 1px solid var(--footer-border);
  padding-top: var(--space-md);
}
.accreditation li {
  list-style: none;
  flex: 1;
  background-image: none;
  box-sizing: border-box;
  border: 0;
  padding: 18px;
  margin: 0;
}
.accreditation li:before {
  display: none;
}
.accreditation li img {
  display: block;
  max-height: 60px;
  width: auto;
  margin: 0 auto;
}
.accreditation .image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 92px;
  padding: 14px 18px;
  border-radius: var(--radius-md);
  background: var(--footer-card-bg);
}
@media screen and (max-width: 1023px) {
  .accreditation li {
    flex: 1 1 calc(33.33% - 30px);
  }
}
@media screen and (max-width: 767px) {
  .accreditation li {
    flex: 1 1 calc(50% - 30px);
  }
}

.footer_lower {
  background: var(--footer-lower-bg);
  border-top: 1px solid var(--footer-border);
  padding: 25px 0;
}
.footer_copyright {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer_copyright p {
  color: var(--footer-text-muted);
  font-size: 0.8em;
  margin: 0;
}
.footer_copyright p.socnet {
  margin-right: 15px;
}
.footer_copyright ul {
  padding: 0;
  margin: 0;
}
.footer_copyright li {
  display: inline-block;
  font-size: 0.8em;
  padding: 0;
  margin: 0 5px;
}
.footer_copyright li:before {
  display: none;
}
.footer_copyright li a {
  color: var(--footer-text-muted);
  text-decoration: none;
}
.footer_copyright li a:hover,
.footer_copyright li a:focus {
  color: var(--footer-text);
  text-decoration: underline;
}
.top_link {
  display: none;
  position: fixed;
  bottom: 15px;
  right: 15px;
  z-index: 99;
}
.top_link a.cta i {
  background: var(--c-white);
  -webkit-mask: url(images/chevron-up-white.svg) 50% 50% no-repeat;
  mask: url(images/chevron-up-white.svg) 50% 50% no-repeat;
  -webkit-mask-size: 16px 16px;
  mask-size: 16px 16px;
}
.page-wrap_footer .socnet a {
  border-color: var(--footer-border);
  background: var(--c-white);
}
.page-wrap_footer .socnet a:hover,
.page-wrap_footer .socnet a:focus {
  border-color: var(--c-white);
  background: var(--footer-text-muted);
}
.page-wrap_footer .socnet a i {
  background: var(--footer-bg);
}
@media screen and (max-width: 1023px) {
  .footer_copyright {
    flex-wrap: wrap;
    gap: 15px;
    flex-direction: column-reverse;
  }
  .footer_copyright p,
  .footer_copyright ul {
    flex: 0 0 100%;
  }
  .footer_copyright p.socnet {
    margin-right: 0;
  }
}

/* Color theme (light on dark)
....................................................................... */
.bg-000000-color,
[class*="bg-"][class*="-color"] .bg-000000-color,
.bg-3a0256-color,
[class*="bg-"][class*="-color"] .bg-3a0256-color,
.bg-59178a-color,
[class*="bg-"][class*="-color"] .bg-59178a-color,
.bg-7d55a4-color,
[class*="bg-"][class*="-color"] .bg-7d55a4-color,
.bg-215bea-color,
[class*="bg-"][class*="-color"] .bg-215bea-color,
.bg-002a42-color,
[class*="bg-"][class*="-color"] .bg-002a42-color,
.bg-3a627c-color,
[class*="bg-"][class*="-color"] .bg-3a627c-color,
.bg-0f1421-color,
[class*="bg-"][class*="-color"] .bg-0f1421-color {
  color: var(--c-text-inverse);
}
.bg-000000-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-000000-color a:not(.cta),
.bg-3a0256-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-3a0256-color a:not(.cta),
.bg-59178a-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-59178a-color a:not(.cta),
.bg-7d55a4-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-7d55a4-color a:not(.cta),
.bg-215bea-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-215bea-color a:not(.cta),
.bg-002a42-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-002a42-color a:not(.cta),
.bg-3a627c-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-3a627c-color a:not(.cta),
.bg-0f1421-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-0f1421-color a:not(.cta) {
  color: var(--c-text-inverse);
}
.bg-000000-color .hero-eyebrow,
[class*="bg-"][class*="-color"] .bg-000000-color .hero-eyebrow,
.bg-3a0256-color .hero-eyebrow,
[class*="bg-"][class*="-color"] .bg-3a0256-color .hero-eyebrow,
.bg-59178a-color .hero-eyebrow,
[class*="bg-"][class*="-color"] .bg-59178a-color .hero-eyebrow,
.bg-7d55a4-color .hero-eyebrow,
[class*="bg-"][class*="-color"] .bg-7d55a4-color .hero-eyebrow,
.bg-215bea-color .hero-eyebrow,
[class*="bg-"][class*="-color"] .bg-215bea-color .hero-eyebrow,
.bg-002a42-color .hero-eyebrow,
[class*="bg-"][class*="-color"] .bg-002a42-color .hero-eyebrow,
.bg-3a627c-color .hero-eyebrow,
[class*="bg-"][class*="-color"] .bg-3a627c-color .hero-eyebrow,
.bg-0f1421-color .hero-eyebrow,
[class*="bg-"][class*="-color"] .bg-0f1421-color .hero-eyebrow {
  color: var(--c-text-inverse);
}
.bg-000000-color .chas-breadcrumbs a:not(.cta),
[class*="bg-"][class*="-color"] .bg-000000-color .chas-breadcrumbs a:not(.cta),
.bg-3a0256-color .chas-breadcrumbs a:not(.cta),
[class*="bg-"][class*="-color"] .bg-3a0256-color .chas-breadcrumbs a:not(.cta),
.bg-59178a-color .chas-breadcrumbs a:not(.cta),
[class*="bg-"][class*="-color"] .bg-59178a-color .chas-breadcrumbs a:not(.cta),
.bg-7d55a4-color .chas-breadcrumbs a:not(.cta),
[class*="bg-"][class*="-color"] .bg-7d55a4-color .chas-breadcrumbs a:not(.cta),
.bg-215bea-color .chas-breadcrumbs a:not(.cta),
[class*="bg-"][class*="-color"] .bg-215bea-color .chas-breadcrumbs a:not(.cta),
.bg-002a42-color .chas-breadcrumbs a:not(.cta),
[class*="bg-"][class*="-color"] .bg-002a42-color .chas-breadcrumbs a:not(.cta),
.bg-3a627c-color .chas-breadcrumbs a:not(.cta),
[class*="bg-"][class*="-color"] .bg-3a627c-color .chas-breadcrumbs a:not(.cta),
.bg-0f1421-color .chas-breadcrumbs a:not(.cta),
[class*="bg-"][class*="-color"] .bg-0f1421-color .chas-breadcrumbs a:not(.cta) {
  color: var(--c-text-inverse);
  opacity: 0.78;
}
:is(
  .bg-000000-color,
  .bg-3a0256-color,
  .bg-59178a-color,
  .bg-7d55a4-color,
  .bg-215bea-color,
  .bg-002a42-color,
  .bg-3a627c-color,
  .bg-0f1421-color
) .chas-breadcrumbs a:not(.cta):is(:hover, :focus-visible),
[class*="bg-"][class*="-color"]
  :is(
    .bg-000000-color,
    .bg-3a0256-color,
    .bg-59178a-color,
    .bg-7d55a4-color,
    .bg-215bea-color,
    .bg-002a42-color,
    .bg-3a627c-color,
    .bg-0f1421-color
  )
  .chas-breadcrumbs
  a:not(.cta):is(:hover, :focus-visible) {
  opacity: 1;
}
.bg-000000-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-000000-color ul > li:before,
.bg-3a0256-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-3a0256-color ul > li:before,
.bg-59178a-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-59178a-color ul > li:before,
.bg-7d55a4-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-7d55a4-color ul > li:before,
.bg-215bea-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-215bea-color ul > li:before,
.bg-002a42-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-002a42-color ul > li:before,
.bg-3a627c-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-3a627c-color ul > li:before,
.bg-0f1421-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-0f1421-color ul > li:before {
  background: var(--c-text-inverse);
}
a.cta.bg-ffffff-color i,
a.cta.bg-d3c6e1-color i,
a.cta.bg-a88dc1-color i,
a.cta.bg-90adf4-color i,
a.cta.bg-c7d6fa-color i,
a.cta.bg-afd2f0-color i,
a.cta.bg-759ab6-color i,
a.cta.bg-dae9fd-color i,
a.cta.bg-d7e6f5-color i,
a.cta.bg-e1ecf8-color i,
a.cta.bg-ebf2fa-color i,
a.cta.bg-f5f9fc-color i,
a.cta.bg-e5dded-color i {
  background: var(--c-text);
}
.bg-000000-color .swiper-button-prev,
.bg-000000-color .swiper-button-next,
.bg-3a0256-color .swiper-button-prev,
.bg-3a0256-color .swiper-button-next,
.bg-59178a-color .swiper-button-prev,
.bg-59178a-color .swiper-button-next,
.bg-7d55a4-color .swiper-button-prev,
.bg-7d55a4-color .swiper-button-next,
.bg-215bea-color .swiper-button-prev,
.bg-215bea-color .swiper-button-next,
.bg-002a42-color .swiper-button-prev,
.bg-002a42-color .swiper-button-next,
.bg-3a627c-color .swiper-button-prev,
.bg-3a627c-color .swiper-button-next,
.bg-0f1421-color .swiper-button-prev,
.bg-0f1421-color .swiper-button-next {
  background: var(--c-surface);
}
.bg-000000-color .swiper-button-prev i,
.bg-000000-color .swiper-button-next i,
.bg-3a0256-color .swiper-button-prev i,
.bg-3a0256-color .swiper-button-next i,
.bg-59178a-color .swiper-button-prev i,
.bg-59178a-color .swiper-button-next i,
.bg-7d55a4-color .swiper-button-prev i,
.bg-7d55a4-color .swiper-button-next i,
.bg-215bea-color .swiper-button-prev i,
.bg-215bea-color .swiper-button-next i,
.bg-002a42-color .swiper-button-prev i,
.bg-002a42-color .swiper-button-next i,
.bg-3a627c-color .swiper-button-prev i,
.bg-3a627c-color .swiper-button-next i,
.bg-0f1421-color .swiper-button-prev i,
.bg-0f1421-color .swiper-button-next i {
  background: var(--c-primary);
}

/* Color theme (dark on light)
....................................................................... */
.bg-ffffff-color,
[class*="bg-"][class*="-color"] .bg-ffffff-color,
.bg-d3c6e1-color,
[class*="bg-"][class*="-color"] .bg-d3c6e1-color,
.bg-a88dc1-color,
[class*="bg-"][class*="-color"] .bg-a88dc1-color,
.bg-90adf4-color,
[class*="bg-"][class*="-color"] .bg-90adf4-color,
.bg-c7d6fa-color,
[class*="bg-"][class*="-color"] .bg-c7d6fa-color,
.bg-afd2f0-color,
[class*="bg-"][class*="-color"] .bg-afd2f0-color,
.bg-759ab6-color,
[class*="bg-"][class*="-color"] .bg-759ab6-color,
.bg-dae9fd-color,
[class*="bg-"][class*="-color"] .bg-dae9fd-color,
.bg-d7e6f5-color,
[class*="bg-"][class*="-color"] .bg-d7e6f5-color,
.bg-e1ecf8-color,
[class*="bg-"][class*="-color"] .bg-e1ecf8-color,
.bg-ebf2fa-color,
[class*="bg-"][class*="-color"] .bg-ebf2fa-color,
.bg-f5f9fc-color,
[class*="bg-"][class*="-color"] .bg-f5f9fc-color,
.bg-e5dded-color,
[class*="bg-"][class*="-color"] .bg-e5dded-color {
  color: var(--c-text);
}
.bg-ffffff-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-ffffff-color a:not(.cta),
.bg-d3c6e1-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-d3c6e1-color a:not(.cta),
.bg-a88dc1-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-a88dc1-color a:not(.cta),
.bg-90adf4-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-90adf4-color a:not(.cta),
.bg-c7d6fa-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-c7d6fa-color a:not(.cta),
.bg-afd2f0-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-afd2f0-color a:not(.cta),
.bg-759ab6-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-759ab6-color a:not(.cta),
.bg-dae9fd-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-dae9fd-color a:not(.cta),
.bg-d7e6f5-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-d7e6f5-color a:not(.cta),
.bg-e1ecf8-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-e1ecf8-color a:not(.cta),
.bg-ebf2fa-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-ebf2fa-color a:not(.cta),
.bg-f5f9fc-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-f5f9fc-color a:not(.cta),
.bg-e5dded-color a:not(.cta),
[class*="bg-"][class*="-color"] .bg-e5dded-color a:not(.cta) {
  color: var(--c-text);
}
.bg-ffffff-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-ffffff-color ul > li:before,
.bg-d3c6e1-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-d3c6e1-color ul > li:before,
.bg-a88dc1-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-a88dc1-color ul > li:before,
.bg-90adf4-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-90adf4-color ul > li:before,
.bg-c7d6fa-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-c7d6fa-color ul > li:before,
.bg-afd2f0-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-afd2f0-color ul > li:before,
.bg-759ab6-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-759ab6-color ul > li:before,
.bg-dae9fd-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-dae9fd-color ul > li:before,
.bg-d7e6f5-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-d7e6f5-color ul > li:before,
.bg-e1ecf8-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-e1ecf8-color ul > li:before,
.bg-ebf2fa-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-ebf2fa-color ul > li:before,
.bg-f5f9fc-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-f5f9fc-color ul > li:before,
.bg-e5dded-color ul > li:before,
[class*="bg-"][class*="-color"] .bg-e5dded-color ul > li:before {
  background-color: var(--c-primary);
}
