@charset "UTF-8";
/* Config Styles */
/* Design Tokens */
/* Base Styles */
:root {
  --breakpoints-sm: 460px;
  --breakpoints-md: 768px;
  --breakpoints-lg: 1024px;
  --color-background: white;
  --color-text: #3C3C3C;
  --color-primary: #151A7B;
  --color-secondary: #E63B60;
  --color-tertiary: #52C5D8;
  --color-quaternary: #FFB850;
  --color-headers: #040622;
  --color-light: #E2F5F8;
  --color-gray-90: #373946;
  --color-gray-70: #565869;
  --color-gray-50: #77798a;
  --color-gray-30: #b3b4bd;
  --color-gray-10: #eeeef0;
  --color-neutral: #277da1;
  --color-negative: #f94144;
  --color-positive: #90be6d;
  --color-warning: #f5af4b;
  --color-white: #fff;
  --color-facebook: #1877f2;
  --color-twitter: #1da1f2;
  --color-instagram: #c13584;
  --color-pinterest: #e60023;
  --gradients-primary-to-tertiary: linear-gradient(to bottom right, var(--wp--preset--color--primary), var(--wp--preset--color--tertiary));
  --gradients-tertiary-to-primary: linear-gradient(to bottom right, var(--wp--preset--color--tertiary), var(--wp--preset--color--primary));
  --gradients-secondary-to-quaternary: linear-gradient(to bottom right, var(--wp--preset--color--secondary), var(--wp--preset--color--quaternary));
  --gradients-quaternary-to-secondary: linear-gradient(to bottom right, var(--wp--preset--color--quaternary), var(--wp--preset--color--secondary));
  --font-base: europa, sans-serif;
  --weight-light: 300;
  --weight-normal: 400;
  --weight-bold: 700;
  --size-xs: 0.75rem;
  --size-sm: 0.83rem;
  --size-base: 1rem;
  --size-lg: 1.2rem;
  --size-xl: 1.44rem;
  --size-2xl: 1.728rem;
  --size-3xl: 2.074rem;
  --size-4xl: 2.488rem;
  --size-5xl: 2.986rem;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-28: 7rem;
  --space-32: 8rem;
  --space-40: 10rem;
  --space-48: 12rem;
  --space-56: 14rem;
  --space-64: 16rem;
  --space-page: clamp(2rem, 1.3636rem + 5.6818vw, 5rem);
  --space-px: 0.06rem;
  --space-half: 0.125rem;
  --max-width-sm: 60ch;
  --max-width-lg: 85ch;
  --leading-none: 1;
  --leading-tight: 1.1;
  --leading-base: 1.6;
  --leading-loose: 1.9;
  --tracking-tight: -0.025em;
  --tracking-base: auto;
  --tracking-wide: 0.05em;
  --tracking-loose: 0.1em;
  --radius-base: 0.25rem;
  --radius-full: 99999px;
  --shadow-sm: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05);
  --shadow-base: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05);
  --shadow-lg: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05), 0 0.6rem 1rem rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.6rem 0.8rem rgba(0, 0, 0, 0.05), 0 0.8rem 1.2rem rgba(0, 0, 0, 0.05), 0 1rem 1.6rem rgba(0, 0, 0, 0.05);
  --shadow-2xl: 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05), 0 0.8rem 1rem rgba(0, 0, 0, 0.05), 0 1rem 1.4rem rgba(0, 0, 0, 0.05), 0 1.2rem 2rem rgba(0, 0, 0, 0.05), 0 1.4rem 2.2rem rgba(0, 0, 0, 0.05);
}

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

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

h1,
h2,
h3,
h4,
h5,
p,
li,
figcaption,
blockquote,
dl,
dd {
  letter-spacing: 0.05rem !important;
  font-weight: var(--weight-light) !important;
}

h1 {
  text-transform: uppercase;
}

h1,
h2,
h3,
h4 {
  color: var(--color-primary);
}
h1 b,
h1 strong,
h2 b,
h2 strong,
h3 b,
h3 strong,
h4 b,
h4 strong {
  font-weight: var(--weight-normal) !important;
  display: block;
}
h1.margin-bottom,
h2.margin-bottom,
h3.margin-bottom,
h4.margin-bottom {
  margin-bottom: 3rem !important;
}
h1.is-style-fancy-title,
h2.is-style-fancy-title,
h3.is-style-fancy-title,
h4.is-style-fancy-title {
  position: relative;
  padding-bottom: 2rem;
}
h1.is-style-fancy-title:after,
h2.is-style-fancy-title:after,
h3.is-style-fancy-title:after,
h4.is-style-fancy-title:after {
  content: url("../src/assets/images/dots.svg");
  position: absolute;
  display: block;
  width: 100%;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--color-background, white);
  color: var(--color-text, black);
  font-family: var(--font-base, sans-serif);
  font-size: var(--size-base);
  margin: 0;
  text-rendering: optimizeSpeed;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

p {
  line-height: var(--leading-base, 1.5);
  margin: 1rem 0;
}

