@charset "UTF-8";
/* variables */
/*breakpoint*/
/*colors*/
:root {
  --body-color: #fff;
  --text-color: #943142;
  --text-color-stronger: #651423;
  --primary: #F26A21;
  --primary-strong: #F26A21;
  --primary-stronger: #1B365D;
  --primary-strongest: #651423;
  --on-primary: #fff;
  --secondary: #943142;
  --secondary-stronger: #651423;
  --secondary-strongest: #441219;
  --on-secondary: #FFFFFF;
  --light: #F0F3F0;
  --on-light: #651423;
  --neutral-50: rgba(0, 0, 0, 0.05);
  --neutral-100: rgba(0, 0, 0, 0.1);
  --neutral-200: rgba(0, 0, 0, 0.2);
  --neutral-300: rgba(0, 0, 0, 0.3);
  --neutral-400: rgba(0, 0, 0, 0.4);
  --neutral-500: rgba(0, 0, 0, 0.5);
  --neutral-600: rgba(0, 0, 0, 0.6);
  --neutral-700: rgba(0, 0, 0, 0.7);
  --neutral-800: rgba(0, 0, 0, 0.8);
  --neutral-900: rgba(0, 0, 0, 0.9);
}

/*Spacings*/
:root {
  --spacer-1: 0.25rem;
  --spacer-2: 0.5rem;
  --spacer-3: 1rem;
  --spacer-4: 1.5rem;
  --spacer-5: 2rem;
  --spacer-6: 3rem;
  --spacer-7: 5rem;
  --spacer-8: 8rem;
}

@media screen and (max-width: 767px) {
  :root {
    --spacer-1: 0.25rem;
    --spacer-2: 0.5rem;
    --spacer-3: 1rem;
    --spacer-4: 1.5rem;
    --spacer-5: 2rem;
    --spacer-6: 2.375rem;
    --spacer-7: 2.75rem;
    --spacer-8: 4rem;
  }
}
/*Layout*/
:root {
  --container-max-width: 87vw;
  --container-narrow-max-width: min(60rem, 87vw);
  --container-padding-x: 1rem;
  --container-margin-x: calc((100vw - var(--container-max-width)) / 2);
  --grid-gutter-width: 1.25rem;
}

@media screen and (max-width: 1140px) {
  :root {
    --container-max-width: 92vw;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --container-max-width: 100%;
    --container-narrow-max-width: 100%;
    --grid-gutter-width: 1rem;
  }
}
/* typo */
:root {
  --font-family: "G2TGR";
  --base-font-size: 100%;
  /* headline font sizes as the bare minimum, this should include font-weight, line-height etc. */
  --h1-font-size: 3rem;
  --h2-font-size: 2.5rem;
  --h3-font-size: 2rem;
  --h4-font-size: 1.75rem;
  --h5-font-size: 1.5rem;
  --h6-font-size: 1.25rem;
  --headline-font-weight: 500;
  --display-1-font-size: 8.33vw;
  --display-2-font-size: 4.165vw;
  --display-font-weight: 500;
  --body-3xl-font-size: 2rem;
  --body-2xl-font-size: 1.5rem;
  --body-xl-font-size: 1.25rem;
  --body-l-font-size: 1.125rem;
  --body-m-font-size: 1rem;
  --body-s-font-size: 0.75rem;
  --body-font-weight: 400;
  --body-font-size: var(--body-m-font-size);
}
@media screen and (max-width: 1280px) {
  :root {
    --h1-font-size: 2.5rem;
    --h2-font-size: 2.25rem;
    --h3-font-size: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --h1-font-size: 2rem;
    --h2-font-size: 1.875rem;
    --h3-font-size: 1.75rem;
    --h4-font-size: 1.5rem;
    --h5-font-size: 1.325rem;
    --h6-font-size: 1.25rem;
    --display-1-font-size: 3rem;
    --display-2-font-size: 2.25rem;
    --body-3xl-font-size: 1.5rem;
    --body-2xl-font-size: 1.375rem;
    --body-xl-font-size: 1.25rem;
    --body-l-font-size: 1.125rem;
    --body-m-font-size: 1rem;
    --body-s-font-size: 0.75rem;
  }
}
@media screen and (min-width: 1920px) {
  :root {
    --base-font-size: max(100%, 0.8vw);
  }
}

/* radius */
:root {
  --radius-button: 999px;
  --radius-icon-button: 999px;
  --radius-input-field: 0;
  --radius-card: 0;
}

/* animation */
/* base */
/* include font files here */
@font-face {
  font-family: "G2TGR";
  src: url("../assets/fonts/G2TGR-Regular.woff2"), url("../assets/fonts/G2TGR-Regular.woff");
  font-weight: 400;
}
/* temporary, needs to be replaced with woff(2) */
@font-face {
  font-family: "G2TGR";
  src: url("../assets/fonts/G2TGR-Medium.otf");
  font-weight: 500;
}
@font-face {
  font-family: "G2TGR";
  src: url("../assets/fonts/G2TGR-Bold.woff2"), url("../assets/fonts/G2TGR-Bold.woff");
  font-weight: 600;
}
/* 
   Based on 
   http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* variables */
/* variables */
/* variables */
/* helper */
/* variables */
*,
::before,
::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: var(--base-font-size);
  font-family: var(--font-family);
  background-color: var(--body-color);
  color: var(--text-color);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html, body {
  overscroll-behavior-y: none;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
  border-radius: 0;
}

body:not(.wp-admin) {
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  line-height: 1.2;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

button {
  appearance: none;
  background: transparent;
  border: none;
  padding: 0;
  color: inherit;
}

p,
li {
  line-height: 1.5;
}

/* forms & inputs */
input[type=text],
input[type=password],
input[type=email],
input[type=select],
input[type=number],
input[type=tel],
input[type=url],
textarea,
select {
  padding: 0.75rem;
  display: block;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: var(--radius-input-field);
  outline: none;
  line-height: 1;
  max-width: 100%;
  height: 3.25rem;
}
input[type=text]:active, input[type=text]:focus,
input[type=password]:active,
input[type=password]:focus,
input[type=email]:active,
input[type=email]:focus,
input[type=select]:active,
input[type=select]:focus,
input[type=number]:active,
input[type=number]:focus,
input[type=tel]:active,
input[type=tel]:focus,
input[type=url]:active,
input[type=url]:focus,
textarea:active,
textarea:focus,
select:active,
select:focus {
  box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.2);
}

input[type=submit] {
  background-color: var(--text-color);
  border: 1px solid transparent;
  color: var(--body-color);
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-button);
  font-size: 1rem;
  font-weight: 500;
  padding: 1rem 1.75rem !important;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-transform: none;
  text-decoration: none !important;
  text-align: center;
  letter-spacing: 0em;
  height: 3.25rem;
}
input[type=submit]:disabled {
  opacity: 0.5;
}
input[type=submit]::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: currentColor;
  transition: 0.5s all;
  transform: translateX(-100%);
  border-radius: inherit;
}
input[type=submit] .icon-forward,
input[type=submit] .icon-back {
  transition: transform 0.3s;
}
input[type=submit]:hover::before {
  opacity: 0.1;
  transform: translateX(0%);
}
input[type=submit]:hover .icon-back {
  transform: translateX(-5px);
}
input[type=submit]:hover .icon-forward {
  transform: translateX(5px);
}

select {
  appearance: none;
  background: transparent;
  background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position-x: calc(100% - 0.5rem);
  background-position-y: 50%;
  line-height: 1.5;
  padding-right: 2rem;
}

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

/* should only be used once in a page */
main {
  min-height: 75vh;
}

.block-layout > [class^=wp-block-],
.block-layout > p {
  max-width: var(--container-max-width);
  padding-left: var(--container-padding-x);
  padding-right: var(--container-padding-x);
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 2rem;
}

[x-cloak] {
  display: none !important;
}

/* skip to main content */
.skip-link {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  background: black;
  color: white;
  padding: 1rem 2rem;
  display: block;
}

.skip-link:focus {
  z-index: 999;
  left: 0;
  width: auto;
  height: auto;
}

/* add focus styles if user is tabbing */
body.user-is-tabbing *:focus {
  outline: 2px solid #7aacfe; /* for non-webkit browsers */
  outline: 5px auto -webkit-focus-ring-color;
}

/* remove transitions & animations, might not work in all situations */
@media (prefers-reduced-motion: reduce) {
  html * {
    animation: none !important;
    transition: none !important;
  }
}
/* utilities */
/* variables */
.alignfull {
  max-width: unset;
}

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

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

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

.justify-items-start {
  justify-items: start;
}

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

.justify-items-end {
  justify-items: end;
}

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

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

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

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

.img-full {
  width: 100%;
}

.relative {
  position: relative;
}

.flex {
  display: flex;
}

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

.block {
  display: block;
}