a {
  color: var(--color-neutral, blue);
  position: relative;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

img {
  content-visibility: auto;
  display: block;
  height: auto;
  max-width: 100%;
}

picture {
  display: block;
}

span,
a {
  display: inline-block;
}

input,
button,
textarea,
select {
  font: inherit;
}

button {
  appearance: none;
  background-color: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
}

svg {
  fill: currentColor;
  height: 1em;
  width: 1em;
}

figcaption,
cite {
  color: var(--color-gray);
  font-size: var(--size-sm);
  text-align: center;
}

figcaption a {
  font-weight: var(--weight-bold);
}

hr {
  border-color: var(--color-gray-faded);
  border-collapse: collapse;
  display: block;
  width: 100%;
}

[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
}

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

.single-post .block-area ol,
.block-section__content ol {
  position: relative;
  line-height: var(--leading-base, 1.5);
}

.single-post .block-area ul li,
.block-section__content ul li {
  padding-left: 1rem;
  position: relative;
  line-height: var(--leading-base, 1.5);
}
.single-post .block-area ul li:before,
.block-section__content ul li:before {
  content: "• ";
  color: var(--color-primary);
  position: absolute;
  left: -0.1rem;
}
.single-post .block-area ul li:nth-child(4n+1):before,
.block-section__content ul li:nth-child(4n+1):before {
  color: var(--color-primary);
}
.single-post .block-area ul li:nth-child(4n+2):before,
.block-section__content ul li:nth-child(4n+2):before {
  color: var(--color-secondary);
}
.single-post .block-area ul li:nth-child(4n+3):before,
.block-section__content ul li:nth-child(4n+3):before {
  color: var(--color-tertiary);
}
.single-post .block-area ul li:nth-child(4n+4):before,
.block-section__content ul li:nth-child(4n+4):before {
  color: var(--color-quaternary);
}

li {
  margin: 0;
  padding: 0;
}

ul.list {
  list-style: initial;
}

ul.list li {
  margin-inline-start: var(--space-8, 2em);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.woocommerce-thankyou-order-received,
.h4,
.h5,
.h6 {
  font-weight: var(--weight-bold, 700);
  letter-spacing: var(--tracking-tight, -0.5px);
  line-height: var(--leading-tight, 1.1);
  margin: 1rem 0;
}

h1,
.h1 {
  font-size: var(--size-5xl);
}

h2,
.h2 {
  font-size: var(--size-3xl);
}

h3,
.h3,
.woocommerce-thankyou-order-received {
  font-size: var(--size-xl);
}

h4,
.h4 {
  font-size: var(--size-lg);
}

@supports (display: grid) {
  .browser-message {
    display: none;
  }
}
.skip-link {
  background: var(--skip-link-background-color, var(--color-neutral));
  color: var(--skip-link-color, white);
  left: var(--space-8);
  padding: var(--space-3) var(--space-6);
  position: absolute;
  transform: translateY(-150%);
  transition: transform 0.3s;
}

.skip-link:focus {
  box-shadow: var(--shadow-2xl);
  transform: translateY(0%);
}

/* Cookie Consent styles */
cookie-consent-banner button {
  box-shadow: var(--shadow-xl);
  color: white;
  font-weight: var(--weight-bold, 700);
}

/* Edit Page Button */
.edit-page {
  border-radius: 9999px;
  bottom: var(--space-4);
  height: var(--space-12);
  opacity: 0;
  position: fixed;
  right: var(--space-4);
  transition: opacity 150ms ease-in-out;
  width: var(--space-12);
}
.edit-page:hover {
  opacity: 1;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
.grecaptcha-badge {
  visibility: hidden;
}

/* Blocks */
.block-carousel > .carousel {
  --carousel-height: min(80vw, 36rem);
}
.block-carousel > .carousel__slide {
  background-image: var(--slide-image);
  background-size: cover;
  background-position: center;
  display: grid;
  height: var(--carousel-height);
}
.block-carousel > .carousel__overlay {
  background-color: rgba(0, 0, 0, 0.3);
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-8);
}
.block-carousel > .carousel__overlay-inner {
  max-width: 72ch;
  text-align: center;
}

.wp-block-columns.alignfull {
  padding-inline: var(--gutter);
}

.wp-block-column > * + * {
  --flow-space: var(--space-4);
  margin-block-start: var(--flow-space);
}

.block-area .wp-block-cover:first-child {
  min-height: 90vh !important;
}

.wp-block-cover,
.wp-block-cover-image {
  height: auto;
  padding-top: 10rem;
  padding-bottom: 10rem;
}
.wp-block-cover .wp-block-cover__inner-container,
.wp-block-cover-image .wp-block-cover__inner-container {
  margin-inline: auto;
  max-width: var(--container-max-width, 80rem);
  padding-inline: var(--space-page);
  width: 100%;
}
.wp-block-cover h1, .wp-block-cover h2, .wp-block-cover h3, .wp-block-cover h4, .wp-block-cover p,
.wp-block-cover-image h1,
.wp-block-cover-image h2,
.wp-block-cover-image h3,
.wp-block-cover-image h4,
.wp-block-cover-image p {
  color: white !important;
}
.wp-block-cover h1:after, .wp-block-cover h2:after, .wp-block-cover h3:after, .wp-block-cover h4:after, .wp-block-cover p:after,
.wp-block-cover-image h1:after,
.wp-block-cover-image h2:after,
.wp-block-cover-image h3:after,
.wp-block-cover-image h4:after,
.wp-block-cover-image p:after {
  filter: brightness(0) invert(1);
}
.wp-block-cover span:before, .wp-block-cover span:after,
.wp-block-cover-image span:before,
.wp-block-cover-image span:after {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 2;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  pointer-events: none;
  bottom: 0;
  background-position: bottom;
  margin-bottom: -1px;
  opacity: 0.15;
}
.wp-block-cover span.has-primary-to-tertiary-gradient-background:after, .wp-block-cover span.has-tertiary-to-primary-gradient-background:after,
.wp-block-cover-image span.has-primary-to-tertiary-gradient-background:after,
.wp-block-cover-image span.has-tertiary-to-primary-gradient-background:after {
  background-image: url("../src/assets/images/bg-wave-right-primary.svg");
}
.wp-block-cover span.has-primary-to-tertiary-gradient-background:before, .wp-block-cover span.has-tertiary-to-primary-gradient-background:before,
.wp-block-cover-image span.has-primary-to-tertiary-gradient-background:before,
.wp-block-cover-image span.has-tertiary-to-primary-gradient-background:before {
  background-image: url("../src/assets/images/bg-wave-left-tertiary.svg");
}
.wp-block-cover span.has-secondary-to-quaternary-gradient-background:after, .wp-block-cover span.has-quaternary-to-secondary-gradient-background:after,
.wp-block-cover-image span.has-secondary-to-quaternary-gradient-background:after,
.wp-block-cover-image span.has-quaternary-to-secondary-gradient-background:after {
  background-image: url("../src/assets/images/bg-wave-right-quaternary.svg");
}
.wp-block-cover span.has-secondary-to-quaternary-gradient-background:before, .wp-block-cover span.has-quaternary-to-secondary-gradient-background:before,
.wp-block-cover-image span.has-secondary-to-quaternary-gradient-background:before,
.wp-block-cover-image span.has-quaternary-to-secondary-gradient-background:before {
  background-image: url("../src/assets/images/bg-wave-left-secondary.svg");
}
.wp-block-cover.is-style-waves-bottom, .wp-block-cover.is-style-waves-top-bottom, .wp-block-cover.is-style-waves-top,
.wp-block-cover-image.is-style-waves-bottom,
.wp-block-cover-image.is-style-waves-top-bottom,
.wp-block-cover-image.is-style-waves-top {
  position: relative;
}
.wp-block-cover.is-style-waves-bottom:after, .wp-block-cover.is-style-waves-bottom:before, .wp-block-cover.is-style-waves-top-bottom:after, .wp-block-cover.is-style-waves-top-bottom:before, .wp-block-cover.is-style-waves-top:after, .wp-block-cover.is-style-waves-top:before,
.wp-block-cover-image.is-style-waves-bottom:after,
.wp-block-cover-image.is-style-waves-bottom:before,
.wp-block-cover-image.is-style-waves-top-bottom:after,
.wp-block-cover-image.is-style-waves-top-bottom:before,
.wp-block-cover-image.is-style-waves-top:after,
.wp-block-cover-image.is-style-waves-top:before {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 2;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.wp-block-cover.is-style-waves-bottom:after, .wp-block-cover.is-style-waves-top-bottom:after,
.wp-block-cover-image.is-style-waves-bottom:after,
.wp-block-cover-image.is-style-waves-top-bottom:after {
  bottom: 0;
  background-position: bottom;
  margin-bottom: -1px;
}
.wp-block-cover.is-style-waves-top-bottom:after,
.wp-block-cover-image.is-style-waves-top-bottom:after {
  background-image: url("../src/assets/images/wave-bottom-top.svg");
}
.wp-block-cover.is-style-waves-top:before, .wp-block-cover.is-style-waves-top-bottom:before,
.wp-block-cover-image.is-style-waves-top:before,
.wp-block-cover-image.is-style-waves-top-bottom:before {
  background-position: top;
  margin-top: -1px;
  top: 0;
}
.wp-block-cover.is-style-waves-bottom:after,
.wp-block-cover-image.is-style-waves-bottom:after {
  background-image: url("../src/assets/images/wave-bottom.svg");
}
.wp-block-cover.is-style-waves-top-bottom:before,
.wp-block-cover-image.is-style-waves-top-bottom:before {
  background-image: url("../src/assets/images/wave-top-bottom.svg");
}
.wp-block-cover.is-style-waves-top:before,
.wp-block-cover-image.is-style-waves-top:before {
  background-image: url("../src/assets/images/wave-top.svg");
}

.blocks-gallery-item__caption {
  border-radius: 0 0 var(--radius-base) var(--radius-base);
}

.blocks-gallery-item__caption a {
  color: var(--color-neutral-faded);
}

.wp-block-group__inner-container > * + * {
  --flow-space: var(--space-4);
  margin-block-start: var(--flow-space);
}

/**
 * Icon list, prevents icons from shrinking when the adjacent content grows
 * beyond the width of the container.
 */
.wp-block-group.icon-list > .wp-block-group > :first-child {
  flex-shrink: 0;
}

.clip-mask-svg {
  height: 1px;
  width: 1px;
  position: absolute;
  z-index: -1;
}

.wp-block-image:not(.is-style-basic) {
  position: relative;
}
.wp-block-image:not(.is-style-basic):after, .wp-block-image:not(.is-style-basic):before {
  content: "";
  position: absolute;
  display: block;
  border-top-left-radius: 260px !important;
  border-top-right-radius: 260px !important;
  border-bottom-right-radius: 280px !important;
  border-bottom-left-radius: 250px !important;
  z-index: -1;
}
.wp-block-image:not(.is-style-basic):before {
  top: -10%;
  left: 6%;
  clip-path: url(#clip-path);
  -webkit-clip-path: url(#clip-path);
  height: 122%;
  width: 80%;
  background-color: var(--color-tertiary, blue);
  transform: rotate(20deg);
  opacity: 0.15;
}
.wp-block-image:not(.is-style-basic):after {
  left: 2%;
  clip-path: url(#clip-path);
  -webkit-clip-path: url(#clip-path);
  height: 100%;
  width: 100%;
  background-color: var(--color-light, blue);
  transform: rotate(160deg) scaleY(-1);
  opacity: 0.5;
  top: 0;
}
.wp-block-image:not(.is-style-basic) img {
  clip-path: url(#clip-path);
  -webkit-clip-path: url(#clip-path);
  height: 100%;
  width: 100%;
}

.wp-block-media-text {
  gap: var(--space-6);
}

.wp-block-media-text__content > * + * {
  --flow-space: var(--space-4);
  margin-block-start: var(--flow-space);
}

.block-recent-posts {
  padding-top: 2rem;
}

.posts-radius {
  border-radius: 20px;
  overflow: hidden;
}
.posts-radius .featured-image {
  height: 250px;
  position: relative;
  overflow: hidden;
}
.posts-radius .featured-image a {
  height: 100%;
  width: 100%;
}
.posts-radius .featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.5s;
  transform: scale(1);
}
.posts-radius .featured-image:after {
  content: "";
  bottom: -1px;
  margin-right: -1px;
  margin-left: -1px;
  background-position: center bottom -1px;
  position: absolute;
  left: 0;
  z-index: 2;
  background-size: contain;
  background-repeat: no-repeat;
  width: calc(100% + 2px);
  height: 100%;
  pointer-events: none;
}
.posts-radius footer {
  padding-top: 4rem;
}
.posts-radius .post-content h3 a {
  text-decoration: none;
  color: var(--color-text);
}
.posts-radius:hover .featured-image img {
  transform: scale(1.05);
}

.post-card__tags {
  padding-bottom: var(--space-4);
}
.post-card__tags span {
  padding: var(--space-2) var(--space-4);
  background-color: var(--color-light);
  box-sizing: border-box;
  border-radius: 50px;
  color: var(--color-primary);
  font-size: var(--wp--preset--font-size--sm);
}

.posts-radius .featured-image:after {
  background-image: url("../src/assets/images/posts-wave-1.svg");
}
.posts-radius:nth-child(2n) .featured-image:after {
  background-image: url("../src/assets/images/posts-wave-2.svg");
}

.block-section__content {
  margin-inline: auto;
  max-width: var(--container-max-width, 80rem);
  padding-inline: var(--space-page);
  width: 80%;
  padding: 1rem 0;
}
.block-section__content .wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  align-items: center !important;
}

.pyt-8 {
  padding-top: 2rem;
}

.pyt-24 {
  padding-top: 6rem;
}

.pyt-32 {
  padding-top: 8rem;
}

.pyt-56 {
  padding-top: 14rem;
}

.pyb-8 {
  padding-bottom: 2rem;
}

.pyb-24 {
  padding-bottom: 6rem;
}

.pyb-32 {
  padding-bottom: 8rem;
}

.pyb-56 {
  padding-bottom: 14rem;
}

.section-background:before, .section-background:after {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 2;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-position: center bottom -1px;
  bottom: -1px;
  opacity: 0.15;
}
.section-background.from-tertiary:after, .section-background.to-tertiary:after, .section-background.from-primary:after, .section-background.to-primary:after, .section-background.bg-primary-to-tertiary:after, .section-background.bg-tertiary-to-primary:after {
  background-image: url("../src/assets/images/bg-wave-right-primary.svg");
}
.section-background.from-tertiary:before, .section-background.to-tertiary:before, .section-background.from-primary:before, .section-background.to-primary:before, .section-background.bg-primary-to-tertiary:before, .section-background.bg-tertiary-to-primary:before {
  background-image: url("../src/assets/images/bg-wave-left-tertiary.svg");
}
.section-background.from-secondary:after, .section-background.to-quaternary:after, .section-background.to-secondary:after, .section-background.from-quaternary:after, .section-background.bg-secondary-to-quaternary:after, .section-background.bg-quaternary-to-secondary:after {
  background-image: url("../src/assets/images/bg-wave-right-quaternary.svg");
}
.section-background.from-secondary:before, .section-background.to-quaternary:before, .section-background.to-secondary:before, .section-background.from-quaternary:before, .section-background.bg-secondary-to-quaternary:before, .section-background.bg-quaternary-to-secondary:before {
  background-image: url("../src/assets/images/bg-wave-left-secondary.svg");
}
.section-background.from-tertiary h1, .section-background.from-tertiary h2, .section-background.from-tertiary h3, .section-background.from-tertiary h4, .section-background.from-tertiary p, .section-background.to-tertiary h1, .section-background.to-tertiary h2, .section-background.to-tertiary h3, .section-background.to-tertiary h4, .section-background.to-tertiary p, .section-background.from-primary h1, .section-background.from-primary h2, .section-background.from-primary h3, .section-background.from-primary h4, .section-background.from-primary p, .section-background.to-primary h1, .section-background.to-primary h2, .section-background.to-primary h3, .section-background.to-primary h4, .section-background.to-primary p, .section-background.bg-primary-to-tertiary h1, .section-background.bg-primary-to-tertiary h2, .section-background.bg-primary-to-tertiary h3, .section-background.bg-primary-to-tertiary h4, .section-background.bg-primary-to-tertiary p, .section-background.bg-tertiary-to-primary h1, .section-background.bg-tertiary-to-primary h2, .section-background.bg-tertiary-to-primary h3, .section-background.bg-tertiary-to-primary h4, .section-background.bg-tertiary-to-primary p, .section-background.from-secondary h1, .section-background.from-secondary h2, .section-background.from-secondary h3, .section-background.from-secondary h4, .section-background.from-secondary p, .section-background.to-quaternary h1, .section-background.to-quaternary h2, .section-background.to-quaternary h3, .section-background.to-quaternary h4, .section-background.to-quaternary p, .section-background.to-secondary h1, .section-background.to-secondary h2, .section-background.to-secondary h3, .section-background.to-secondary h4, .section-background.to-secondary p, .section-background.from-quaternary h1, .section-background.from-quaternary h2, .section-background.from-quaternary h3, .section-background.from-quaternary h4, .section-background.from-quaternary p, .section-background.bg-secondary-to-quaternary h1, .section-background.bg-secondary-to-quaternary h2, .section-background.bg-secondary-to-quaternary h3, .section-background.bg-secondary-to-quaternary h4, .section-background.bg-secondary-to-quaternary p, .section-background.bg-quaternary-to-secondary h1, .section-background.bg-quaternary-to-secondary h2, .section-background.bg-quaternary-to-secondary h3, .section-background.bg-quaternary-to-secondary h4, .section-background.bg-quaternary-to-secondary p {
  color: white !important;
}
.section-background.from-tertiary h1:after, .section-background.from-tertiary h2:after, .section-background.from-tertiary h3:after, .section-background.from-tertiary h4:after, .section-background.from-tertiary p:after, .section-background.to-tertiary h1:after, .section-background.to-tertiary h2:after, .section-background.to-tertiary h3:after, .section-background.to-tertiary h4:after, .section-background.to-tertiary p:after, .section-background.from-primary h1:after, .section-background.from-primary h2:after, .section-background.from-primary h3:after, .section-background.from-primary h4:after, .section-background.from-primary p:after, .section-background.to-primary h1:after, .section-background.to-primary h2:after, .section-background.to-primary h3:after, .section-background.to-primary h4:after, .section-background.to-primary p:after, .section-background.bg-primary-to-tertiary h1:after, .section-background.bg-primary-to-tertiary h2:after, .section-background.bg-primary-to-tertiary h3:after, .section-background.bg-primary-to-tertiary h4:after, .section-background.bg-primary-to-tertiary p:after, .section-background.bg-tertiary-to-primary h1:after, .section-background.bg-tertiary-to-primary h2:after, .section-background.bg-tertiary-to-primary h3:after, .section-background.bg-tertiary-to-primary h4:after, .section-background.bg-tertiary-to-primary p:after, .section-background.from-secondary h1:after, .section-background.from-secondary h2:after, .section-background.from-secondary h3:after, .section-background.from-secondary h4:after, .section-background.from-secondary p:after, .section-background.to-quaternary h1:after, .section-background.to-quaternary h2:after, .section-background.to-quaternary h3:after, .section-background.to-quaternary h4:after, .section-background.to-quaternary p:after, .section-background.to-secondary h1:after, .section-background.to-secondary h2:after, .section-background.to-secondary h3:after, .section-background.to-secondary h4:after, .section-background.to-secondary p:after, .section-background.from-quaternary h1:after, .section-background.from-quaternary h2:after, .section-background.from-quaternary h3:after, .section-background.from-quaternary h4:after, .section-background.from-quaternary p:after, .section-background.bg-secondary-to-quaternary h1:after, .section-background.bg-secondary-to-quaternary h2:after, .section-background.bg-secondary-to-quaternary h3:after, .section-background.bg-secondary-to-quaternary h4:after, .section-background.bg-secondary-to-quaternary p:after, .section-background.bg-quaternary-to-secondary h1:after, .section-background.bg-quaternary-to-secondary h2:after, .section-background.bg-quaternary-to-secondary h3:after, .section-background.bg-quaternary-to-secondary h4:after, .section-background.bg-quaternary-to-secondary p:after {
  filter: brightness(0) invert(1);
}

.block-section {
  position: relative;
}
.block-section.min-width .block-section__content {
  max-width: 50rem;
}
.block-section .wp-block-cover__image-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  outline: none;
  border: none;
  box-shadow: none;
  z-index: -1;
}
.block-section .block-section__content {
  position: relative;
  z-index: 3;
}
.block-section.bg-primary-to-teritary h1, .block-section.bg-primary-to-teritary h2, .block-section.bg-primary-to-teritary h3, .block-section.bg-primary-to-teritary h4, .block-section.bg-primary-to-teritary p, .block-section.bg-tertiary-to-primary h1, .block-section.bg-tertiary-to-primary h2, .block-section.bg-tertiary-to-primary h3, .block-section.bg-tertiary-to-primary h4, .block-section.bg-tertiary-to-primary p, .block-section.bg-secondary-to-quaternary h1, .block-section.bg-secondary-to-quaternary h2, .block-section.bg-secondary-to-quaternary h3, .block-section.bg-secondary-to-quaternary h4, .block-section.bg-secondary-to-quaternary p, .block-section.bg-quaternary-to-secondary h1, .block-section.bg-quaternary-to-secondary h2, .block-section.bg-quaternary-to-secondary h3, .block-section.bg-quaternary-to-secondary h4, .block-section.bg-quaternary-to-secondary p {
  color: white !important;
}
.block-section.bg-primary-to-teritary h1:after, .block-section.bg-primary-to-teritary h2:after, .block-section.bg-primary-to-teritary h3:after, .block-section.bg-primary-to-teritary h4:after, .block-section.bg-primary-to-teritary p:after, .block-section.bg-tertiary-to-primary h1:after, .block-section.bg-tertiary-to-primary h2:after, .block-section.bg-tertiary-to-primary h3:after, .block-section.bg-tertiary-to-primary h4:after, .block-section.bg-tertiary-to-primary p:after, .block-section.bg-secondary-to-quaternary h1:after, .block-section.bg-secondary-to-quaternary h2:after, .block-section.bg-secondary-to-quaternary h3:after, .block-section.bg-secondary-to-quaternary h4:after, .block-section.bg-secondary-to-quaternary p:after, .block-section.bg-quaternary-to-secondary h1:after, .block-section.bg-quaternary-to-secondary h2:after, .block-section.bg-quaternary-to-secondary h3:after, .block-section.bg-quaternary-to-secondary h4:after, .block-section.bg-quaternary-to-secondary p:after {
  filter: brightness(0) invert(1);
}
.block-section.bg-primary-to-teritary:before, .block-section.bg-primary-to-teritary:after, .block-section.bg-tertiary-to-primary:before, .block-section.bg-tertiary-to-primary:after, .block-section.bg-secondary-to-quaternary:before, .block-section.bg-secondary-to-quaternary:after, .block-section.bg-quaternary-to-secondary:before, .block-section.bg-quaternary-to-secondary:after, .block-section.bg-light:before, .block-section.bg-light:after {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 0;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-position: center bottom -1px;
  bottom: -1px;
  opacity: 0.15;
}
.block-section.bg-primary-to-teritary:after, .block-section.bg-tertiary-to-primary:after {
  background-image: url("../src/assets/images/bg-wave-right-primary.svg");
}
.block-section.bg-primary-to-teritary:before, .block-section.bg-tertiary-to-primary:before {
  background-image: url("../src/assets/images/bg-wave-left-tertiary.svg");
}
.block-section.bg-secondary-to-quaternary:after, .block-section.bg-quaternary-to-secondary:after {
  background-image: url("../src/assets/images/bg-wave-right-quaternary.svg");
}
.block-section.bg-secondary-to-quaternary:before, .block-section.bg-quaternary-to-secondary:before {
  background-image: url("../src/assets/images/bg-wave-left-secondary.svg");
}
.block-section .block-section-waves.waves-top-waves1, .block-section .block-section-waves.waves-top-waves2, .block-section .block-section-waves.waves-top-waves3, .block-section .block-section-waves.waves-bottom-waves1, .block-section .block-section-waves.waves-bottom-waves2, .block-section .block-section-waves.waves-bottom-waves3 {
  position: relative;
}
.block-section .block-section-waves.waves-top-waves1:after, .block-section .block-section-waves.waves-top-waves1:before, .block-section .block-section-waves.waves-top-waves2:after, .block-section .block-section-waves.waves-top-waves2:before, .block-section .block-section-waves.waves-top-waves3:after, .block-section .block-section-waves.waves-top-waves3:before, .block-section .block-section-waves.waves-bottom-waves1:after, .block-section .block-section-waves.waves-bottom-waves1:before, .block-section .block-section-waves.waves-bottom-waves2:after, .block-section .block-section-waves.waves-bottom-waves2:before, .block-section .block-section-waves.waves-bottom-waves3:after, .block-section .block-section-waves.waves-bottom-waves3:before {
  position: absolute;
  left: 0;
  z-index: 2;
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.block-section .block-section-waves.waves-top-waves1:before, .block-section .block-section-waves.waves-top-waves2:before, .block-section .block-section-waves.waves-top-waves3:before {
  content: "";
  background-position: top;
  top: -1px;
}
.block-section .block-section-waves.waves-bottom-waves1:after, .block-section .block-section-waves.waves-bottom-waves2:after, .block-section .block-section-waves.waves-bottom-waves3:after {
  content: "";
  bottom: -1px;
  background-position: center bottom -1px;
}
.block-section .block-section-waves.waves-bottom-waves1.waves-bottom-color-white:after {
  background-image: url("../src/assets/images/wave-bottom.svg");
}
.block-section .block-section-waves.waves-bottom-waves1.waves-bottom-color-light:after {
  background-image: url("../src/assets/images/wave-bottom-light.svg");
}
.block-section .block-section-waves.waves-bottom-waves2.waves-bottom-color-white:after {
  background-image: url("../src/assets/images/wave-bottom-2.svg");
}
.block-section .block-section-waves.waves-bottom-waves2.waves-bottom-color-light:after {
  background-image: url("../src/assets/images/wave-bottom-2-light.svg");
}
.block-section .block-section-waves.waves-top-waves1.waves-top-color-white:before {
  background-image: url("../src/assets/images/wave-top.svg");
}
.block-section .block-section-waves.waves-top-waves1.waves-top-color-light:before {
  background-image: url("../src/assets/images/wave-top-light.svg");
}
.block-section .block-section-waves.waves-top-waves2.waves-top-color-white:before {
  background-image: url("../src/assets/images/wave-top-2.svg");
}
.block-section .block-section-waves.waves-top-waves2.waves-top-color-light:before {
  background-image: url("../src/assets/images/wave-top-2-light.svg");
}
.block-section .block-section-waves.waves-top-waves3.waves-top-color-white:before {
  background-image: url("../src/assets/images/wave-top-3.svg");
}
.block-section .block-section-waves.waves-top-waves3.waves-top-color-light:before {
  background-image: url("../src/assets/images/wave-top-3-light.svg");
}

.faded-bg {
  position: relative;
  margin-top: 2.6rem !important;
}
.faded-bg:after, .faded-bg:before {
  content: "";
  position: absolute;
  display: block;
  top: 1%;
  border-top-left-radius: 160px !important;
  border-top-right-radius: 160px !important;
  border-bottom-right-radius: 180px !important;
  z-index: -1;
}
.faded-bg:before {
  left: 1%;
  clip-path: url(#clip-path);
  -webkit-clip-path: url(#clip-path);
  height: 95%;
  width: 98%;
  background-color: var(--color-tertiary, blue);
  transform: rotate(20deg);
  opacity: 0.1;
}
.faded-bg:after {
  left: 1%;
  clip-path: url(#clip-path);
  -webkit-clip-path: url(#clip-path);
  height: 95%;
  width: 98%;
  background-color: var(--color-light, blue);
  transform: rotate(160deg);
  opacity: 0.4;
}

.block-services {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 6px 6px 15px 0 rgba(0, 0, 0, 0.15);
}
.block-services a {
  position: relative;
  display: block;
  height: 280px;
  overflow: hidden;
}
.block-services a:hover img {
  transform: scale(1.05);
}
.block-services a img {
  transform: scale(1);
  height: 100%;
  width: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.5s;
}
.block-services a .wave-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
}
.block-services a .wave-overlay span {
  color: white;
  font-size: var(--size-base);
  font-weight: var(--weight-light);
  padding: 1em 0.5em;
  box-sizing: border-box;
}
@media (min-width: 900px) {
  .block-services a .wave-overlay span {
    font-size: var(--size-lg);
  }
}

.wp-block-table {
  box-shadow: 6px 6px 15px 0 rgba(0, 0, 0, 0.15);
  border-radius: 20px;
  margin-top: 2rem;
  margin-bottom: 2rem;
  background-color: white;
}
.wp-block-table tbody tr th, .wp-block-table tbody tr td,
.wp-block-table thead tr th,
.wp-block-table thead tr td {
  padding: 1rem;
  box-sizing: border-box;
}
.wp-block-table thead {
  background-color: var(--color-tertiary);
  color: white;
}
.wp-block-table tbody tr:nth-child(even) {
  background-color: rgba(226, 245, 248, 0.5);
}

input[type=file] {
  border: 1px solid var(--color-gray-30);
  border-radius: var(--radius-base);
  display: block;
  padding: var(--space-3);
  width: 100%;
}

::file-selector-button {
  background-color: var(--color-secondary);
  border: 0;
  border-radius: var(--radius-base);
  color: white;
  cursor: pointer;
  font-size: var(--size-sm);
  padding: var(--space-1) var(--space-3);
}

.lead-form {
  background-color: var(--color-light);
  border-radius: var(--radius-base);
  box-shadow: var(--shadow-2xl);
  padding: var(--space-8);
}
.lead-form textarea {
  border: 0 !important;
  padding: var(--space-4) var(--space-6) !important;
}
.lead-form textarea::placeholder {
  color: var(--color-gray-70);
  opacity: 1;
}
@media (min-width: 960px) {
  .lead-form {
    padding: var(--space-12) var(--space-16);
  }
}

.floating-label {
  --padding: var(--space-4) var(--space-6);
  position: relative;
}
.floating-label label {
  color: var(--color-gray-70);
  font-weight: 400;
  padding: var(--padding);
  position: absolute;
  pointer-events: none;
  top: 0;
  left: 0;
  transition: scale 250ms ease-in-out, translate 250ms ease-in-out;
  transform-origin: top left;
}
.floating-label input {
  border: 0 !important;
  padding: var(--padding) !important;
}
.floating-label:focus-within label, .floating-label.has-value label {
  scale: 0.7;
  translate: 0.45rem -0.35rem;
  transition: scale 250ms ease-in-out, translate 250ms ease-in-out;
}

/* Layout styling for when the form is inside a section */
.block-section .wp-block-columns.home-cta :first-child {
  order: 2;
}
.block-section .wp-block-columns.home-cta :last-child {
  order: 1;
}
.block-section .wp-block-columns.home-cta .lead-form {
  margin-block-start: -10rem;
}
@media (min-width: 768px) {
  .block-section .wp-block-columns.home-cta :first-child {
    order: 1;
  }
  .block-section .wp-block-columns.home-cta :last-child {
    order: 2;
  }
}

/* Error styling */
.form__error {
  color: var(--color-negative);
  font-size: var(--size-sm);
}

.field--subject {
  display: none;
}

.reviews {
  column-count: 1;
}
.reviews .block-services {
  margin-bottom: var(--space-6);
}
@media (min-width: 768px) {
  .reviews {
    column-count: 2;
  }
}
@media (min-width: 1040px) {
  .reviews {
    column-count: 3;
  }
}

.block-section__content {
  margin-inline: auto;
  word-break: break-word;
}

.section-background.from-tertiary.to-primary a,
.section-background.from-primary.to-tertiary a {
  color: white;
}

/* Components */
.alert, .woocommerce-info {
  --alert-padding: var(--space-3) var(--space-6);
  background-color: var(--alert-color);
  padding: var(--alert-padding);
  text-align: center;
}

.block-area,
.block-editor-block-list__layout:not(.is-layout-flex) {
  --flow-space: var(--space-4);
  /**
   * Add some margin if a heading is scrolled to via a link
   */
  /**
   * Manage space between "normal" text-type blocks
   * These blocks don't live inside a container
   */
  /**
   * Sort out spacing above headings when they appear after
   * another block of any type
   */
  /**
   * If a text-type block appears before a rich-type block,
   * let's add some space above the following block
   */
  /**
   * If a text-type block is the first one on the page,
   * let's add some spacing above so it doesn't get too
   * snuggly with the header area 🥴
   */
  /**
   * If the last block is a text-type block, let's prevent
   * snuggling with the footer 🥴
   */
}
.block-area > *,
.block-editor-block-list__layout:not(.is-layout-flex) > * {
  margin-inline: auto;
}
.block-area > .alignwide,
.block-area [data-align=wide],
.block-editor-block-list__layout:not(.is-layout-flex) > .alignwide,
.block-editor-block-list__layout:not(.is-layout-flex) [data-align=wide] {
  max-width: calc(var(--container-max-width) + 4rem);
}
.block-area > .alignfull,
.block-area [data-align=full],
.block-editor-block-list__layout:not(.is-layout-flex) > .alignfull,
.block-editor-block-list__layout:not(.is-layout-flex) [data-align=full] {
  margin-inline: initial;
}
.block-area > :is(h1, h2, h3, h4, h5, h6),
.block-editor-block-list__layout:not(.is-layout-flex) > :is(h1, h2, h3, h4, h5, h6) {
  scroll-margin-block-start: var(--space-20);
}
.block-area > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, a, .block-type-content),
.block-editor-block-list__layout:not(.is-layout-flex) > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, a, .block-type-content) {
  max-width: 45rem;
}
.block-area > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, a, .block-type-content) + *,
.block-editor-block-list__layout:not(.is-layout-flex) > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, a, .block-type-content) + * {
  margin-block-start: var(--flow-space);
}
.block-area > * + :is(h1, h2, h3, h4, h5, h6),
.block-editor-block-list__layout:not(.is-layout-flex) > * + :is(h1, h2, h3, h4, h5, h6) {
  margin-block-start: var(--space-page);
}
.block-area > :is(h1, h2, h3, h4, h5, h6, p, ul, ol, a, .block-type-content) + [class*=block-]:not(.block-type-content),
.block-editor-block-list__layout:not(.is-layout-flex) > :is(h1, h2, h3, h4, h5, h6, p, ul, ol, a, .block-type-content) + [class*=block-]:not(.block-type-content) {
  margin-block-start: var(--space-page);
}
.block-area > [class*=block-] + :is(h1, h2, h3, h4, h5, h6, p, ul, ol, .block-type-content),
.block-editor-block-list__layout:not(.is-layout-flex) > [class*=block-] + :is(h1, h2, h3, h4, h5, h6, p, ul, ol, .block-type-content) {
  margin-block-start: var(--space-page);
}
.block-area > :last-child:is(h1, h2, h3, h4, h5, h6, p, ul, ol, a, .block-type-content),
.block-area > .space-if-last,
.block-editor-block-list__layout:not(.is-layout-flex) > :last-child:is(h1, h2, h3, h4, h5, h6, p, ul, ol, a, .block-type-content),
.block-editor-block-list__layout:not(.is-layout-flex) > .space-if-last {
  margin-block-end: var(--space-page);
}

/**
 * Bubble
 *
 * A little circle, like those notification bubbles you get in
 * many apps. It's designed to be positioned over other elements,
 * but the actual placement is up to you.
 */
.bubble {
  align-items: center;
  background-color: var(--bubble-background-color, var(--color-negative));
  border-radius: 9999px;
  box-shadow: var(--bubble-shadow, var(--shadow-lg));
  color: var(--bubble-color, white);
  display: flex;
  font-size: var(--size-xs);
  font-weight: var(--weight-bold);
  height: var(--bubble-size, var(--size-lg));
  justify-content: center;
  line-height: 1;
  text-align: center;
  width: var(--bubble-size, var(--size-lg));
}

.button {
  --button-color: white!important;
  --button-border: 2px solid var(--button-color);
  --button-background-color: transparent;
  --button-padding: var(--space-4) var(--space-12);
  --button-radius: 50px;
  align-items: center;
  appearance: none;
  background-color: var(--button-background-color);
  border-radius: var(--button-radius, var(--radius-base));
  box-shadow: 6px 6px 15px 0 rgba(0, 0, 0, 0.15);
  color: var(--button-color);
  display: inline-block;
  font-size: var(--button-font-size, inherit);
  gap: var(--space-2);
  justify-content: center;
  min-width: var(--button-min-width, 5rem);
  padding: var(--button-padding);
  text-align: center;
  text-decoration: none;
  width: max-content;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  transition: all 0.5s;
  z-index: 1;
  font-weight: var(--weight-light);
}

.button--sm, .woocommerce-message .button {
  --button-padding: var(--space-2) var(--space-10);
}

.button--lg {
  --button-padding: var(--space-3) var(--space-20);
  --button-font-size: var(--size-lg);
}

.button--primary span {
  background-color: var(--color-tertiary);
}

.button--secondary span {
  background-color: var(--color-quaternary);
}

.button--primary span,
.button--secondary span {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 50%;
  transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
  transform: translate(-50%, -50%);
  z-index: -1;
  top: 0;
  left: 0;
}

.button--primary:hover,
.button--secondary:hover {
  background-color: rgba(255, 255, 255, 0);
}
.button--primary:hover span,
.button--secondary:hover span {
  width: 225%;
  height: 562.5px;
}

.block-button.left {
  text-align: left;
}
.block-button.center {
  text-align: center;
}
.block-button.right {
  text-align: right;
}

.button--background,
.button.is-style-background {
  --button-background-color: white;
  --button-color: var(--color, black);
}

.button--text,
.button.is-style-text {
  --button-background-color: #3C3C3C;
  --button-color: var(--color, white);
}

.button--primary,
.button.is-style-primary {
  --button-background-color: #151A7B;
  --button-color: var(--color, white);
}

.button--secondary,
.button.is-style-secondary {
  --button-background-color: #E63B60;
  --button-color: var(--color, black);
}

.button--tertiary,
.button.is-style-tertiary {
  --button-background-color: #52C5D8;
  --button-color: var(--color, black);
}

.button--quaternary,
.button.is-style-quaternary {
  --button-background-color: #FFB850;
  --button-color: var(--color, black);
}

.button--headers,
.button.is-style-headers {
  --button-background-color: #040622;
  --button-color: var(--color, white);
}

.button--light,
.button.is-style-light {
  --button-background-color: #E2F5F8;
  --button-color: var(--color, black);
}

.button--gray-90,
.button.is-style-gray-90 {
  --button-background-color: #373946;
  --button-color: var(--color, white);
}

.button--gray-70,
.button.is-style-gray-70 {
  --button-background-color: #565869;
  --button-color: var(--color, white);
}

.button--gray-50,
.button.is-style-gray-50 {
  --button-background-color: #77798a;
  --button-color: var(--color, black);
}

.button--gray-30,
.button.is-style-gray-30 {
  --button-background-color: #b3b4bd;
  --button-color: var(--color, black);
}

.button--gray-10,
.button.is-style-gray-10 {
  --button-background-color: #eeeef0;
  --button-color: var(--color, black);
}

.button--neutral,
.button.is-style-neutral {
  --button-background-color: #277da1;
  --button-color: var(--color, white);
}

.button--negative,
.button.is-style-negative {
  --button-background-color: #f94144;
  --button-color: var(--color, black);
}

.button--positive,
.button.is-style-positive {
  --button-background-color: #90be6d;
  --button-color: var(--color, black);
}

.button--warning,
.button.is-style-warning {
  --button-background-color: #f5af4b;
  --button-color: var(--color, black);
}

.button--white,
.button.is-style-white {
  --button-background-color: #fff;
  --button-color: var(--color, black);
}

.button--facebook,
.button.is-style-facebook {
  --button-background-color: #1877f2;
  --button-color: var(--color, black);
}

.button--twitter,
.button.is-style-twitter {
  --button-background-color: #1da1f2;
  --button-color: var(--color, black);
}

.button--instagram,
.button.is-style-instagram {
  --button-background-color: #c13584;
  --button-color: var(--color, white);
}

.button--pinterest,
.button.is-style-pinterest {
  --button-background-color: #e60023;
  --button-color: var(--color, white);
}

.footer {
  background-color: var(--color-headers);
  text-align: center;
  font-size: var(--wp--preset--font-size--sm);
}
.footer li, .footer p, .footer a {
  color: white;
}
.footer .designed-by {
  width: 100%;
  display: block;
}
.footer .designed-by img {
  display: inline-block;
  vertical-align: middle;
}
.footer .designed-by a {
  text-decoration: none;
}
.footer .footer-dots {
  margin: 1.5rem auto;
}
.footer ul {
  padding-top: var(--space-6);
  list-style: none;
  padding: 0;
}
.footer ul li {
  display: inline-block;
  padding: 0;
}
.footer ul li:before {
  display: none;
}
.footer ul li a {
  text-transform: uppercase;
  text-decoration: none;
  padding: 0 var(--space-2);
}

form {
  accent-color: var(--accent-color, var(--color-primary, inherit));
}

label {
  display: block;
  font-size: inherit;
  font-weight: var(--weight-bold, 700);
  line-height: var(--leading-none, 1);
}

input[type=text],
input[type=password],
input[type=tel],
input[type=email],
input[type=number],
input[type=datetime-local],
input[type=date],
select,
textarea {
  appearance: none;
  background-color: white;
  border: 0.06rem solid var(--color-gray-30, #ddd);
  border-radius: var(--radius-base, 4px);
  color: var(--color-primary, #111);
  display: block;
  font-family: inherit;
  font-size: inherit;
  padding: var(--space-2, 8px) var(--space-3, 12px);
  width: 100%;
}

input[type=text][data-state=invalid],
input[type=password][data-state=invalid],
input[type=tel][data-state=invalid],
input[type=email][data-state=invalid],
input[type=number][data-state=invalid],
input[type=datetime-local][data-state=invalid],
input[type=date][data-state=invalid],
select[data-state=invalid],
textarea[data-state=invalid] {
  border-color: var(--color-negative, red);
}

input[type=text]:focus,
input[type=password]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=datetime-local]:focus,
input[type=date]:focus,
select:focus,
textarea:focus {
  border-color: var(--color-neutral, blue);
  box-shadow: 0 0 0 4px var(--color-neutral-light, #eee);
  outline: 0;
}

.forminator-field input, .forminator-field textarea {
  background-color: var(--color-gray-10, gray) !important;
  border: 0 !important;
}
.forminator-field input:focus, .forminator-field input:hover, .forminator-field textarea:focus, .forminator-field textarea:hover {
  border: 0 !important;
}

.forminator-button {
  --button-color: white!important;
  --button-border: 2px solid var(--button-color)!important;
  --button-background-color: var(--color-primary)!important;
  --button-padding: var(--space-4) var(--space-12)!important;
  --button-radius: 50px!important;
  align-items: center !important;
  appearance: none !important;
  background-color: var(--button-background-color) !important;
  border-radius: var(--button-radius, var(--radius-base)) !important;
  box-shadow: 6px 6px 15px 0 rgba(0, 0, 0, 0.15) !important;
  color: var(--button-color) !important;
  display: inline-block !important;
  font-size: var(--button-font-size, inherit) !important;
  gap: var(--space-2) !important;
  justify-content: center !important;
  min-width: var(--button-min-width, 5rem) !important;
  padding: var(--button-padding) !important;
  text-align: center !important;
  text-decoration: none !important;
  width: max-content !important;
  text-transform: uppercase !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.5s !important;
  z-index: 1 !important;
  font-weight: var(--weight-light) !important;
}
.forminator-button span {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 50%;
  transition: width 1s ease-in-out, height 1s ease-in-out;
  transform: translate(-50%, -50%);
  z-index: -1;
  top: 0;
  left: 0;
  background-color: var(--color-tertiary);
}
.forminator-button:hover {
  background-color: rgba(255, 255, 255, 0) !important;
}
.forminator-button:hover span {
  width: 225%;
  height: 562.5px;
}

.forminator-row-last {
  text-align: center;
}

.logo-container {
  width: calc(100% - 40px);
}
.logo-container img {
  transition: all 0.5s;
}
@media (min-width: 900px) {
  .logo-container {
    width: auto;
  }
}

.site-header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
  transition: all 0.5s;
}
.site-header .container {
  max-width: var(--container-max-width, 80rem);
  padding-inline: var(--space-page);
  width: 80%;
  padding: 1rem 0;
  position: relative;
}
.site-header.scroll {
  background-color: var(--color-headers);
}
.site-header.scroll .desktop-menu__phone {
  opacity: 0;
  height: 0px;
  overflow: hidden;
}

.page-template-page_no-hero .site-header,
.error404 .site-header {
  position: sticky;
  background-color: var(--color-headers);
}

.desktop-menu__phone {
  display: none;
  opacity: 1;
  height: 40px;
  width: 100%;
  overflow: hidden;
  transition: all 0.5s;
}
@media (min-width: 900px) {
  .desktop-menu__phone {
    display: block;
    text-align: right;
  }
  .desktop-menu__phone p, .desktop-menu__phone a {
    color: white;
  }
  .desktop-menu__phone a {
    text-decoration: none;
    font-weight: var(--weight-normal);
  }
  .desktop-menu__phone p {
    font-size: var(--size-xl);
    margin-bottom: 0.5rem;
    margin-top: 0;
  }
  .desktop-menu__phone svg {
    vertical-align: middle;
  }
}

.menu {
  display: none;
}
.menu a {
  color: var(--color-white);
  text-decoration: none;
  text-transform: uppercase;
}
.menu a:hover {
  --menu-link-color: var(--menu-link-color-hover, var(--color-gray-90));
}
.menu .menu__dropdown {
  background-color: var(--menu-dropdown-background-color, white);
  box-shadow: var(--menu-dropdown-shadow, var(--shadow-xl));
  left: calc(var(--menu-dropdown-h-offset, var(--space-2)) * -1);
  min-width: var(--menu-dropdown-min-width, 10rem);
  padding: var(--menu-dropdown-padding, var(--space-4) var(--space-6));
  position: absolute;
  top: var(--menu-dropdown-v-offset, var(--space-8));
}
@media (min-width: 900px) {
  .menu .menu__dropdown {
    right: 10% !important;
    left: 10% !important;
    width: 80% !important;
    padding: 1rem 0 !important;
    top: 97px !important;
    margin-inline: auto !important;
    max-width: var(--container-max-width, 80rem) !important;
    padding-inline: 1em !important;
    margin: 0 auto !important;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    box-sizing: border-box;
    transition: all 0.5s;
  }
  .menu .menu__dropdown li {
    flex-basis: 33.333333%;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: break-word;
    flex-grow: 0;
    padding: 1em 2em;
    box-sizing: border-box;
    transition: all 0.5s;
    margin: 0 !important;
    min-height: 110px;
  }
  .menu .menu__dropdown li:hover {
    background-color: var(--color-gray-10);
  }
  .menu .menu__dropdown li a {
    width: 100%;
    text-transform: inherit;
    font-size: 0.875em;
  }
  .menu .menu__dropdown li a span {
    text-transform: uppercase;
    display: block;
    font-size: 1.1em;
    padding-bottom: 0.5em;
    font-weight: var(--weight-bold);
  }
  .menu .menu__dropdown li a img {
    width: 80px;
    height: 80px;
    border-radius: 10px;
  }
  .menu .menu__dropdown a {
    color: var(--color-text) !important;
  }
}
@media (min-width: 900px) {
  .menu {
    display: block;
  }
}

@media (min-width: 900px) {
  .site-header.scroll .menu .menu__dropdown {
    top: 67px !important;
  }
}

.hamburger {
  --bar-color: var(--color-background, white);
  position: relative;
  z-index: 9;
}
@media (min-width: 900px) {
  .hamburger {
    display: none;
  }
}

.hamburger .bar {
  background-color: var(--bar-color);
  display: block;
  height: 3px;
  margin: 6px 0;
  transition: 0.4s;
  width: 35px;
}

.hamburger[data-state=open] .bar:nth-child(1) {
  transform: rotate(-45deg) translate(-4px, 6px);
}

.hamburger[data-state=open] .bar:nth-child(2) {
  opacity: 0;
}

.hamburger[data-state=open] .bar:nth-child(3) {
  transform: rotate(45deg) translate(-8px, -8px);
}

.mobile-menu {
  box-shadow: var(--shadow-2xl);
  display: flex;
  flex-direction: column;
  height: 100vh;
  left: 0;
  padding: 2em 0 6em;
  position: fixed;
  top: 0;
  transform: translateX(-100vw);
  transition: transform 500ms ease-in-out;
  width: var(--space-64, 320px);
  will-change: transform;
  z-index: 10;
  overflow-Y: scroll;
  text-align: center;
}
.mobile-menu ul {
  font-size: var(--size-md, 1em);
}
.mobile-menu ul li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.025);
}
.mobile-menu ul li:last-child {
  border-bottom: 0;
}
.mobile-menu ul li ul {
  font-size: var(--size-sm, 0.875em);
}
.mobile-menu ul li ul li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.025);
}
.mobile-menu ul li ul li:last-child {
  border-bottom: 0;
}
.mobile-menu a {
  color: var(--color-background, var(--color-gray-10));
  display: block;
  font-weight: var(--weight-bold, 700);
  padding: var(--space-4, 16px) var(--space-8, 32px);
  text-decoration: none;
  text-transform: uppercase;
}
.mobile-menu .mobile-menu__dropdown a {
  font-weight: var(--weight-normal, 400);
}
.mobile-menu .mobile-menu__phone {
  margin-block-start: auto;
  padding: var(--space-4, 16px) var(--space-8, 32px);
}
.mobile-menu .mobile-menu__phone a {
  color: var(--color-text, black);
  font-size: var(--size-xl, 1.4em);
  font-weight: var(--weight-bold, 700);
  letter-spacing: var(--tracking-tight, -0.5px);
  padding: 0;
}
.mobile-menu[data-state=open] {
  transform: translateX(0);
  transition: transform 250ms ease-in-out;
}
@media (min-width: 900px) {
  .mobile-menu {
    display: none;
  }
}

/* Vendor */
/* Overrides */
.woocommerce:not(body) {
  display: grid;
  gap: var(--space-8);
}

#order_review_heading {
  margin-block-start: var(--space-20);
}

.shop_table {
  border: 1px solid var(--color-gray-10);
  border-radius: var(--radius-base);
  padding: var(--space-3);
  margin-block-start: var(--space-4);
  width: 100%;
}
.shop_table th {
  text-align: left;
}
.shop_table td,
.shop_table th {
  padding: var(--space-1);
}
.shop_table tfoot th {
  padding-inline-end: var(--space-2);
  text-align: end;
}

/**
 * Single Product
 */
.single-product__summary .price {
  font-size: var(--size-2xl);
  font-weight: var(--weight-bold);
}

.single-product__summary .variations_form.cart {
  display: block;
}

/**
 * Messages & Alerts
 */
.woocommerce-notices-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  padding: var(--space-4);
  z-index: 500;
}

.woocommerce-message {
  background-color: var(--color-white);
  color: var(--color-positive);
  padding: var(--space-3) var(--space-6);
  box-shadow: var(--shadow-lg);
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.woocommerce-message .button {
  order: 2;
}

/**
 * My Account
 */
.woocommerce-MyAccount-navigation {
  display: flex;
  justify-content: center;
  margin-block-start: var(--space-4);
}
.woocommerce-MyAccount-navigation ul > * + * {
  margin-block-start: var(--space-2);
}
.woocommerce-MyAccount-navigation a {
  border: 1px solid var(--color-gray-10);
  display: block;
  padding: var(--space-3);
}
.woocommerce-MyAccount-navigation a:hover {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
}
.woocommerce-MyAccount-navigation .is-active a {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
  font-weight: var(--weight-bold);
}
@media (min-width: 640px) {
  .woocommerce-MyAccount-navigation ul {
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
  }
  .woocommerce-MyAccount-navigation ul > * + * {
    margin-block-start: 0;
  }
}

/**
 * Order Summary
 */
.woocommerce-order {
  margin-block-start: var(--space-10);
}
.woocommerce-order > * + * {
  margin-block-start: var(--space-8);
}

/**
 * Thank You for your Order
 */
.woocommerce-thankyou-order-received {
  color: var(--color-brand);
  text-align: center;
}

@media (min-width: 768px) {
  .woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
    text-align: center;
  }
  .woocommerce-order-overview strong {
    display: block;
    font-size: var(--size-lg);
  }

  .woocommerce-columns--addresses {
    grid-template-columns: 1fr 1fr;
  }
  .woocommerce-columns--addresses .woocommerce-column__title {
    font-size: var(--size-base);
  }
}
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
  margin-block-start: var(--space-2);
}

/**
 * Account
 */
.woocommerce-MyAccount-content {
  max-width: 48rem;
  margin: 0 auto;
}

.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper {
  margin-block-start: var(--space-6);
}

.woocommerce-MyAccount-content > * + *,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > * + *,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm > * + * {
  margin-block-start: var(--space-4);
}

.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper p > * + *,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm p > * + * {
  margin-block-start: var(--space-1);
}

.woocommerce-Giftcards .woocommerce-Price-amount {
  color: var(--color-brand);
}

/** Sale Item - Original Price **/
del span {
  text-decoration: line-through;
}

span.onsale {
  background-color: var(--color-secondary);
  font-size: var(--size-sm);
  letter-spacing: var(--tracking-wide);
  padding: var(--space-1) var(--space-3);
  text-transform: uppercase;
}

.c-quantity {
  --c-quantity-color: var(--color-gray-10);
  --c-quantity-color-hover: var(--color-secondary);
}

.c-quantity__controls {
  display: grid;
  grid-template-columns: 40px 5ch 40px;
}

.c-quantity__label {
  display: block;
  text-transform: uppercase;
}

.c-quantity button {
  border: 1px solid var(--c-quantity-color);
  border-radius: 0;
  background-color: var(--c-quantity-color);
  cursor: pointer;
  display: flex;
  font-family: inherit;
  line-height: 1;
  padding: var(--space-3);
  min-width: 3ch;
}