/* opacity */
.opacity-10 {
  opacity: 0.1;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-70 {
  opacity: 0.7;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-90 {
  opacity: 0.9;
}

/*--------------
  Hide on Breakpoints
--------------*/
@media only screen and (min-width: 767px) {
  .hide-sm-up {
    display: none !important;
  }
}
@media only screen and (max-width: 766.5px) {
  .hide-sm-down {
    display: none !important;
  }
}
@media only screen and (min-width: 992px) {
  .hide-md-up {
    display: none !important;
  }
}
@media only screen and (max-width: 991.5px) {
  .hide-md-down {
    display: none !important;
  }
}
@media only screen and (min-width: 1140px) {
  .hide-lg-up {
    display: none !important;
  }
}
@media only screen and (max-width: 1139.5px) {
  .hide-lg-down {
    display: none !important;
  }
}
@media only screen and (min-width: 1280px) {
  .hide-xl-up {
    display: none !important;
  }
}
@media only screen and (max-width: 1279.5px) {
  .hide-xl-down {
    display: none !important;
  }
}
@media only screen and (min-width: 1440px) {
  .hide-xxl-up {
    display: none !important;
  }
}
@media only screen and (max-width: 1439.5px) {
  .hide-xxl-down {
    display: none !important;
  }
}
/* colors */
.has-text-color {
  color: var(--text-color) !important;
}
.has-text-color.wp-block-button__link {
  color: var(--text-color) !important;
}

.has-text-background-color {
  background-color: var(--text-color) !important;
}

.has-body-color {
  color: var(--body-color) !important;
}
.has-body-color.wp-block-button__link {
  color: var(--body-color) !important;
}

.has-body-background-color {
  background-color: var(--body-color) !important;
}

.has-primary-color {
  color: var(--primary) !important;
}
.has-primary-color.wp-block-button__link {
  color: var(--primary) !important;
}

.has-primary-background-color {
  background-color: var(--primary) !important;
}

.has-on-primary-color {
  color: var(--on-primary) !important;
}
.has-on-primary-color.wp-block-button__link {
  color: var(--on-primary) !important;
}

.has-on-primary-background-color {
  background-color: var(--on-primary) !important;
}

.has-secondary-color {
  color: var(--secondary) !important;
}
.has-secondary-color.wp-block-button__link {
  color: var(--secondary) !important;
}

.has-secondary-background-color {
  background-color: var(--secondary) !important;
}

.has-secondary-stronger-color {
  color: var(--secondary-stronger) !important;
}
.has-secondary-stronger-color.wp-block-button__link {
  color: var(--secondary-stronger) !important;
}

.has-secondary-stronger-background-color {
  background-color: var(--secondary-stronger) !important;
}

.has-secondary-strongest-color {
  color: var(--secondary-strongest) !important;
}
.has-secondary-strongest-color.wp-block-button__link {
  color: var(--secondary-strongest) !important;
}

.has-secondary-strongest-background-color {
  background-color: var(--secondary-strongest) !important;
}

.has-on-secondary-color {
  color: var(--on-secondary) !important;
}
.has-on-secondary-color.wp-block-button__link {
  color: var(--on-secondary) !important;
}

.has-on-secondary-background-color {
  background-color: var(--on-secondary) !important;
}

.has-light-color {
  color: var(--light) !important;
}
.has-light-color.wp-block-button__link {
  color: var(--light) !important;
}

.has-light-background-color {
  background-color: var(--light) !important;
}

.has-on-light-color {
  color: var(--on-light) !important;
}
.has-on-light-color.wp-block-button__link {
  color: var(--on-light) !important;
}

.has-on-light-background-color {
  background-color: var(--on-light) !important;
}

/* variables */
/* margins and paddings: use it like spacings utils in bootstrap */
.m-0 {
  margin: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.gap-0 {
  gap: 0 !important;
}

.gapt-0 {
  gap-top: 0 !important;
}

.gapb-0 {
  gap-bottom: 0 !important;
}

.gapl-0 {
  gap-left: 0 !important;
}

.gapr-0 {
  gap-right: 0 !important;
}

.gapx-0 {
  gap-left: 0 !important;
  gap-right: 0 !important;
}

.gapy-0 {
  gap-top: 0 !important;
  gap-bottom: 0 !important;
}

@media screen and (min-width: 767px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0 {
    margin-left: 0 !important;
  }
  .mr-sm-0 {
    margin-right: 0 !important;
  }
  .mx-sm-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0 {
    padding-left: 0 !important;
  }
  .pr-sm-0 {
    padding-right: 0 !important;
  }
  .px-sm-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
@media screen and (min-width: 992px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0 {
    margin-left: 0 !important;
  }
  .mr-md-0 {
    margin-right: 0 !important;
  }
  .mx-md-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0 {
    padding-left: 0 !important;
  }
  .pr-md-0 {
    padding-right: 0 !important;
  }
  .px-md-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
@media screen and (min-width: 1140px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0 {
    margin-left: 0 !important;
  }
  .mr-lg-0 {
    margin-right: 0 !important;
  }
  .mx-lg-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0 {
    padding-left: 0 !important;
  }
  .pr-lg-0 {
    padding-right: 0 !important;
  }
  .px-lg-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
@media screen and (min-width: 1280px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0 {
    margin-left: 0 !important;
  }
  .mr-xl-0 {
    margin-right: 0 !important;
  }
  .mx-xl-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0 {
    padding-left: 0 !important;
  }
  .pr-xl-0 {
    padding-right: 0 !important;
  }
  .px-xl-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
@media screen and (min-width: 1440px) {
  .m-xxl-0 {
    margin: 0 !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xxl-0 {
    margin-left: 0 !important;
  }
  .mr-xxl-0 {
    margin-right: 0 !important;
  }
  .mx-xxl-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xxl-0 {
    padding-left: 0 !important;
  }
  .pr-xxl-0 {
    padding-right: 0 !important;
  }
  .px-xxl-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
.m-1 {
  margin: var(--spacer-1) !important;
}

.mt-1 {
  margin-top: var(--spacer-1) !important;
}

.mb-1 {
  margin-bottom: var(--spacer-1) !important;
}

.ml-1 {
  margin-left: var(--spacer-1) !important;
}

.mr-1 {
  margin-right: var(--spacer-1) !important;
}

.mx-1 {
  margin-left: var(--spacer-1) !important;
  margin-right: var(--spacer-1) !important;
}

.my-1 {
  margin-top: var(--spacer-1) !important;
  margin-bottom: var(--spacer-1) !important;
}

.p-1 {
  padding: var(--spacer-1) !important;
}

.pt-1 {
  padding-top: var(--spacer-1) !important;
}

.pb-1 {
  padding-bottom: var(--spacer-1) !important;
}

.pl-1 {
  padding-left: var(--spacer-1) !important;
}

.pr-1 {
  padding-right: var(--spacer-1) !important;
}

.px-1 {
  padding-left: var(--spacer-1) !important;
  padding-right: var(--spacer-1) !important;
}

.py-1 {
  padding-top: var(--spacer-1) !important;
  padding-bottom: var(--spacer-1) !important;
}

.gap-1 {
  gap: var(--spacer-1) !important;
}

.gapt-1 {
  gap-top: var(--spacer-1) !important;
}

.gapb-1 {
  gap-bottom: var(--spacer-1) !important;
}

.gapl-1 {
  gap-left: var(--spacer-1) !important;
}

.gapr-1 {
  gap-right: var(--spacer-1) !important;
}

.gapx-1 {
  gap-left: var(--spacer-1) !important;
  gap-right: var(--spacer-1) !important;
}

.gapy-1 {
  gap-top: var(--spacer-1) !important;
  gap-bottom: var(--spacer-1) !important;
}

@media screen and (min-width: 767px) {
  .m-sm-1 {
    margin: var(--spacer-1) !important;
  }
  .mt-sm-1 {
    margin-top: var(--spacer-1) !important;
  }
  .mb-sm-1 {
    margin-bottom: var(--spacer-1) !important;
  }
  .ml-sm-1 {
    margin-left: var(--spacer-1) !important;
  }
  .mr-sm-1 {
    margin-right: var(--spacer-1) !important;
  }
  .mx-sm-1 {
    margin-left: var(--spacer-1) !important;
    margin-right: var(--spacer-1) !important;
  }
  .my-sm-1 {
    margin-top: var(--spacer-1) !important;
    margin-bottom: var(--spacer-1) !important;
  }
  .p-sm-1 {
    padding: var(--spacer-1) !important;
  }
  .pt-sm-1 {
    padding-top: var(--spacer-1) !important;
  }
  .pb-sm-1 {
    padding-bottom: var(--spacer-1) !important;
  }
  .pl-sm-1 {
    padding-left: var(--spacer-1) !important;
  }
  .pr-sm-1 {
    padding-right: var(--spacer-1) !important;
  }
  .px-sm-1 {
    padding-left: var(--spacer-1) !important;
    padding-right: var(--spacer-1) !important;
  }
  .py-sm-1 {
    padding-top: var(--spacer-1) !important;
    padding-bottom: var(--spacer-1) !important;
  }
}
@media screen and (min-width: 992px) {
  .m-md-1 {
    margin: var(--spacer-1) !important;
  }
  .mt-md-1 {
    margin-top: var(--spacer-1) !important;
  }
  .mb-md-1 {
    margin-bottom: var(--spacer-1) !important;
  }
  .ml-md-1 {
    margin-left: var(--spacer-1) !important;
  }
  .mr-md-1 {
    margin-right: var(--spacer-1) !important;
  }
  .mx-md-1 {
    margin-left: var(--spacer-1) !important;
    margin-right: var(--spacer-1) !important;
  }
  .my-md-1 {
    margin-top: var(--spacer-1) !important;
    margin-bottom: var(--spacer-1) !important;
  }
  .p-md-1 {
    padding: var(--spacer-1) !important;
  }
  .pt-md-1 {
    padding-top: var(--spacer-1) !important;
  }
  .pb-md-1 {
    padding-bottom: var(--spacer-1) !important;
  }
  .pl-md-1 {
    padding-left: var(--spacer-1) !important;
  }
  .pr-md-1 {
    padding-right: var(--spacer-1) !important;
  }
  .px-md-1 {
    padding-left: var(--spacer-1) !important;
    padding-right: var(--spacer-1) !important;
  }
  .py-md-1 {
    padding-top: var(--spacer-1) !important;
    padding-bottom: var(--spacer-1) !important;
  }
}
@media screen and (min-width: 1140px) {
  .m-lg-1 {
    margin: var(--spacer-1) !important;
  }
  .mt-lg-1 {
    margin-top: var(--spacer-1) !important;
  }
  .mb-lg-1 {
    margin-bottom: var(--spacer-1) !important;
  }
  .ml-lg-1 {
    margin-left: var(--spacer-1) !important;
  }
  .mr-lg-1 {
    margin-right: var(--spacer-1) !important;
  }
  .mx-lg-1 {
    margin-left: var(--spacer-1) !important;
    margin-right: var(--spacer-1) !important;
  }
  .my-lg-1 {
    margin-top: var(--spacer-1) !important;
    margin-bottom: var(--spacer-1) !important;
  }
  .p-lg-1 {
    padding: var(--spacer-1) !important;
  }
  .pt-lg-1 {
    padding-top: var(--spacer-1) !important;
  }
  .pb-lg-1 {
    padding-bottom: var(--spacer-1) !important;
  }
  .pl-lg-1 {
    padding-left: var(--spacer-1) !important;
  }
  .pr-lg-1 {
    padding-right: var(--spacer-1) !important;
  }
  .px-lg-1 {
    padding-left: var(--spacer-1) !important;
    padding-right: var(--spacer-1) !important;
  }
  .py-lg-1 {
    padding-top: var(--spacer-1) !important;
    padding-bottom: var(--spacer-1) !important;
  }
}
@media screen and (min-width: 1280px) {
  .m-xl-1 {
    margin: var(--spacer-1) !important;
  }
  .mt-xl-1 {
    margin-top: var(--spacer-1) !important;
  }
  .mb-xl-1 {
    margin-bottom: var(--spacer-1) !important;
  }
  .ml-xl-1 {
    margin-left: var(--spacer-1) !important;
  }
  .mr-xl-1 {
    margin-right: var(--spacer-1) !important;
  }
  .mx-xl-1 {
    margin-left: var(--spacer-1) !important;
    margin-right: var(--spacer-1) !important;
  }
  .my-xl-1 {
    margin-top: var(--spacer-1) !important;
    margin-bottom: var(--spacer-1) !important;
  }
  .p-xl-1 {
    padding: var(--spacer-1) !important;
  }
  .pt-xl-1 {
    padding-top: var(--spacer-1) !important;
  }
  .pb-xl-1 {
    padding-bottom: var(--spacer-1) !important;
  }
  .pl-xl-1 {
    padding-left: var(--spacer-1) !important;
  }
  .pr-xl-1 {
    padding-right: var(--spacer-1) !important;
  }
  .px-xl-1 {
    padding-left: var(--spacer-1) !important;
    padding-right: var(--spacer-1) !important;
  }
  .py-xl-1 {
    padding-top: var(--spacer-1) !important;
    padding-bottom: var(--spacer-1) !important;
  }
}
@media screen and (min-width: 1440px) {
  .m-xxl-1 {
    margin: var(--spacer-1) !important;
  }
  .mt-xxl-1 {
    margin-top: var(--spacer-1) !important;
  }
  .mb-xxl-1 {
    margin-bottom: var(--spacer-1) !important;
  }
  .ml-xxl-1 {
    margin-left: var(--spacer-1) !important;
  }
  .mr-xxl-1 {
    margin-right: var(--spacer-1) !important;
  }
  .mx-xxl-1 {
    margin-left: var(--spacer-1) !important;
    margin-right: var(--spacer-1) !important;
  }
  .my-xxl-1 {
    margin-top: var(--spacer-1) !important;
    margin-bottom: var(--spacer-1) !important;
  }
  .p-xxl-1 {
    padding: var(--spacer-1) !important;
  }
  .pt-xxl-1 {
    padding-top: var(--spacer-1) !important;
  }
  .pb-xxl-1 {
    padding-bottom: var(--spacer-1) !important;
  }
  .pl-xxl-1 {
    padding-left: var(--spacer-1) !important;
  }
  .pr-xxl-1 {
    padding-right: var(--spacer-1) !important;
  }
  .px-xxl-1 {
    padding-left: var(--spacer-1) !important;
    padding-right: var(--spacer-1) !important;
  }
  .py-xxl-1 {
    padding-top: var(--spacer-1) !important;
    padding-bottom: var(--spacer-1) !important;
  }
}
.m-2 {
  margin: var(--spacer-2) !important;
}

.mt-2 {
  margin-top: var(--spacer-2) !important;
}

.mb-2 {
  margin-bottom: var(--spacer-2) !important;
}

.ml-2 {
  margin-left: var(--spacer-2) !important;
}

.mr-2 {
  margin-right: var(--spacer-2) !important;
}

.mx-2 {
  margin-left: var(--spacer-2) !important;
  margin-right: var(--spacer-2) !important;
}

.my-2 {
  margin-top: var(--spacer-2) !important;
  margin-bottom: var(--spacer-2) !important;
}

.p-2 {
  padding: var(--spacer-2) !important;
}

.pt-2 {
  padding-top: var(--spacer-2) !important;
}

.pb-2 {
  padding-bottom: var(--spacer-2) !important;
}

.pl-2 {
  padding-left: var(--spacer-2) !important;
}

.pr-2 {
  padding-right: var(--spacer-2) !important;
}

.px-2 {
  padding-left: var(--spacer-2) !important;
  padding-right: var(--spacer-2) !important;
}

.py-2 {
  padding-top: var(--spacer-2) !important;
  padding-bottom: var(--spacer-2) !important;
}

.gap-2 {
  gap: var(--spacer-2) !important;
}

.gapt-2 {
  gap-top: var(--spacer-2) !important;
}

.gapb-2 {
  gap-bottom: var(--spacer-2) !important;
}

.gapl-2 {
  gap-left: var(--spacer-2) !important;
}

.gapr-2 {
  gap-right: var(--spacer-2) !important;
}

.gapx-2 {
  gap-left: var(--spacer-2) !important;
  gap-right: var(--spacer-2) !important;
}

.gapy-2 {
  gap-top: var(--spacer-2) !important;
  gap-bottom: var(--spacer-2) !important;
}

@media screen and (min-width: 767px) {
  .m-sm-2 {
    margin: var(--spacer-2) !important;
  }
  .mt-sm-2 {
    margin-top: var(--spacer-2) !important;
  }
  .mb-sm-2 {
    margin-bottom: var(--spacer-2) !important;
  }
  .ml-sm-2 {
    margin-left: var(--spacer-2) !important;
  }
  .mr-sm-2 {
    margin-right: var(--spacer-2) !important;
  }
  .mx-sm-2 {
    margin-left: var(--spacer-2) !important;
    margin-right: var(--spacer-2) !important;
  }
  .my-sm-2 {
    margin-top: var(--spacer-2) !important;
    margin-bottom: var(--spacer-2) !important;
  }
  .p-sm-2 {
    padding: var(--spacer-2) !important;
  }
  .pt-sm-2 {
    padding-top: var(--spacer-2) !important;
  }
  .pb-sm-2 {
    padding-bottom: var(--spacer-2) !important;
  }
  .pl-sm-2 {
    padding-left: var(--spacer-2) !important;
  }
  .pr-sm-2 {
    padding-right: var(--spacer-2) !important;
  }
  .px-sm-2 {
    padding-left: var(--spacer-2) !important;
    padding-right: var(--spacer-2) !important;
  }
  .py-sm-2 {
    padding-top: var(--spacer-2) !important;
    padding-bottom: var(--spacer-2) !important;
  }
}
@media screen and (min-width: 992px) {
  .m-md-2 {
    margin: var(--spacer-2) !important;
  }
  .mt-md-2 {
    margin-top: var(--spacer-2) !important;
  }
  .mb-md-2 {
    margin-bottom: var(--spacer-2) !important;
  }
  .ml-md-2 {
    margin-left: var(--spacer-2) !important;
  }
  .mr-md-2 {
    margin-right: var(--spacer-2) !important;
  }
  .mx-md-2 {
    margin-left: var(--spacer-2) !important;
    margin-right: var(--spacer-2) !important;
  }
  .my-md-2 {
    margin-top: var(--spacer-2) !important;
    margin-bottom: var(--spacer-2) !important;
  }
  .p-md-2 {
    padding: var(--spacer-2) !important;
  }
  .pt-md-2 {
    padding-top: var(--spacer-2) !important;
  }
  .pb-md-2 {
    padding-bottom: var(--spacer-2) !important;
  }
  .pl-md-2 {
    padding-left: var(--spacer-2) !important;
  }
  .pr-md-2 {
    padding-right: var(--spacer-2) !important;
  }
  .px-md-2 {
    padding-left: var(--spacer-2) !important;
    padding-right: var(--spacer-2) !important;
  }
  .py-md-2 {
    padding-top: var(--spacer-2) !important;
    padding-bottom: var(--spacer-2) !important;
  }
}
@media screen and (min-width: 1140px) {
  .m-lg-2 {
    margin: var(--spacer-2) !important;
  }
  .mt-lg-2 {
    margin-top: var(--spacer-2) !important;
  }
  .mb-lg-2 {
    margin-bottom: var(--spacer-2) !important;
  }
  .ml-lg-2 {
    margin-left: var(--spacer-2) !important;
  }
  .mr-lg-2 {
    margin-right: var(--spacer-2) !important;
  }
  .mx-lg-2 {
    margin-left: var(--spacer-2) !important;
    margin-right: var(--spacer-2) !important;
  }
  .my-lg-2 {
    margin-top: var(--spacer-2) !important;
    margin-bottom: var(--spacer-2) !important;
  }
  .p-lg-2 {
    padding: var(--spacer-2) !important;
  }
  .pt-lg-2 {
    padding-top: var(--spacer-2) !important;
  }
  .pb-lg-2 {
    padding-bottom: var(--spacer-2) !important;
  }
  .pl-lg-2 {
    padding-left: var(--spacer-2) !important;
  }
  .pr-lg-2 {
    padding-right: var(--spacer-2) !important;
  }
  .px-lg-2 {
    padding-left: var(--spacer-2) !important;
    padding-right: var(--spacer-2) !important;
  }
  .py-lg-2 {
    padding-top: var(--spacer-2) !important;
    padding-bottom: var(--spacer-2) !important;
  }
}
@media screen and (min-width: 1280px) {
  .m-xl-2 {
    margin: var(--spacer-2) !important;
  }
  .mt-xl-2 {
    margin-top: var(--spacer-2) !important;
  }
  .mb-xl-2 {
    margin-bottom: var(--spacer-2) !important;
  }
  .ml-xl-2 {
    margin-left: var(--spacer-2) !important;
  }
  .mr-xl-2 {
    margin-right: var(--spacer-2) !important;
  }
  .mx-xl-2 {
    margin-left: var(--spacer-2) !important;
    margin-right: var(--spacer-2) !important;
  }
  .my-xl-2 {
    margin-top: var(--spacer-2) !important;
    margin-bottom: var(--spacer-2) !important;
  }
  .p-xl-2 {
    padding: var(--spacer-2) !important;
  }
  .pt-xl-2 {
    padding-top: var(--spacer-2) !important;
  }
  .pb-xl-2 {
    padding-bottom: var(--spacer-2) !important;
  }
  .pl-xl-2 {
    padding-left: var(--spacer-2) !important;
  }
  .pr-xl-2 {
    padding-right: var(--spacer-2) !important;
  }
  .px-xl-2 {
    padding-left: var(--spacer-2) !important;
    padding-right: var(--spacer-2) !important;
  }
  .py-xl-2 {
    padding-top: var(--spacer-2) !important;
    padding-bottom: var(--spacer-2) !important;
  }
}
@media screen and (min-width: 1440px) {
  .m-xxl-2 {
    margin: var(--spacer-2) !important;
  }
  .mt-xxl-2 {
    margin-top: var(--spacer-2) !important;
  }
  .mb-xxl-2 {
    margin-bottom: var(--spacer-2) !important;
  }
  .ml-xxl-2 {
    margin-left: var(--spacer-2) !important;
  }
  .mr-xxl-2 {
    margin-right: var(--spacer-2) !important;
  }
  .mx-xxl-2 {
    margin-left: var(--spacer-2) !important;
    margin-right: var(--spacer-2) !important;
  }
  .my-xxl-2 {
    margin-top: var(--spacer-2) !important;
    margin-bottom: var(--spacer-2) !important;
  }
  .p-xxl-2 {
    padding: var(--spacer-2) !important;
  }
  .pt-xxl-2 {
    padding-top: var(--spacer-2) !important;
  }
  .pb-xxl-2 {
    padding-bottom: var(--spacer-2) !important;
  }
  .pl-xxl-2 {
    padding-left: var(--spacer-2) !important;
  }
  .pr-xxl-2 {
    padding-right: var(--spacer-2) !important;
  }
  .px-xxl-2 {
    padding-left: var(--spacer-2) !important;
    padding-right: var(--spacer-2) !important;
  }
  .py-xxl-2 {
    padding-top: var(--spacer-2) !important;
    padding-bottom: var(--spacer-2) !important;
  }
}
.m-3 {
  margin: var(--spacer-3) !important;
}

.mt-3 {
  margin-top: var(--spacer-3) !important;
}

.mb-3 {
  margin-bottom: var(--spacer-3) !important;
}

.ml-3 {
  margin-left: var(--spacer-3) !important;
}

.mr-3 {
  margin-right: var(--spacer-3) !important;
}

.mx-3 {
  margin-left: var(--spacer-3) !important;
  margin-right: var(--spacer-3) !important;
}

.my-3 {
  margin-top: var(--spacer-3) !important;
  margin-bottom: var(--spacer-3) !important;
}

.p-3 {
  padding: var(--spacer-3) !important;
}

.pt-3 {
  padding-top: var(--spacer-3) !important;
}

.pb-3 {
  padding-bottom: var(--spacer-3) !important;
}

.pl-3 {
  padding-left: var(--spacer-3) !important;
}

.pr-3 {
  padding-right: var(--spacer-3) !important;
}

.px-3 {
  padding-left: var(--spacer-3) !important;
  padding-right: var(--spacer-3) !important;
}

.py-3 {
  padding-top: var(--spacer-3) !important;
  padding-bottom: var(--spacer-3) !important;
}

.gap-3 {
  gap: var(--spacer-3) !important;
}

.gapt-3 {
  gap-top: var(--spacer-3) !important;
}

.gapb-3 {
  gap-bottom: var(--spacer-3) !important;
}

.gapl-3 {
  gap-left: var(--spacer-3) !important;
}

.gapr-3 {
  gap-right: var(--spacer-3) !important;
}

.gapx-3 {
  gap-left: var(--spacer-3) !important;
  gap-right: var(--spacer-3) !important;
}

.gapy-3 {
  gap-top: var(--spacer-3) !important;
  gap-bottom: var(--spacer-3) !important;
}

@media screen and (min-width: 767px) {
  .m-sm-3 {
    margin: var(--spacer-3) !important;
  }
  .mt-sm-3 {
    margin-top: var(--spacer-3) !important;
  }
  .mb-sm-3 {
    margin-bottom: var(--spacer-3) !important;
  }
  .ml-sm-3 {
    margin-left: var(--spacer-3) !important;
  }
  .mr-sm-3 {
    margin-right: var(--spacer-3) !important;
  }
  .mx-sm-3 {
    margin-left: var(--spacer-3) !important;
    margin-right: var(--spacer-3) !important;
  }
  .my-sm-3 {
    margin-top: var(--spacer-3) !important;
    margin-bottom: var(--spacer-3) !important;
  }
  .p-sm-3 {
    padding: var(--spacer-3) !important;
  }
  .pt-sm-3 {
    padding-top: var(--spacer-3) !important;
  }
  .pb-sm-3 {
    padding-bottom: var(--spacer-3) !important;
  }
  .pl-sm-3 {
    padding-left: var(--spacer-3) !important;
  }
  .pr-sm-3 {
    padding-right: var(--spacer-3) !important;
  }
  .px-sm-3 {
    padding-left: var(--spacer-3) !important;
    padding-right: var(--spacer-3) !important;
  }
  .py-sm-3 {
    padding-top: var(--spacer-3) !important;
    padding-bottom: var(--spacer-3) !important;
  }
}
@media screen and (min-width: 992px) {
  .m-md-3 {
    margin: var(--spacer-3) !important;
  }
  .mt-md-3 {
    margin-top: var(--spacer-3) !important;
  }
  .mb-md-3 {
    margin-bottom: var(--spacer-3) !important;
  }
  .ml-md-3 {
    margin-left: var(--spacer-3) !important;
  }
  .mr-md-3 {
    margin-right: var(--spacer-3) !important;
  }
  .mx-md-3 {
    margin-left: var(--spacer-3) !important;
    margin-right: var(--spacer-3) !important;
  }
  .my-md-3 {
    margin-top: var(--spacer-3) !important;
    margin-bottom: var(--spacer-3) !important;
  }
  .p-md-3 {
    padding: var(--spacer-3) !important;
  }
  .pt-md-3 {
    padding-top: var(--spacer-3) !important;
  }
  .pb-md-3 {
    padding-bottom: var(--spacer-3) !important;
  }
  .pl-md-3 {
    padding-left: var(--spacer-3) !important;
  }
  .pr-md-3 {
    padding-right: var(--spacer-3) !important;
  }
  .px-md-3 {
    padding-left: var(--spacer-3) !important;
    padding-right: var(--spacer-3) !important;
  }
  .py-md-3 {
    padding-top: var(--spacer-3) !important;
    padding-bottom: var(--spacer-3) !important;
  }
}
@media screen and (min-width: 1140px) {
  .m-lg-3 {
    margin: var(--spacer-3) !important;
  }
  .mt-lg-3 {
    margin-top: var(--spacer-3) !important;
  }
  .mb-lg-3 {
    margin-bottom: var(--spacer-3) !important;
  }
  .ml-lg-3 {
    margin-left: var(--spacer-3) !important;
  }
  .mr-lg-3 {
    margin-right: var(--spacer-3) !important;
  }
  .mx-lg-3 {
    margin-left: var(--spacer-3) !important;
    margin-right: var(--spacer-3) !important;
  }
  .my-lg-3 {
    margin-top: var(--spacer-3) !important;
    margin-bottom: var(--spacer-3) !important;
  }
  .p-lg-3 {
    padding: var(--spacer-3) !important;
  }
  .pt-lg-3 {
    padding-top: var(--spacer-3) !important;
  }
  .pb-lg-3 {
    padding-bottom: var(--spacer-3) !important;
  }
  .pl-lg-3 {
    padding-left: var(--spacer-3) !important;
  }
  .pr-lg-3 {
    padding-right: var(--spacer-3) !important;
  }
  .px-lg-3 {
    padding-left: var(--spacer-3) !important;
    padding-right: var(--spacer-3) !important;
  }
  .py-lg-3 {
    padding-top: var(--spacer-3) !important;
    padding-bottom: var(--spacer-3) !important;
  }
}
@media screen and (min-width: 1280px) {
  .m-xl-3 {
    margin: var(--spacer-3) !important;
  }
  .mt-xl-3 {
    margin-top: var(--spacer-3) !important;
  }
  .mb-xl-3 {
    margin-bottom: var(--spacer-3) !important;
  }
  .ml-xl-3 {
    margin-left: var(--spacer-3) !important;
  }
  .mr-xl-3 {
    margin-right: var(--spacer-3) !important;
  }
  .mx-xl-3 {
    margin-left: var(--spacer-3) !important;
    margin-right: var(--spacer-3) !important;
  }
  .my-xl-3 {
    margin-top: var(--spacer-3) !important;
    margin-bottom: var(--spacer-3) !important;
  }
  .p-xl-3 {
    padding: var(--spacer-3) !important;
  }
  .pt-xl-3 {
    padding-top: var(--spacer-3) !important;
  }
  .pb-xl-3 {
    padding-bottom: var(--spacer-3) !important;
  }
  .pl-xl-3 {
    padding-left: var(--spacer-3) !important;
  }
  .pr-xl-3 {
    padding-right: var(--spacer-3) !important;
  }
  .px-xl-3 {
    padding-left: var(--spacer-3) !important;
    padding-right: var(--spacer-3) !important;
  }
  .py-xl-3 {
    padding-top: var(--spacer-3) !important;
    padding-bottom: var(--spacer-3) !important;
  }
}
@media screen and (min-width: 1440px) {
  .m-xxl-3 {
    margin: var(--spacer-3) !important;
  }
  .mt-xxl-3 {
    margin-top: var(--spacer-3) !important;
  }
  .mb-xxl-3 {
    margin-bottom: var(--spacer-3) !important;
  }
  .ml-xxl-3 {
    margin-left: var(--spacer-3) !important;
  }
  .mr-xxl-3 {
    margin-right: var(--spacer-3) !important;
  }
  .mx-xxl-3 {
    margin-left: var(--spacer-3) !important;
    margin-right: var(--spacer-3) !important;
  }
  .my-xxl-3 {
    margin-top: var(--spacer-3) !important;
    margin-bottom: var(--spacer-3) !important;
  }
  .p-xxl-3 {
    padding: var(--spacer-3) !important;
  }
  .pt-xxl-3 {
    padding-top: var(--spacer-3) !important;
  }
  .pb-xxl-3 {
    padding-bottom: var(--spacer-3) !important;
  }
  .pl-xxl-3 {
    padding-left: var(--spacer-3) !important;
  }
  .pr-xxl-3 {
    padding-right: var(--spacer-3) !important;
  }
  .px-xxl-3 {
    padding-left: var(--spacer-3) !important;
    padding-right: var(--spacer-3) !important;
  }
  .py-xxl-3 {
    padding-top: var(--spacer-3) !important;
    padding-bottom: var(--spacer-3) !important;
  }
}
.m-4 {
  margin: var(--spacer-4) !important;
}

.mt-4 {
  margin-top: var(--spacer-4) !important;
}

.mb-4 {
  margin-bottom: var(--spacer-4) !important;
}

.ml-4 {
  margin-left: var(--spacer-4) !important;
}

.mr-4 {
  margin-right: var(--spacer-4) !important;
}

.mx-4 {
  margin-left: var(--spacer-4) !important;
  margin-right: var(--spacer-4) !important;
}

.my-4 {
  margin-top: var(--spacer-4) !important;
  margin-bottom: var(--spacer-4) !important;
}

.p-4 {
  padding: var(--spacer-4) !important;
}

.pt-4 {
  padding-top: var(--spacer-4) !important;
}

.pb-4 {
  padding-bottom: var(--spacer-4) !important;
}

.pl-4 {
  padding-left: var(--spacer-4) !important;
}

.pr-4 {
  padding-right: var(--spacer-4) !important;
}

.px-4 {
  padding-left: var(--spacer-4) !important;
  padding-right: var(--spacer-4) !important;
}

.py-4 {
  padding-top: var(--spacer-4) !important;
  padding-bottom: var(--spacer-4) !important;
}

.gap-4 {
  gap: var(--spacer-4) !important;
}

.gapt-4 {
  gap-top: var(--spacer-4) !important;
}

.gapb-4 {
  gap-bottom: var(--spacer-4) !important;
}

.gapl-4 {
  gap-left: var(--spacer-4) !important;
}

.gapr-4 {
  gap-right: var(--spacer-4) !important;
}

.gapx-4 {
  gap-left: var(--spacer-4) !important;
  gap-right: var(--spacer-4) !important;
}

.gapy-4 {
  gap-top: var(--spacer-4) !important;
  gap-bottom: var(--spacer-4) !important;
}

@media screen and (min-width: 767px) {
  .m-sm-4 {
    margin: var(--spacer-4) !important;
  }
  .mt-sm-4 {
    margin-top: var(--spacer-4) !important;
  }
  .mb-sm-4 {
    margin-bottom: var(--spacer-4) !important;
  }
  .ml-sm-4 {
    margin-left: var(--spacer-4) !important;
  }
  .mr-sm-4 {
    margin-right: var(--spacer-4) !important;
  }
  .mx-sm-4 {
    margin-left: var(--spacer-4) !important;
    margin-right: var(--spacer-4) !important;
  }
  .my-sm-4 {
    margin-top: var(--spacer-4) !important;
    margin-bottom: var(--spacer-4) !important;
  }
  .p-sm-4 {
    padding: var(--spacer-4) !important;
  }
  .pt-sm-4 {
    padding-top: var(--spacer-4) !important;
  }
  .pb-sm-4 {
    padding-bottom: var(--spacer-4) !important;
  }
  .pl-sm-4 {
    padding-left: var(--spacer-4) !important;
  }
  .pr-sm-4 {
    padding-right: var(--spacer-4) !important;
  }
  .px-sm-4 {
    padding-left: var(--spacer-4) !important;
    padding-right: var(--spacer-4) !important;
  }
  .py-sm-4 {
    padding-top: var(--spacer-4) !important;
    padding-bottom: var(--spacer-4) !important;
  }
}
@media screen and (min-width: 992px) {
  .m-md-4 {
    margin: var(--spacer-4) !important;
  }
  .mt-md-4 {
    margin-top: var(--spacer-4) !important;
  }
  .mb-md-4 {
    margin-bottom: var(--spacer-4) !important;
  }
  .ml-md-4 {
    margin-left: var(--spacer-4) !important;
  }
  .mr-md-4 {
    margin-right: var(--spacer-4) !important;
  }
  .mx-md-4 {
    margin-left: var(--spacer-4) !important;
    margin-right: var(--spacer-4) !important;
  }
  .my-md-4 {
    margin-top: var(--spacer-4) !important;
    margin-bottom: var(--spacer-4) !important;
  }
  .p-md-4 {
    padding: var(--spacer-4) !important;
  }
  .pt-md-4 {
    padding-top: var(--spacer-4) !important;
  }
  .pb-md-4 {
    padding-bottom: var(--spacer-4) !important;
  }
  .pl-md-4 {
    padding-left: var(--spacer-4) !important;
  }
  .pr-md-4 {
    padding-right: var(--spacer-4) !important;
  }
  .px-md-4 {
    padding-left: var(--spacer-4) !important;
    padding-right: var(--spacer-4) !important;
  }
  .py-md-4 {
    padding-top: var(--spacer-4) !important;
    padding-bottom: var(--spacer-4) !important;
  }
}
@media screen and (min-width: 1140px) {
  .m-lg-4 {
    margin: var(--spacer-4) !important;
  }
  .mt-lg-4 {
    margin-top: var(--spacer-4) !important;
  }
  .mb-lg-4 {
    margin-bottom: var(--spacer-4) !important;
  }
  .ml-lg-4 {
    margin-left: var(--spacer-4) !important;
  }
  .mr-lg-4 {
    margin-right: var(--spacer-4) !important;
  }
  .mx-lg-4 {
    margin-left: var(--spacer-4) !important;
    margin-right: var(--spacer-4) !important;
  }
  .my-lg-4 {
    margin-top: var(--spacer-4) !important;
    margin-bottom: var(--spacer-4) !important;
  }
  .p-lg-4 {
    padding: var(--spacer-4) !important;
  }
  .pt-lg-4 {
    padding-top: var(--spacer-4) !important;
  }
  .pb-lg-4 {
    padding-bottom: var(--spacer-4) !important;
  }
  .pl-lg-4 {
    padding-left: var(--spacer-4) !important;
  }
  .pr-lg-4 {
    padding-right: var(--spacer-4) !important;
  }
  .px-lg-4 {
    padding-left: var(--spacer-4) !important;
    padding-right: var(--spacer-4) !important;
  }
  .py-lg-4 {
    padding-top: var(--spacer-4) !important;
    padding-bottom: var(--spacer-4) !important;
  }
}
@media screen and (min-width: 1280px) {
  .m-xl-4 {
    margin: var(--spacer-4) !important;
  }
  .mt-xl-4 {
    margin-top: var(--spacer-4) !important;
  }
  .mb-xl-4 {
    margin-bottom: var(--spacer-4) !important;
  }
  .ml-xl-4 {
    margin-left: var(--spacer-4) !important;
  }
  .mr-xl-4 {
    margin-right: var(--spacer-4) !important;
  }
  .mx-xl-4 {
    margin-left: var(--spacer-4) !important;
    margin-right: var(--spacer-4) !important;
  }
  .my-xl-4 {
    margin-top: var(--spacer-4) !important;
    margin-bottom: var(--spacer-4) !important;
  }
  .p-xl-4 {
    padding: var(--spacer-4) !important;
  }
  .pt-xl-4 {
    padding-top: var(--spacer-4) !important;
  }
  .pb-xl-4 {
    padding-bottom: var(--spacer-4) !important;
  }
  .pl-xl-4 {
    padding-left: var(--spacer-4) !important;
  }
  .pr-xl-4 {
    padding-right: var(--spacer-4) !important;
  }
  .px-xl-4 {
    padding-left: var(--spacer-4) !important;
    padding-right: var(--spacer-4) !important;
  }
  .py-xl-4 {
    padding-top: var(--spacer-4) !important;
    padding-bottom: var(--spacer-4) !important;
  }
}
@media screen and (min-width: 1440px) {
  .m-xxl-4 {
    margin: var(--spacer-4) !important;
  }
  .mt-xxl-4 {
    margin-top: var(--spacer-4) !important;
  }
  .mb-xxl-4 {
    margin-bottom: var(--spacer-4) !important;
  }
  .ml-xxl-4 {
    margin-left: var(--spacer-4) !important;
  }
  .mr-xxl-4 {
    margin-right: var(--spacer-4) !important;
  }
  .mx-xxl-4 {
    margin-left: var(--spacer-4) !important;
    margin-right: var(--spacer-4) !important;
  }
  .my-xxl-4 {
    margin-top: var(--spacer-4) !important;
    margin-bottom: var(--spacer-4) !important;
  }
  .p-xxl-4 {
    padding: var(--spacer-4) !important;
  }
  .pt-xxl-4 {
    padding-top: var(--spacer-4) !important;
  }
  .pb-xxl-4 {
    padding-bottom: var(--spacer-4) !important;
  }
  .pl-xxl-4 {
    padding-left: var(--spacer-4) !important;
  }
  .pr-xxl-4 {
    padding-right: var(--spacer-4) !important;
  }
  .px-xxl-4 {
    padding-left: var(--spacer-4) !important;
    padding-right: var(--spacer-4) !important;
  }
  .py-xxl-4 {
    padding-top: var(--spacer-4) !important;
    padding-bottom: var(--spacer-4) !important;
  }
}
.m-5 {
  margin: var(--spacer-5) !important;
}

.mt-5 {
  margin-top: var(--spacer-5) !important;
}

.mb-5 {
  margin-bottom: var(--spacer-5) !important;
}

.ml-5 {
  margin-left: var(--spacer-5) !important;
}

.mr-5 {
  margin-right: var(--spacer-5) !important;
}

.mx-5 {
  margin-left: var(--spacer-5) !important;
  margin-right: var(--spacer-5) !important;
}

.my-5 {
  margin-top: var(--spacer-5) !important;
  margin-bottom: var(--spacer-5) !important;
}

.p-5 {
  padding: var(--spacer-5) !important;
}

.pt-5 {
  padding-top: var(--spacer-5) !important;
}

.pb-5 {
  padding-bottom: var(--spacer-5) !important;
}

.pl-5 {
  padding-left: var(--spacer-5) !important;
}

.pr-5 {
  padding-right: var(--spacer-5) !important;
}

.px-5 {
  padding-left: var(--spacer-5) !important;
  padding-right: var(--spacer-5) !important;
}

.py-5 {
  padding-top: var(--spacer-5) !important;
  padding-bottom: var(--spacer-5) !important;
}

.gap-5 {
  gap: var(--spacer-5) !important;
}

.gapt-5 {
  gap-top: var(--spacer-5) !important;
}

.gapb-5 {
  gap-bottom: var(--spacer-5) !important;
}

.gapl-5 {
  gap-left: var(--spacer-5) !important;
}

.gapr-5 {
  gap-right: var(--spacer-5) !important;
}

.gapx-5 {
  gap-left: var(--spacer-5) !important;
  gap-right: var(--spacer-5) !important;
}

.gapy-5 {
  gap-top: var(--spacer-5) !important;
  gap-bottom: var(--spacer-5) !important;
}

@media screen and (min-width: 767px) {
  .m-sm-5 {
    margin: var(--spacer-5) !important;
  }
  .mt-sm-5 {
    margin-top: var(--spacer-5) !important;
  }
  .mb-sm-5 {
    margin-bottom: var(--spacer-5) !important;
  }
  .ml-sm-5 {
    margin-left: var(--spacer-5) !important;
  }
  .mr-sm-5 {
    margin-right: var(--spacer-5) !important;
  }
  .mx-sm-5 {
    margin-left: var(--spacer-5) !important;
    margin-right: var(--spacer-5) !important;
  }
  .my-sm-5 {
    margin-top: var(--spacer-5) !important;
    margin-bottom: var(--spacer-5) !important;
  }
  .p-sm-5 {
    padding: var(--spacer-5) !important;
  }
  .pt-sm-5 {
    padding-top: var(--spacer-5) !important;
  }
  .pb-sm-5 {
    padding-bottom: var(--spacer-5) !important;
  }
  .pl-sm-5 {
    padding-left: var(--spacer-5) !important;
  }
  .pr-sm-5 {
    padding-right: var(--spacer-5) !important;
  }
  .px-sm-5 {
    padding-left: var(--spacer-5) !important;
    padding-right: var(--spacer-5) !important;
  }
  .py-sm-5 {
    padding-top: var(--spacer-5) !important;
    padding-bottom: var(--spacer-5) !important;
  }
}
@media screen and (min-width: 992px) {
  .m-md-5 {
    margin: var(--spacer-5) !important;
  }
  .mt-md-5 {
    margin-top: var(--spacer-5) !important;
  }
  .mb-md-5 {
    margin-bottom: var(--spacer-5) !important;
  }
  .ml-md-5 {
    margin-left: var(--spacer-5) !important;
  }
  .mr-md-5 {
    margin-right: var(--spacer-5) !important;
  }
  .mx-md-5 {
    margin-left: var(--spacer-5) !important;
    margin-right: var(--spacer-5) !important;
  }
  .my-md-5 {
    margin-top: var(--spacer-5) !important;
    margin-bottom: var(--spacer-5) !important;
  }
  .p-md-5 {
    padding: var(--spacer-5) !important;
  }
  .pt-md-5 {
    padding-top: var(--spacer-5) !important;
  }
  .pb-md-5 {
    padding-bottom: var(--spacer-5) !important;
  }
  .pl-md-5 {
    padding-left: var(--spacer-5) !important;
  }
  .pr-md-5 {
    padding-right: var(--spacer-5) !important;
  }
  .px-md-5 {
    padding-left: var(--spacer-5) !important;
    padding-right: var(--spacer-5) !important;
  }
  .py-md-5 {
    padding-top: var(--spacer-5) !important;
    padding-bottom: var(--spacer-5) !important;
  }
}
@media screen and (min-width: 1140px) {
  .m-lg-5 {
    margin: var(--spacer-5) !important;
  }
  .mt-lg-5 {
    margin-top: var(--spacer-5) !important;
  }
  .mb-lg-5 {
    margin-bottom: var(--spacer-5) !important;
  }
  .ml-lg-5 {
    margin-left: var(--spacer-5) !important;
  }
  .mr-lg-5 {
    margin-right: var(--spacer-5) !important;
  }
  .mx-lg-5 {
    margin-left: var(--spacer-5) !important;
    margin-right: var(--spacer-5) !important;
  }
  .my-lg-5 {
    margin-top: var(--spacer-5) !important;
    margin-bottom: var(--spacer-5) !important;
  }
  .p-lg-5 {
    padding: var(--spacer-5) !important;
  }
  .pt-lg-5 {
    padding-top: var(--spacer-5) !important;
  }
  .pb-lg-5 {
    padding-bottom: var(--spacer-5) !important;
  }
  .pl-lg-5 {
    padding-left: var(--spacer-5) !important;
  }
  .pr-lg-5 {
    padding-right: var(--spacer-5) !important;
  }
  .px-lg-5 {
    padding-left: var(--spacer-5) !important;
    padding-right: var(--spacer-5) !important;
  }
  .py-lg-5 {
    padding-top: var(--spacer-5) !important;
    padding-bottom: var(--spacer-5) !important;
  }
}
@media screen and (min-width: 1280px) {
  .m-xl-5 {
    margin: var(--spacer-5) !important;
  }
  .mt-xl-5 {
    margin-top: var(--spacer-5) !important;
  }
  .mb-xl-5 {
    margin-bottom: var(--spacer-5) !important;
  }
  .ml-xl-5 {
    margin-left: var(--spacer-5) !important;
  }
  .mr-xl-5 {
    margin-right: var(--spacer-5) !important;
  }
  .mx-xl-5 {
    margin-left: var(--spacer-5) !important;
    margin-right: var(--spacer-5) !important;
  }
  .my-xl-5 {
    margin-top: var(--spacer-5) !important;
    margin-bottom: var(--spacer-5) !important;
  }
  .p-xl-5 {
    padding: var(--spacer-5) !important;
  }
  .pt-xl-5 {
    padding-top: var(--spacer-5) !important;
  }
  .pb-xl-5 {
    padding-bottom: var(--spacer-5) !important;
  }
  .pl-xl-5 {
    padding-left: var(--spacer-5) !important;
  }
  .pr-xl-5 {
    padding-right: var(--spacer-5) !important;
  }
  .px-xl-5 {
    padding-left: var(--spacer-5) !important;
    padding-right: var(--spacer-5) !important;
  }
  .py-xl-5 {
    padding-top: var(--spacer-5) !important;
    padding-bottom: var(--spacer-5) !important;
  }
}
@media screen and (min-width: 1440px) {
  .m-xxl-5 {
    margin: var(--spacer-5) !important;
  }
  .mt-xxl-5 {
    margin-top: var(--spacer-5) !important;
  }
  .mb-xxl-5 {
    margin-bottom: var(--spacer-5) !important;
  }
  .ml-xxl-5 {
    margin-left: var(--spacer-5) !important;
  }
  .mr-xxl-5 {
    margin-right: var(--spacer-5) !important;
  }
  .mx-xxl-5 {
    margin-left: var(--spacer-5) !important;
    margin-right: var(--spacer-5) !important;
  }
  .my-xxl-5 {
    margin-top: var(--spacer-5) !important;
    margin-bottom: var(--spacer-5) !important;
  }
  .p-xxl-5 {
    padding: var(--spacer-5) !important;
  }
  .pt-xxl-5 {
    padding-top: var(--spacer-5) !important;
  }
  .pb-xxl-5 {
    padding-bottom: var(--spacer-5) !important;
  }
  .pl-xxl-5 {
    padding-left: var(--spacer-5) !important;
  }
  .pr-xxl-5 {
    padding-right: var(--spacer-5) !important;
  }
  .px-xxl-5 {
    padding-left: var(--spacer-5) !important;
    padding-right: var(--spacer-5) !important;
  }
  .py-xxl-5 {
    padding-top: var(--spacer-5) !important;
    padding-bottom: var(--spacer-5) !important;
  }
}
.m-6 {
  margin: var(--spacer-6) !important;
}

.mt-6 {
  margin-top: var(--spacer-6) !important;
}

.mb-6 {
  margin-bottom: var(--spacer-6) !important;
}

.ml-6 {
  margin-left: var(--spacer-6) !important;
}

.mr-6 {
  margin-right: var(--spacer-6) !important;
}

.mx-6 {
  margin-left: var(--spacer-6) !important;
  margin-right: var(--spacer-6) !important;
}

.my-6 {
  margin-top: var(--spacer-6) !important;
  margin-bottom: var(--spacer-6) !important;
}

.p-6 {
  padding: var(--spacer-6) !important;
}

.pt-6 {
  padding-top: var(--spacer-6) !important;
}

.pb-6 {
  padding-bottom: var(--spacer-6) !important;
}

.pl-6 {
  padding-left: var(--spacer-6) !important;
}

.pr-6 {
  padding-right: var(--spacer-6) !important;
}

.px-6 {
  padding-left: var(--spacer-6) !important;
  padding-right: var(--spacer-6) !important;
}

.py-6 {
  padding-top: var(--spacer-6) !important;
  padding-bottom: var(--spacer-6) !important;
}

.gap-6 {
  gap: var(--spacer-6) !important;
}

.gapt-6 {
  gap-top: var(--spacer-6) !important;
}

.gapb-6 {
  gap-bottom: var(--spacer-6) !important;
}

.gapl-6 {
  gap-left: var(--spacer-6) !important;
}

.gapr-6 {
  gap-right: var(--spacer-6) !important;
}

.gapx-6 {
  gap-left: var(--spacer-6) !important;
  gap-right: var(--spacer-6) !important;
}

.gapy-6 {
  gap-top: var(--spacer-6) !important;
  gap-bottom: var(--spacer-6) !important;
}

@media screen and (min-width: 767px) {
  .m-sm-6 {
    margin: var(--spacer-6) !important;
  }
  .mt-sm-6 {
    margin-top: var(--spacer-6) !important;
  }
  .mb-sm-6 {
    margin-bottom: var(--spacer-6) !important;
  }
  .ml-sm-6 {
    margin-left: var(--spacer-6) !important;
  }
  .mr-sm-6 {
    margin-right: var(--spacer-6) !important;
  }
  .mx-sm-6 {
    margin-left: var(--spacer-6) !important;
    margin-right: var(--spacer-6) !important;
  }
  .my-sm-6 {
    margin-top: var(--spacer-6) !important;
    margin-bottom: var(--spacer-6) !important;
  }
  .p-sm-6 {
    padding: var(--spacer-6) !important;
  }
  .pt-sm-6 {
    padding-top: var(--spacer-6) !important;
  }
  .pb-sm-6 {
    padding-bottom: var(--spacer-6) !important;
  }
  .pl-sm-6 {
    padding-left: var(--spacer-6) !important;
  }
  .pr-sm-6 {
    padding-right: var(--spacer-6) !important;
  }
  .px-sm-6 {
    padding-left: var(--spacer-6) !important;
    padding-right: var(--spacer-6) !important;
  }
  .py-sm-6 {
    padding-top: var(--spacer-6) !important;
    padding-bottom: var(--spacer-6) !important;
  }
}
@media screen and (min-width: 992px) {
  .m-md-6 {
    margin: var(--spacer-6) !important;
  }
  .mt-md-6 {
    margin-top: var(--spacer-6) !important;
  }
  .mb-md-6 {
    margin-bottom: var(--spacer-6) !important;
  }
  .ml-md-6 {
    margin-left: var(--spacer-6) !important;
  }
  .mr-md-6 {
    margin-right: var(--spacer-6) !important;
  }
  .mx-md-6 {
    margin-left: var(--spacer-6) !important;
    margin-right: var(--spacer-6) !important;
  }
  .my-md-6 {
    margin-top: var(--spacer-6) !important;
    margin-bottom: var(--spacer-6) !important;
  }
  .p-md-6 {
    padding: var(--spacer-6) !important;
  }
  .pt-md-6 {
    padding-top: var(--spacer-6) !important;
  }
  .pb-md-6 {
    padding-bottom: var(--spacer-6) !important;
  }
  .pl-md-6 {
    padding-left: var(--spacer-6) !important;
  }
  .pr-md-6 {
    padding-right: var(--spacer-6) !important;
  }
  .px-md-6 {
    padding-left: var(--spacer-6) !important;
    padding-right: var(--spacer-6) !important;
  }
  .py-md-6 {
    padding-top: var(--spacer-6) !important;
    padding-bottom: var(--spacer-6) !important;
  }
}
@media screen and (min-width: 1140px) {
  .m-lg-6 {
    margin: var(--spacer-6) !important;
  }
  .mt-lg-6 {
    margin-top: var(--spacer-6) !important;
  }
  .mb-lg-6 {
    margin-bottom: var(--spacer-6) !important;
  }
  .ml-lg-6 {
    margin-left: var(--spacer-6) !important;
  }
  .mr-lg-6 {
    margin-right: var(--spacer-6) !important;
  }
  .mx-lg-6 {
    margin-left: var(--spacer-6) !important;
    margin-right: var(--spacer-6) !important;
  }
  .my-lg-6 {
    margin-top: var(--spacer-6) !important;
    margin-bottom: var(--spacer-6) !important;
  }
  .p-lg-6 {
    padding: var(--spacer-6) !important;
  }
  .pt-lg-6 {
    padding-top: var(--spacer-6) !important;
  }
  .pb-lg-6 {
    padding-bottom: var(--spacer-6) !important;
  }
  .pl-lg-6 {
    padding-left: var(--spacer-6) !important;
  }
  .pr-lg-6 {
    padding-right: var(--spacer-6) !important;
  }
  .px-lg-6 {
    padding-left: var(--spacer-6) !important;
    padding-right: var(--spacer-6) !important;
  }
  .py-lg-6 {
    padding-top: var(--spacer-6) !important;
    padding-bottom: var(--spacer-6) !important;
  }
}
@media screen and (min-width: 1280px) {
  .m-xl-6 {
    margin: var(--spacer-6) !important;
  }
  .mt-xl-6 {
    margin-top: var(--spacer-6) !important;
  }
  .mb-xl-6 {
    margin-bottom: var(--spacer-6) !important;
  }
  .ml-xl-6 {
    margin-left: var(--spacer-6) !important;
  }
  .mr-xl-6 {
    margin-right: var(--spacer-6) !important;
  }
  .mx-xl-6 {
    margin-left: var(--spacer-6) !important;
    margin-right: var(--spacer-6) !important;
  }
  .my-xl-6 {
    margin-top: var(--spacer-6) !important;
    margin-bottom: var(--spacer-6) !important;
  }
  .p-xl-6 {
    padding: var(--spacer-6) !important;
  }
  .pt-xl-6 {
    padding-top: var(--spacer-6) !important;
  }
  .pb-xl-6 {
    padding-bottom: var(--spacer-6) !important;
  }
  .pl-xl-6 {
    padding-left: var(--spacer-6) !important;
  }
  .pr-xl-6 {
    padding-right: var(--spacer-6) !important;
  }
  .px-xl-6 {
    padding-left: var(--spacer-6) !important;
    padding-right: var(--spacer-6) !important;
  }
  .py-xl-6 {
    padding-top: var(--spacer-6) !important;
    padding-bottom: var(--spacer-6) !important;
  }
}
@media screen and (min-width: 1440px) {
  .m-xxl-6 {
    margin: var(--spacer-6) !important;
  }
  .mt-xxl-6 {
    margin-top: var(--spacer-6) !important;
  }
  .mb-xxl-6 {
    margin-bottom: var(--spacer-6) !important;
  }
  .ml-xxl-6 {
    margin-left: var(--spacer-6) !important;
  }
  .mr-xxl-6 {
    margin-right: var(--spacer-6) !important;
  }
  .mx-xxl-6 {
    margin-left: var(--spacer-6) !important;
    margin-right: var(--spacer-6) !important;
  }
  .my-xxl-6 {
    margin-top: var(--spacer-6) !important;
    margin-bottom: var(--spacer-6) !important;
  }
  .p-xxl-6 {
    padding: var(--spacer-6) !important;
  }
  .pt-xxl-6 {
    padding-top: var(--spacer-6) !important;
  }
  .pb-xxl-6 {
    padding-bottom: var(--spacer-6) !important;
  }
  .pl-xxl-6 {
    padding-left: var(--spacer-6) !important;
  }
  .pr-xxl-6 {
    padding-right: var(--spacer-6) !important;
  }
  .px-xxl-6 {
    padding-left: var(--spacer-6) !important;
    padding-right: var(--spacer-6) !important;
  }
  .py-xxl-6 {
    padding-top: var(--spacer-6) !important;
    padding-bottom: var(--spacer-6) !important;
  }
}
.m-7 {
  margin: var(--spacer-7) !important;
}

.mt-7 {
  margin-top: var(--spacer-7) !important;
}

.mb-7 {
  margin-bottom: var(--spacer-7) !important;
}

.ml-7 {
  margin-left: var(--spacer-7) !important;
}

.mr-7 {
  margin-right: var(--spacer-7) !important;
}

.mx-7 {
  margin-left: var(--spacer-7) !important;
  margin-right: var(--spacer-7) !important;
}

.my-7 {
  margin-top: var(--spacer-7) !important;
  margin-bottom: var(--spacer-7) !important;
}

.p-7 {
  padding: var(--spacer-7) !important;
}

.pt-7 {
  padding-top: var(--spacer-7) !important;
}

.pb-7 {
  padding-bottom: var(--spacer-7) !important;
}

.pl-7 {
  padding-left: var(--spacer-7) !important;
}

.pr-7 {
  padding-right: var(--spacer-7) !important;
}

.px-7 {
  padding-left: var(--spacer-7) !important;
  padding-right: var(--spacer-7) !important;
}

.py-7 {
  padding-top: var(--spacer-7) !important;
  padding-bottom: var(--spacer-7) !important;
}

.gap-7 {
  gap: var(--spacer-7) !important;
}

.gapt-7 {
  gap-top: var(--spacer-7) !important;
}

.gapb-7 {
  gap-bottom: var(--spacer-7) !important;
}

.gapl-7 {
  gap-left: var(--spacer-7) !important;
}

.gapr-7 {
  gap-right: var(--spacer-7) !important;
}

.gapx-7 {
  gap-left: var(--spacer-7) !important;
  gap-right: var(--spacer-7) !important;
}

.gapy-7 {
  gap-top: var(--spacer-7) !important;
  gap-bottom: var(--spacer-7) !important;
}

@media screen and (min-width: 767px) {
  .m-sm-7 {
    margin: var(--spacer-7) !important;
  }
  .mt-sm-7 {
    margin-top: var(--spacer-7) !important;
  }
  .mb-sm-7 {
    margin-bottom: var(--spacer-7) !important;
  }
  .ml-sm-7 {
    margin-left: var(--spacer-7) !important;
  }
  .mr-sm-7 {
    margin-right: var(--spacer-7) !important;
  }
  .mx-sm-7 {
    margin-left: var(--spacer-7) !important;
    margin-right: var(--spacer-7) !important;
  }
  .my-sm-7 {
    margin-top: var(--spacer-7) !important;
    margin-bottom: var(--spacer-7) !important;
  }
  .p-sm-7 {
    padding: var(--spacer-7) !important;
  }
  .pt-sm-7 {
    padding-top: var(--spacer-7) !important;
  }
  .pb-sm-7 {
    padding-bottom: var(--spacer-7) !important;
  }
  .pl-sm-7 {
    padding-left: var(--spacer-7) !important;
  }
  .pr-sm-7 {
    padding-right: var(--spacer-7) !important;
  }
  .px-sm-7 {
    padding-left: var(--spacer-7) !important;
    padding-right: var(--spacer-7) !important;
  }
  .py-sm-7 {
    padding-top: var(--spacer-7) !important;
    padding-bottom: var(--spacer-7) !important;
  }
}
@media screen and (min-width: 992px) {
  .m-md-7 {
    margin: var(--spacer-7) !important;
  }
  .mt-md-7 {
    margin-top: var(--spacer-7) !important;
  }
  .mb-md-7 {
    margin-bottom: var(--spacer-7) !important;
  }
  .ml-md-7 {
    margin-left: var(--spacer-7) !important;
  }
  .mr-md-7 {
    margin-right: var(--spacer-7) !important;
  }
  .mx-md-7 {
    margin-left: var(--spacer-7) !important;
    margin-right: var(--spacer-7) !important;
  }
  .my-md-7 {
    margin-top: var(--spacer-7) !important;
    margin-bottom: var(--spacer-7) !important;
  }
  .p-md-7 {
    padding: var(--spacer-7) !important;
  }
  .pt-md-7 {
    padding-top: var(--spacer-7) !important;
  }
  .pb-md-7 {
    padding-bottom: var(--spacer-7) !important;
  }
  .pl-md-7 {
    padding-left: var(--spacer-7) !important;
  }
  .pr-md-7 {
    padding-right: var(--spacer-7) !important;
  }
  .px-md-7 {
    padding-left: var(--spacer-7) !important;
    padding-right: var(--spacer-7) !important;
  }
  .py-md-7 {
    padding-top: var(--spacer-7) !important;
    padding-bottom: var(--spacer-7) !important;
  }
}
@media screen and (min-width: 1140px) {
  .m-lg-7 {
    margin: var(--spacer-7) !important;
  }
  .mt-lg-7 {
    margin-top: var(--spacer-7) !important;
  }
  .mb-lg-7 {
    margin-bottom: var(--spacer-7) !important;
  }
  .ml-lg-7 {
    margin-left: var(--spacer-7) !important;
  }
  .mr-lg-7 {
    margin-right: var(--spacer-7) !important;
  }
  .mx-lg-7 {
    margin-left: var(--spacer-7) !important;
    margin-right: var(--spacer-7) !important;
  }
  .my-lg-7 {
    margin-top: var(--spacer-7) !important;
    margin-bottom: var(--spacer-7) !important;
  }
  .p-lg-7 {
    padding: var(--spacer-7) !important;
  }
  .pt-lg-7 {
    padding-top: var(--spacer-7) !important;
  }
  .pb-lg-7 {
    padding-bottom: var(--spacer-7) !important;
  }
  .pl-lg-7 {
    padding-left: var(--spacer-7) !important;
  }
  .pr-lg-7 {
    padding-right: var(--spacer-7) !important;
  }
  .px-lg-7 {
    padding-left: var(--spacer-7) !important;
    padding-right: var(--spacer-7) !important;
  }
  .py-lg-7 {
    padding-top: var(--spacer-7) !important;
    padding-bottom: var(--spacer-7) !important;
  }
}
@media screen and (min-width: 1280px) {
  .m-xl-7 {
    margin: var(--spacer-7) !important;
  }
  .mt-xl-7 {
    margin-top: var(--spacer-7) !important;
  }
  .mb-xl-7 {
    margin-bottom: var(--spacer-7) !important;
  }
  .ml-xl-7 {
    margin-left: var(--spacer-7) !important;
  }
  .mr-xl-7 {
    margin-right: var(--spacer-7) !important;
  }
  .mx-xl-7 {
    margin-left: var(--spacer-7) !important;
    margin-right: var(--spacer-7) !important;
  }
  .my-xl-7 {
    margin-top: var(--spacer-7) !important;
    margin-bottom: var(--spacer-7) !important;
  }
  .p-xl-7 {
    padding: var(--spacer-7) !important;
  }
  .pt-xl-7 {
    padding-top: var(--spacer-7) !important;
  }
  .pb-xl-7 {
    padding-bottom: var(--spacer-7) !important;
  }
  .pl-xl-7 {
    padding-left: var(--spacer-7) !important;
  }
  .pr-xl-7 {
    padding-right: var(--spacer-7) !important;
  }
  .px-xl-7 {
    padding-left: var(--spacer-7) !important;
    padding-right: var(--spacer-7) !important;
  }
  .py-xl-7 {
    padding-top: var(--spacer-7) !important;
    padding-bottom: var(--spacer-7) !important;
  }
}
@media screen and (min-width: 1440px) {
  .m-xxl-7 {
    margin: var(--spacer-7) !important;
  }
  .mt-xxl-7 {
    margin-top: var(--spacer-7) !important;
  }
  .mb-xxl-7 {
    margin-bottom: var(--spacer-7) !important;
  }
  .ml-xxl-7 {
    margin-left: var(--spacer-7) !important;
  }
  .mr-xxl-7 {
    margin-right: var(--spacer-7) !important;
  }
  .mx-xxl-7 {
    margin-left: var(--spacer-7) !important;
    margin-right: var(--spacer-7) !important;
  }
  .my-xxl-7 {
    margin-top: var(--spacer-7) !important;
    margin-bottom: var(--spacer-7) !important;
  }
  .p-xxl-7 {
    padding: var(--spacer-7) !important;
  }
  .pt-xxl-7 {
    padding-top: var(--spacer-7) !important;
  }
  .pb-xxl-7 {
    padding-bottom: var(--spacer-7) !important;
  }
  .pl-xxl-7 {
    padding-left: var(--spacer-7) !important;
  }
  .pr-xxl-7 {
    padding-right: var(--spacer-7) !important;
  }
  .px-xxl-7 {
    padding-left: var(--spacer-7) !important;
    padding-right: var(--spacer-7) !important;
  }
  .py-xxl-7 {
    padding-top: var(--spacer-7) !important;
    padding-bottom: var(--spacer-7) !important;
  }
}
.m-8 {
  margin: var(--spacer-8) !important;
}

.mt-8 {
  margin-top: var(--spacer-8) !important;
}

.mb-8 {
  margin-bottom: var(--spacer-8) !important;
}

.ml-8 {
  margin-left: var(--spacer-8) !important;
}

.mr-8 {
  margin-right: var(--spacer-8) !important;
}

.mx-8 {
  margin-left: var(--spacer-8) !important;
  margin-right: var(--spacer-8) !important;
}

.my-8 {
  margin-top: var(--spacer-8) !important;
  margin-bottom: var(--spacer-8) !important;
}

.p-8 {
  padding: var(--spacer-8) !important;
}

.pt-8 {
  padding-top: var(--spacer-8) !important;
}

.pb-8 {
  padding-bottom: var(--spacer-8) !important;
}

.pl-8 {
  padding-left: var(--spacer-8) !important;
}

.pr-8 {
  padding-right: var(--spacer-8) !important;
}

.px-8 {
  padding-left: var(--spacer-8) !important;
  padding-right: var(--spacer-8) !important;
}

.py-8 {
  padding-top: var(--spacer-8) !important;
  padding-bottom: var(--spacer-8) !important;
}

.gap-8 {
  gap: var(--spacer-8) !important;
}

.gapt-8 {
  gap-top: var(--spacer-8) !important;
}

.gapb-8 {
  gap-bottom: var(--spacer-8) !important;
}

.gapl-8 {
  gap-left: var(--spacer-8) !important;
}

.gapr-8 {
  gap-right: var(--spacer-8) !important;
}

.gapx-8 {
  gap-left: var(--spacer-8) !important;
  gap-right: var(--spacer-8) !important;
}

.gapy-8 {
  gap-top: var(--spacer-8) !important;
  gap-bottom: var(--spacer-8) !important;
}

@media screen and (min-width: 767px) {
  .m-sm-8 {
    margin: var(--spacer-8) !important;
  }
  .mt-sm-8 {
    margin-top: var(--spacer-8) !important;
  }
  .mb-sm-8 {
    margin-bottom: var(--spacer-8) !important;
  }
  .ml-sm-8 {
    margin-left: var(--spacer-8) !important;
  }
  .mr-sm-8 {
    margin-right: var(--spacer-8) !important;
  }
  .mx-sm-8 {
    margin-left: var(--spacer-8) !important;
    margin-right: var(--spacer-8) !important;
  }
  .my-sm-8 {
    margin-top: var(--spacer-8) !important;
    margin-bottom: var(--spacer-8) !important;
  }
  .p-sm-8 {
    padding: var(--spacer-8) !important;
  }
  .pt-sm-8 {
    padding-top: var(--spacer-8) !important;
  }
  .pb-sm-8 {
    padding-bottom: var(--spacer-8) !important;
  }
  .pl-sm-8 {
    padding-left: var(--spacer-8) !important;
  }
  .pr-sm-8 {
    padding-right: var(--spacer-8) !important;
  }
  .px-sm-8 {
    padding-left: var(--spacer-8) !important;
    padding-right: var(--spacer-8) !important;
  }
  .py-sm-8 {
    padding-top: var(--spacer-8) !important;
    padding-bottom: var(--spacer-8) !important;
  }
}
@media screen and (min-width: 992px) {
  .m-md-8 {
    margin: var(--spacer-8) !important;
  }
  .mt-md-8 {
    margin-top: var(--spacer-8) !important;
  }
  .mb-md-8 {
    margin-bottom: var(--spacer-8) !important;
  }
  .ml-md-8 {
    margin-left: var(--spacer-8) !important;
  }
  .mr-md-8 {
    margin-right: var(--spacer-8) !important;
  }
  .mx-md-8 {
    margin-left: var(--spacer-8) !important;
    margin-right: var(--spacer-8) !important;
  }
  .my-md-8 {
    margin-top: var(--spacer-8) !important;
    margin-bottom: var(--spacer-8) !important;
  }
  .p-md-8 {
    padding: var(--spacer-8) !important;
  }
  .pt-md-8 {
    padding-top: var(--spacer-8) !important;
  }
  .pb-md-8 {
    padding-bottom: var(--spacer-8) !important;
  }
  .pl-md-8 {
    padding-left: var(--spacer-8) !important;
  }
  .pr-md-8 {
    padding-right: var(--spacer-8) !important;
  }
  .px-md-8 {
    padding-left: var(--spacer-8) !important;
    padding-right: var(--spacer-8) !important;
  }
  .py-md-8 {
    padding-top: var(--spacer-8) !important;
    padding-bottom: var(--spacer-8) !important;
  }
}
@media screen and (min-width: 1140px) {
  .m-lg-8 {
    margin: var(--spacer-8) !important;
  }
  .mt-lg-8 {
    margin-top: var(--spacer-8) !important;
  }
  .mb-lg-8 {
    margin-bottom: var(--spacer-8) !important;
  }
  .ml-lg-8 {
    margin-left: var(--spacer-8) !important;
  }
  .mr-lg-8 {
    margin-right: var(--spacer-8) !important;
  }
  .mx-lg-8 {
    margin-left: var(--spacer-8) !important;
    margin-right: var(--spacer-8) !important;
  }
  .my-lg-8 {
    margin-top: var(--spacer-8) !important;
    margin-bottom: var(--spacer-8) !important;
  }
  .p-lg-8 {
    padding: var(--spacer-8) !important;
  }
  .pt-lg-8 {
    padding-top: var(--spacer-8) !important;
  }
  .pb-lg-8 {
    padding-bottom: var(--spacer-8) !important;
  }
  .pl-lg-8 {
    padding-left: var(--spacer-8) !important;
  }
  .pr-lg-8 {
    padding-right: var(--spacer-8) !important;
  }
  .px-lg-8 {
    padding-left: var(--spacer-8) !important;
    padding-right: var(--spacer-8) !important;
  }
  .py-lg-8 {
    padding-top: var(--spacer-8) !important;
    padding-bottom: var(--spacer-8) !important;
  }
}
@media screen and (min-width: 1280px) {
  .m-xl-8 {
    margin: var(--spacer-8) !important;
  }
  .mt-xl-8 {
    margin-top: var(--spacer-8) !important;
  }
  .mb-xl-8 {
    margin-bottom: var(--spacer-8) !important;
  }
  .ml-xl-8 {
    margin-left: var(--spacer-8) !important;
  }
  .mr-xl-8 {
    margin-right: var(--spacer-8) !important;
  }
  .mx-xl-8 {
    margin-left: var(--spacer-8) !important;
    margin-right: var(--spacer-8) !important;
  }
  .my-xl-8 {
    margin-top: var(--spacer-8) !important;
    margin-bottom: var(--spacer-8) !important;
  }
  .p-xl-8 {
    padding: var(--spacer-8) !important;
  }
  .pt-xl-8 {
    padding-top: var(--spacer-8) !important;
  }
  .pb-xl-8 {
    padding-bottom: var(--spacer-8) !important;
  }
  .pl-xl-8 {
    padding-left: var(--spacer-8) !important;
  }
  .pr-xl-8 {
    padding-right: var(--spacer-8) !important;
  }
  .px-xl-8 {
    padding-left: var(--spacer-8) !important;
    padding-right: var(--spacer-8) !important;
  }
  .py-xl-8 {
    padding-top: var(--spacer-8) !important;
    padding-bottom: var(--spacer-8) !important;
  }
}
@media screen and (min-width: 1440px) {
  .m-xxl-8 {
    margin: var(--spacer-8) !important;
  }
  .mt-xxl-8 {
    margin-top: var(--spacer-8) !important;
  }
  .mb-xxl-8 {
    margin-bottom: var(--spacer-8) !important;
  }
  .ml-xxl-8 {
    margin-left: var(--spacer-8) !important;
  }
  .mr-xxl-8 {
    margin-right: var(--spacer-8) !important;
  }
  .mx-xxl-8 {
    margin-left: var(--spacer-8) !important;
    margin-right: var(--spacer-8) !important;
  }
  .my-xxl-8 {
    margin-top: var(--spacer-8) !important;
    margin-bottom: var(--spacer-8) !important;
  }
  .p-xxl-8 {
    padding: var(--spacer-8) !important;
  }
  .pt-xxl-8 {
    padding-top: var(--spacer-8) !important;
  }
  .pb-xxl-8 {
    padding-bottom: var(--spacer-8) !important;
  }
  .pl-xxl-8 {
    padding-left: var(--spacer-8) !important;
  }
  .pr-xxl-8 {
    padding-right: var(--spacer-8) !important;
  }
  .px-xxl-8 {
    padding-left: var(--spacer-8) !important;
    padding-right: var(--spacer-8) !important;
  }
  .py-xxl-8 {
    padding-top: var(--spacer-8) !important;
    padding-bottom: var(--spacer-8) !important;
  }
}
/* variables */
*,
::after,
::before {
  box-sizing: border-box;
}

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

.container-narrow {
  max-width: var(--container-narrow-max-width);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding-x);
  padding-right: var(--container-padding-x);
}

.container-full {
  width: 100%;
  max-width: 100%;
  padding-left: var(--grid-gutter-width);
  padding-right: var(--grid-gutter-width);
}

.row {
  position: relative;
  display: block;
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(var(--grid-gutter-width) * -0.5);
  margin-right: calc(var(--grid-gutter-width) * -0.5);
}
.row::after {
  content: "";
  float: none;
  clear: both;
  display: table;
}

[class^=col-] {
  box-sizing: border-box;
  width: 100%;
  min-height: 1px;
  max-width: 100%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.col-1 {
  box-sizing: border-box;
  width: 8.3333333333%;
  min-height: 1px;
  max-width: 8.3333333333%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.offset-1 {
  margin-left: 8.3333333333% !important;
}

.col-2 {
  box-sizing: border-box;
  width: 16.6666666667%;
  min-height: 1px;
  max-width: 16.6666666667%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.offset-2 {
  margin-left: 16.6666666667% !important;
}

.col-3 {
  box-sizing: border-box;
  width: 25%;
  min-height: 1px;
  max-width: 25%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.offset-3 {
  margin-left: 25% !important;
}

.col-4 {
  box-sizing: border-box;
  width: 33.3333333333%;
  min-height: 1px;
  max-width: 33.3333333333%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.offset-4 {
  margin-left: 33.3333333333% !important;
}

.col-5 {
  box-sizing: border-box;
  width: 41.6666666667%;
  min-height: 1px;
  max-width: 41.6666666667%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.offset-5 {
  margin-left: 41.6666666667% !important;
}

.col-6 {
  box-sizing: border-box;
  width: 50%;
  min-height: 1px;
  max-width: 50%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.offset-6 {
  margin-left: 50% !important;
}

.col-7 {
  box-sizing: border-box;
  width: 58.3333333333%;
  min-height: 1px;
  max-width: 58.3333333333%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.offset-7 {
  margin-left: 58.3333333333% !important;
}

.col-8 {
  box-sizing: border-box;
  width: 66.6666666667%;
  min-height: 1px;
  max-width: 66.6666666667%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.offset-8 {
  margin-left: 66.6666666667% !important;
}

.col-9 {
  box-sizing: border-box;
  width: 75%;
  min-height: 1px;
  max-width: 75%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.offset-9 {
  margin-left: 75% !important;
}

.col-10 {
  box-sizing: border-box;
  width: 83.3333333333%;
  min-height: 1px;
  max-width: 83.3333333333%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.offset-10 {
  margin-left: 83.3333333333% !important;
}

.col-11 {
  box-sizing: border-box;
  width: 91.6666666667%;
  min-height: 1px;
  max-width: 91.6666666667%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.offset-11 {
  margin-left: 91.6666666667% !important;
}

.col-12 {
  box-sizing: border-box;
  width: 100%;
  min-height: 1px;
  max-width: 100%;
  padding-left: calc(var(--grid-gutter-width) * 0.5);
  padding-right: calc(var(--grid-gutter-width) * 0.5);
}

.offset-12 {
  margin-left: 100% !important;
}

@media only screen and (min-width: 767px) {
  .col-sm-1 {
    box-sizing: border-box;
    width: 8.3333333333%;
    min-height: 1px;
    max-width: 8.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-sm-1 {
    margin-left: 8.3333333333% !important;
  }
  .col-sm-2 {
    box-sizing: border-box;
    width: 16.6666666667%;
    min-height: 1px;
    max-width: 16.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-sm-2 {
    margin-left: 16.6666666667% !important;
  }
  .col-sm-3 {
    box-sizing: border-box;
    width: 25%;
    min-height: 1px;
    max-width: 25%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-sm-3 {
    margin-left: 25% !important;
  }
  .col-sm-4 {
    box-sizing: border-box;
    width: 33.3333333333%;
    min-height: 1px;
    max-width: 33.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-sm-4 {
    margin-left: 33.3333333333% !important;
  }
  .col-sm-5 {
    box-sizing: border-box;
    width: 41.6666666667%;
    min-height: 1px;
    max-width: 41.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-sm-5 {
    margin-left: 41.6666666667% !important;
  }
  .col-sm-6 {
    box-sizing: border-box;
    width: 50%;
    min-height: 1px;
    max-width: 50%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-sm-6 {
    margin-left: 50% !important;
  }
  .col-sm-7 {
    box-sizing: border-box;
    width: 58.3333333333%;
    min-height: 1px;
    max-width: 58.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-sm-7 {
    margin-left: 58.3333333333% !important;
  }
  .col-sm-8 {
    box-sizing: border-box;
    width: 66.6666666667%;
    min-height: 1px;
    max-width: 66.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-sm-8 {
    margin-left: 66.6666666667% !important;
  }
  .col-sm-9 {
    box-sizing: border-box;
    width: 75%;
    min-height: 1px;
    max-width: 75%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-sm-9 {
    margin-left: 75% !important;
  }
  .col-sm-10 {
    box-sizing: border-box;
    width: 83.3333333333%;
    min-height: 1px;
    max-width: 83.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-sm-10 {
    margin-left: 83.3333333333% !important;
  }
  .col-sm-11 {
    box-sizing: border-box;
    width: 91.6666666667%;
    min-height: 1px;
    max-width: 91.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-sm-11 {
    margin-left: 91.6666666667% !important;
  }
  .col-sm-12 {
    box-sizing: border-box;
    width: 100%;
    min-height: 1px;
    max-width: 100%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-sm-12 {
    margin-left: 100% !important;
  }
}
@media only screen and (min-width: 992px) {
  .col-md-1 {
    box-sizing: border-box;
    width: 8.3333333333%;
    min-height: 1px;
    max-width: 8.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-md-1 {
    margin-left: 8.3333333333% !important;
  }
  .col-md-2 {
    box-sizing: border-box;
    width: 16.6666666667%;
    min-height: 1px;
    max-width: 16.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-md-2 {
    margin-left: 16.6666666667% !important;
  }
  .col-md-3 {
    box-sizing: border-box;
    width: 25%;
    min-height: 1px;
    max-width: 25%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-md-3 {
    margin-left: 25% !important;
  }
  .col-md-4 {
    box-sizing: border-box;
    width: 33.3333333333%;
    min-height: 1px;
    max-width: 33.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-md-4 {
    margin-left: 33.3333333333% !important;
  }
  .col-md-5 {
    box-sizing: border-box;
    width: 41.6666666667%;
    min-height: 1px;
    max-width: 41.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-md-5 {
    margin-left: 41.6666666667% !important;
  }
  .col-md-6 {
    box-sizing: border-box;
    width: 50%;
    min-height: 1px;
    max-width: 50%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-md-6 {
    margin-left: 50% !important;
  }
  .col-md-7 {
    box-sizing: border-box;
    width: 58.3333333333%;
    min-height: 1px;
    max-width: 58.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-md-7 {
    margin-left: 58.3333333333% !important;
  }
  .col-md-8 {
    box-sizing: border-box;
    width: 66.6666666667%;
    min-height: 1px;
    max-width: 66.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-md-8 {
    margin-left: 66.6666666667% !important;
  }
  .col-md-9 {
    box-sizing: border-box;
    width: 75%;
    min-height: 1px;
    max-width: 75%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-md-9 {
    margin-left: 75% !important;
  }
  .col-md-10 {
    box-sizing: border-box;
    width: 83.3333333333%;
    min-height: 1px;
    max-width: 83.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-md-10 {
    margin-left: 83.3333333333% !important;
  }
  .col-md-11 {
    box-sizing: border-box;
    width: 91.6666666667%;
    min-height: 1px;
    max-width: 91.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-md-11 {
    margin-left: 91.6666666667% !important;
  }
  .col-md-12 {
    box-sizing: border-box;
    width: 100%;
    min-height: 1px;
    max-width: 100%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-md-12 {
    margin-left: 100% !important;
  }
}
@media only screen and (min-width: 1140px) {
  .col-lg-1 {
    box-sizing: border-box;
    width: 8.3333333333%;
    min-height: 1px;
    max-width: 8.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-lg-1 {
    margin-left: 8.3333333333% !important;
  }
  .col-lg-2 {
    box-sizing: border-box;
    width: 16.6666666667%;
    min-height: 1px;
    max-width: 16.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-lg-2 {
    margin-left: 16.6666666667% !important;
  }
  .col-lg-3 {
    box-sizing: border-box;
    width: 25%;
    min-height: 1px;
    max-width: 25%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-lg-3 {
    margin-left: 25% !important;
  }
  .col-lg-4 {
    box-sizing: border-box;
    width: 33.3333333333%;
    min-height: 1px;
    max-width: 33.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-lg-4 {
    margin-left: 33.3333333333% !important;
  }
  .col-lg-5 {
    box-sizing: border-box;
    width: 41.6666666667%;
    min-height: 1px;
    max-width: 41.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-lg-5 {
    margin-left: 41.6666666667% !important;
  }
  .col-lg-6 {
    box-sizing: border-box;
    width: 50%;
    min-height: 1px;
    max-width: 50%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-lg-6 {
    margin-left: 50% !important;
  }
  .col-lg-7 {
    box-sizing: border-box;
    width: 58.3333333333%;
    min-height: 1px;
    max-width: 58.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-lg-7 {
    margin-left: 58.3333333333% !important;
  }
  .col-lg-8 {
    box-sizing: border-box;
    width: 66.6666666667%;
    min-height: 1px;
    max-width: 66.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-lg-8 {
    margin-left: 66.6666666667% !important;
  }
  .col-lg-9 {
    box-sizing: border-box;
    width: 75%;
    min-height: 1px;
    max-width: 75%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-lg-9 {
    margin-left: 75% !important;
  }
  .col-lg-10 {
    box-sizing: border-box;
    width: 83.3333333333%;
    min-height: 1px;
    max-width: 83.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-lg-10 {
    margin-left: 83.3333333333% !important;
  }
  .col-lg-11 {
    box-sizing: border-box;
    width: 91.6666666667%;
    min-height: 1px;
    max-width: 91.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-lg-11 {
    margin-left: 91.6666666667% !important;
  }
  .col-lg-12 {
    box-sizing: border-box;
    width: 100%;
    min-height: 1px;
    max-width: 100%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-lg-12 {
    margin-left: 100% !important;
  }
}
@media only screen and (min-width: 1280px) {
  .col-xl-1 {
    box-sizing: border-box;
    width: 8.3333333333%;
    min-height: 1px;
    max-width: 8.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xl-1 {
    margin-left: 8.3333333333% !important;
  }
  .col-xl-2 {
    box-sizing: border-box;
    width: 16.6666666667%;
    min-height: 1px;
    max-width: 16.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xl-2 {
    margin-left: 16.6666666667% !important;
  }
  .col-xl-3 {
    box-sizing: border-box;
    width: 25%;
    min-height: 1px;
    max-width: 25%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xl-3 {
    margin-left: 25% !important;
  }
  .col-xl-4 {
    box-sizing: border-box;
    width: 33.3333333333%;
    min-height: 1px;
    max-width: 33.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xl-4 {
    margin-left: 33.3333333333% !important;
  }
  .col-xl-5 {
    box-sizing: border-box;
    width: 41.6666666667%;
    min-height: 1px;
    max-width: 41.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xl-5 {
    margin-left: 41.6666666667% !important;
  }
  .col-xl-6 {
    box-sizing: border-box;
    width: 50%;
    min-height: 1px;
    max-width: 50%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xl-6 {
    margin-left: 50% !important;
  }
  .col-xl-7 {
    box-sizing: border-box;
    width: 58.3333333333%;
    min-height: 1px;
    max-width: 58.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xl-7 {
    margin-left: 58.3333333333% !important;
  }
  .col-xl-8 {
    box-sizing: border-box;
    width: 66.6666666667%;
    min-height: 1px;
    max-width: 66.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xl-8 {
    margin-left: 66.6666666667% !important;
  }
  .col-xl-9 {
    box-sizing: border-box;
    width: 75%;
    min-height: 1px;
    max-width: 75%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xl-9 {
    margin-left: 75% !important;
  }
  .col-xl-10 {
    box-sizing: border-box;
    width: 83.3333333333%;
    min-height: 1px;
    max-width: 83.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xl-10 {
    margin-left: 83.3333333333% !important;
  }
  .col-xl-11 {
    box-sizing: border-box;
    width: 91.6666666667%;
    min-height: 1px;
    max-width: 91.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xl-11 {
    margin-left: 91.6666666667% !important;
  }
  .col-xl-12 {
    box-sizing: border-box;
    width: 100%;
    min-height: 1px;
    max-width: 100%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xl-12 {
    margin-left: 100% !important;
  }
}
@media only screen and (min-width: 1440px) {
  .col-xxl-1 {
    box-sizing: border-box;
    width: 8.3333333333%;
    min-height: 1px;
    max-width: 8.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xxl-1 {
    margin-left: 8.3333333333% !important;
  }
  .col-xxl-2 {
    box-sizing: border-box;
    width: 16.6666666667%;
    min-height: 1px;
    max-width: 16.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xxl-2 {
    margin-left: 16.6666666667% !important;
  }
  .col-xxl-3 {
    box-sizing: border-box;
    width: 25%;
    min-height: 1px;
    max-width: 25%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xxl-3 {
    margin-left: 25% !important;
  }
  .col-xxl-4 {
    box-sizing: border-box;
    width: 33.3333333333%;
    min-height: 1px;
    max-width: 33.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xxl-4 {
    margin-left: 33.3333333333% !important;
  }
  .col-xxl-5 {
    box-sizing: border-box;
    width: 41.6666666667%;
    min-height: 1px;
    max-width: 41.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xxl-5 {
    margin-left: 41.6666666667% !important;
  }
  .col-xxl-6 {
    box-sizing: border-box;
    width: 50%;
    min-height: 1px;
    max-width: 50%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xxl-6 {
    margin-left: 50% !important;
  }
  .col-xxl-7 {
    box-sizing: border-box;
    width: 58.3333333333%;
    min-height: 1px;
    max-width: 58.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xxl-7 {
    margin-left: 58.3333333333% !important;
  }
  .col-xxl-8 {
    box-sizing: border-box;
    width: 66.6666666667%;
    min-height: 1px;
    max-width: 66.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xxl-8 {
    margin-left: 66.6666666667% !important;
  }
  .col-xxl-9 {
    box-sizing: border-box;
    width: 75%;
    min-height: 1px;
    max-width: 75%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xxl-9 {
    margin-left: 75% !important;
  }
  .col-xxl-10 {
    box-sizing: border-box;
    width: 83.3333333333%;
    min-height: 1px;
    max-width: 83.3333333333%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xxl-10 {
    margin-left: 83.3333333333% !important;
  }
  .col-xxl-11 {
    box-sizing: border-box;
    width: 91.6666666667%;
    min-height: 1px;
    max-width: 91.6666666667%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xxl-11 {
    margin-left: 91.6666666667% !important;
  }
  .col-xxl-12 {
    box-sizing: border-box;
    width: 100%;
    min-height: 1px;
    max-width: 100%;
    padding-left: calc(var(--grid-gutter-width) * 0.5);
    padding-right: calc(var(--grid-gutter-width) * 0.5);
  }
  .offset-xxl-12 {
    margin-left: 100% !important;
  }
}
.row.no-gutter {
  --grid-gutter-width: 0;
}

.row.small-gutter {
  --grid-gutter-width: 0.5rem;
}

.row.large-gutter {
  --grid-gutter-width: 2rem;
}

/** 
  * This file contains reusable keyframes. 
  * Specific Keyframes might be inside component scss
  * files where it is used 
  */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 2rem, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.text-left {
  text-align: left;
}

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

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

.no-text-deco {
  text-decoration: none;
}

.rich-text {
  word-wrap: break-word;
  /* lists */
}
.rich-text h1,
.rich-text h2,
.rich-text h3,
.rich-text h4,
.rich-text h5,
.rich-text h6 {
  margin-bottom: 1.5em;
}
.rich-text h1:not(:first-child),
.rich-text h2:not(:first-child),
.rich-text h3:not(:first-child),
.rich-text h4:not(:first-child),
.rich-text h5:not(:first-child),
.rich-text h6:not(:first-child) {
  margin-top: 2rem;
}
.rich-text p,
.rich-text ul,
.rich-text ol {
  margin-bottom: 1.5em;
}
.rich-text b,
.rich-text strong {
  font-weight: bold;
}
.rich-text i,
.rich-text em {
  font-style: italic;
}
.rich-text blockquote {
  margin: 1rem 2rem;
  padding: 0.5rem 1rem;
  border-left: 3px solid #ccc;
  color: grey;
  font-style: italic;
}
.rich-text a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
  transition: opacity 0.3s;
}
.rich-text a:hover {
  opacity: 0.7;
}
.rich-text ul {
  position: relative;
  list-style-type: none;
  /* line before */
}
.rich-text ul::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  border-bottom: 1px solid currentColor;
  opacity: 0.2;
}
.rich-text ul li {
  position: relative;
  padding: 0.75em 0 0.75em 1.5em;
  /* fake chevron */
  /* line after */
}
.rich-text ul li::before {
  content: "";
  position: absolute;
  display: block;
  width: 0.5em;
  height: 0.5em;
  left: 0;
  top: 50%;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.rich-text ul li::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-bottom: 1px solid currentColor;
  opacity: 0.2;
}
.rich-text ol {
  padding-left: 1.5em;
  list-style-type: decimal;
}
.rich-text ul ul, .rich-text ol ul {
  list-style-type: circle;
}
.rich-text ol ol, .rich-text ul ol {
  list-style-type: lower-latin;
}
.rich-text table {
  width: 100%;
  border-collapse: collapse;
  font-family: sans-serif;
  font-size: 0.875rem;
}
.rich-text table p {
  margin: 0;
  padding: 0;
}
.rich-text table thead {
  background-color: #f0f0f0;
}
.rich-text table th {
  text-align: left;
  padding: 0.5rem;
  font-weight: bold;
}
.rich-text table td {
  padding: 0.5rem;
  border-top: 1px solid #eee;
}
.rich-text table tbody tr:nth-child(even) {
  background-color: #fafafa;
}
.rich-text table tbody tr:nth-child(odd) {
  background-color: #fff;
}
.rich-text .is-large-text {
  font-size: var(--body-2xl-font-size);
  line-height: 130%;
}

/* plugin styles */
/* variables */
/* Styles for the Gutenberg Frontend & Editor */
.wp-block-image {
  margin-left: 0;
  margin-right: 0;
}
.wp-block-image img {
  max-width: 100%;
  height: auto;
  display: block;
}

.wp-block-media-text__media img {
  object-fit: cover;
}

.alignright {
  text-align: right;
}

.alignleft {
  text-align: left;
}

.aligncenter {
  text-align: center;
}

.wp-block-button__link {
  background-color: var(--text-color);
  border: 1px solid transparent;
  color: var(--body-color);
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-button);
  font-size: 1rem;
  font-weight: 500;
  padding: 1rem 1.75rem !important;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-transform: none;
  text-decoration: none !important;
  text-align: center;
  letter-spacing: 0em;
  height: 3.25rem;
}
.wp-block-button__link:disabled {
  opacity: 0.5;
}
.wp-block-button__link::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: currentColor;
  transition: 0.5s all;
  transform: translateX(-100%);
  border-radius: inherit;
}
.wp-block-button__link .icon-forward,
.wp-block-button__link .icon-back {
  transition: transform 0.3s;
}
.wp-block-button__link:hover::before {
  opacity: 0.1;
  transform: translateX(0%);
}
.wp-block-button__link:hover .icon-back {
  transform: translateX(-5px);
}
.wp-block-button__link:hover .icon-forward {
  transform: translateX(5px);
}

.is-style-outline > .wp-block-button__link,
.wp-block-button__link.is-style-outline {
  border-width: 1px;
}

.wp-block-pullquote {
  border: none;
  padding: 0;
  text-align: left;
}
.wp-block-pullquote blockquote {
  margin: 0;
}
.wp-block-pullquote p {
  line-height: 1.2;
}
.wp-block-pullquote p::before {
  content: "„";
  position: absolute;
  margin-left: -0.5em;
}
.wp-block-pullquote p::after {
  content: "“";
  position: relative;
  top: 0.2em;
}
.wp-block-pullquote p::before, .wp-block-pullquote p::after {
  color: var(--secondary);
  font-size: 2em;
  line-height: 0;
}
.wp-block-pullquote cite {
  font-size: 1rem;
  text-transform: none;
}

div.cmplz-cookiebanner {
  --cmplz_button_accept_background_color: #000;
  --cmplz_slider_inactive_color: grey;
  line-height: 1.3rem;
  max-width: 100%;
  width: 26rem;
  min-width: 20rem;
  /* remove logo */
  /* remove logo */
}
@media (min-width: 1140px) {
  div.cmplz-cookiebanner {
    right: 1.5rem;
    bottom: 1.5rem;
  }
}
div.cmplz-cookiebanner .cmplz-header {
  display: flex;
}
div.cmplz-cookiebanner .cmplz-logo {
  display: none;
}
div.cmplz-cookiebanner .cmplz-title {
  font-weight: var(--headline-font-weight);
}
div.cmplz-cookiebanner.cmplz-show {
  box-shadow: 0 1rem 3rem -0.5rem rgba(0, 0, 0, 0.25);
  border-radius: var(--radius-card);
  padding: 1.5rem;
}
div.cmplz-cookiebanner.cmplz-show:hover {
  box-shadow: 0 1rem 3rem -0.5rem rgba(0, 0, 0, 0.25);
}
div.cmplz-cookiebanner .cmplz-close {
  margin-left: auto;
  height: 1.5rem;
  width: 1.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  display: block;
}
div.cmplz-cookiebanner .cmplz-close svg {
  display: none;
}
div.cmplz-cookiebanner div.cmplz-buttons {
  display: flex;
  flex-wrap: wrap;
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-deny,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-view-preferences,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-save-preferences {
  height: unset;
  background-color: #eee;
  border: 1px solid transparent;
  color: #000;
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-button);
  font-size: 1rem;
  font-weight: 500;
  padding: 1rem 1.75rem !important;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-transform: none;
  text-decoration: none !important;
  text-align: center;
  letter-spacing: 0em;
  height: 3.25rem;
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn:disabled,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-deny:disabled,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-view-preferences:disabled,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-save-preferences:disabled {
  opacity: 0.5;
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn::before,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-deny::before,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-view-preferences::before,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-save-preferences::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: currentColor;
  transition: 0.5s all;
  transform: translateX(-100%);
  border-radius: inherit;
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn .icon-forward,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn .icon-back,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-deny .icon-forward,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-deny .icon-back,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-view-preferences .icon-forward,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-view-preferences .icon-back,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-save-preferences .icon-forward,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-save-preferences .icon-back {
  transition: transform 0.3s;
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn:hover::before,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-deny:hover::before,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-view-preferences:hover::before,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-save-preferences:hover::before {
  opacity: 0.1;
  transform: translateX(0%);
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn:hover .icon-back,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-deny:hover .icon-back,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-view-preferences:hover .icon-back,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-save-preferences:hover .icon-back {
  transform: translateX(-5px);
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn:hover .icon-forward,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-deny:hover .icon-forward,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-view-preferences:hover .icon-forward,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-save-preferences:hover .icon-forward {
  transform: translateX(5px);
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-accept {
  background-color: #000;
  border: 1px solid transparent;
  color: #fff;
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-button);
  font-size: 1rem;
  font-weight: 500;
  padding: 1rem 1.75rem !important;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-transform: none;
  text-decoration: none !important;
  text-align: center;
  letter-spacing: 0em;
  height: 3.25rem;
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-accept:disabled {
  opacity: 0.5;
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-accept::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: currentColor;
  transition: 0.5s all;
  transform: translateX(-100%);
  border-radius: inherit;
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-accept .icon-forward,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-accept .icon-back {
  transition: transform 0.3s;
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-accept:hover::before {
  opacity: 0.1;
  transform: translateX(0%);
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-accept:hover .icon-back {
  transform: translateX(-5px);
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-accept:hover .icon-forward {
  transform: translateX(5px);
}
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-accept,
div.cmplz-cookiebanner div.cmplz-buttons button.cmplz-btn.cmplz-deny {
  flex: 1;
}
div.cmplz-cookiebanner .cmplz-links {
  padding: 0.5rem 0;
}
div.cmplz-cookiebanner .cmplz-links a.cmplz-link {
  color: inherit;
}
div.cmplz-cookiebanner .cmplz-categories {
  width: 100%;
}
div.cmplz-cookiebanner .cmplz-categories .cmplz-category {
  border-radius: var(--radius-input-field);
}
div.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header {
  padding: 1rem 1rem;
}
div.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
  padding: 0 1rem 1rem;
}
div.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::after {
  left: 2px;
}
div.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::after {
  right: 2px;
}
div.cmplz-cookiebanner .cmplz-message {
  width: 100%;
  margin-bottom: 1rem;
}

.wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}
.wpcf7-form .wpcf7-list-item {
  position: relative;
  margin: 0 1rem 0 0;
}
.wpcf7-form input,
.wpcf7-form textarea {
  width: 100%;
}
.wpcf7-form input[type=submit] {
  color: var(--on-secondary);
  background: var(--secondary);
}
.wpcf7-form span.wpcf7-list-item input[type=”checkbox”] {
  -webkit-appearance: checkbox !important;
  -o-appearance: checkbox !important;
  -moz-appearance: checkbox !important;
  display: inline-block !important;
}
.wpcf7-form .wpcf7-not-valid-tip {
  margin-bottom: 1rem;
}
.wpcf7-form .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.wpcf7-form input[type=checkbox] {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 0.25rem;
  opacity: 0;
  margin: 0;
  cursor: pointer;
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label {
  padding-left: 3rem;
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label::before, .wpcf7-form input[type=checkbox] + .wpcf7-list-item-label::after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 0.25rem;
  transition: all 200ms ease-in-out;
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label::before {
  border: solid 1px rgba(24, 78, 81, 0.25);
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label::after {
  clip-path: path("M20.711 5.94487C21.1015 6.3354 21.1015 6.96856 20.711 7.35908L9.71101 18.3591C9.32049 18.7496 8.68732 18.7496 8.2968 18.3591L3.2968 13.3591C2.90628 12.9686 2.90628 12.3354 3.2968 11.9449C3.68732 11.5543 4.32049 11.5543 4.71101 11.9449L9.00391 16.2378L19.2968 5.94487C19.6873 5.55435 20.3205 5.55435 20.711 5.94487Z");
  width: 1.5rem;
  height: 1.5rem;
  left: 0.25rem;
}
.wpcf7-form input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background: var(--text-color);
}
.wpcf7-form input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  background: var(--body-color);
}
.wpcf7-form input[type=radio] {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 0.25rem;
  opacity: 0;
  margin: 0;
  cursor: pointer;
}
.wpcf7-form input[type=radio] + .wpcf7-list-item-label {
  padding-left: 3rem;
}
.wpcf7-form input[type=radio] + .wpcf7-list-item-label::before, .wpcf7-form input[type=radio] + .wpcf7-list-item-label::after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  transition: all 200ms ease-in-out;
}
.wpcf7-form input[type=radio] + .wpcf7-list-item-label::before {
  border: solid 1px rgba(24, 78, 81, 0.25);
}
.wpcf7-form input[type=radio] + .wpcf7-list-item-label::after {
  width: 1rem;
  height: 1rem;
  left: 0.5rem;
}
.wpcf7-form input[type=radio]:checked + .wpcf7-list-item-label::before {
  background: var(--text-color);
}
.wpcf7-form input[type=radio]:checked + .wpcf7-list-item-label::after {
  background: var(--body-color);
}

.wpcf7 form .wpcf7-response-output {
  margin: 0;
  padding: 1rem;
  border-radius: var(--radius-card);
  border-width: 1px;
}

/* components */
/* variables */
.btn {
  background-color: var(--text-color);
  border: 1px solid transparent;
  color: var(--body-color);
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-button);
  font-size: 1rem;
  font-weight: 500;
  padding: 1rem 1.75rem !important;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-transform: none;
  text-decoration: none !important;
  text-align: center;
  letter-spacing: 0em;
  height: 3.25rem;
}
.btn:disabled {
  opacity: 0.5;
}
.btn::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: currentColor;
  transition: 0.5s all;
  transform: translateX(-100%);
  border-radius: inherit;
}
.btn .icon-forward,
.btn .icon-back {
  transition: transform 0.3s;
}
.btn:hover::before {
  opacity: 0.1;
  transform: translateX(0%);
}
.btn:hover .icon-back {
  transform: translateX(-5px);
}
.btn:hover .icon-forward {
  transform: translateX(5px);
}
.btn.is-style-outline {
  background-color: transparent;
}
.btn.is-style-outline:after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border-style: solid;
  border-width: 1px;
  border-color: currentColor;
  opacity: 0.2;
}
.btn.is-color-primary {
  background-color: var(--primary);
  color: var(--on-primary);
}
.btn.is-color-primary.is-style-outline {
  color: var(--primary);
  background-color: transparent;
}
.btn.is-color-secondary {
  background-color: var(--secondary);
  color: var(--on-secondary);
}
.btn.is-color-secondary.is-style-outline {
  color: var(--secondary);
  background-color: transparent;
}
.btn.is-color-light {
  background-color: var(--light);
  color: var(--on-light);
}
.btn.is-color-light.is-style-outline {
  color: var(--light);
  background-color: transparent;
}
.btn svg {
  height: 1em;
  width: 1em;
  stroke-width: 2px;
}
.btn.is-size-small {
  height: 2.5rem;
}
.btn.is-size-large {
  height: 3.5rem;
}

.icon-btn {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-icon-button);
  font-size: 1rem;
  font-weight: 400;
  padding: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-transform: none;
  text-align: center;
  letter-spacing: 0em;
  height: 3.25rem;
  width: 3.25rem;
}
.icon-btn::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: currentColor;
  transition: 0.5s all;
}
.icon-btn:hover::before {
  opacity: 0.1;
}
.icon-btn svg {
  width: 2rem;
  height: 2rem;
}
.icon-btn:disabled {
  opacity: 0.5;
}
.icon-btn.is-style-outline {
  background-color: transparent;
}
.icon-btn.is-style-outline:after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border-style: solid;
  border-width: 1px;
  border-color: currentColor;
  opacity: 0.2;
}
.icon-btn.is-color-primary {
  background-color: var(--primary);
  color: var(--on-primary);
}
.icon-btn.is-color-primary.is-style-outline {
  color: var(--primary);
  background-color: transparent;
}
.icon-btn.is-color-secondary {
  background-color: var(--secondary);
  color: var(--on-secondary);
}
.icon-btn.is-color-secondary.is-style-outline {
  color: var(--secondary);
  background-color: transparent;
}
.icon-btn.is-color-light {
  background-color: var(--light);
  color: var(--on-light);
}
.icon-btn.is-color-light.is-style-outline {
  color: var(--light);
  background-color: transparent;
}
.icon-btn.is-size-small {
  height: 2.5rem;
  width: 2.5rem;
}
.icon-btn.is-size-large {
  height: 3.5rem;
  width: 3.5rem;
}

/* variables */
.c-link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: var(--body-l-font-size);
  font-weight: 500;
}
.c-link.is-size-large {
  gap: 1rem;
  font-size: var(--body-2xl-font-size);
}
.c-link > svg {
  width: 1em;
  height: 1em;
  stroke-width: 2px;
  margin-top: 0.2em;
}

h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--headline-font-weight);
  line-height: 100%;
}

.c-typo-h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--headline-font-weight);
  line-height: 100%;
}

h2 {
  font-size: var(--h2-font-size);
  font-weight: var(--headline-font-weight);
  line-height: 100%;
}

.c-typo-h2 {
  font-size: var(--h2-font-size);
  font-weight: var(--headline-font-weight);
  line-height: 100%;
}

h3 {
  font-size: var(--h3-font-size);
  font-weight: var(--headline-font-weight);
  line-height: 100%;
}

.c-typo-h3 {
  font-size: var(--h3-font-size);
  font-weight: var(--headline-font-weight);
  line-height: 100%;
}

h4 {
  font-size: var(--h4-font-size);
  font-weight: var(--headline-font-weight);
  line-height: 100%;
}

.c-typo-h4 {
  font-size: var(--h4-font-size);
  font-weight: var(--headline-font-weight);
  line-height: 100%;
}

h5 {
  font-size: var(--h5-font-size);
  font-weight: var(--headline-font-weight);
  line-height: 100%;
}

.c-typo-h5 {
  font-size: var(--h5-font-size);
  font-weight: var(--headline-font-weight);
  line-height: 100%;
}

h6 {
  font-size: var(--h6-font-size);
  font-weight: var(--headline-font-weight);
  line-height: 100%;
}

.c-typo-h6 {
  font-size: var(--h6-font-size);
  font-weight: var(--headline-font-weight);
  line-height: 100%;
}

.c-typo-h3,
.c-typo-h4 {
  line-height: 120%;
}

.c-typo-display-1 {
  font-size: var(--display-1-font-size);
  font-weight: var(--display-font-weight);
  line-height: 90%;
}

.c-typo-display-2 {
  font-size: var(--display-2-font-size);
  font-weight: var(--display-font-weight);
  line-height: 100%;
}

.c-typo-body-3xl {
  font-size: var(--body-3xl-font-size);
  font-weight: var(--body-font-weight);
  line-height: 130%;
}

.c-typo-body-2xl {
  font-size: var(--body-2xl-font-size);
  font-weight: var(--body-font-weight);
  line-height: 130%;
}

.c-typo-body-xl {
  font-size: var(--body-xl-font-size);
  font-weight: var(--body-font-weight);
  line-height: 130%;
}

.c-typo-body-l {
  font-size: var(--body-l-font-size);
  font-weight: var(--body-font-weight);
  line-height: 130%;
}

.c-typo-body-m {
  font-size: var(--body-m-font-size);
  font-weight: var(--body-font-weight);
  line-height: 135%;
}

.c-typo-body-s {
  font-size: var(--body-s-font-size);
  font-weight: var(--body-font-weight);
  line-height: 140%;
}

/* variables */
.c-nav {
  position: fixed;
  top: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  pointer-events: none;
}
.c-nav > * {
  pointer-events: all;
}
.c-nav__link {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}
.c-nav__bar {
  z-index: 2;
  width: 100%;
  position: relative;
  margin: var(--spacer-5) 0 0;
  transition: transform 0.5s, background-color 0.5s, margin 0.5s;
}
@media (max-width: 991.5px) {
  .c-nav__bar {
    margin: var(--spacer-3) 0;
  }
}
.c-nav__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  gap: 0.5rem;
  height: 5rem;
  transition: height 0.5s;
}
@media (max-width: 1439.5px) {
  .c-nav__container {
    height: 5rem;
  }
}
@media (max-width: 1139.5px) {
  .c-nav__container {
    height: 4.5rem;
  }
}
.c-nav__inner-container {
  background: #441219;
  border-radius: 1.5rem;
  padding: 1.5rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  position: relative;
  color: white;
  margin: auto;
  width: 60%;
  max-width: 100%;
  height: 100%;
  transition: border-radius 0.5s, width 0.5s;
}
@media (max-width: 1439.5px) {
  .c-nav__inner-container {
    width: 70%;
  }
}
@media (max-width: 1139.5px) {
  .c-nav__inner-container {
    border-radius: 0.75rem;
    padding: var(--spacer-3) var(--spacer-4);
    width: 100%;
  }
}
.c-nav__logowrapper {
  display: flex;
  gap: 0.5625rem;
  align-items: center;
  flex-shrink: 0;
  width: 20%;
  flex: 1;
  transition: all 0.5s;
}
.c-nav__desktop-inner-logo {
  width: 0;
  overflow: hidden;
  transition: all 0.5s;
}
.c-nav__desktop-inner-logo .c-nav__logo-link {
  width: 3rem;
}
.c-nav__logo-link {
  display: block;
  width: 4rem;
}
@media (max-width: 991.5px) {
  .c-nav__logo-link {
    width: 3rem;
  }
}
.c-nav__cta-wrapper {
  width: 20%;
  height: 100% !important;
  flex: 1;
}
@media (max-width: 1139.5px) {
  .c-nav__cta-wrapper {
    display: none;
  }
}
.c-nav__cta {
  width: 100%;
  height: 100% !important;
  flex: 1;
  transition: all 0.5s;
  padding: 0 !important;
}
.c-nav__cta > span {
  display: block;
  padding: 1em;
}
.c-nav__menu-item {
  position: relative;
}
.c-nav__menu-item a {
  font-weight: 500;
  border-radius: 999px;
  border: 1px solid transparent;
  padding: 0.25rem 1rem;
  display: flex;
  flex-direction: row;
  gap: 0.25rem;
  align-items: center;
  position: relative;
  text-align: center;
  transition: all 1s;
}
.c-nav__menu-item a:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.c-nav__menu-item.current-menu-item > a {
  border-color: rgba(255, 255, 255, 0.25);
}
@media (max-width: 1139.5px) {
  .c-nav__menu-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    align-items: center;
    position: relative;
    text-align: center;
  }
}
.c-nav__mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  border-radius: 0 0 1rem 1rem;
  padding-top: 8rem;
  background: var(--secondary-stronger);
  color: var(--on-secondary);
  z-index: 0;
  display: block;
  visibility: visible;
  max-height: 100%;
  overflow: auto;
  transition: 0.5s all;
  transform: translateY(0%);
}
.c-nav__mobile-menu[hidden] {
  visibility: hidden;
  transform: translateY(-100%);
}
.c-nav__mobile-menu .c-nav__menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.c-nav__mobile-btn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  right: 0;
  top: 0;
  padding: 0.5rem;
}
.c-nav__mobile-btn[aria-expanded=false] .c-nav__btn-close-icon {
  display: none;
}
.c-nav__mobile-btn[aria-expanded=true] .c-nav__btn-close-icon {
  display: block;
}
.c-nav__mobile-btn[aria-expanded=true] .c-nav__btn-open-icon {
  display: none;
}
.c-nav__mobile-btn.is-close-btn {
  margin-left: auto;
}
.c-nav__mobile-btn.is-close-btn .c-nav__btn-close-icon {
  display: block;
}
.c-nav__desktop-menu {
  display: flex;
}
.c-nav__desktop-menu .c-nav__menu {
  display: flex;
  gap: 0.25rem;
  white-space: nowrap;
  align-items: center;
}
.c-nav__lang-selector {
  display: inline-flex;
  gap: 1rem;
  padding: 0 1rem;
  margin-left: auto;
}
.c-nav__lang-selector .lang-item {
  opacity: 0.5;
  font-weight: 400;
  text-transform: uppercase;
  list-style: none;
  transition: opacity 0.3s;
}
.c-nav__lang-selector .lang-item:hover {
  opacity: 1;
}
.c-nav__lang-selector .lang-item.current-lang {
  font-weight: 600;
  opacity: 1;
}
.c-nav.headroom--not-top .c-nav__bar {
  margin: 1rem 0;
}
@media (max-width: 991.5px) {
  .c-nav.headroom--not-top .c-nav__bar {
    margin: 0.5rem 0;
  }
}
.c-nav.headroom--not-top .c-nav__cta,
.c-nav.headroom--not-top .c-nav__logowrapper {
  visibility: hidden;
  scale: 0.75;
  transform-origin: left;
  opacity: 0;
}
.c-nav.headroom--not-top .c-nav__desktop-inner-logo {
  width: 4rem;
}
.c-nav.headroom--not-top .c-nav__container {
  height: 4.5rem;
}
@media (min-width: 992px) {
  .c-nav.headroom--not-top .c-nav__inner-container {
    border-radius: 1rem;
    width: min(80%, 50rem);
  }
}
@media (max-width: 1139.5px) {
  .menu-item-has-children .c-nav__menu a.c-nav__link {
    opacity: 0.75;
  }
}
@media (min-width: 1140px) {
  .menu-item-has-children .c-nav__menu {
    position: absolute;
    top: 100%;
    left: 0;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s all;
    background-color: var(--body-color);
    border-radius: 0.5rem;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    transform: translateY(0.5rem);
    margin-top: 1rem;
  }
  .menu-item-has-children .c-nav__menu::before {
    content: "";
    height: 1rem;
    position: absolute;
    top: -1rem;
    left: 0;
    width: 100%;
  }
  .menu-item-has-children .c-nav__menu .c-nav__link {
    font-weight: 400;
    border-radius: 0.25rem;
    padding: 0.5rem 1rem;
    color: var(--secondary-stronger);
  }
  .menu-item-has-children .c-nav__menu .c-nav__link:hover {
    background-color: var(--light);
  }
  .menu-item-has-children:hover .c-nav__menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 767px) {
  .c-footer__col2 {
    align-items: center;
    justify-items: flex-end;
  }
}
.c-footer__menu {
  display: flex;
  gap: 1rem;
  justify-items: inherit;
}
.c-footer__menu li {
  display: inline-flex;
}
@media (max-width: 766.5px) {
  .c-footer__menu {
    flex-direction: column;
  }
}

/* Basic loader container styling */
#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  overflow: hidden;
  /* Ensures it stays on top */
}
#loader .c-loader__stagger {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -2rem;
  right: -2rem;
  border-radius: 2rem;
}
#loader .c-loader__stagger:nth-child(1) {
  background-color: var(--primary);
}
#loader .c-loader__stagger:nth-child(2) {
  background-color: var(--primary-stronger);
}
#loader .c-loader__stagger:nth-child(3) {
  background-color: var(--primary-strongest);
}
#loader .c-loader__stagger:nth-child(4) {
  background-color: var(--secondary-strongest);
}

/* Simple spinner animation */
.c-loader__spinner {
  border: 2px solid var(--text-color);
  border-top: 2px solid transparent;
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Hides loader by setting opacity to 0 and visibility to hidden */
#loader.hidden {
  visibility: hidden;
}

/* search-form styles */
.c-search-form {
  display: block;
}
.c-search-form__wrapper {
  display: flex;
  position: relative;
}
.c-search-form input {
  width: 100%;
}
.c-search-form__btn {
  position: absolute;
  height: 100%;
  right: 0;
  padding: 0.5rem 1rem;
}

c-animated-text {
  display: block;
  font-kerning: none;
}
c-animated-text .lines-wrap {
  display: block;
  overflow: hidden;
  margin-bottom: -0.2em;
  padding-bottom: 0.2em;
}

/* cursor styles */
.c-cursor {
  display: block;
  z-index: 9999;
  height: 0;
  width: 0;
  border-radius: 50%;
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  transform: translate(-3rem, -3rem);
}
.c-cursor::before {
  content: "";
  position: absolute;
  box-sizing: border-box;
  background-color: var(--text-color);
  opacity: 1;
  height: 2rem;
  width: 2rem;
  margin-left: -1rem;
  margin-top: -1rem;
  border-radius: 50%;
  transform: scale(0.5);
  transition: 0.5s transform, 0.5s opacity;
}
.c-cursor::after {
  content: "";
  position: absolute;
  box-sizing: border-box;
  background-color: var(--text-color);
  opacity: 0.5;
  height: 4rem;
  width: 4rem;
  margin-left: -2rem;
  margin-top: -2rem;
  border-radius: 50%;
  transform: scale(0.1);
  transition: 1s transform, 1s opacity;
}
.c-cursor.active::before {
  transform: scale(1);
  opacity: 0.5;
}
.c-cursor.active::after {
  transform: scale(1);
  opacity: 0;
}
@media (max-width: 766.5px) {
  .c-cursor {
    display: none;
  }
}

/* modal styles */
.c-modal {
  display: block;
}
.c-modal__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
.c-modal__dialog {
  position: relative;
  background: white;
  padding: 2rem;
  border-radius: 0.25rem;
  width: 100%;
  max-width: calc(var(--container-max-width) - 2 * var(--container-padding-x));
  max-height: 100%;
  transition: all 0.3s;
  overflow: auto;
}
.c-modal__dialog.is-entering, .c-modal__dialog.is-leaving {
  opacity: 0;
  transform: translateY(3rem);
}
.c-modal__close-btn {
  position: absolute;
  right: 1rem;
  top: 1rem;
}

/* variables */
.c-card__title {
  position: relative;
  font-size: 1.5rem;
  line-height: 100%;
  font-weight: 500;
}
@media (min-width: 1440px) {
  .c-card__title {
    font-size: 2rem;
  }
}
.c-card__expand-btn {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
}
.c-card__overlay {
  padding: 1.5rem;
  position: absolute;
  inset: 0;
  color: var(--on-secondary);
}
.c-card__overlay .rich-text {
  font-size: 0.75rem;
  line-height: 120%;
}
@media (min-width: 1440px) {
  .c-card__overlay .rich-text {
    font-size: 1rem;
  }
}
.c-card__overlay-stagger {
  border-radius: 1rem;
  position: absolute;
  inset: 0;
}
.c-card__overlay-stagger:nth-child(1) {
  background-color: var(--primary);
}
.c-card__overlay-stagger:nth-child(2) {
  background-color: var(--primary-stronger);
}
.c-card__overlay-stagger:nth-child(3) {
  background-color: var(--primary-strongest);
}
.c-card__overlay-stagger:nth-child(4) {
  background-color: var(--secondary-strongest);
}

/* avatar styles */
.c-avatar {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.c-avatar__image {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  object-fit: cover;
}
.c-avatar__title {
  font-weight: 500;
}

/* example styles */
.c-headline-text {
  display: block;
}
.c-headline-text .c-typo-body-3xl {
  color: var(--neutral-700);
}

/* variables */
.c-accordion {
  display: block;
}
.c-accordion__item {
  border-top: 1px solid var(--neutral-100);
}
.c-accordion__item:last-child {
  border-bottom: 1px solid var(--neutral-100);
}
.c-accordion__item.open .c-accordion__content {
  visibility: visible;
  height: auto;
}
.c-accordion__item.open .c-accordion__trigger {
  color: var(--primary);
}
.c-accordion__item.open .c-accordion__trigger svg {
  transform: rotate(-45deg);
}
.c-accordion svg {
  color: var(--primary);
  transition: 0.2s transform;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
}
.c-accordion__trigger {
  padding: 0.75rem 0;
  width: 100%;
  color: inherit;
  background-color: transparent;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  transition: 0.5s color;
  cursor: pointer;
  line-height: 1.5;
  font-weight: 500;
}
.c-accordion__trigger:hover {
  color: var(--primary);
}
.c-accordion__trigger span {
  margin-right: auto;
  transition: 0.5s transform;
}
@media (max-width: 991.5px) {
  .c-accordion__trigger {
    hyphens: auto;
  }
}
.c-accordion__content {
  height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: 0.3s height, 0.3s visibility;
}
.c-accordion__content > div {
  padding-top: 2rem;
  padding-bottom: 2rem;
  max-width: 56rem;
}
.c-accordion__content > div ul::after {
  border: none;
}
.c-accordion__content > div li::after {
  border: none;
}

/* spacing combinations */
p + .c-accordion {
  margin-top: 3rem;
}

.c-accordion + .c-accordion {
  margin-top: 3rem;
}

/**
 * Swiper 11.2.8
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 23, 2025
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

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

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

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

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

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

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

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

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
/* image-carousel styles */
.c-image-carousel {
  display: block;
  overflow: hidden;
}
.c-image-carousel .swiper {
  overflow: visible;
}
.c-image-carousel img {
  width: 100%;
}

/* image-gallery styles */
.c-image-gallery {
  display: block;
}
.c-image-gallery__img {
  aspect-ratio: 1;
  object-fit: cover;
}

/* lottie-animation styles */
.c-lottie-animation {
  display: block;
}

/* text-image styles */
.c-text-image {
  display: flex;
}
.c-text-image__col-1 {
  flex: 1;
  width: 50%;
  margin-left: var(--container-margin-x);
  padding: 0 var(--container-padding-x);
}
.c-text-image__col-1 > * {
  width: 100%;
}
.c-text-image__col-2 {
  flex: 1;
  width: 50%;
}
.c-text-image__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-text-image__rounded-image {
  border-radius: 1rem;
  width: 100%;
  height: auto;
  overflow: hidden;
}
@media (max-width: 991.5px) {
  .c-text-image .row > :nth-child(1) {
    order: 2;
  }
}
@media (max-width: 991.5px) {
  .c-text-image {
    flex-direction: column;
  }
  .c-text-image__col-1, .c-text-image__col-2 {
    width: 100%;
  }
}

/* stage styles */
.c-stage {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 40vw;
  min-height: 50rem;
  justify-content: end;
  background-color: var(--primary);
  padding: var(--spacer-7) 0;
}
.c-stage.is-size-medium {
  height: 30vw;
  min-height: 31.25rem;
}
.c-stage.is-size-medium .c-stage__subtitle {
  margin-bottom: var(--spacer-5);
}
.c-stage.is-size-small {
  height: 18.75rem;
  min-height: 18.75rem;
  padding: var(--spacer-5) 0;
}
.c-stage.is-size-small .c-stage__subtitle {
  margin-bottom: var(--spacer-3);
}
@media (max-width: 991.5px) {
  .c-stage {
    padding-top: 7rem;
    height: auto;
    min-height: 100vw;
  }
}
.c-stage__subtitle {
  margin-bottom: var(--spacer-5);
}
.c-stage__bg-img {
  position: absolute;
  inset: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.c-stage__anim {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 25rem;
  height: 25rem;
  right: var(--container-margin-x);
}
@media (max-width: 991.5px) {
  .c-stage__anim {
    position: relative;
    right: 0;
    top: 0;
    margin: auto;
    margin-bottom: 3rem;
    transform: none;
    width: 18.75rem;
    height: 18.75rem;
  }
}
.c-stage__box {
  position: absolute;
  width: 15rem;
  height: 15rem;
  object-fit: cover;
  border-radius: 1.5rem;
  display: block;
}
.c-stage__box:nth-child(1) {
  bottom: 0;
  left: 0;
  background: #F26A21;
}
.c-stage__box:nth-child(2) {
  bottom: 10%;
  left: 10%;
  background: #E53F17;
}
.c-stage__box:nth-child(3) {
  bottom: 20%;
  left: 20%;
  background: #CA321F;
}
.c-stage__box:nth-child(4) {
  bottom: 30%;
  left: 30%;
  background: #943142;
}
.c-stage__box:nth-child(5) {
  bottom: 40%;
  left: 40%;
  background: #943142;
}
@media (max-width: 991.5px) {
  .c-stage__box {
    width: 10rem;
    height: 10rem;
  }
}

/* project-index styles */
.c-project-index {
  display: block;
  background-color: var(--light);
  overflow: hidden;
}
.c-project-index__item {
  border-bottom: 1px solid var(--neutral-100);
}
.c-project-index__item .row {
  row-gap: 1rem;
}
.c-project-index__item-tag {
  display: inline-flex;
  background-color: var(--body-color);
  color: var(--text-color);
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  text-wrap: nowrap;
}
.c-project-index__item-cat {
  display: inline-flex;
  gap: 0.25rem;
  opacity: 0.75;
  text-wrap: none;
}
.c-project-index .icon-btn {
  margin-left: auto;
  flex-shrink: 0;
}

/* column-section styles */
.c-column-section {
  display: block;
  position: relative;
}
.c-column-section__debug-grid {
  position: absolute;
  inset: 0;
  height: 100%;
}
.c-column-section__debug-grid * {
  height: 100%;
}
.c-column-section__debug-grid-col {
  opacity: 0.25;
  border-left: 1px solid blue;
  border-right: 1px solid blue;
}

/* column styles */
.c-column {
  display: block;
}

/* headline-text-items styles */
.c-headline-text-items {
  display: block;
}
.c-headline-text-items__icon {
  height: 2rem;
  width: 2rem;
  object-fit: contain;
}
@media (min-width: 992px) {
  .c-headline-text-items__icon {
    height: 4rem;
    width: 4rem;
    margin-top: -1rem;
  }
}

/* teaser-items styles */
.c-teaser-items {
  display: block;
}
@media (min-width: 1440px) {
  .c-teaser-items__col:nth-child(2) {
    margin-top: 2rem;
  }
  .c-teaser-items__col:nth-child(3) {
    margin-top: 4rem;
  }
  .c-teaser-items__col:nth-child(4) {
    margin-top: 6rem;
  }
}
.c-teaser-items__card {
  position: relative;
  aspect-ratio: 3/4;
  border-radius: 1rem;
  overflow: hidden;
  padding: 1.5rem;
  background-color: var(--secondary);
  color: var(--on-secondary);
}
.c-teaser-items__card-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-teaser-items__card-title {
  position: relative;
  font-size: 1.5rem;
  line-height: 100%;
  font-weight: 500;
}
@media (min-width: 1440px) {
  .c-teaser-items__card-title {
    font-size: 2rem;
  }
}
.c-teaser-items__card.is-light-card {
  background-color: var(--light);
  color: var(--secondary);
}
.c-teaser-items__card.is-orange-card {
  background-color: var(--primary);
  color: var(--on-primary);
}
.c-teaser-items__card.is-dark-card {
  background-color: var(--secondary);
  color: var(--on-secondary);
}

/* variables */
/* anchor-menu styles */
.c-anchor-menu {
  display: block;
  position: sticky;
  top: 0;
  background: var(--body-color);
  overflow-y: auto;
  z-index: 999;
  transition: top 0.5s;
}
.c-anchor-menu.headroom--pinned.headroom--not-top {
  top: var(--js-nav-bar-height);
}
.c-anchor-menu.headroom--not-top {
  margin-top: -1px;
}
.c-anchor-menu ul {
  margin: 0;
  padding: 0;
  opacity: 1;
  gap: 1rem;
  display: flex;
  flex-wrap: wrap;
}
.c-anchor-menu li {
  display: inline-flex;
  margin: 0;
  white-space: nowrap;
}
.c-anchor-menu a {
  display: inline-block;
  text-decoration: none;
  padding: 0.5rem 0;
}
.c-anchor-menu a:hover, .c-anchor-menu a.active {
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
@media (max-width: 991.5px) {
  .c-anchor-menu ul {
    flex-wrap: nowrap;
  }
}

/* modal-trigger styles */
.c-modal-trigger {
  display: block;
}

/* spacer styles */
.c-spacer {
  display: block;
}
.c-spacer.pb-nav-bar {
  padding-bottom: var(--js-nav-bar-height);
}

/* two-columns-text styles */
.c-two-columns-text {
  position: relative;
  display: block;
  overflow: hidden;
}
.c-two-columns-text__img, .c-two-columns-text__video, .c-two-columns-text__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-two-columns-text__overlay {
  background: black;
  opacity: 0.7;
}
.c-two-columns-text__icon {
  width: 4rem;
  height: 4rem;
}
.c-two-columns-text.is-dark-variant {
  background-color: var(--secondary-stronger);
  color: var(--on-secondary);
}
.c-two-columns-text.has-image {
  min-height: 100vh;
  color: white;
  display: flex;
  align-items: center;
}
.c-two-columns-text.has-image .c-two-columns-text__headline {
  color: var(--primary);
}

.c-two-columns-text.is-white-variant + .c-card-slider {
  padding-top: 0 !important;
}

/* contact-cta styles */
.c-contact-cta {
  display: block;
}
.c-contact-cta .row {
  row-gap: 1rem;
}
.c-contact-cta__img {
  width: 5rem;
  height: 5rem;
  object-fit: cover;
  border-radius: 50%;
}
.c-contact-cta .rich-text p {
  margin-bottom: 0;
}
.c-contact-cta__btns {
  display: flex;
  justify-content: end;
  gap: 0.5rem;
}
@media (max-width: 1139.5px) {
  .c-contact-cta__btns > * {
    flex: 1;
  }
}
@media (max-width: 991.5px) {
  .c-contact-cta__btns {
    margin-top: 2rem;
    flex-direction: column;
  }
}

/* scroll-statements styles */
.c-scroll-statements {
  display: block;
  background-color: var(--secondary-stronger);
  color: var(--on-secondary);
  overflow: hidden;
  max-width: 100%;
}
.c-scroll-statements__viewport {
  height: 100vh;
  display: flex;
  align-items: center;
}
.c-scroll-statements__item {
  overflow: hidden;
  opacity: 0.5;
  transition: opacity 0.5s;
  cursor: pointer;
}
.c-scroll-statements__item button {
  text-align: start;
}
.c-scroll-statements__item:focus-within, .c-scroll-statements__item:hover {
  opacity: 1;
}
.c-scroll-statements__item.is-active {
  opacity: 1;
}
.c-scroll-statements__item.is-active .c-scroll-statements__item-icon {
  opacity: 1;
}
.c-scroll-statements__item-icon {
  opacity: 0;
  transition: opacity 0.5s;
  height: var(--display-2-font-size);
  width: var(--display-2-font-size);
  object-fit: contain;
}
@media (max-width: 991.5px) {
  .c-scroll-statements__item-icon {
    width: 2rem;
    height: 2rem;
    display: none;
  }
}
.c-scroll-statements__item-title {
  font-size: var(--display-2-font-size);
  font-weight: 500;
}
@media (max-width: 991.5px) {
  .c-scroll-statements__item-title {
    font-size: 1.5rem;
  }
}
.c-scroll-statements__item-text {
  overflow: hidden;
}
.c-scroll-statements__border-bottom {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.c-scroll-statements__progress {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 0.25rem;
}
.c-scroll-statements__progress > * {
  width: 0;
  height: 100%;
}

/* image-carousel styles */
.c-card-slider {
  display: block;
  overflow: hidden;
}
.c-card-slider .swiper {
  overflow: visible;
}
.c-card-slider img {
  width: 100%;
}
.c-card-slider__card {
  position: relative;
  min-height: 20rem;
  aspect-ratio: 3/4;
  border-radius: 1rem;
  overflow: hidden;
  padding: 1.5rem;
  background-color: var(--light);
  color: var(--secondary);
}
@media (max-width: 991.5px) {
  .c-card-slider__card {
    padding: 1rem;
  }
}
.c-card-slider__card-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-card-slider__card-title {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
}
@media (max-width: 991.5px) {
  .c-card-slider__card-title {
    font-size: 1.5rem;
  }
}
.c-card-slider__card.is-light-card {
  background-color: var(--light);
  color: var(--secondary);
}
.c-card-slider__card.is-orange-card {
  background-color: var(--primary);
  color: var(--secondary);
}
.c-card-slider__card.is-dark-card {
  background-color: var(--secondary);
  color: var(--primary);
}
.c-card-slider__card.has-white-plus-icon .icon-btn {
  color: white;
}

/* centered-cards styles */
.c-centered-cards {
  display: block;
}
@media (min-width: 992px) {
  .c-centered-cards__row > *:nth-child(2) {
    margin-top: 2rem;
  }
  .c-centered-cards__row > *:nth-child(3) {
    margin-top: 4rem;
  }
}
.c-centered-cards__card {
  position: relative;
  min-height: 20rem;
  border-radius: 1rem;
  overflow: hidden;
  padding: 1.5rem;
  background-color: var(--light);
  color: var(--secondary);
}
.c-centered-cards__card-ratio {
  aspect-ratio: 3/4;
  display: flex;
  flex-direction: column;
}
.c-centered-cards__card-img {
  width: 50%;
  margin: 25% auto;
  aspect-ratio: 1/1;
}
@media (min-width: 1440px) {
  .c-centered-cards__card-img {
    width: 45%;
  }
}
.c-centered-cards__card-title {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
}

/* rotated-cards styles */
.c-rotated-cards {
  display: block;
  background-color: var(--secondary-stronger);
  color: var(--body-color);
  overflow: hidden;
}
@media (min-width: 992px) {
  .c-rotated-cards__row > *:nth-child(2) {
    margin-top: 3rem;
  }
  .c-rotated-cards__row > *:nth-child(3) {
    margin-top: 6rem;
  }
}
.c-rotated-cards__card-col:nth-child(1) > div {
  background-color: var(--secondary);
}
@media (min-width: 992px) {
  .c-rotated-cards__card-col:nth-child(1) > div {
    transform: rotate(-4deg);
  }
}
.c-rotated-cards__card-col:nth-child(2) > div {
  background-color: var(--primary-stronger);
}
.c-rotated-cards__card-col:nth-child(3) > div {
  background-color: var(--primary-strong);
}
@media (min-width: 992px) {
  .c-rotated-cards__card-col:nth-child(3) > div {
    transform: rotate(4deg);
  }
}
.c-rotated-cards.has-primary-card-first .c-rotated-cards__card-col:nth-child(1) > div {
  background-color: var(--primary-strong);
}
.c-rotated-cards.has-primary-card-first .c-rotated-cards__card-col:nth-child(3) > div {
  background-color: var(--secondary);
}
.c-rotated-cards__card {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  padding: 1.5rem;
  text-align: start;
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .c-rotated-cards__card {
    width: 120%;
    margin-left: -10%;
    aspect-ratio: 3/4;
  }
  .c-rotated-cards__card > * {
    padding-right: 10%;
  }
}
@media (min-width: 1440px) {
  .c-rotated-cards__card {
    aspect-ratio: 1/1;
  }
}
.c-rotated-cards__card-title {
  position: relative;
  padding-bottom: var(--spacer-3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

/* variables */
/* hero styles */
.c-hero {
  display: block;
  background-color: var(--primary);
  color: var(--secondary-strongest);
  overflow: hidden;
}
.c-hero__logo {
  padding-top: 10rem;
  padding-bottom: 4rem;
}
.c-hero__logo-animation-wrapper {
  overflow: hidden;
}
.c-hero__img-col {
  margin-top: auto;
}
.c-hero__img-container {
  margin-left: calc(-1 * (var(--container-margin-x) + var(--container-padding-x)));
  width: calc(100% + var(--container-margin-x) + var(--container-padding-x));
  aspect-ratio: 1454/1194;
  border-top-right-radius: 2rem;
  overflow: hidden;
}
@media (max-width: 991.5px) {
  .c-hero__img-container {
    margin-left: 0;
    width: 100%;
    border-radius: 1rem;
  }
}
.c-hero__img-effect {
  width: 100%;
  overflow: hidden;
  animation: 1s cubic-bezier(0.075, 0.82, 0.165, 1) 0.5s both heroRevealImage;
  background-color: var(--secondary-strongest);
}
.c-hero__img {
  aspect-ratio: 1454/1194;
  width: 100%;
  max-width: unset;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: 0.5s all;
  position: absolute;
  animation: 1s cubic-bezier(0.075, 0.82, 0.165, 1) 0.5s both heroScaleIn;
}
.c-hero__img.is-active {
  position: relative;
  opacity: 1;
}
.c-hero__content {
  border-top: 1px solid var(--neutral-100);
}
.c-hero__btns {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
@media (max-width: 991.5px) {
  .c-hero__btns {
    flex-direction: column;
  }
}

@keyframes heroRevealImage {
  from {
    clip-path: inset(0px 100% 0px 0px);
  }
  to {
    clip-path: inset(0px 0px 0px 0px);
  }
}
@keyframes heroScaleIn {
  from {
    scale: 1.1;
  }
  to {
    scale: 1;
  }
}
/* fullscreen-card styles */
.c-fullscreen-card {
  display: block;
  position: relative;
  min-height: 100vh;
  background-color: var(--secondary-stronger);
  color: var(--on-secondary);
  border-radius: 2rem 2rem 0 0;
}
.c-fullscreen-card + .c-fullscreen-card {
  margin-top: -2rem;
}
.c-fullscreen-card__overlay {
  position: absolute;
  inset: 0;
  background-color: #000;
  opacity: 0;
  pointer-events: none;
  border-radius: inherit;
}
.c-fullscreen-card__icon {
  height: var(--display-2-font-size);
  width: var(--display-2-font-size);
  object-fit: contain;
}
.c-fullscreen-card__tag {
  border-radius: 0.5rem;
  padding: 0.75rem 1.25rem;
  background-color: var(--secondary);
}
@media (max-width: 991.5px) {
  .c-fullscreen-card__tag {
    padding: 0.5rem 0.75rem;
    border-radius: 0.25rem;
  }
}
.c-fullscreen-card + * {
  position: relative;
}

/* projects-teaser styles */
.c-projects-teaser {
  display: block;
  background-color: var(--light);
}
.c-projects-teaser__item:not(:first-child) {
  border-top: 1px solid var(--neutral-50);
}
.c-projects-teaser__item-tag {
  background-color: var(--body-color);
  color: var(--text-color);
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.c-projects-teaser__item-cat {
  display: flex;
  gap: 0.25rem;
  opacity: 0.9;
}

/* statements styles */
.c-statements {
  display: block;
  background-color: var(--secondary-stronger);
  color: var(--on-secondary);
  overflow: hidden;
  max-width: 100%;
}
.c-statements__item {
  overflow: hidden;
  opacity: 0.5;
  transition: opacity 0.5s;
}
.c-statements__item:hover {
  opacity: 1;
}
.c-statements__item.is-active {
  opacity: 1;
}
.c-statements__item.is-active .c-statements__item-text {
  height: auto;
}
.c-statements__item:last-child .c-statements__border-bottom {
  border-bottom: none;
}
.c-statements__trigger {
  text-align: start;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.c-statements__trigger svg {
  width: 0.75em;
  height: 0.75em;
}
.c-statements__item-text {
  overflow: hidden;
  height: 0;
  transition: 0.5s height;
}
.c-statements__border-bottom {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

/* separator styles */
.c-separator {
  display: block;
  margin-top: -1px;
}
.c-separator hr {
  display: block;
  border: none;
  outline: none;
  height: 1px;
  background-color: var(--neutral-100);
  margin: 0;
  padding: 0;
}

/* text-image styles */
.c-contact-section {
  display: flex;
}
.c-contact-section__col-1 {
  flex: 1;
  width: 50%;
  margin-left: var(--container-margin-x);
  padding: 0 var(--container-padding-x);
}
.c-contact-section__col-1 > * {
  width: 100%;
}
.c-contact-section__col-2 {
  flex: 1;
  width: 50%;
}
.c-contact-section__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-contact-section__rounded-image {
  border-radius: 1rem;
  width: 100%;
  height: auto;
}
.c-contact-section__contact-links {
  position: relative;
  list-style-type: none;
  /* line before */
}
.c-contact-section__contact-links::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  border-bottom: 1px solid currentColor;
  opacity: 0.2;
}
.c-contact-section__contact-links li {
  position: relative;
  padding: 0.75rem 0;
  /* line after */
}
.c-contact-section__contact-links li a {
  display: flex;
  gap: 0.5rem;
}
.c-contact-section__contact-links li::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-bottom: 1px solid currentColor;
  opacity: 0.2;
}
@media (max-width: 991.5px) {
  .c-contact-section .row > :nth-child(1) {
    order: 2;
  }
}
@media (max-width: 991.5px) {
  .c-contact-section {
    flex-direction: column;
  }
  .c-contact-section__col-1, .c-contact-section__col-2 {
    width: 100%;
  }
}

/* hero-logo-removal clearance */
.c-hero {
  padding-top: 10rem;
}
@media (max-width: 991.98px) {
  .c-hero {
    padding-top: 7rem;
  }
}


/* hero truck framing */
.c-hero__img-container {
  aspect-ratio: 1600 / 1066;
}
.c-hero__img-effect {
  height: 100%;
  background-color: transparent;
}
.c-hero__img {
  aspect-ratio: 1600 / 1066;
  object-fit: cover;
  object-position: 50% 50%;
  height: 100%;
}

/* ===== powerpump nav wordmark (consolidated) ===== */
.c-nav__desktop-inner-logo { display: none !important; }

.c-nav__logowrapper {
  width: auto !important;
  flex: 0 0 auto;
  align-items: center;
}
@media (min-width: 992px) {
  .c-nav__logowrapper { margin-right: 2rem; }
}
/* optical centring: the nozzle drip sits below the baseline, so the
   bounding box reads high. nudge down to match the pill/CTA centre. */
.c-nav__wordmark { position: relative; top: 7px; }
.c-nav__logo-link {
  width: auto !important;
  display: flex;
  align-items: center;
}
.c-nav__wordmark {
  height: 5rem;
  width: auto !important;
  max-width: none;
  object-fit: contain;
  display: block;
}

/* pill hugs its links (desktop only) */
@media (min-width: 992px) {
  .c-nav__inner-container {
    width: auto !important;
    flex: 0 0 auto;
    margin-left: 0;
    margin-right: 0;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }
}

/* CTA removed: logo left, nav pill aligned to the hero text column.
   50.76% of the container == the col-md-6 offset-md-1 text edge (h1). */
@media (min-width: 992px) {
  .c-nav__container { justify-content: flex-start !important; }
  .c-nav__inner-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: absolute;
    left: 50.76%;
    top: 50%;
    transform: translateY(-50%);
  }
  .c-nav__container { position: relative; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .c-nav__inner-container {
    position: static;
    transform: none;
    margin-left: auto !important;
  }
}

/* keep the header tall enough for the larger mark */
.c-nav__container { min-height: 6.5rem; align-items: center; }

@media (max-width: 1439.98px) {
  .c-nav__wordmark { height: 5.25rem; }
  .c-nav__logowrapper { margin-right: 2rem; }
  .c-nav__inner-container { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (max-width: 1279.98px) {
  .c-nav__wordmark { height: 4.25rem; }
  .c-nav__logowrapper { margin-right: 1.5rem; }
}
@media (max-width: 991.98px) {
  .c-nav__wordmark { height: 2.5rem; }
  .c-nav__container { min-height: 4.5rem; }
  .c-nav__logowrapper { margin-right: 1rem; }
  .c-nav__inner-logo { display: flex; align-items: center; }
  .c-nav__inner-logo .c-nav__logo-link { display: flex; align-items: center; }
}
@media (max-width: 480px) {
  .c-nav__wordmark { height: 2.1rem; top: 2px; }
}

/* hero CTAs: solid white so they stand out on the orange */
.c-hero__cta {
  background-color: #ffffff !important;
  border: 2px solid #ffffff !important;
  color: #1B365D !important;
  font-weight: 700;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.c-hero__cta:hover,
.c-hero__cta:focus-visible {
  background-color: #1B365D !important;
  border-color: #1B365D !important;
  color: #ffffff !important;
}

/* ===== SEO content sections ===== */
.c-seo-section { background:#fff; color:#1B365D; }
.c-seo-section .c-typo-h1 { color:#1B365D; }
.c-seo-section h3 { color:#1B365D; }
.c-seo-section p { color:#33425c; line-height:1.65; }
.c-seo-grid h3 { position:relative; padding-top:1rem; border-top:3px solid #F26A21; }
.c-seo-faq { background:#f7f8fa; }
.c-faq-list { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem 3rem; }
.c-faq-item h3 { margin-bottom:.65rem; }
.c-faq-item { padding-left:1.15rem; border-left:3px solid #F26A21; }
@media (max-width: 767.98px) {
  .c-faq-list { grid-template-columns:1fr; gap:1.75rem; }
}
@media (min-width: 768px) {
  .c-seo-grid h3 { min-height: 4.6rem; }
}
/* FAQ: borders hug content, questions share a baseline, readable eyebrow */
.c-faq-list { align-items: start; }
@media (min-width: 768px) {
  .c-faq-item h3 { min-height: 3.4rem; }
}
.c-seo-section .opacity-50 { opacity: 1 !important; color: #6b7688; }
.c-seo-section .opacity-50 {
  color: #4a5a72;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .8125rem;
}

/* ===== hero: photo in line with the headline column (desktop) ===== */
/* image top registers with the H1 cap-height, bottom with the CTA row */
@media (min-width: 992px) {
  .c-hero .row { align-items: stretch; }
  .c-hero__img-col {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    padding-top: 87px;   /* 80px content padding + ~7px optical cap-height offset */
    padding-bottom: 80px;
  }
  .c-hero__img-container {
    position: relative;
    aspect-ratio: auto;
    flex: 1 1 0;
    min-height: 0;
    height: auto;
    border-radius: 0 2rem 2rem 0;
  }
  .c-hero__img-effect {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .c-hero__img,
  .c-hero__img.is-active {
    position: absolute;
    inset: 0;
    aspect-ratio: auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 52% 50%;
  }
}

/* ===== scroll-statements: static, no pinned scroll-jacking ===== */
/* all three statements read at once, so the page scrolls at normal speed */
.c-scroll-statements.is-static {
  min-height: 0 !important;
  height: auto;
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.c-scroll-statements.is-static .c-scroll-statements__viewport {
  height: auto;
  display: block;
}
.c-scroll-statements.is-static .c-scroll-statements__item {
  opacity: 1;
  cursor: default;
}
.c-scroll-statements.is-static .c-scroll-statements__item-icon { opacity: 1; }
.c-scroll-statements.is-static .c-scroll-statements__item-text {
  height: auto !important;
  overflow: visible;
}
.c-scroll-statements.is-static .c-scroll-statements__heading { text-align: start; }
.c-scroll-statements.is-static .c-scroll-statements__progress { display: none; }
.c-scroll-statements.is-static .c-scroll-statements__item .row.pt-5 { padding-top: 2.5rem; }
@media (max-width: 991.98px) {
  .c-scroll-statements.is-static { padding-top: 4rem; padding-bottom: 4rem; }
}

/* ===== rotated cards: tighten the section padding ===== */
/* NOTE: .py-8 sets padding with !important, so these must be !important too.
   Cards are rotated + staggered downward, so their bounding boxes reach well
   below the row. Padding-bottom must clear the lowest rotated corner or
   overflow:hidden slices it. Measured: 11.5rem clears it with ~0 to spare. */
.c-rotated-cards.py-8 {
  padding-top: 4rem !important;
  padding-bottom: 11.5rem !important;
}
.c-rotated-cards .c-typo-h1.mb-7 { margin-bottom: 3rem; }
@media (min-width: 992px) {
  .c-rotated-cards__row { margin-bottom: 0; }
  .c-rotated-cards__row > *:nth-child(2) { margin-top: 1rem; }
  .c-rotated-cards__row > *:nth-child(3) { margin-top: 2rem; }
}
@media (max-width: 991.98px) {
  .c-rotated-cards.py-8 {
    padding-top: 3.5rem !important;
    padding-bottom: 2rem !important;
  }
}

/* footer: big wordmark block removed, so rebalance the tail */
.c-footer.py-6 { padding-bottom: 3rem; }

/* ================================================================
   Audience cards ("Who books the truck") + FAQ accordion
   Replaces the old flat .c-seo-grid / .c-faq-list treatment.
   Brand: navy #1B365D, orange #F26A21.
   ================================================================ */

.c-seo-eyebrow {
  color: #F26A21 !important;
  opacity: 1 !important;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: .8125rem;
  display: flex;
  align-items: center;
  gap: .75rem;
}
.c-seo-eyebrow::after {
  content: "";
  flex: 0 0 3rem;
  height: 2px;
  background: #F26A21;
  opacity: .5;
}

/* ---------- audience cards ---------- */
.c-audience-section { background: #f7f8fa; }
.c-audience-grid { margin-top: .5rem; }

.c-audience-card {
  position: relative;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(27, 54, 93, .1);
  border-radius: 1rem;
  padding: 2rem 1.75rem 1.75rem;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
/* orange accent bar that fills in on hover */
.c-audience-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 4px;
  background: #F26A21;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s cubic-bezier(.2,.7,.3,1);
}
.c-audience-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px -18px rgba(27, 54, 93, .35);
  border-color: rgba(27, 54, 93, .18);
}
.c-audience-card:hover::before { transform: scaleX(1); }

.c-audience-card__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: .75rem;
  background: rgba(242, 106, 33, .12);
  color: #F26A21;
  margin-bottom: 1.25rem;
  transition: background-color .25s ease, color .25s ease;
}
.c-audience-card:hover .c-audience-card__icon-wrap {
  background: #F26A21;
  color: #fff;
}
.c-audience__icon { width: 1.6rem; height: 1.6rem; display: block; }

.c-audience-card__title {
  color: #1B365D;
  margin-bottom: .75rem;
  line-height: 1.25;
}
.c-audience-card__text {
  color: #4a5a72;
  line-height: 1.65;
  margin-bottom: 0;
  font-size: .975rem;
}

@media (max-width: 767.98px) {
  .c-audience-card { padding: 1.5rem 1.25rem; }
  .c-audience-card__icon-wrap { width: 2.75rem; height: 2.75rem; margin-bottom: 1rem; }
}

/* ---------- FAQ accordion ---------- */
.c-seo-faq { background: #1B365D; }
.c-seo-faq .c-typo-h1,
.c-seo-faq h2 { color: #fff; }

.c-faq-acc {
  border-top: 1px solid rgba(255, 255, 255, .16);
}
.c-faq-acc__item {
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}
.c-faq-acc__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.5rem 0;
  cursor: pointer;
  list-style: none;
  color: #fff;
  transition: color .2s ease;
}
.c-faq-acc__q::-webkit-details-marker { display: none; }
.c-faq-acc__q:hover { color: #F26A21; }
.c-faq-acc__q-text {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
}

/* plus / minus toggle */
.c-faq-acc__icon {
  position: relative;
  flex: 0 0 2.25rem;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .3);
  transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.c-faq-acc__icon::before,
.c-faq-acc__icon::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: .75rem;
  height: 2px;
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform .25s ease, opacity .25s ease;
}
.c-faq-acc__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.c-faq-acc__q:hover .c-faq-acc__icon {
  border-color: #F26A21;
  background: rgba(242, 106, 33, .15);
}
.c-faq-acc__item[open] .c-faq-acc__q { color: #F26A21; }
.c-faq-acc__item[open] .c-faq-acc__icon {
  background: #F26A21;
  border-color: #F26A21;
  color: #fff;
}
.c-faq-acc__item[open] .c-faq-acc__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
  opacity: 0;
}

.c-faq-acc__a {
  padding: 0 4rem 1.75rem 0;
  animation: faqReveal .3s ease both;
}
.c-seo-section .c-faq-acc__a p,
.c-faq-acc__a p {
  color: rgba(255, 255, 255, .78) !important;
  line-height: 1.7;
  margin-bottom: 0;
  max-width: 62ch;
}
@keyframes faqReveal {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* footer CTA under the accordion */
.c-faq-acc__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: 2.5rem;
  padding: 1.5rem 1.75rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
}
.c-seo-section .c-faq-acc__foot-text,
.c-faq-acc__foot-text {
  color: #ffffff !important;
  font-size: 1.125rem;
  margin-bottom: 0;
}

@media (max-width: 767.98px) {
  .c-faq-acc__q { padding: 1.15rem 0; gap: 1rem; }
  .c-faq-acc__q-text { font-size: 1.05rem; }
  .c-faq-acc__icon { flex-basis: 1.85rem; width: 1.85rem; height: 1.85rem; }
  .c-faq-acc__a { padding-right: 0; padding-bottom: 1.35rem; }
  .c-faq-acc__foot { flex-direction: column; align-items: flex-start; }
}

/* ===== hero headline emphasis + responsive lede ===== */
/* the promise half of the H1 goes white so it separates from the
   dark ink of the location line and carries the hierarchy */
.c-hero__headline-accent {
  color: #ffffff;
  display: inline;
}

/* two ledes: full copy on desktop, trimmed on mobile */
.c-hero__lede { margin-bottom: 0; }
.c-hero__lede.is-mobile-lede { display: none; }

@media (max-width: 767.98px) {
  .c-hero__lede.is-desktop-lede { display: none; }
  .c-hero__lede.is-mobile-lede { display: block; }
  /* tighter hero rhythm on small screens */
  .c-hero h1.mb-5 { margin-bottom: 1.25rem !important; }
  .c-hero .c-typo-body-l.mb-5 { margin-bottom: 1.75rem !important; }
}

/* ===== Our Services: close the gap between heading and the card slider ===== */
/* The heading block carried a full 8rem bottom padding and the slider's nav row
   contained an EMPTY .c-typo-h3 with a 3rem bottom margin, so ~176px of dead
   space stacked up between the lede and the arrows. */
.c-two-columns-text.is-white-variant .container.py-8.relative {
  /* keeps the moved lede visually tied to the headline above it */
  padding-bottom: .25rem !important;
}
.c-card-slider .flex.justify-between {
  /* 2.5rem keeps the arrows clear of the tilted card corners */
  margin-bottom: 2.5rem !important;
}
/* the slider's heading slot now carries the services lede, sat inline with
   the prev/next arrows, so it is visible again (was an empty spacer). */
.c-card-slider__bar {
  align-items: center;
  gap: 1.5rem;
}
.c-card-slider__lede {
  margin-bottom: 0 !important;
  font-size: 1.25rem;
  line-height: 1.45;
  font-weight: 500;
  color: #1B365D;
  max-width: 34ch;
}
/* the duplicate copy in the heading block is desktop-redundant */
@media (min-width: 768px) {
  .is-services-lede { display: none; }
}
@media (max-width: 767.98px) {
  /* on mobile keep it under the headline and out of the arrow row */
  .c-card-slider__lede { display: none !important; }
}

@media (max-width: 767.98px) {
  /* mobile: group the arrows with the cards they control, not the paragraph.
     Balanced at 35px above / 35px below the nav row. */
  .c-two-columns-text.is-white-variant .container.py-8.relative {
    padding-bottom: .5rem !important;
  }
  .c-card-slider .flex.justify-between {
    margin-bottom: 1.25rem !important;
  }
  .c-two-columns-text.is-white-variant .rich-text.mb-6 {
    margin-bottom: .5rem !important;
  }
  .c-two-columns-text.is-white-variant .col-12.mb-5 {
    margin-bottom: .5rem !important;
  }
}

/* ===== FAQ foot: two branded CTAs ===== */
.c-faq-acc__foot-btns {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
}
/* reuse the hero CTA look, but the FAQ sits on navy so give the secondary
   an outlined treatment for a clear primary/secondary split */
.c-faq-acc__foot-btns .c-hero__cta.is-hero-secondary {
  background-color: transparent !important;
  border: 2px solid rgba(255, 255, 255, .6) !important;
  color: #ffffff !important;
}
.c-faq-acc__foot-btns .c-hero__cta.is-hero-secondary:hover,
.c-faq-acc__foot-btns .c-hero__cta.is-hero-secondary:focus-visible {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #1B365D !important;
}
.c-faq-acc__foot-btns .c-hero__cta.is-hero-primary:hover,
.c-faq-acc__foot-btns .c-hero__cta.is-hero-primary:focus-visible {
  background-color: #F26A21 !important;
  border-color: #F26A21 !important;
  color: #ffffff !important;
}
@media (max-width: 767.98px) {
  .c-faq-acc__foot-btns { width: 100%; }
  .c-faq-acc__foot-btns .btn { flex: 1 1 100%; text-align: center; justify-content: center; }
}

/* ===== "How it works" photo: keep the crew/truck in frame on wide crops ===== */
.c-two-columns-text.has-image .c-two-columns-text__img {
  object-position: 50% 42%;
}
/* directional scrim: heavy on the text column, lighter over the truck/crew
   on the right so the vehicle stays recognisable instead of going to mud. */
.c-two-columns-text.has-image .c-two-columns-text__overlay {
  opacity: 1;
  background: linear-gradient(
    100deg,
    rgba(0,0,0,.52) 0%,
    rgba(0,0,0,.58) 30%,
    rgba(0,0,0,.74) 50%,
    rgba(0,0,0,.82) 100%
  );
}
@media (max-width: 767.98px) {
  /* the list has its own panel now, so the base scrim can ease off and let
     the truck actually show through instead of reading as flat black */
  .c-two-columns-text.has-image .c-two-columns-text__overlay {
    background: rgba(0,0,0,.42);
  }
}

/* the step list crosses the brightest part of the photo (truck panel + red
   signage), so give the column its own scrim rather than crushing the whole
   image. Keeps the truck/crew readable while guaranteeing text contrast. */
.c-two-columns-text.has-image .container.relative > .row > .col-md-5.offset-md-1 {
  position: relative;
}
.c-two-columns-text.has-image .container.relative > .row > .col-md-5.offset-md-1::before {
  content: "";
  position: absolute;
  inset: -1.5rem -1.75rem;
  background: rgba(10, 12, 18, .58);
  border-radius: 1rem;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  z-index: 0;
  pointer-events: none;
}
.c-two-columns-text.has-image .container.relative > .row > .col-md-5.offset-md-1 > * {
  position: relative;
  z-index: 1;
}
/* body copy was dimmer than the bold lead-ins, exactly where contrast is worst */
.c-two-columns-text.has-image .rich-text li,
.c-two-columns-text.has-image .rich-text p {
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.7;
}
/* framing sentence above the steps */
.c-two-columns-text.has-image .rich-text > p:first-child {
  font-size: 1.15rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 1rem;
}
/* no trailing rule under the final step */
.c-two-columns-text.has-image .rich-text li:last-child { border-bottom: 0; }
@media (max-width: 767.98px) {
  /* mobile stacks a single column, so use a VERTICAL gradient: light at the
     top where only the headline sits (photo stays visible), ramping heavy
     from the step list down (copy stays legible). Flat scrims either killed
     the photo or dropped the body text under contrast. */
  .c-two-columns-text.has-image .c-two-columns-text__overlay {
    background: linear-gradient(
      180deg,
      rgba(0,0,0,.30) 0%,
      rgba(0,0,0,.38) 22%,
      rgba(0,0,0,.68) 40%,
      rgba(0,0,0,.80) 60%,
      rgba(0,0,0,.82) 100%
    );
  }
  /* panel eases right off; the gradient is doing the work now */
  .c-two-columns-text.has-image .container.relative > .row > .col-md-5.offset-md-1::before {
    inset: -1rem -1rem;
    background: rgba(10, 12, 18, .30);
  }
  .c-two-columns-text.has-image .c-two-columns-text__img {
    object-position: 42% 34%;
  }
  /* clear the floating nav so the headline is not parked under it */
  .c-two-columns-text.has-image .container.py-8 {
    padding-top: 6.5rem !important;
  }
  /* headline crosses the pale sky band, so anchor it regardless of crop */
  .c-two-columns-text.has-image .c-two-columns-text__headline {
    text-shadow: 0 2px 12px rgba(0,0,0,.75);
  }
}

/* ===== close the rotated-cards -> "Get your programme back" gap (desktop) =====
   Both sections share the same maroon background (rgb(101,20,35)), so the
   section boundary is invisible. That means the tilted cards can overhang into
   the next section instead of being padded around, which is what was inflating
   the gap to ~121px. overflow-y must be visible for the overhang; overflow-x
   stays clipped so the 120%-wide cards never cause a sideways scrollbar. */
.c-rotated-cards {
  overflow-x: clip !important;
  overflow-y: visible !important;
}
.c-rotated-cards.py-8 {
  padding-bottom: 2rem !important;
}
.c-scroll-statements.is-static {
  padding-top: 2.5rem;
}

@media (max-width: 991.98px) {
  /* cards stack vertically on mobile and the last one overhangs further, so
     it needs more clearance than desktop or it collides with the heading */
  .c-rotated-cards.py-8 {
    padding-bottom: 1.5rem !important;
  }
  .c-scroll-statements.is-static {
    padding-top: 2rem;
  }
}

/* ================================================================
   Instant estimate / quote calculator
   Brand: navy #1B365D, orange #F26A21.
   ================================================================ */
.c-quote-calc {
  background: #1B365D;
  color: #fff;
  overflow: hidden;
}
.c-quote-calc .c-typo-h1 { color: #fff; }
.c-quote-calc__intro {
  color: rgba(255,255,255,.82);
  font-size: 1.125rem;
  line-height: 1.65;
  max-width: 62ch;
  margin-bottom: 2.5rem;
}

.c-quote-calc__panel {
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 1.25rem;
  padding: 2.25rem;
}

/* --- inputs --- */
.c-quote-calc__fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
.c-quote-calc__field { display: flex; flex-direction: column; }
.c-quote-calc__label {
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  margin-bottom: .6rem;
}
.c-quote-calc__input-wrap { position: relative; display: flex; }
.c-quote-calc .c-quote-calc__input,
.c-quote-calc input.c-quote-calc__input,
.c-quote-calc select.c-quote-calc__input {
  width: 100%;
  background: #ffffff;
  border: 2px solid transparent;
  border-radius: .625rem;
  padding: .95rem 1rem;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.35;
  height: auto;
  min-height: 3.5rem;
  color: #1B365D;
  font-family: inherit;
  display: block;
  transition: border-color .2s ease, box-shadow .2s ease;
  -webkit-appearance: none;
  appearance: none;
}
.c-quote-calc .c-quote-calc__input:focus,
.c-quote-calc input.c-quote-calc__input:focus,
.c-quote-calc select.c-quote-calc__input:focus {
  outline: none;
  border-color: #F26A21;
  box-shadow: 0 0 0 4px rgba(242,106,33,.25);
}
.c-quote-calc .c-quote-calc__input-wrap .c-quote-calc__input { padding-right: 3.25rem; }
.c-quote-calc__suffix {
  position: absolute;
  right: 1rem; top: 50%;
  transform: translateY(-50%);
  color: #6b7688;
  font-weight: 700;
  pointer-events: none;
}
.c-quote-calc select.c-quote-calc__select {
  padding-right: 3.25rem;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231B365D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
}
.c-quote-calc__hint {
  margin: 1rem 0 0;
  font-size: .9375rem;
  color: rgba(255,255,255,.7);
}
.c-quote-calc__hint strong { color: #fff; }

/* --- results --- */
.c-quote-calc__result {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,.16);
}
.c-quote-calc__result-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (min-width: 1200px) {
  .c-quote-calc__result-grid { grid-template-columns: repeat(4, 1fr); }
}
.c-quote-calc__result-item {
  background: rgba(0,0,0,.22);
  border-radius: .875rem;
  padding: 1.25rem 1.35rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.c-quote-calc__result-item--hero {
  background: #F26A21;
  color: #fff;
}
.c-quote-calc__result-label {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  opacity: .8;
  line-height: 1.3;
}
@media (min-width: 1200px) {
  /* keeps the big numbers on one baseline when a label wraps */
  .c-quote-calc__result-label { min-height: 2.6em; }
}
.c-quote-calc__result-value {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.c-quote-calc__result-value small {
  font-size: .875rem;
  font-weight: 600;
  opacity: .85;
}
.c-quote-calc__result-note {
  font-size: .875rem;
  margin-top: .15rem;
  opacity: .95;
}
.c-quote-calc__disclaimer {
  margin: 1.5rem 0 0;
  font-size: .875rem;
  line-height: 1.6;
  color: rgba(255,255,255,.62);
  background: rgba(0,0,0,.18);
  border-left: 3px solid rgba(255,255,255,.3);
  padding: .85rem 1rem;
  border-radius: .375rem;
}
.c-quote-calc__disclaimer strong { color: #fff; }

/* --- CTAs --- */
.c-quote-calc__cta {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,.16);
}
.c-quote-calc__cta-line {
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 1.15rem;
}
.c-quote-calc__cta-btns { display: flex; gap: .75rem; flex-wrap: wrap; }
.c-quote-calc__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  font-weight: 700;
  border-radius: 999px;
  padding: .95rem 1.75rem;
  border: 2px solid transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 1rem;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
.c-quote-calc__btn:active { transform: translateY(1px); }
.c-quote-calc__btn--call {
  background: #F26A21 !important;
  border-color: #F26A21 !important;
  color: #fff !important;
}
.c-quote-calc__btn--call:hover,
.c-quote-calc__btn--call:focus-visible {
  background: #fff !important;
  border-color: #fff !important;
  color: #1B365D !important;
}
.c-quote-calc__btn--callback {
  background: transparent;
  border-color: rgba(255,255,255,.6);
  color: #fff;
}
.c-quote-calc__btn--callback:hover,
.c-quote-calc__btn--callback:focus-visible {
  background: #fff;
  border-color: #fff;
  color: #1B365D;
}

/* --- callback form --- */
.c-quote-calc__callback {
  margin-top: 1.75rem;
  padding-top: 1.75rem;
  border-top: 1px dashed rgba(255,255,255,.2);
  animation: ppReveal .28s ease both;
}
@keyframes ppReveal {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.c-quote-calc__callback-intro {
  font-size: 1rem;
  color: rgba(255,255,255,.82);
  margin-bottom: 1.25rem;
}
.c-quote-calc__callback-fields {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.c-quote-calc__btn--submit {
  background: #F26A21;
  border-color: #F26A21;
  color: #fff;
}
.c-quote-calc__btn--submit:hover:not(:disabled),
.c-quote-calc__btn--submit:focus-visible:not(:disabled) {
  background: #fff;
  border-color: #fff;
  color: #1B365D;
}
.c-quote-calc__btn--submit:disabled { opacity: .6; cursor: not-allowed; }
.c-quote-calc__trap {
  position: absolute !important;
  left: -9999px !important;
  width: 1px; height: 1px;
  opacity: 0;
}
.c-quote-calc__status {
  margin: 1rem 0 0;
  font-size: .9375rem;
  font-weight: 600;
  min-height: 1.4em;
}
.c-quote-calc__status.is-error { color: #FFB4A2; }
.c-quote-calc__status.is-success { color: #9BE8B0; }
.c-quote-calc__privacy {
  margin: .85rem 0 0;
  font-size: .8125rem;
  color: rgba(255,255,255,.55);
}
.c-quote-calc .c-quote-calc__input.is-invalid,
.c-quote-calc input.c-quote-calc__input.is-invalid {
  border-color: #FF8A73;
  box-shadow: 0 0 0 4px rgba(255,138,115,.2);
}

/* --- responsive --- */
@media (max-width: 991.98px) {
  .c-quote-calc__result-grid { grid-template-columns: 1fr 1fr; }
  .c-quote-calc__result-item--hero { grid-column: 1 / -1; }
  .c-quote-calc__result-value { font-size: 1.6rem; }
  .c-quote-calc__callback-fields { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767.98px) {
  .c-quote-calc__panel { padding: 1.5rem 1.25rem; border-radius: 1rem; }
  .c-quote-calc__intro { font-size: 1rem; margin-bottom: 1.75rem; }
  .c-quote-calc__fields { grid-template-columns: 1fr; gap: 1rem; }
  .c-quote-calc__result-grid { grid-template-columns: 1fr; }
  .c-quote-calc__result-value { font-size: 1.75rem; }
  .c-quote-calc__callback-fields { grid-template-columns: 1fr; }
  .c-quote-calc__cta-btns { flex-direction: column; }
  .c-quote-calc__cta-btns .c-quote-calc__btn { width: 100%; }
  .c-quote-calc__btn--submit { width: 100%; }
  .c-quote-calc__cta-line { font-size: 1.125rem; }
}

/* anchor targets must clear the floating nav pill */
#get-a-quote, #faq { scroll-margin-top: 7rem; }
@media (max-width: 991.98px) {
  #get-a-quote, #faq { scroll-margin-top: 5.5rem; }
}

/* the truck-vs-handmix payoff line: this is the whole argument of the tile,
   so lift it out of the muted note style into a badge */
.c-quote-calc__result-note--win {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .6rem;
  padding: .4rem .7rem;
  white-space: nowrap;
  background: #F26A21;
  color: #fff;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
  opacity: 1;
  align-self: flex-start;
  max-width: 100%;
}
.c-quote-calc__result-note--win::before {
  content: "";
  width: .9rem;
  height: .9rem;
  flex: 0 0 .9rem;
  background: currentColor;
  /* check mark */
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
}
.c-quote-calc__result-note--win strong {
  color: #fff;
  font-weight: 800;
}
/* the labour tile is the "before" state, so mute its big number a touch and
   let the orange badge underneath carry the contrast */
.c-quote-calc__result-item:has(.c-quote-calc__result-note--win) {
  border: 1px solid rgba(242,106,33,.35);
}

/* ===== quote calculator -> FAQ: close the shared-background gap =====
   Both sections are #1B365D, so the boundary is invisible and the stacked
   8rem/8rem padding read as one 256px dead band. .py-8 uses !important so
   these overrides must too. */
.c-quote-calc.py-8 {
  padding-bottom: 3rem !important;
}
.c-seo-section.c-seo-faq.py-8 {
  padding-top: 3rem !important;
}
@media (max-width: 767.98px) {
  .c-quote-calc.py-8 {
    padding-bottom: 2rem !important;
  }
  .c-seo-section.c-seo-faq.py-8 {
    padding-top: 2rem !important;
  }
}

/* ===== hero CTAs: white primary + navy secondary =====
   "Get a Quote" stays solid white (primary), "Book My Truck" goes brand navy
   so the pair has a clear hierarchy on the orange hero. Applies at all widths.
   Needs to beat the .c-hero__cta !important block above. */
.c-hero__btns .c-hero__cta.is-hero-secondary {
  background-color: #1B365D !important;
  border-color: #1B365D !important;
  color: #ffffff !important;
}
.c-hero__btns .c-hero__cta.is-hero-secondary:hover,
.c-hero__btns .c-hero__cta.is-hero-secondary:focus-visible {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #1B365D !important;
}

/* ===== mobile menu CTAs (bottom of the drawer) ===== */
.c-nav__mobile-cta {
  display: flex;
  flex-direction: column;
  gap: .625rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,.2);
}
.c-nav__mobile-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  padding: .9rem 1.25rem;
  border-radius: 999px;
  border: 2px solid transparent;
  font-weight: 700;
  font-size: 1rem;
  font-family: inherit;
  text-align: center;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.c-nav__mobile-cta-btn--quote {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #1B365D !important;
}
.c-nav__mobile-cta-btn--quote:hover,
.c-nav__mobile-cta-btn--quote:focus-visible {
  background-color: #F26A21 !important;
  border-color: #F26A21 !important;
  color: #ffffff !important;
}
.c-nav__mobile-cta-btn--call {
  background-color: #F26A21 !important;
  border-color: #F26A21 !important;
  color: #ffffff !important;
}
.c-nav__mobile-cta-btn--call:hover,
.c-nav__mobile-cta-btn--call:focus-visible {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #1B365D !important;
}

/* anchor offsets so the floating nav never covers a jump target */
#main-header, #how-it-works, #contact { scroll-margin-top: 7rem; }
@media (max-width: 991.98px) {
  #main-header, #how-it-works, #contact { scroll-margin-top: 5.5rem; }
}

/* hero CTAs now include an icon, so align contents */
.c-hero__btns .c-hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}
.c-hero__btns .c-hero__cta svg { flex: 0 0 auto; }

/* ===== mobile drawer: full height =====
   It was only as tall as its content (479px of an 844px viewport), so the hero
   showed through underneath -> the hero's own Get Instant Quote / Call
   PowerPump pair appeared right below the drawer's pair, and the H1 was
   sliced by the drawer edge. */
@media (max-width: 991.98px) {
  .c-nav__mobile-menu {
    height: 100dvh;
    max-height: 100dvh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
  }
  .c-nav__mobile-menu .mobile-nav__container {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding-bottom: 2rem;
  }
  /* CTAs sit at the foot of the panel */
  .c-nav__mobile-cta { margin-top: auto !important; }
  /* the drawer's own close button lives in the header above it */
  .c-nav__mobile-menu .c-nav__menu { flex: 0 0 auto; }
}

/* ================================================================
   FINAL SPACING PASS
   Measured real whitespace between the last painted content of each
   section and the first content of the next. Findings:
     - three 256px gaps (8rem + 8rem stacking) = far too much
     - mobile had 9px gaps in two places = too tight
   Target rhythm: ~96-112px desktop, ~56-64px mobile.
   .py-8 uses !important so overrides must too.
   ================================================================ */

/* --- audience grid -> quote calculator (was 256px, then 208px) --- */
.c-seo-section.c-audience-section.py-8 { padding-bottom: 3.5rem !important; }
.c-quote-calc.py-8 { padding-top: 3.5rem !important; }

/* --- FAQ -> service area (was 256px) --- */
.c-seo-section.c-seo-faq.py-8 { padding-bottom: 5rem !important; }
.c-seo-section:not(.c-seo-faq):not(.c-audience-section).py-8 { padding-top: 5rem !important; }

/* --- service area -> contact (was 256px) --- */
.c-seo-section:not(.c-seo-faq):not(.c-audience-section).py-8 { padding-bottom: 4.5rem !important; }
.c-contact-section.py-8 { padding-top: 4.5rem !important; }

/* --- how-it-works -> audience grid --- */
.c-seo-section.c-audience-section.py-8 { padding-top: 4rem !important; }
.c-two-columns-text.has-image .container.py-8 { padding-bottom: 3rem !important; }
/* the 100vh min-height left ~300px of dead space under the step list on tall
   desktop viewports. Let the content define the height instead. */
.c-two-columns-text.has-image {
  min-height: 0;
  align-items: stretch;
}
.c-two-columns-text.has-image .container.py-8 { padding-top: 7rem !important; }
@media (max-width: 767.98px) {
  .c-two-columns-text.has-image .container.py-8 { padding-top: 6.5rem !important; }
}

@media (max-width: 767.98px) {
  .c-seo-section.c-audience-section.py-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .c-seo-section.c-seo-faq.py-8 { padding-bottom: 3rem !important; }
  .c-seo-section:not(.c-seo-faq):not(.c-audience-section).py-8 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .c-contact-section.py-8 { padding-top: 3rem !important; }

  /* these two were only ~9px apart on mobile: card slider running into the
     how-it-works block, and that block into the audience grid */
  .c-card-slider.py-8 { padding-bottom: 3rem !important; }
  .c-two-columns-text.has-image .container.py-8 { padding-bottom: 2rem !important; }
}

/* scroll-statements -> services heading was 288px text-to-text
   (96px section pad + 32px trailing margin + 128px inner container pad) */
.c-scroll-statements.is-static { padding-bottom: 4rem !important; }
.c-scroll-statements.is-static .c-scroll-statements__item:last-child .c-typo-body-m.mb-5 {
  margin-bottom: 0 !important;
}
.c-two-columns-text.is-white-variant .container.py-8.relative { padding-top: 5rem !important; }
@media (max-width: 767.98px) {
  .c-scroll-statements.is-static { padding-bottom: 2.5rem !important; }
  .c-two-columns-text.is-white-variant .container.py-8.relative { padding-top: 3rem !important; }
}

/* hero trust row: risk-reversal right where the decision happens */
.c-hero__trust {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
}
.c-hero__trust-item {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .9375rem;
  font-weight: 600;
  color: #1B365D;
}
.c-hero__trust-item::before {
  content: "";
  flex: 0 0 1.05rem;
  width: 1.05rem;
  height: 1.05rem;
  background: #1B365D;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (max-width: 767.98px) {
  .c-hero__trust { margin-top: 1.25rem; gap: .5rem 1rem; flex-direction: column; }
  .c-hero__trust-item { font-size: .875rem; }
}

/* trust row: measured on the orange hero -> navy 3.96:1 and white 3.06:1 both
   FAIL the 4.5:1 small-text minimum. Brand darkest maroon gives 5.09:1. */
.c-hero__trust-item { color: #441219; }
.c-hero__trust-item::before { background: #441219; }
@media (min-width: 992px) {
  .c-hero__trust { gap: .5rem 1.1rem; flex-wrap: nowrap; }
  .c-hero__trust-item { font-size: .8125rem; white-space: nowrap; }
}

/* rotated cards were overlapping enough to cover each other's body copy.
   120% width + -10% pull was the cause; ease it back so only corners meet. */
@media (min-width: 992px) {
  .c-rotated-cards__card {
    width: 104%;
    margin-left: -2%;
  }
  .c-rotated-cards__card > * { padding-right: 4%; }
}

/* The theme locks these cards to aspect-ratio 3/4 (1/1 above 1440px) with
   overflow:hidden, which chopped up to 92px off the bottom of our longer
   copy. Size from content instead, keep equal heights via flex, and use
   min-height so the cards still read as tall blocks. */
@media (min-width: 992px) {
  .c-rotated-cards__row { display: flex; align-items: stretch; }
  .c-rotated-cards__card-col { display: flex; align-items: stretch; }
  /* each card is rotated by a different amount, so stretch alone leaves
     them uneven: force the col to fill the row's tallest height */
  .c-rotated-cards__card-col > div { align-self: stretch; }
  .c-rotated-cards__card {
    aspect-ratio: auto;
    min-height: 26rem;
    height: 100%;
    overflow: visible;
    display: flex;
    flex-direction: column;
    padding: 1.75rem;
  }
  .c-rotated-cards__card .rich-text { margin-top: 0; }
  .c-rotated-cards__card { margin-bottom: 0; }
  /* rotation eats clearance at the acute corners: pad it back */
  .c-rotated-cards__card-col:nth-child(1) > div,
  .c-rotated-cards__card-col:nth-child(3) > div { padding-bottom: 2.25rem; }
}
@media (min-width: 1440px) {
  .c-rotated-cards__card { aspect-ratio: auto; min-height: 24rem; }
}

/* ================================================================
   ACCESSIBILITY: measured contrast fixes (WCAG AA)
   Every value below was computed against its real rendered
   background, not guessed.
   ================================================================ */

/* eyebrow labels: #F26A21 on the light grey section = 2.88:1 (need 4.5).
   Darker orange keeps the brand read and clears AA at 5.27:1. */
.c-audience-section .c-seo-eyebrow,
.c-seo-section:not(.c-seo-faq):not(.c-quote-calc) .c-seo-eyebrow {
  color: #B54208 !important;
}
.c-audience-section .c-seo-eyebrow::after,
.c-seo-section:not(.c-seo-faq):not(.c-quote-calc) .c-seo-eyebrow::after {
  background: #B54208;
}

/* eyebrows sitting on navy: #F26A21 = 3.96:1 -> lighter orange = 5.96:1 */
.c-quote-calc .c-seo-eyebrow,
.c-seo-faq .c-seo-eyebrow {
  color: #FAA06E !important;
}
.c-quote-calc .c-seo-eyebrow::after,
.c-seo-faq .c-seo-eyebrow::after {
  background: #FAA06E;
}

/* FAQ questions were orange-on-navy at 3.96:1. White = 12.12:1.
   Keep the orange as the OPEN-state indicator only, lightened. */
.c-faq-acc__q { color: #ffffff; }
.c-faq-acc__q:hover { color: #FAA06E; }
.c-faq-acc__item[open] .c-faq-acc__q { color: #FAA06E; }

/* calculator sub-notes: white on #F26A21 = 3.06:1. Deeper burnt orange
   gives 9.97:1 while still reading as the accent tile. */
.c-quote-calc__result-item--hero {
  background: #C2500F;
}
.c-quote-calc__result-note--win {
  background: #782808;
}

/* statement body copy on the maroon panel was 3.06:1 */
.c-scroll-statements.is-static .c-typo-body-m.opacity-80 {
  opacity: 1 !important;
  color: rgba(255,255,255,.92);
}

/* orange rotated card: body copy was 2.47:1 on #F26A21. Darkest brand
   maroon lifts it to 5.09:1 without changing the card's look. */
.c-rotated-cards__card-col:nth-child(3) > div,
.c-rotated-cards__card-col:nth-child(3) > div .rich-text p,
.c-rotated-cards__card-col:nth-child(3) > div .c-typo-h5 {
  color: #441219;
}
.c-rotated-cards__card-col:nth-child(3) > div .c-rotated-cards__card-title {
  color: #2B0B10;
  border-bottom-color: rgba(68,18,25,.28);
}

/* Call PowerPump button in the calculator: white on #F26A21 = 3.06:1 at 16px
   bold, which does NOT meet the large-text exemption (needs 18.66px+).
   Deepen the fill to clear AA properly. */
.c-quote-calc__btn--call {
  background: #C2500F !important;
  border-color: #C2500F !important;
}
.c-quote-calc__btn--call:hover,
.c-quote-calc__btn--call:focus-visible {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #1B365D !important;
}

/* ===== Hychem warranty section =====
   Single centered column at every breakpoint: eyebrow, heading, copy,
   Hychem badge in a tilted glass frame, then three proof chips.
   Desktop and mobile share the same design; only sizes and the copy
   variants (--full / --mobile) change.
   ==================================================================== */
.c-hychem {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-top:3px solid #F26A21;
  background:linear-gradient(135deg,#00458f 0%,#005dbb 48%,#0a74d8 100%);
}
/* soft white bloom, centred behind the badge */
.c-hychem::before {
  content:"";
  position:absolute; z-index:-1;
  left:50%; top:52%; transform:translate(-50%,-50%);
  width:58rem; height:58rem; border-radius:50%;
  background:radial-gradient(circle at center, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 62%);
  pointer-events:none;
}
/* faint engineering grid, fades out downward */
.c-hychem::after {
  content:"";
  position:absolute; z-index:-1; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:68px 68px;
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.85), rgba(0,0,0,0) 72%);
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.85), rgba(0,0,0,0) 72%);
  pointer-events:none;
}
.c-hychem__inner { max-width:60rem; margin:0 auto; text-align:center; }
.c-hychem .c-seo-eyebrow { color:#ffffff !important; justify-content:center; }
.c-hychem .c-seo-eyebrow::before,
.c-hychem .c-seo-eyebrow::after {
  content:"";
  flex:0 0 3rem; height:2px;
  background:#F26A21; opacity:1;
}
.c-hychem .c-hychem__heading { color:#ffffff; letter-spacing:-.01em; }
.c-hychem .c-hychem__heading--full { max-width:36ch; margin-left:auto; margin-right:auto; }
.c-hychem .c-hychem__heading em {
  font-style:normal;
  padding-bottom:.06em;
  background:linear-gradient(to top, #F26A21 0 .1em, rgba(242,106,33,0) .1em);
  background-repeat:no-repeat;
}
.c-hychem .c-hychem__text {
  color:rgba(255,255,255,.88);
  line-height:1.75; font-size:1.125rem;
  max-width:56ch; margin-left:auto; margin-right:auto;
}
/* Hychem badge in a tilted glass frame */
.c-hychem__logo-card { position:relative; width:186px; margin:2.75rem auto 0; }
.c-hychem__logo-card::before {
  content:"";
  position:absolute; inset:-13%;
  border-radius:26px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.2);
  transform:rotate(-8deg);
}
.c-hychem__logo-card img {
  position:relative;
  width:100%; height:auto; display:block;
  border-radius:16px;
  filter:drop-shadow(0 22px 44px rgba(2,22,48,.5));
}
/* proof chips: always three across */
.c-hychem__stats {
  list-style:none; padding:0;
  margin:2.75rem auto 0; max-width:44rem;
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
  text-align:center;
}
.c-hychem__stats li {
  padding:1.35rem 1rem 1.4rem;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.17);
  border-radius:14px;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.c-hychem__stats li::before {
  content:"";
  display:block; margin:0 auto .55rem;
  width:.5rem; height:.5rem; border-radius:50%;
  background:#F26A21;
  box-shadow:0 0 0 4px rgba(242,106,33,.24);
}
.c-hychem__stats strong { display:block; color:#ffffff; font-size:1.05rem; line-height:1.3; }
.c-hychem__stats strong br { display:none; }
.c-hychem__stats span { display:block; margin-top:.4rem; color:rgba(255,255,255,.76); font-size:.9rem; line-height:1.5; }
/* closing docket line */
.c-hychem .c-hychem__text--small {
  margin:1.75rem auto 0;
  font-size:1rem;
  color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  border-left:3px solid #F26A21;
  border-radius:4px 14px 14px 4px;
  padding:1.05rem 2rem;
  max-width:44rem;
}

@media (min-width: 992px) {
  .c-hychem.py-8 { padding:7rem 0 6rem !important; }
}

/* fixed nav was covering the heading on anchor jumps (#hychem-warranty etc.) */
#hychem-warranty, #get-a-quote, #faq, #how-it-works, #contact { scroll-margin-top:10rem; }
@media (max-width: 991.98px) {
  #hychem-warranty, #get-a-quote, #faq, #how-it-works, #contact { scroll-margin-top:6.5rem; }
}

/* ---------- copy variants ---------- */
.c-hychem__heading--mobile, .c-hychem__text--mobile { display:none; }

@media (max-width: 991.98px) {
  .c-hychem.py-8 { padding:3.5rem 0 !important; }
  .c-hychem::before { width:34rem; height:34rem; }
  .c-hychem .c-hychem__heading--full,
  .c-hychem .c-hychem__text--full { display:none; }
  .c-hychem .c-seo-eyebrow { margin-bottom:1.1rem !important; }
  .c-hychem .c-hychem__heading--mobile { display:block; margin-bottom:1.35rem; }
  .c-hychem .c-hychem__text--mobile {
    display:block;
    font-size:1.12rem; line-height:1.8;
    max-width:22rem;
  }
  .c-hychem .c-hychem__text--mobile strong { color:#ffffff; }
  .c-hychem__logo-card { width:152px; margin-top:2.5rem; }
  .c-hychem__logo-card::before { inset:-11%; border-radius:22px; }
  .c-hychem__logo-card img { filter:drop-shadow(0 14px 28px rgba(2,22,48,.45)); }
  .c-hychem__stats { margin:2.5rem auto 0; max-width:26rem; gap:.6rem; }
  .c-hychem__stats li { padding:1rem .55rem .95rem; }
  .c-hychem__stats strong { font-size:.88rem; line-height:1.3; }
  .c-hychem__stats strong br { display:inline; }
  .c-hychem__stats span { display:none; }
}
@media (max-width: 400px) {
  .c-hychem__stats { gap:.45rem; }
  .c-hychem__stats li { padding:.85rem .4rem .8rem; }
  .c-hychem__stats strong { font-size:.8rem; }
}

/* ===== Hero: gold "Market Leading Warranties" stamp =====
   Sits directly under the hero CTA buttons. Navy plaque so the gold seal
   reads as a stamp against the orange hero. Replaces the old
   "Hychem-backed warranties" tick in .c-hero__trust.
   ==================================================================== */
.c-hero__warranty {
  display:inline-flex;
  align-items:center;
  gap:.85rem;
  margin-top:1.5rem;
  padding:.7rem 1.35rem .7rem .8rem;
  background:linear-gradient(135deg,#1B365D 0%,#254878 100%);
  border:1px solid rgba(232,185,74,.55);
  border-radius:999px;
  box-shadow:0 10px 26px rgba(46,10,14,.26), inset 0 1px 0 rgba(255,255,255,.09);
}
.c-hero__warranty-seal {
  flex:0 0 2.85rem;
  width:2.85rem; height:2.85rem;
  display:block;
  filter:drop-shadow(0 3px 6px rgba(50,30,0,.42));
}
.c-hero__warranty-seal svg { width:100%; height:100%; display:block; }
.c-hero__warranty-copy {
  display:flex; flex-direction:column; line-height:1.2;
  padding-left:.85rem;
  border-left:1px solid rgba(232,185,74,.35);
}
.c-hero__warranty-title {
  color:#F6DC94;
  font-weight:800;
  font-size:.9375rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.c-hero__warranty-sub {
  margin-top:.16rem;
  color:rgba(255,255,255,.82);
  font-size:.8125rem;
  font-weight:500;
  letter-spacing:.01em;
}
/* Below 992px the hero CTAs stack full width (52px tall), so the stamp
   matches them: same full width, same height, same radius. */
@media (max-width: 991.98px) {
  .c-hero__warranty {
    display:flex;
    width:100%;
    min-height:52px;
    /* clear gap so it reads as reassurance, not a third CTA */
    margin-top:1.15rem;
    padding:.5rem 1.25rem .5rem 1rem;
    gap:.85rem;
    /* keep the navy plaque (translucent failed contrast on the orange hero
       at 2.15:1). Gold hairline + inset gold rule mark it as a stamp, and
       the dashed top edge separates it from the CTA stack. */
    justify-content:center;
  }
  .c-hero__warranty-seal { flex:0 0 2rem; width:2rem; height:2rem; aspect-ratio:1; align-self:center; }
  /* full-width pill, but centre the seal+copy group so there is no dead
     slab of navy on the right */
  .c-hero__warranty-copy { align-items:flex-start; padding-left:.8rem; flex:0 1 auto; }
  .c-hero__warranty-title { font-size:.8125rem; letter-spacing:.04em; }
  .c-hero__warranty-sub { font-size:.75rem; margin-top:.14rem; color:#E6EDF8; }
}
@media (max-width: 380px) {
  .c-hero__warranty { gap:.55rem; padding:.5rem .9rem; }
  .c-hero__warranty-seal { flex:0 0 1.85rem; width:1.85rem; height:1.85rem; }
  .c-hero__warranty-title { font-size:.75rem; }
  .c-hero__warranty-sub { font-size:.71875rem; }
}

/* ===== Blog teaser section (home page) ===== */
.c-blog-teaser { background: #f7f8fa; }
.c-blog-teaser__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
}
.c-blog-teaser__card {
  display: block;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.5rem;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .2s, transform .2s;
}
.c-blog-teaser__card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
  transform: translateY(-2px);
}
.c-blog-teaser__title {
  font-size: 1.05rem;
  color: #1B365D;
  margin-bottom: .75rem;
  line-height: 1.35;
  font-weight: 700;
}
.c-blog-teaser__excerpt {
  font-size: .9375rem;
  color: #718096;
  line-height: 1.6;
  margin-bottom: 1rem;
}
.c-blog-teaser__read {
  font-size: .875rem;
  color: #F26A21;
  font-weight: 600;
}
@media (max-width: 767.98px) {
  .c-blog-teaser__grid { grid-template-columns: 1fr; }
}