.c-quantity button:hover {
  background-color: var(--c-quantity-color-hover);
  border-color: var(--c-quantity-color-hover);
  color: black;
}

.c-quantity input {
  appearance: none;
  border-radius: 0;
  padding-left: 3px;
  padding-right: 3px;
  text-align: center;
  width: 3ch;
}

/**
 * WooCommerce uses the .product class on a few components.
 * This component is just for single product pages
 */
.block-area > .product {
  display: grid;
  gap: var(--gap, var(--space-8));
  grid-column: 3/span 3;
}
.block-area > .product .summary > * + * {
  margin-block-start: var(--flow-space, var(--space-1));
}
@media (min-width: 768px) {
  .block-area > .product {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Utilities */
/**
 * Alignment Utilities
 *
 * These utilities are meant to be used with Grid or Flex properties
 */
.items-start {
  align-items: start;
}

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

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

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

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

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

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

[class^=bg-] {
  background-image: var(--image);
}

.bg-cover {
  background-position: center;
  background-size: cover;
}

.radius-base {
  border-radius: 0.25rem;
}

.radius-full {
  border-radius: 99999px;
}

.cluster, .single-product__summary .cart,
.single_variation_wrap > .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gap, var(--space-2));
}

/**
    * Set the default justify-content with a :where for low specificity
    * so we can override it easily with our alignment utilities.
    */
:where(.cluster) {
  justify-content: start;
}

.bg-primary-to-tertiary,
.has-primary-to-tertiary-background-color {
  background: linear-gradient(to bottom right, var(--wp--preset--color--primary), var(--wp--preset--color--tertiary));
}

.bg-tertiary-to-primary,
.has-tertiary-to-primary-background-color {
  background: linear-gradient(to bottom right, var(--wp--preset--color--tertiary), var(--wp--preset--color--primary));
}

.bg-secondary-to-quaternary,
.has-secondary-to-quaternary-background-color {
  background: linear-gradient(to bottom right, var(--wp--preset--color--secondary), var(--wp--preset--color--quaternary));
}

.bg-quaternary-to-secondary,
.has-quaternary-to-secondary-background-color {
  background: linear-gradient(to bottom right, var(--wp--preset--color--quaternary), var(--wp--preset--color--secondary));
}

.c-background,
.has-background-color {
  --color-opacity: 1;
  color: rgba(255, 255, 255, var(--color-opacity));
}

.bg-background,
.has-background-background-color {
  --bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--bg-opacity));
}

.c-text,
.has-text-color {
  --color-opacity: 1;
  color: rgba(60, 60, 60, var(--color-opacity));
}

.bg-text,
.has-text-background-color {
  --bg-opacity: 1;
  background-color: rgba(60, 60, 60, var(--bg-opacity));
}

.c-primary,
.has-primary-color {
  --color-opacity: 1;
  color: rgba(21, 26, 123, var(--color-opacity));
}

.bg-primary,
.has-primary-background-color {
  --bg-opacity: 1;
  background-color: rgba(21, 26, 123, var(--bg-opacity));
}

.c-secondary,
.has-secondary-color {
  --color-opacity: 1;
  color: rgba(230, 59, 96, var(--color-opacity));
}

.bg-secondary,
.has-secondary-background-color {
  --bg-opacity: 1;
  background-color: rgba(230, 59, 96, var(--bg-opacity));
}

.c-tertiary,
.has-tertiary-color {
  --color-opacity: 1;
  color: rgba(82, 197, 216, var(--color-opacity));
}

.bg-tertiary,
.has-tertiary-background-color {
  --bg-opacity: 1;
  background-color: rgba(82, 197, 216, var(--bg-opacity));
}

.c-quaternary,
.has-quaternary-color {
  --color-opacity: 1;
  color: rgba(255, 184, 80, var(--color-opacity));
}

.bg-quaternary,
.has-quaternary-background-color {
  --bg-opacity: 1;
  background-color: rgba(255, 184, 80, var(--bg-opacity));
}

.c-headers,
.has-headers-color {
  --color-opacity: 1;
  color: rgba(4, 6, 34, var(--color-opacity));
}

.bg-headers,
.has-headers-background-color {
  --bg-opacity: 1;
  background-color: rgba(4, 6, 34, var(--bg-opacity));
}

.c-light,
.has-light-color {
  --color-opacity: 1;
  color: rgba(226, 245, 248, var(--color-opacity));
}

.bg-light,
.has-light-background-color {
  --bg-opacity: 1;
  background-color: rgba(226, 245, 248, var(--bg-opacity));
}

.c-gray-90,
.has-gray-90-color {
  --color-opacity: 1;
  color: rgba(55, 57, 70, var(--color-opacity));
}

.bg-gray-90,
.has-gray-90-background-color {
  --bg-opacity: 1;
  background-color: rgba(55, 57, 70, var(--bg-opacity));
}

.c-gray-70,
.has-gray-70-color {
  --color-opacity: 1;
  color: rgba(86, 88, 105, var(--color-opacity));
}

.bg-gray-70,
.has-gray-70-background-color {
  --bg-opacity: 1;
  background-color: rgba(86, 88, 105, var(--bg-opacity));
}

.c-gray-50,
.has-gray-50-color {
  --color-opacity: 1;
  color: rgba(119, 121, 138, var(--color-opacity));
}

.bg-gray-50,
.has-gray-50-background-color {
  --bg-opacity: 1;
  background-color: rgba(119, 121, 138, var(--bg-opacity));
}

.c-gray-30,
.has-gray-30-color {
  --color-opacity: 1;
  color: rgba(179, 180, 189, var(--color-opacity));
}

.bg-gray-30,
.has-gray-30-background-color {
  --bg-opacity: 1;
  background-color: rgba(179, 180, 189, var(--bg-opacity));
}

.c-gray-10,
.has-gray-10-color {
  --color-opacity: 1;
  color: rgba(238, 238, 240, var(--color-opacity));
}

.bg-gray-10,
.has-gray-10-background-color {
  --bg-opacity: 1;
  background-color: rgba(238, 238, 240, var(--bg-opacity));
}

.c-neutral,
.has-neutral-color {
  --color-opacity: 1;
  color: rgba(39, 125, 161, var(--color-opacity));
}

.bg-neutral,
.has-neutral-background-color {
  --bg-opacity: 1;
  background-color: rgba(39, 125, 161, var(--bg-opacity));
}

.c-negative,
.has-negative-color {
  --color-opacity: 1;
  color: rgba(249, 65, 68, var(--color-opacity));
}

.bg-negative,
.has-negative-background-color {
  --bg-opacity: 1;
  background-color: rgba(249, 65, 68, var(--bg-opacity));
}

.c-positive,
.has-positive-color {
  --color-opacity: 1;
  color: rgba(144, 190, 109, var(--color-opacity));
}

.bg-positive,
.has-positive-background-color {
  --bg-opacity: 1;
  background-color: rgba(144, 190, 109, var(--bg-opacity));
}

.c-warning,
.has-warning-color {
  --color-opacity: 1;
  color: rgba(245, 175, 75, var(--color-opacity));
}

.bg-warning,
.has-warning-background-color {
  --bg-opacity: 1;
  background-color: rgba(245, 175, 75, var(--bg-opacity));
}

.c-white,
.has-white-color {
  --color-opacity: 1;
  color: rgba(255, 255, 255, var(--color-opacity));
}

.bg-white,
.has-white-background-color {
  --bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--bg-opacity));
}

.c-facebook,
.has-facebook-color {
  --color-opacity: 1;
  color: rgba(24, 119, 242, var(--color-opacity));
}

.bg-facebook,
.has-facebook-background-color {
  --bg-opacity: 1;
  background-color: rgba(24, 119, 242, var(--bg-opacity));
}

.c-twitter,
.has-twitter-color {
  --color-opacity: 1;
  color: rgba(29, 161, 242, var(--color-opacity));
}

.bg-twitter,
.has-twitter-background-color {
  --bg-opacity: 1;
  background-color: rgba(29, 161, 242, var(--bg-opacity));
}

.c-instagram,
.has-instagram-color {
  --color-opacity: 1;
  color: rgba(193, 53, 132, var(--color-opacity));
}

.bg-instagram,
.has-instagram-background-color {
  --bg-opacity: 1;
  background-color: rgba(193, 53, 132, var(--bg-opacity));
}

.c-pinterest,
.has-pinterest-color {
  --color-opacity: 1;
  color: rgba(230, 0, 35, var(--color-opacity));
}

.bg-pinterest,
.has-pinterest-background-color {
  --bg-opacity: 1;
  background-color: rgba(230, 0, 35, var(--bg-opacity));
}

.c-opacity-1 {
  --color-opacity: 0.1;
}

.bg-opacity-1 {
  --bg-opacity: 0.1;
}

.c-opacity-2 {
  --color-opacity: 0.2;
}

.bg-opacity-2 {
  --bg-opacity: 0.2;
}

.c-opacity-3 {
  --color-opacity: 0.3;
}

.bg-opacity-3 {
  --bg-opacity: 0.3;
}

.c-opacity-4 {
  --color-opacity: 0.4;
}

.bg-opacity-4 {
  --bg-opacity: 0.4;
}

.c-opacity-5 {
  --color-opacity: 0.5;
}

.bg-opacity-5 {
  --bg-opacity: 0.5;
}

.c-opacity-6 {
  --color-opacity: 0.6;
}

.bg-opacity-6 {
  --bg-opacity: 0.6;
}

.c-opacity-7 {
  --color-opacity: 0.7;
}

.bg-opacity-7 {
  --bg-opacity: 0.7;
}

.c-opacity-8 {
  --color-opacity: 0.8;
}

.bg-opacity-8 {
  --bg-opacity: 0.8;
}

.c-opacity-9 {
  --color-opacity: 0.9;
}

.bg-opacity-9 {
  --bg-opacity: 0.9;
}

.c-opacity-10 {
  --color-opacity: 1;
}

.bg-opacity-10 {
  --bg-opacity: 1;
}

/** Container Utility **/
:root {
  --container-max-width: 80rem;
}

.container {
  margin-inline: auto;
  max-width: var(--container-max-width, 80rem);
  width: 100%;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.inline-grid {
  display: inline-grid;
}

/**
* Reverses the letters in an email address
* You should use this with something like Nunjucks "reverse" filter.
* It helps stop spam bots.
*/
.email-address {
  unicode-bidi: bidi-override;
  direction: rtl;
}

.flow > * {
  --flow-space: var(--space-4, 1em);
}

.flow > * + * {
  margin-block-start: var(--flow-space);
}

.flow-space-1 > * {
  --flow-space: 0.25rem;
}

.flow-space-2 > * {
  --flow-space: 0.5rem;
}

.flow-space-3 > * {
  --flow-space: 0.75rem;
}

.flow-space-4 > * {
  --flow-space: 1rem;
}

.flow-space-5 > * {
  --flow-space: 1.25rem;
}

.flow-space-6 > * {
  --flow-space: 1.5rem;
}

.flow-space-8 > * {
  --flow-space: 2rem;
}

.flow-space-10 > * {
  --flow-space: 2.5rem;
}

.flow-space-12 > * {
  --flow-space: 3rem;
}

.flow-space-16 > * {
  --flow-space: 4rem;
}

.flow-space-20 > * {
  --flow-space: 5rem;
}

.flow-space-24 > * {
  --flow-space: 6rem;
}

.flow-space-28 > * {
  --flow-space: 7rem;
}

.flow-space-32 > * {
  --flow-space: 8rem;
}

.flow-space-40 > * {
  --flow-space: 10rem;
}

.flow-space-48 > * {
  --flow-space: 12rem;
}

.flow-space-56 > * {
  --flow-space: 14rem;
}

.flow-space-64 > * {
  --flow-space: 16rem;
}

.flow-space-page > * {
  --flow-space: clamp(2rem, 1.3636rem + 5.6818vw, 5rem);
}

.flow-space-px > * {
  --flow-space: 0.06rem;
}

.flow-space-half > * {
  --flow-space: 0.125rem;
}

/* Font family */
.font-base {
  font-family: europa, sans-serif;
}

/* Font size */
.size-xs {
  font-size: 0.75rem;
}

.size-sm {
  font-size: 0.83rem;
}

.size-base {
  font-size: 1rem;
}

.size-lg {
  font-size: 1.2rem;
}

.size-xl {
  font-size: 1.44rem;
}

.size-2xl {
  font-size: 1.728rem;
}

.size-3xl {
  font-size: 2.074rem;
}

.size-4xl {
  font-size: 2.488rem;
}

.size-5xl {
  font-size: 2.986rem;
}

/* Weight */
.weight-light {
  font-weight: 300;
}

.weight-normal {
  font-weight: 400;
}

.weight-bold {
  font-weight: 700;
}

/* Leading / Line Height */
.leading-none {
  line-height: 1;
}

.leading-tight {
  line-height: 1.1;
}

.leading-base {
  line-height: 1.6;
}

.leading-loose {
  line-height: 1.9;
}

/* Tracking / Letter Spacing */
.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-base {
  letter-spacing: auto;
}

.tracking-wide {
  letter-spacing: 0.05em;
}

.tracking-loose {
  letter-spacing: 0.1em;
}

/* Text Alignment */
.align-left,
.align-start {
  text-align: start;
}

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

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

/* Text Transform */
.uppercase {
  text-transform: uppercase;
}

.gradient {
  background-image: linear-gradient(var(--gradient-direction, to bottom), var(--gradient-from), var(--gradient-to));
}

.gradient.horizontal {
  --gradient-direction: to right;
}

.gradient.diagonal {
  --gradient-direction: to bottom left;
}

.from-background {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(255, 255, 255, var(--gradient-from-opacity));
}

.to-background {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(255, 255, 255, var(--gradient-to-opacity));
}

.from-text {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(60, 60, 60, var(--gradient-from-opacity));
}

.to-text {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(60, 60, 60, var(--gradient-to-opacity));
}

.from-primary {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(21, 26, 123, var(--gradient-from-opacity));
}

.to-primary {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(21, 26, 123, var(--gradient-to-opacity));
}

.from-secondary {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(230, 59, 96, var(--gradient-from-opacity));
}

.to-secondary {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(230, 59, 96, var(--gradient-to-opacity));
}

.from-tertiary {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(82, 197, 216, var(--gradient-from-opacity));
}

.to-tertiary {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(82, 197, 216, var(--gradient-to-opacity));
}

.from-quaternary {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(255, 184, 80, var(--gradient-from-opacity));
}

.to-quaternary {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(255, 184, 80, var(--gradient-to-opacity));
}

.from-headers {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(4, 6, 34, var(--gradient-from-opacity));
}

.to-headers {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(4, 6, 34, var(--gradient-to-opacity));
}

.from-light {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(226, 245, 248, var(--gradient-from-opacity));
}

.to-light {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(226, 245, 248, var(--gradient-to-opacity));
}

.from-gray-90 {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(55, 57, 70, var(--gradient-from-opacity));
}

.to-gray-90 {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(55, 57, 70, var(--gradient-to-opacity));
}

.from-gray-70 {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(86, 88, 105, var(--gradient-from-opacity));
}

.to-gray-70 {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(86, 88, 105, var(--gradient-to-opacity));
}

.from-gray-50 {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(119, 121, 138, var(--gradient-from-opacity));
}

.to-gray-50 {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(119, 121, 138, var(--gradient-to-opacity));
}

.from-gray-30 {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(179, 180, 189, var(--gradient-from-opacity));
}

.to-gray-30 {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(179, 180, 189, var(--gradient-to-opacity));
}

.from-gray-10 {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(238, 238, 240, var(--gradient-from-opacity));
}

.to-gray-10 {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(238, 238, 240, var(--gradient-to-opacity));
}

.from-neutral {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(39, 125, 161, var(--gradient-from-opacity));
}

.to-neutral {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(39, 125, 161, var(--gradient-to-opacity));
}

.from-negative {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(249, 65, 68, var(--gradient-from-opacity));
}

.to-negative {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(249, 65, 68, var(--gradient-to-opacity));
}

.from-positive {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(144, 190, 109, var(--gradient-from-opacity));
}

.to-positive {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(144, 190, 109, var(--gradient-to-opacity));
}

.from-warning {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(245, 175, 75, var(--gradient-from-opacity));
}

.to-warning {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(245, 175, 75, var(--gradient-to-opacity));
}

.from-white {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(255, 255, 255, var(--gradient-from-opacity));
}

.to-white {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(255, 255, 255, var(--gradient-to-opacity));
}

.from-facebook {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(24, 119, 242, var(--gradient-from-opacity));
}

.to-facebook {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(24, 119, 242, var(--gradient-to-opacity));
}

.from-twitter {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(29, 161, 242, var(--gradient-from-opacity));
}

.to-twitter {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(29, 161, 242, var(--gradient-to-opacity));
}

.from-instagram {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(193, 53, 132, var(--gradient-from-opacity));
}

.to-instagram {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(193, 53, 132, var(--gradient-to-opacity));
}

.from-pinterest {
  --gradient-from-opacity: 1;
  --gradient-from: rgba(230, 0, 35, var(--gradient-from-opacity));
}

.to-pinterest {
  --gradient-to-opacity: 1;
  --gradient-to: rgba(230, 0, 35, var(--gradient-to-opacity));
}

.from-opacity-0 {
  --gradient-from-opacity: 0;
}

.to-opacity-0 {
  --gradient-to-opacity: 0;
}

.from-opacity-1 {
  --gradient-from-opacity: 0.1;
}

.to-opacity-1 {
  --gradient-to-opacity: 0.1;
}

.from-opacity-2 {
  --gradient-from-opacity: 0.2;
}

.to-opacity-2 {
  --gradient-to-opacity: 0.2;
}

.from-opacity-3 {
  --gradient-from-opacity: 0.3;
}

.to-opacity-3 {
  --gradient-to-opacity: 0.3;
}

.from-opacity-4 {
  --gradient-from-opacity: 0.4;
}

.to-opacity-4 {
  --gradient-to-opacity: 0.4;
}

.from-opacity-5 {
  --gradient-from-opacity: 0.5;
}

.to-opacity-5 {
  --gradient-to-opacity: 0.5;
}

.from-opacity-6 {
  --gradient-from-opacity: 0.6;
}

.to-opacity-6 {
  --gradient-to-opacity: 0.6;
}

.from-opacity-7 {
  --gradient-from-opacity: 0.7;
}

.to-opacity-7 {
  --gradient-to-opacity: 0.7;
}

.from-opacity-8 {
  --gradient-from-opacity: 0.8;
}

.to-opacity-8 {
  --gradient-to-opacity: 0.8;
}

.from-opacity-9 {
  --gradient-from-opacity: 0.9;
}

.to-opacity-9 {
  --gradient-to-opacity: 0.9;
}

.from-opacity-10 {
  --gradient-from-opacity: 1;
}

.to-opacity-10 {
  --gradient-to-opacity: 1;
}

.grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-columns, 1), 1fr);
  gap: var(--gap);
}

/** Auto Grid **/
.auto-grid,
.grid-auto {
  grid-template-columns: repeat(auto-fit, minmax(var(--min-width, 10rem), 1fr));
}

.cols-1 {
  --grid-columns: 1;
}

.col-start-1 {
  grid-column-start: 1;
}

.col-span-1 {
  grid-column-end: span i;
}

.cols-2 {
  --grid-columns: 2;
}

.col-start-2 {
  grid-column-start: 2;
}

.col-span-2 {
  grid-column-end: span i;
}

.cols-3 {
  --grid-columns: 3;
}

.col-start-3 {
  grid-column-start: 3;
}

.col-span-3 {
  grid-column-end: span i;
}

.cols-4 {
  --grid-columns: 4;
}

.col-start-4 {
  grid-column-start: 4;
}

.col-span-4 {
  grid-column-end: span i;
}

.cols-5 {
  --grid-columns: 5;
}

.col-start-5 {
  grid-column-start: 5;
}

.col-span-5 {
  grid-column-end: span i;
}

.cols-6 {
  --grid-columns: 6;
}

.col-start-6 {
  grid-column-start: 6;
}

.col-span-6 {
  grid-column-end: span i;
}

.cols-7 {
  --grid-columns: 7;
}

.col-start-7 {
  grid-column-start: 7;
}

.col-span-7 {
  grid-column-end: span i;
}

.cols-8 {
  --grid-columns: 8;
}

.col-start-8 {
  grid-column-start: 8;
}

.col-span-8 {
  grid-column-end: span i;
}

.cols-9 {
  --grid-columns: 9;
}

.col-start-9 {
  grid-column-start: 9;
}

.col-span-9 {
  grid-column-end: span i;
}

.cols-10 {
  --grid-columns: 10;
}

.col-start-10 {
  grid-column-start: 10;
}

.col-span-10 {
  grid-column-end: span i;
}

.cols-11 {
  --grid-columns: 11;
}

.col-start-11 {
  grid-column-start: 11;
}

.col-span-11 {
  grid-column-end: span i;
}

.cols-12 {
  --grid-columns: 12;
}

.col-start-12 {
  grid-column-start: 12;
}

.col-span-12 {
  grid-column-end: span i;
}

@media (min-width: 460px) {
  .sm\:cols-1 {
    grid-template-columns: repeat(1, 1fr);
  }

  .sm\:col-start-1 {
    grid-column-start: 1;
  }

  .sm\:col-span-1 {
    grid-column-end: span 1;
  }

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

  .sm\:col-start-2 {
    grid-column-start: 2;
  }

  .sm\:col-span-2 {
    grid-column-end: span 2;
  }

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

  .sm\:col-start-3 {
    grid-column-start: 3;
  }

  .sm\:col-span-3 {
    grid-column-end: span 3;
  }

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

  .sm\:col-start-4 {
    grid-column-start: 4;
  }

  .sm\:col-span-4 {
    grid-column-end: span 4;
  }

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

  .sm\:col-start-5 {
    grid-column-start: 5;
  }

  .sm\:col-span-5 {
    grid-column-end: span 5;
  }

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

  .sm\:col-start-6 {
    grid-column-start: 6;
  }

  .sm\:col-span-6 {
    grid-column-end: span 6;
  }

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

  .sm\:col-start-7 {
    grid-column-start: 7;
  }

  .sm\:col-span-7 {
    grid-column-end: span 7;
  }

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

  .sm\:col-start-8 {
    grid-column-start: 8;
  }

  .sm\:col-span-8 {
    grid-column-end: span 8;
  }

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

  .sm\:col-start-9 {
    grid-column-start: 9;
  }

  .sm\:col-span-9 {
    grid-column-end: span 9;
  }

  .sm\:cols-10 {
    grid-template-columns: repeat(10, 1fr);
  }

  .sm\:col-start-10 {
    grid-column-start: 10;
  }

  .sm\:col-span-10 {
    grid-column-end: span 10;
  }

  .sm\:cols-11 {
    grid-template-columns: repeat(11, 1fr);
  }

  .sm\:col-start-11 {
    grid-column-start: 11;
  }

  .sm\:col-span-11 {
    grid-column-end: span 11;
  }

  .sm\:cols-12 {
    grid-template-columns: repeat(12, 1fr);
  }

  .sm\:col-start-12 {
    grid-column-start: 12;
  }

  .sm\:col-span-12 {
    grid-column-end: span 12;
  }
}
@media (min-width: 768px) {
  .md\:cols-1 {
    grid-template-columns: repeat(1, 1fr);
  }

  .md\:col-start-1 {
    grid-column-start: 1;
  }

  .md\:col-span-1 {
    grid-column-end: span 1;
  }

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

  .md\:col-start-2 {
    grid-column-start: 2;
  }

  .md\:col-span-2 {
    grid-column-end: span 2;
  }

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

  .md\:col-start-3 {
    grid-column-start: 3;
  }

  .md\:col-span-3 {
    grid-column-end: span 3;
  }

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

  .md\:col-start-4 {
    grid-column-start: 4;
  }

  .md\:col-span-4 {
    grid-column-end: span 4;
  }

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

  .md\:col-start-5 {
    grid-column-start: 5;
  }

  .md\:col-span-5 {
    grid-column-end: span 5;
  }

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

  .md\:col-start-6 {
    grid-column-start: 6;
  }

  .md\:col-span-6 {
    grid-column-end: span 6;
  }

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

  .md\:col-start-7 {
    grid-column-start: 7;
  }

  .md\:col-span-7 {
    grid-column-end: span 7;
  }

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

  .md\:col-start-8 {
    grid-column-start: 8;
  }

  .md\:col-span-8 {
    grid-column-end: span 8;
  }

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

  .md\:col-start-9 {
    grid-column-start: 9;
  }

  .md\:col-span-9 {
    grid-column-end: span 9;
  }

  .md\:cols-10 {
    grid-template-columns: repeat(10, 1fr);
  }

  .md\:col-start-10 {
    grid-column-start: 10;
  }

  .md\:col-span-10 {
    grid-column-end: span 10;
  }

  .md\:cols-11 {
    grid-template-columns: repeat(11, 1fr);
  }

  .md\:col-start-11 {
    grid-column-start: 11;
  }

  .md\:col-span-11 {
    grid-column-end: span 11;
  }

  .md\:cols-12 {
    grid-template-columns: repeat(12, 1fr);
  }

  .md\:col-start-12 {
    grid-column-start: 12;
  }

  .md\:col-span-12 {
    grid-column-end: span 12;
  }
}
@media (min-width: 1024px) {
  .lg\:cols-1 {
    grid-template-columns: repeat(1, 1fr);
  }

  .lg\:col-start-1 {
    grid-column-start: 1;
  }

  .lg\:col-span-1 {
    grid-column-end: span 1;
  }

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

  .lg\:col-start-2 {
    grid-column-start: 2;
  }

  .lg\:col-span-2 {
    grid-column-end: span 2;
  }

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

  .lg\:col-start-3 {
    grid-column-start: 3;
  }

  .lg\:col-span-3 {
    grid-column-end: span 3;
  }

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

  .lg\:col-start-4 {
    grid-column-start: 4;
  }

  .lg\:col-span-4 {
    grid-column-end: span 4;
  }

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

  .lg\:col-start-5 {
    grid-column-start: 5;
  }

  .lg\:col-span-5 {
    grid-column-end: span 5;
  }

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

  .lg\:col-start-6 {
    grid-column-start: 6;
  }

  .lg\:col-span-6 {
    grid-column-end: span 6;
  }

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

  .lg\:col-start-7 {
    grid-column-start: 7;
  }

  .lg\:col-span-7 {
    grid-column-end: span 7;
  }

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

  .lg\:col-start-8 {
    grid-column-start: 8;
  }

  .lg\:col-span-8 {
    grid-column-end: span 8;
  }

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

  .lg\:col-start-9 {
    grid-column-start: 9;
  }

  .lg\:col-span-9 {
    grid-column-end: span 9;
  }

  .lg\:cols-10 {
    grid-template-columns: repeat(10, 1fr);
  }

  .lg\:col-start-10 {
    grid-column-start: 10;
  }

  .lg\:col-span-10 {
    grid-column-end: span 10;
  }

  .lg\:cols-11 {
    grid-template-columns: repeat(11, 1fr);
  }

  .lg\:col-start-11 {
    grid-column-start: 11;
  }

  .lg\:col-span-11 {
    grid-column-end: span 11;
  }

  .lg\:cols-12 {
    grid-template-columns: repeat(12, 1fr);
  }

  .lg\:col-start-12 {
    grid-column-start: 12;
  }

  .lg\:col-span-12 {
    grid-column-end: span 12;
  }
}
.mw-sm {
  max-width: 60ch;
}

.mw-lg {
  max-width: 85ch;
}

.shadow-sm {
  box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05);
}

.text-shadow-sm {
  text-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05);
}

.shadow-base {
  box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05);
}

.text-shadow-base {
  text-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05);
}

.shadow-lg {
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05), 0 0.6rem 1rem rgba(0, 0, 0, 0.05);
}

.text-shadow-lg {
  text-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05), 0 0.6rem 1rem rgba(0, 0, 0, 0.05);
}

.shadow-xl {
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.6rem 0.8rem rgba(0, 0, 0, 0.05), 0 0.8rem 1.2rem rgba(0, 0, 0, 0.05), 0 1rem 1.6rem rgba(0, 0, 0, 0.05);
}

.text-shadow-xl {
  text-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.6rem 0.8rem rgba(0, 0, 0, 0.05), 0 0.8rem 1.2rem rgba(0, 0, 0, 0.05), 0 1rem 1.6rem rgba(0, 0, 0, 0.05);
}

.shadow-2xl {
  box-shadow: 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05), 0 0.8rem 1rem rgba(0, 0, 0, 0.05), 0 1rem 1.4rem rgba(0, 0, 0, 0.05), 0 1.2rem 2rem rgba(0, 0, 0, 0.05), 0 1.4rem 2.2rem rgba(0, 0, 0, 0.05);
}

.text-shadow-2xl {
  text-shadow: 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05), 0 0.8rem 1rem rgba(0, 0, 0, 0.05), 0 1rem 1.4rem rgba(0, 0, 0, 0.05), 0 1.2rem 2rem rgba(0, 0, 0, 0.05), 0 1.4rem 2.2rem rgba(0, 0, 0, 0.05);
}

.px-1 {
  padding-inline: 0.25rem;
}

.py-1 {
  padding-block: 0.25rem;
}

.ml-1 {
  margin-inline-start: 0.25rem;
}

.mt-1 {
  margin-block-start: 0.25rem;
}

.gap-1 {
  gap: 0.25rem;
}

.px-2 {
  padding-inline: 0.5rem;
}

.py-2 {
  padding-block: 0.5rem;
}

.ml-2 {
  margin-inline-start: 0.5rem;
}

.mt-2 {
  margin-block-start: 0.5rem;
}

.gap-2 {
  gap: 0.5rem;
}

.px-3 {
  padding-inline: 0.75rem;
}

.py-3 {
  padding-block: 0.75rem;
}

.ml-3 {
  margin-inline-start: 0.75rem;
}

.mt-3 {
  margin-block-start: 0.75rem;
}

.gap-3 {
  gap: 0.75rem;
}

.px-4 {
  padding-inline: 1rem;
}

.py-4 {
  padding-block: 1rem;
}

.ml-4 {
  margin-inline-start: 1rem;
}

.mt-4 {
  margin-block-start: 1rem;
}

.gap-4 {
  gap: 1rem;
}

.px-5 {
  padding-inline: 1.25rem;
}

.py-5 {
  padding-block: 1.25rem;
}

.ml-5 {
  margin-inline-start: 1.25rem;
}

.mt-5 {
  margin-block-start: 1.25rem;
}

.gap-5 {
  gap: 1.25rem;
}

.px-6 {
  padding-inline: 1.5rem;
}

.py-6 {
  padding-block: 1.5rem;
}

.ml-6 {
  margin-inline-start: 1.5rem;
}

.mt-6 {
  margin-block-start: 1.5rem;
}

.gap-6 {
  gap: 1.5rem;
}

.px-8 {
  padding-inline: 2rem;
}

.py-8 {
  padding-block: 2rem;
}

.ml-8 {
  margin-inline-start: 2rem;
}

.mt-8 {
  margin-block-start: 2rem;
}

.gap-8 {
  gap: 2rem;
}

.px-10 {
  padding-inline: 2.5rem;
}

.py-10 {
  padding-block: 2.5rem;
}

.ml-10 {
  margin-inline-start: 2.5rem;
}

.mt-10 {
  margin-block-start: 2.5rem;
}

.gap-10 {
  gap: 2.5rem;
}

.px-12 {
  padding-inline: 3rem;
}

.py-12 {
  padding-block: 3rem;
}

.ml-12 {
  margin-inline-start: 3rem;
}

.mt-12 {
  margin-block-start: 3rem;
}

.gap-12 {
  gap: 3rem;
}

.px-16 {
  padding-inline: 4rem;
}

.py-16 {
  padding-block: 4rem;
}

.ml-16 {
  margin-inline-start: 4rem;
}

.mt-16 {
  margin-block-start: 4rem;
}

.gap-16 {
  gap: 4rem;
}

.px-20 {
  padding-inline: 5rem;
}

.py-20 {
  padding-block: 5rem;
}

.ml-20 {
  margin-inline-start: 5rem;
}

.mt-20 {
  margin-block-start: 5rem;
}

.gap-20 {
  gap: 5rem;
}

.px-24 {
  padding-inline: 6rem;
}

.py-24 {
  padding-block: 6rem;
}

.ml-24 {
  margin-inline-start: 6rem;
}

.mt-24 {
  margin-block-start: 6rem;
}

.gap-24 {
  gap: 6rem;
}

.px-28 {
  padding-inline: 7rem;
}

.py-28 {
  padding-block: 7rem;
}

.ml-28 {
  margin-inline-start: 7rem;
}

.mt-28 {
  margin-block-start: 7rem;
}

.gap-28 {
  gap: 7rem;
}

.px-32 {
  padding-inline: 8rem;
}

.py-32 {
  padding-block: 8rem;
}

.ml-32 {
  margin-inline-start: 8rem;
}

.mt-32 {
  margin-block-start: 8rem;
}

.gap-32 {
  gap: 8rem;
}

.px-40 {
  padding-inline: 10rem;
}

.py-40 {
  padding-block: 10rem;
}

.ml-40 {
  margin-inline-start: 10rem;
}

.mt-40 {
  margin-block-start: 10rem;
}

.gap-40 {
  gap: 10rem;
}

.px-48 {
  padding-inline: 12rem;
}

.py-48 {
  padding-block: 12rem;
}

.ml-48 {
  margin-inline-start: 12rem;
}

.mt-48 {
  margin-block-start: 12rem;
}

.gap-48 {
  gap: 12rem;
}

.px-56 {
  padding-inline: 14rem;
}

.py-56 {
  padding-block: 14rem;
}

.ml-56 {
  margin-inline-start: 14rem;
}

.mt-56 {
  margin-block-start: 14rem;
}

.gap-56 {
  gap: 14rem;
}

.px-64 {
  padding-inline: 16rem;
}

.py-64 {
  padding-block: 16rem;
}

.ml-64 {
  margin-inline-start: 16rem;
}

.mt-64 {
  margin-block-start: 16rem;
}

.gap-64 {
  gap: 16rem;
}

.px-page {
  padding-inline: clamp(2rem, 1.3636rem + 5.6818vw, 5rem);
}

.py-page {
  padding-block: clamp(2rem, 1.3636rem + 5.6818vw, 5rem);
}

.ml-page {
  margin-inline-start: clamp(2rem, 1.3636rem + 5.6818vw, 5rem);
}

.mt-page {
  margin-block-start: clamp(2rem, 1.3636rem + 5.6818vw, 5rem);
}

.gap-page {
  gap: clamp(2rem, 1.3636rem + 5.6818vw, 5rem);
}

.px-px {
  padding-inline: 0.06rem;
}

.py-px {
  padding-block: 0.06rem;
}

.ml-px {
  margin-inline-start: 0.06rem;
}

.mt-px {
  margin-block-start: 0.06rem;
}

.gap-px {
  gap: 0.06rem;
}

.px-half {
  padding-inline: 0.125rem;
}

.py-half {
  padding-block: 0.125rem;
}

.ml-half {
  margin-inline-start: 0.125rem;
}

.mt-half {
  margin-block-start: 0.125rem;
}

.gap-half {
  gap: 0.125rem;
}

.sr-only {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

/*
	Use in conjunction with .sr-only to only display content when it's focused.
	@note Useful for skip links
	@see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
	@note Based on a HTML5 Boilerplate technique, included in Bootstrap
	@note Fixed a bug with position: static on iOS 10.0.2 + VoiceOver
		@author Sylvain Pigeard
		@see https://github.com/twbs/bootstrap/issues/20732
*/
.sr-only-focusable:focus,
.sr-only-focusable:active {
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  height: auto !important;
  margin: auto !important;
  overflow: visible !important;
  width: auto !important;
  white-space: normal !important;
}