@charset "UTF-8";
/*
Theme Name: Little Messers
Description: Little Messers theme.
Version: 1.0
Author: Austin Aaron
Tags: 
Text Domain: littlemessers
*/
/* Brand - Stem */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@700&family=Lato:wght@400&display=swap");
/* Brand - Little Messers */
@import url("https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css");
:root {
  --brand-color-tint: rgba(240, 231, 216, 1.00);
  --brand-color-accent: rgba(246, 135, 80, 1.00);
  --brand-color-accessible: rgba(140, 167, 10, 1.00);
  --brand-color-shade: rgba(11, 89, 47, 1.00);
  --brand-color-black: rgba(42, 49, 45, 1.00);
  --brand-font-display: Poppins;
  --brand-font-weight-display: Bold;
  --brand-font-weight-heading: Bold;
  --brand-font-weight-body: Regular;
  --brand-font-heading: Poppins;
  --brand-logo-large-height: 43px;
  --brand-font-body: Lato;
  --brand-logo-large-width: 192px;
  --brand-font-letter-spacing-display: 1px;
  --brand-font-letter-spacing-heading: 1px;
  --brand-font-letter-spacing-body: 1px;
  --brand-logo-medium-height: 29px;
  --brand-logo-medium-width: 128px;
  --brand-logo-small-height: 22px;
  --brand-logo-small-width: 96px; }

:root, .cl-light {
  --color-button-neutral-default: var(--color-neutral-900);
  --color-button-neutral-hover: var(--color-neutral-700);
  --color-button-brand-default: var(--brand-color-accessible);
  --color-button-brand-hover: var(--brand-color-shade);
  --color-button-destructive-default: var(--color-error-700);
  --color-button-destructive-hover: var(--color-error-900);
  --color-button-success-default: var(--color-success-700);
  --color-button-success-hover: var(--color-success-900);
  --color-brand-primary: var(--brand-color-accessible);
  --color-brand-inverse: var(--brand-color-shade);
  --color-background-base: var(--color-neutral-base-100);
  --color-background-none: rgba(255, 255, 255, 0.00);
  --color-background-secondary: var(--color-neutral-light-4);
  --color-background-inverse: var(--color-neutral-800);
  --color-background-error: var(--color-error-50);
  --color-background-success: var(--color-success-50);
  --color-background-info: var(--color-info-50);
  --color-background-warning: var(--color-warning-50);
  --color-background-disabled: var(--color-neutral-100);
  --color-background-brand: var(--color-brand-primary);
  --color-text-primary: var(--color-neutral-800);
  --color-text-secondary: var(--color-neutral-600);
  --color-text-tertiary: var(--color-neutral-500);
  --color-text-link: var(--color-info-600);
  --color-text-inverse: var(--color-neutral-0);
  --color-text-error: var(--color-error-600);
  --color-text-info: var(--color-info-600);
  --color-text-warning: var(--color-warning-600);
  --color-text-success: var(--color-success-600);
  --color-text-brand: var(--brand-color-accessible);
  --color-border-focus: var(--color-neutral-900);
  --color-border-error: var(--color-error-600);
  --color-border-success: var(--color-success-600);
  --color-border-info: var(--color-info-600);
  --color-border-warning: var(--color-warning-600);
  --color-border-disabled: var(--color-neutral-100);
  --color-border-neutral-strong: var(--color-neutral-900);
  --color-border-neutral-default: var(--color-neutral-200);
  --color-border-neutral-faint: var(--color-neutral-100);
  --color-ui-primary: var(--color-brand-primary);
  --color-border-neutral-inverse: var(--color-neutral-0);
  --color-ui-secondary: var(--color-neutral-900);
  --color-accent-primary: var(--color-brand-primary);
  --color-accent-secondary: var(--color-neutral-900);
  --color-shadow: rgba(5, 9, 28, 0.15);
  --color-image-overlay: rgba(5, 9, 28, 0.60);
  --color-modal-overlay: rgba(5, 9, 28, 0.80);
  --logo-color: light;
  --color-icon-neutral: var(--color-neutral-800);
  --color-icon-error: var(--color-error-600);
  --color-icon-info: var(--color-info-600);
  --color-icon-warning: var(--color-warning-600);
  --color-icon-success: var(--color-success-600);
  --color-icon-brand: var(--color-brand-primary);
  --color-icon-inverse: var(--color-neutral-0);
  --color-background-primary-raised: var(--color-neutral-light-0);
  --color-background-primary-default: var(--color-neutral-light-2);
  --color-background-primary-lowered: var(--color-neutral-light-4); }

/* Color mode - Dark */
.cl-dark {
  --color-button-neutral-default: var(--color-neutral-0);
  --color-button-neutral-hover: var(--color-neutral-100);
  --color-button-brand-default: var(--brand-color-accessible);
  --color-button-brand-hover: var(--brand-color-accessible);
  --color-button-destructive-default: var(--color-error-400);
  --color-button-destructive-hover: var(--color-error-50);
  --color-button-success-default: var(--color-success-400);
  --color-button-success-hover: var(--color-success-50);
  --color-brand-primary: var(--brand-color-accessible);
  --color-brand-inverse: var(--brand-color-shade);
  --color-background-base: var(--color-neutral-base-900);
  --color-background-none: rgba(255, 255, 255, 0.00);
  --color-background-secondary: var(--color-neutral-900);
  --color-background-inverse: var(--color-neutral-0);
  --color-background-error: var(--color-error-200);
  --color-background-success: var(--color-success-200);
  --color-background-info: var(--color-info-200);
  --color-background-warning: var(--color-warning-200);
  --color-background-disabled: var(--color-neutral-100);
  --color-background-brand: var(--color-brand-primary);
  --color-text-primary: var(--color-neutral-0);
  --color-text-secondary: var(--color-neutral-100);
  --color-text-tertiary: var(--color-neutral-300);
  --color-text-link: var(--color-info-300);
  --color-text-inverse: var(--color-neutral-800);
  --color-text-error: var(--color-error-600);
  --color-text-info: var(--color-info-600);
  --color-text-warning: var(--color-warning-600);
  --color-text-success: var(--color-success-600);
  --color-text-brand: var(--brand-color-accessible);
  --color-border-focus: var(--color-neutral-0);
  --color-border-error: var(--color-error-600);
  --color-border-success: var(--color-success-600);
  --color-border-info: var(--color-info-600);
  --color-border-warning: var(--color-warning-600);
  --color-border-disabled: var(--color-neutral-100);
  --color-border-neutral-strong: var(--color-neutral-0);
  --color-border-neutral-default: var(--color-neutral-500);
  --color-border-neutral-faint: var(--color-neutral-600);
  --color-ui-primary: var(--color-brand-primary);
  --color-border-neutral-inverse: var(--color-neutral-800);
  --color-ui-secondary: var(--color-neutral-0);
  --color-accent-primary: var(--color-brand-primary);
  --color-accent-secondary: var(--color-neutral-0);
  --color-shadow: rgba(0, 0, 0, 0.90);
  --color-image-overlay: rgba(5, 9, 28, 0.80);
  --color-modal-overlay: rgba(5, 9, 28, 0.90);
  --logo-color: dark;
  --color-icon-neutral: var(--color-neutral-50);
  --color-icon-error: var(--color-error-600);
  --color-icon-info: var(--color-info-600);
  --color-icon-warning: var(--color-warning-600);
  --color-icon-success: var(--color-success-600);
  --color-icon-brand: var(--color-brand-primary);
  --color-icon-inverse: var(--color-neutral-800);
  --color-background-primary-raised: var(--color-neutral-600);
  --color-background-primary-default: var(--color-neutral-700);
  --color-background-primary-lowered: var(--color-neutral-800); }

html,
body,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
form,
fieldset,
legend,
input,
textarea,
button,
select {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  list-style: none; }

a {
  text-decoration: none;
  color: var(--color-text-link); }

/* More reset styles can be added based on specific needs */
/* Your additional styles and project-specific settings go here */
:root {
  /* z_primitive_color - Mode 1 */ }

.mw-xx-sm {
  max-width: 180px; }

.mw-x-sm {
  max-width: 250px; }

.mw-sm {
  max-width: 320px; }

.mw-md {
  max-width: 400px; }

.mw-lg {
  max-width: 480px; }

.mw-x-lg {
  max-width: 640px; }

.mw-xx-lg {
  max-width: 800px; }

/* primitive radius */
.rd-none {
  border-radius: 0px;
  overflow: hidden; }

.rd-1 {
  border-radius: 1px;
  overflow: hidden; }

.rd-2 {
  border-radius: 2px;
  overflow: hidden; }

.rd-4 {
  border-radius: 4px;
  overflow: hidden; }

.rd-8 {
  border-radius: 8px;
  overflow: hidden; }

.rd-12 {
  border-radius: 12px;
  overflow: hidden; }

.rd-16 {
  border-radius: 16px;
  overflow: hidden; }

.rd-24 {
  border-radius: 24px;
  overflow: hidden; }

.rd-32 {
  border-radius: 32px;
  overflow: hidden; }

.rd-round {
  border-radius: 3000px;
  overflow: hidden; }

:root {
  font-size: 16px; }

/* z_primitive_color - Mode 1 */
:root {
  --color-neutral-0: rgba(255, 255, 255, 1);
  --color-neutral-50: rgba(247, 248, 249, 1);
  --color-neutral-100: rgba(242, 243, 245, 1);
  --color-neutral-200: rgba(229, 230, 234, 1);
  --color-neutral-300: rgba(204, 206, 213, 1);
  --color-neutral-400: rgba(117, 119, 134, 1);
  --color-neutral-500: rgba(78, 82, 101, 1);
  --color-neutral-600: rgba(38, 45, 77, 1);
  --color-neutral-700: rgba(28, 33, 57, 1);
  --color-neutral-800: rgba(16, 21, 46, 1);
  --color-neutral-900: rgba(5, 9, 28, 1);
  --color-info-50: rgba(239, 248, 254, 1);
  --color-info-100: rgba(219, 239, 253, 1);
  --color-info-200: rgba(190, 225, 251, 1);
  --color-info-300: rgba(143, 205, 249, 1);
  --color-info-400: rgba(78, 175, 245, 1);
  --color-info-500: rgba(43, 141, 211, 1);
  --color-info-600: rgba(16, 114, 184, 1);
  --color-info-700: rgba(7, 94, 157, 1);
  --color-info-800: rgba(6, 81, 135, 1);
  --color-info-900: rgba(6, 73, 122, 1);
  --color-warning-50: rgba(254, 244, 232, 1);
  --color-warning-100: rgba(253, 230, 204, 1);
  --color-warning-200: rgba(251, 211, 163, 1);
  --color-warning-300: rgba(249, 179, 98, 1);
  --color-warning-400: rgba(218, 140, 50, 1);
  --color-warning-500: rgba(183, 105, 15, 1);
  --color-warning-600: rgba(144, 82, 9, 1);
  --color-warning-700: rgba(117, 66, 7, 1);
  --color-warning-800: rgba(101, 57, 6, 1);
  --color-warning-900: rgba(91, 52, 6, 1);
  --color-error-50: rgba(253, 243, 243, 1);
  --color-error-100: rgba(251, 228, 228, 1);
  --color-error-200: rgba(248, 205, 205, 1);
  --color-error-300: rgba(242, 169, 169, 1);
  --color-error-400: rgba(235, 119, 119, 1);
  --color-error-500: rgba(222, 75, 75, 1);
  --color-error-600: rgba(195, 48, 48, 1);
  --color-error-700: rgba(152, 26, 26, 1);
  --color-error-800: rgba(131, 16, 16, 1);
  --color-error-900: rgba(113, 10, 10, 1);
  --color-success-50: rgba(237, 252, 234, 1);
  --color-success-100: rgba(215, 249, 210, 1);
  --color-success-200: rgba(183, 244, 172, 1);
  --color-success-300: rgba(131, 236, 114, 1);
  --color-success-400: rgba(89, 202, 71, 1);
  --color-success-500: rgba(55, 168, 37, 1);
  --color-success-600: rgba(42, 131, 28, 1);
  --color-success-700: rgba(34, 106, 22, 1);
  --color-success-800: rgba(29, 92, 19, 1);
  --color-success-900: rgba(26, 82, 17, 1);
  --color-neutral-base-100: rgba(245, 245, 245, 1);
  --color-neutral-base-200: rgba(237, 238, 239, 1);
  --color-neutral-base-800: rgba(14, 18, 39, 1);
  --color-neutral-base-900: rgba(4, 8, 24, 1);
  --color-neutral-light-0: rgba(255, 255, 255, 1);
  --color-neutral-light-1: rgba(252, 253, 253, 1);
  --color-neutral-light-2: rgba(250, 250, 250, 1);
  --color-neutral-light-3: rgba(247, 248, 248, 1);
  --color-neutral-light-4: rgba(245, 245, 246, 1);
  --color-neutral-light-5: rgba(242, 243, 244, 1);
  --color-neutral-light-6: rgba(240, 240, 241, 1);
  --color-neutral-light-7: rgba(237, 238, 239, 1);
  --color-neutral-light-8: rgba(235, 235, 237, 1);
  --color-neutral-light-9: rgba(233, 233, 235, 1);
  --color-neutral-light-10: rgba(230, 230, 232, 1); }

html,
body,
div,
header,
footer,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
form,
fieldset,
legend,
input,
textarea,
button,
select {
  color: var(--color-text-primary); }

body {
  font-family: var(--brand-font-body);
  background-color: var(--color-background-primary-default); }

.menu a {
  color: var(--color-text-link); }

.bg-base {
  background-color: var(--color-background-base); }

.bg-none {
  background-color: var(--color-background-none); }

.bg-secondary {
  background-color: var(--color-background-secondary); }

.bg-inverse {
  background-color: var(--color-background-inverse); }

.bg-error {
  background-color: var(--color-background-error); }

.bg-success {
  background-color: var(--color-background-success); }

.bg-info {
  background-color: var(--color-background-info); }

.bg-warning {
  background-color: var(--color-background-warning); }

.bg-disabled {
  background-color: var(--color-background-disabled); }

.bg-primary-raised, .stem-floating-action-buttons-container,
.custom-buttons-container {
  background-color: var(--color-background-primary-raised); }

.bg-primary-default {
  background-color: var(--color-background-primary-default); }

.bg-primary-lowered {
  background-color: var(--color-background-primary-lowered); }

.bg-brand {
  background-color: var(--color-background-brand); }

.bg-brand-tint {
  background-color: var(--brand-color-tint); }

.bg-brand-accent {
  background-color: var(--brand-color-accent); }

.bg-brand-accessible {
  background-color: var(--brand-color-accessible); }

.bg-brand-shade {
  background-color: var(--brand-color-shade); }

.bg-brand-black {
  background-color: var(--brand-color-black); }

.el-base {
  z-index: 0;
  background-color: var(--color-background-base); }

.el-surface {
  z-index: 1;
  background-color: var(--color-background-primary-default); }
  .el-surface.lowered {
    background-color: var(--color-background-primary-lowered); }
  .el-surface.raised {
    background-color: var(--color-background-primary-raised); }

.el-overlay {
  z-index: 2;
  background-color: var(--color-background-primary-raised); }

/* Radius - Default */
/* Shadow - Soft */
:root {
  --shadow-level-base-x: 0px;
  --shadow-level-base-y: 0px;
  --shadow-level-base-blur: 0px;
  --shadow-level-base-spread: 0px;
  --shadow-level-surface-x: 0px;
  --shadow-level-surface-y: 4px;
  --shadow-level-surface-blur: 8px;
  --shadow-level-surface-spread: 0px;
  --shadow-level-overlay-x: 0px;
  --shadow-level-overlay-y: 6px;
  --shadow-level-overlay-blur: 16px;
  --shadow-level-overlay-spread: 0px; }

/* Shadow - Flat */
.shadow-flat {
  --shadow-level-base-x: 0px;
  --shadow-level-base-y: 0px;
  --shadow-level-base-blur: 0px;
  --shadow-level-base-spread: 0px;
  --shadow-level-surface-x: 0px;
  --shadow-level-surface-y: 0px;
  --shadow-level-surface-blur: 0px;
  --shadow-level-surface-spread: 0px;
  --shadow-level-overlay-x: 0px;
  --shadow-level-overlay-y: 0px;
  --shadow-level-overlay-blur: 0px;
  --shadow-level-overlay-spread: 0px; }

/* Shadow - Crisp */
.shadow-crisp {
  --shadow-level-base-x: 0px;
  --shadow-level-base-y: 0px;
  --shadow-level-base-blur: 0px;
  --shadow-level-base-spread: 0px;
  --shadow-level-surface-x: 0px;
  --shadow-level-surface-y: 2px;
  --shadow-level-surface-blur: 3px;
  --shadow-level-surface-spread: 0px;
  --shadow-level-overlay-x: 0px;
  --shadow-level-overlay-y: 3px;
  --shadow-level-overlay-blur: 6px;
  --shadow-level-overlay-spread: 0px; }

/* Shadow - Deep */
.shadow-deep {
  --shadow-level-base-x: 0px;
  --shadow-level-base-y: 0px;
  --shadow-level-base-blur: 0px;
  --shadow-level-base-spread: 0px;
  --shadow-level-surface-x: 0px;
  --shadow-level-surface-y: 4px;
  --shadow-level-surface-blur: 12px;
  --shadow-level-surface-spread: 0px;
  --shadow-level-overlay-x: 0px;
  --shadow-level-overlay-y: 6px;
  --shadow-level-overlay-blur: 24px;
  --shadow-level-overlay-spread: 0px; }

.shadow-surface, .el-surface {
  box-shadow: var(--shadow-level-surface-x) var(--shadow-level-surface-y) var(--shadow-level-surface-blur) var(--shadow-level-surface-spread) rgba(0, 0, 0, 0.15); }

.shadow-overlay, .el-overlay {
  box-shadow: var(--shadow-level-overlay-x) var(--shadow-level-overlay-y) var(--shadow-level-overlay-blur) var(--shadow-level-overlay-spread) rgba(0, 0, 0, 0.2); }

/* Space - Default */
.p-none {
  padding: 0rem !important; }

.pt-none {
  padding-top: 0rem !important; }

.pb-none {
  padding-bottom: 0rem !important; }

.pl-none {
  padding-left: 0rem !important; }

.pr-none {
  padding-right: 0rem !important; }

.px-none {
  padding-left: 0rem !important;
  padding-right: 0rem !important; }

.py-none {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important; }

.p-2 {
  padding: 0.125rem !important; }

.pt-2 {
  padding-top: 0.125rem !important; }

.pb-2 {
  padding-bottom: 0.125rem !important; }

.pl-2 {
  padding-left: 0.125rem !important; }

.pr-2 {
  padding-right: 0.125rem !important; }

.px-2 {
  padding-left: 0.125rem !important;
  padding-right: 0.125rem !important; }

.py-2 {
  padding-top: 0.125rem !important;
  padding-bottom: 0.125rem !important; }

.p-4 {
  padding: 0.25rem !important; }

.pt-4 {
  padding-top: 0.25rem !important; }

.pb-4 {
  padding-bottom: 0.25rem !important; }

.pl-4 {
  padding-left: 0.25rem !important; }

.pr-4 {
  padding-right: 0.25rem !important; }

.px-4 {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important; }

.py-4 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important; }

.p-8 {
  padding: 0.5rem !important; }

.pt-8 {
  padding-top: 0.5rem !important; }

.pb-8 {
  padding-bottom: 0.5rem !important; }

.pl-8 {
  padding-left: 0.5rem !important; }

.pr-8 {
  padding-right: 0.5rem !important; }

.px-8 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important; }

.py-8 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important; }

.p-12 {
  padding: 0.75rem !important; }

.pt-12 {
  padding-top: 0.75rem !important; }

.pb-12 {
  padding-bottom: 0.75rem !important; }

.pl-12 {
  padding-left: 0.75rem !important; }

.pr-12 {
  padding-right: 0.75rem !important; }

.px-12 {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important; }

.py-12 {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important; }

.p-16 {
  padding: 1rem !important; }

.pt-16 {
  padding-top: 1rem !important; }

.pb-16 {
  padding-bottom: 1rem !important; }

.pl-16 {
  padding-left: 1rem !important; }

.pr-16 {
  padding-right: 1rem !important; }

.px-16 {
  padding-left: 1rem !important;
  padding-right: 1rem !important; }

.py-16 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important; }

.p-24 {
  padding: 1.5rem !important; }

.pt-24 {
  padding-top: 1.5rem !important; }

.pb-24 {
  padding-bottom: 1.5rem !important; }

.pl-24 {
  padding-left: 1.5rem !important; }

.pr-24 {
  padding-right: 1.5rem !important; }

.px-24 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important; }

.py-24 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important; }

.p-32 {
  padding: 2rem !important; }

.pt-32 {
  padding-top: 2rem !important; }

.pb-32 {
  padding-bottom: 2rem !important; }

.pl-32 {
  padding-left: 2rem !important; }

.pr-32 {
  padding-right: 2rem !important; }

.px-32 {
  padding-left: 2rem !important;
  padding-right: 2rem !important; }

.py-32 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important; }

.p-40 {
  padding: 2.5rem !important; }

.pt-40 {
  padding-top: 2.5rem !important; }

.pb-40 {
  padding-bottom: 2.5rem !important; }

.pl-40 {
  padding-left: 2.5rem !important; }

.pr-40 {
  padding-right: 2.5rem !important; }

.px-40 {
  padding-left: 2.5rem !important;
  padding-right: 2.5rem !important; }

.py-40 {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important; }

.p-48 {
  padding: 3rem !important; }

.pt-48 {
  padding-top: 3rem !important; }

.pb-48 {
  padding-bottom: 3rem !important; }

.pl-48 {
  padding-left: 3rem !important; }

.pr-48 {
  padding-right: 3rem !important; }

.px-48 {
  padding-left: 3rem !important;
  padding-right: 3rem !important; }

.py-48 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important; }

.p-64 {
  padding: 4rem !important; }

.pt-64 {
  padding-top: 4rem !important; }

.pb-64 {
  padding-bottom: 4rem !important; }

.pl-64 {
  padding-left: 4rem !important; }

.pr-64 {
  padding-right: 4rem !important; }

.px-64 {
  padding-left: 4rem !important;
  padding-right: 4rem !important; }

.py-64 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important; }

.p-96 {
  padding: 6rem !important; }

.pt-96 {
  padding-top: 6rem !important; }

.pb-96 {
  padding-bottom: 6rem !important; }

.pl-96 {
  padding-left: 6rem !important; }

.pr-96 {
  padding-right: 6rem !important; }

.px-96 {
  padding-left: 6rem !important;
  padding-right: 6rem !important; }

.py-96 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important; }

.p-128 {
  padding: 8rem !important; }

.pt-128 {
  padding-top: 8rem !important; }

.pb-128 {
  padding-bottom: 8rem !important; }

.pl-128 {
  padding-left: 8rem !important; }

.pr-128 {
  padding-right: 8rem !important; }

.px-128 {
  padding-left: 8rem !important;
  padding-right: 8rem !important; }

.py-128 {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important; }

.gap-none {
  gap: 0rem !important; }

.gap-2 {
  gap: 0.125rem !important; }

.gap-4 {
  gap: 0.25rem !important; }

.gap-8 {
  gap: 0.5rem !important; }

.gap-12 {
  gap: 0.75rem !important; }

.gap-16 {
  gap: 1rem !important; }

.gap-24 {
  gap: 1.5rem !important; }

.gap-32 {
  gap: 2rem !important; }

.gap-40 {
  gap: 2.5rem !important; }

.gap-48 {
  gap: 3rem !important; }

.gap-64 {
  gap: 4rem !important; }

.gap-96 {
  gap: 6rem !important; }

.gap-128 {
  gap: 8rem !important; }

.accordion-item {
  border-bottom: 1px solid;
  border-color: var(--color-border-neutral-default); }

.accordion-title {
  display: flex;
  padding: var(--size-16, 1rem) 0rem;
  align-items: center;
  gap: var(--size-8, 0.5rem);
  align-self: stretch;
  cursor: pointer;
  justify-content: space-between; }

.accordion-title .icon.close-accordion {
  display: none; }

.accordion-title.active .icon.close-accordion {
  display: inline-block; }

.accordion-title.active .icon.open-accordion {
  display: none; }

.accordion-content {
  padding-bottom: 1rem;
  overflow: hidden;
  display: none; }

.accordion-content.closed {
  display: none; }

.accordion-content.open {
  display: block; }

.article {
  padding-bottom: 4rem; }

.article-meta {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid;
  border-color: var(--color-border-neutral-default);
  color: var(--color-text-secondary);
  display: flex;
  flex-direction: row; }
  .article-meta .author {
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    gap: 0.5rem; }
    .article-meta .author img {
      border-radius: 3000px;
      width: 2rem;
      height: 2rem; }

.article-bio {
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-color: var(--color-border-neutral-default);
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: center; }
  .article-bio .bio {
    font-style: italic; }
  .article-bio img {
    border-radius: 3000px;
    width: 6rem;
    height: 6rem; }

.article-preview {
  display: flex;
  gap: 0.75rem; }
  .article-preview.stacked {
    flex-direction: column; }
  .article-preview.inline {
    gap: 24px;
    flex-direction: row; }
    @media (max-width: 767px) {
      .article-preview.inline {
        flex-direction: column;
        gap: 0.75rem; } }
  .article-preview.inline > * {
    flex: 1; }
  .article-preview .excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden; }

.stem-block {
  display: flex;
  flex-direction: column;
  gap: 8rem;
  padding-top: 6rem;
  padding-bottom: 6rem; }
  .stem-block.small {
    padding-top: 4rem;
    padding-bottom: 4rem; }
  .stem-block.large {
    padding-top: 8rem;
    padding-bottom: 8rem; }
  .stem-block .block-title {
    display: flex;
    flex-direction: column;
    gap: 2rem; }
  .stem-block:has(> .stem-divider:first-child) {
    padding-top: 0px; }
  .stem-block:has(> .stem-divider:last-child) {
    padding-bottom: 0px; }

#breadcrumbs {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.25rem;
  color: var(--color-text-secondary);
  justify-content: center; }
  #breadcrumbs a {
    color: var(--color-text-secondary); }
    #breadcrumbs a:after {
      padding-left: 0.25rem;
      content: "/"; }
  #breadcrumbs a:hover, #breadcrumbs a:focus {
    text-decoration: underline; }

.btn,
.btn-icon {
  border: 1px solid transparent;
  border-radius: 2px;
  transition: border-color 0.2 ease-in-out, background-color 0.2 ease-in-out;
  display: inline-flex;
  gap: 0.25rem;
  align-items: center;
  justify-content: center;
  height: 2.5rem; }
  .btn:hover,
  .btn-icon:hover {
    cursor: pointer; }
  .btn.primary, .woocommerce div.product form.cart .button,
  .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled,
  .wc-block-components-checkout-place-order-button,
  .wc-block-components-button:not(.is-link),
  .wc-block-components-button:not(.is-link) .wc-block-components-button__text,
  .wc-block-components-checkout-place-order-button__text,
  .btn-icon.primary {
    color: var(--color-text-inverse);
    background-color: var(--color-button-neutral-default);
    border-color: var(--color-button-neutral-default); }
  .btn.primary:hover, .woocommerce div.product form.cart .button:hover,
  .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled:hover,
  .wc-block-components-checkout-place-order-button:hover,
  .wc-block-components-button:hover:not(.is-link),
  .wc-block-components-button:not(.is-link) .wc-block-components-button__text:hover,
  .wc-block-components-checkout-place-order-button__text:hover,
  .btn-icon.primary:hover {
    background-color: var(--color-button-neutral-hover);
    border-color: var(--color-button-neutral-hover); }
  .btn.secondary,
  .btn-icon.secondary {
    color: var(--color-text-default);
    background-color: var(--color-background-surface-default);
    border-color: var(--color-button-neutral-default); }
  .btn.secondary:hover,
  .btn-icon.secondary:hover {
    color: var(--color-text-default);
    border-color: var(--color-button-neutral-hover); }
  .btn.tertiary,
  .btn-icon.tertiary {
    color: var(--color-button-neutral-default); }
  .btn.tertiary:hover,
  .btn-icon.tertiary:hover {
    border-color: var(--color-button-neutral-hover); }
  .btn.brand,
  .btn-icon.brand {
    color: var(--color-neutral-0);
    background-color: var(--color-button-brand-default);
    border-color: var(--color-button-brand-default); }
  .btn.brand:hover,
  .btn-icon.brand:hover {
    background-color: var(--color-button-brand-hover);
    border-color: var(--color-button-brand-hover); }

.btn {
  padding-left: 1rem;
  padding-right: 1rem; }

.btn-icon {
  width: 2.5rem; }

/* Default styling: Hidden on large screens */
.stem-floating-action-buttons-container,
.custom-buttons-container {
  display: none;
  position: fixed;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  padding: 1rem;
  box-sizing: border-box;
  z-index: 999;
  /* Ensure it sits on top of other content */ }

.stem-floating-action-buttons-container .primary,
.custom-buttons-container .primary {
  flex: 1; }

/* Media query for mobile devices */
@media (max-width: 768px) {
  .stem-floating-action-buttons-container,
  .custom-buttons-container {
    /* 1. Turn on Flexbox */
    display: flex;
    /* 2. Add a gap between buttons */
    gap: 1rem;
    /* 3. Ensure buttons stretch to fill the space equally */
    justify-content: space-between; }

  .stem-floating-action-buttons-container a,
  .stem-floating-action-buttons-container button {
    /* Optional: Center text inside the buttons */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center; } }
.card {
  padding: 24px;
  border-radius: 8px; }

.stem-divider {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-repeat: no-repeat;
  mask-size: cover;
  /* Variant 1: Horizontal Flip (Mirror Left/Right) */
  /* Variant 2: Vertical Flip (Upside Down) */
  /* Variant 3: Both (Upside Down + Mirrored) */ }
  .stem-divider.point-down-top {
    aspect-ratio: 26.4;
    -webkit-mask-image: url("images/divider/pointdown/top.svg");
    mask-image: url("images/divider/pointdown/top.svg"); }
  .stem-divider.point-down-bottom {
    aspect-ratio: 26.4;
    -webkit-mask-image: url("images/divider/pointdown/bottom.svg");
    mask-image: url("images/divider/pointdown/bottom.svg"); }
  .stem-divider.slope-right {
    aspect-ratio: 16.5;
    -webkit-mask-image: url("images/divider/slope/right.svg");
    mask-image: url("images/divider/slope/right.svg"); }
  .stem-divider.waves-negative {
    aspect-ratio: 16.5;
    -webkit-mask-image: url("images/divider/waves/negative.svg");
    mask-image: url("images/divider/waves/negative.svg"); }
  .stem-divider.paper {
    aspect-ratio: 17.3;
    -webkit-mask-image: url("images/divider/paper/paper.svg"); }
  .stem-divider.paper-2 {
    aspect-ratio: 17.3;
    -webkit-mask-image: url("images/divider/paper/paper-2.svg"); }
  .stem-divider.flip-h {
    transform: scaleX(-1); }
  .stem-divider.flip-v {
    transform: scaleY(-1); }
  .stem-divider.flip-hv {
    transform: scale(-1, -1); }
  .stem-divider.nudge-top {
    margin-top: -1px; }
  .stem-divider.nudge-bottom {
    margin-bottom: -1px; }

footer {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
  color: var(--color-text-primary); }
  footer a {
    color: var(--color-text-primary); }
  footer a:hover {
    text-decoration: underline; }

/* Reset default browser styles */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="submit"],
textarea,
select,
span.select2-selection__rendered {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  border: 1px solid;
  border-color: var(--color-border-neutral-default);
  border-radius: 2px;
  outline: none;
  transition: border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
  color: var(--color-text-tertiary);
  display: flex;
  flex: 1 0 0;
  width: 100%;
  box-sizing: border-box; }

textarea {
  flex: initial;
  height: 6rem; }

/* Reset default browser styles */
/* Hover and focus styles */
input[type="text"]:hover,
input[type="email"]:hover,
input[type="password"]:hover,
input[type="number"]:hover,
input[type="tel"]:hover,
input[type="url"]:hover,
textarea:hover,
select:hover,
span.select2-selection__rendered {
  border-color: var(--color-border-info); }

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
  border-color: var(--color-border-focus); }

/* Disabled state */
input[type="text"]:disabled,
input[type="email"]:disabled,
input[type="password"]:disabled,
input[type="number"]:disabled,
input[type="tel"]:disabled,
input[type="url"]:disabled,
textarea:disabled,
select:disabled,
span.select2-selection__rendered {
  background-color: var(--color-background-disabled);
  cursor: not-allowed;
  color: var(--color-text-tertiary); }

/* Placeholder text */
/* Labels  */
form {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex-wrap: nowrap; }
  form .field {
    display: flex;
    flex-direction: column;
    gap: 0.125rem; }

/*   Reset Woocommerce select   */
.select2-container .select2-selection--single {
  height: auto; }

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%; }

header {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid;
  border-color: var(--color-border-neutral-default);
  z-index: 10 !important;
  position: relative; }

hr {
  width: 100%;
  border-color: var(--color-border-neutral-default); }

.icon-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  padding-bottom: 1rem;
  align-self: stretch; }
  .icon-list li {
    display: flex;
    align-items: start;
    align-self: stretch;
    text-align: left;
    position: relative;
    padding-left: 1.5rem; }
    .icon-list li:before {
      position: absolute;
      left: 0px;
      top: 0.25rem; }
  .icon-list.positive li:before, .icon-list .positive:before {
    background-color: var(--color-icon-success); }
  .icon-list.error li:before, .icon-list .error:before {
    background-color: var(--color-icon-error); }
  .icon-list.warning li:before, .icon-list .warning:before {
    background-color: var(--color-icon-warning); }
  .icon-list.info li:before, .icon-list .info:before {
    background-color: var(--color-icon-info); }
  .icon-list.align-center {
    align-items: center; }
    .icon-list.align-center li {
      align-self: initial; }

.icon {
  background-color: currentColor;
  display: inline-flex;
  width: 1em;
  height: 1em;
  mask-size: contain;
  mask-repeat: no-repeat; }
  .icon.image {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/landscape-2--photos-photo-landscape-picture-photography-camera-pictures-image.svg"); }
    .icon.image::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/landscape-2--photos-photo-landscape-picture-photography-camera-pictures-image.svg");
      mask-size: cover; }
  .icon.material {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/layers-1--design-layer-layers-pile-stack-align.svg"); }
    .icon.material::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/layers-1--design-layer-layers-pile-stack-align.svg");
      mask-size: cover; }
  .icon.environment {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/leaf--nature-environment-leaf-ecology-plant-plants-eco.svg"); }
    .icon.environment::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/leaf--nature-environment-leaf-ecology-plant-plants-eco.svg");
      mask-size: cover; }
  .icon.check-circle {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/circle-check--geometric-circle-round-design-shape-shapes-shape.svg"); }
    .icon.check-circle::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/circle-check--geometric-circle-round-design-shape-shapes-shape.svg");
      mask-size: cover; }
  .icon.home {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/home-4--home-house-roof-shelter.svg"); }
    .icon.home::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/home-4--home-house-roof-shelter.svg");
      mask-size: cover; }
  .icon.location {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/map-marker.svg"); }
    .icon.location::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/map-marker.svg");
      mask-size: cover; }
  .icon.phone {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/phone--android-phone-mobile-device-smartphone-iphone.svg"); }
    .icon.phone::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/phone--android-phone-mobile-device-smartphone-iphone.svg");
      mask-size: cover; }
  .icon.close-accordion {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/subtract-1--button-delete-buttons-subtract-horizontal-remove-line-add-mathematics-math-minus.svg"); }
    .icon.close-accordion::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/subtract-1--button-delete-buttons-subtract-horizontal-remove-line-add-mathematics-math-minus.svg");
      mask-size: cover; }
  .icon.close-menu {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/delete-1--remove-add-button-buttons-delete-cross-x-mathematics-multiply-math.svg"); }
    .icon.close-menu::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/delete-1--remove-add-button-buttons-delete-cross-x-mathematics-multiply-math.svg");
      mask-size: cover; }
  .icon.date-picker {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/calendar.svg"); }
    .icon.date-picker::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/calendar.svg");
      mask-size: cover; }
  .icon.dropdown {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/chevron-down.svg"); }
    .icon.dropdown::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/chevron-down.svg");
      mask-size: cover; }
  .icon.expand {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/expand.svg"); }
    .icon.expand::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/expand.svg");
      mask-size: cover; }
  .icon.move-up {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/arrow-up.svg"); }
    .icon.move-up::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/arrow-up.svg");
      mask-size: cover; }
  .icon.move-down {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/arrow-down.svg"); }
    .icon.move-down::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/arrow-down.svg");
      mask-size: cover; }
  .icon.move-left {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/arrow-left.svg"); }
    .icon.move-left::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/arrow-left.svg");
      mask-size: cover; }
  .icon.move-right {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/arrow-right.svg"); }
    .icon.move-right::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/arrow-right.svg");
      mask-size: cover; }
  .icon.open-accordion {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/add-1--expand-cross-buttons-button-more-remove-plus-add-+-mathematics-math.svg"); }
    .icon.open-accordion::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/add-1--expand-cross-buttons-button-more-remove-plus-add-+-mathematics-math.svg");
      mask-size: cover; }
  .icon.open-menu {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/bullet-list--points-bullet-unordered-list-lists-bullets.svg"); }
    .icon.open-menu::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/bullet-list--points-bullet-unordered-list-lists-bullets.svg");
      mask-size: cover; }
  .icon.search {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/magnifying-glass--glass-search-magnifying.svg"); }
    .icon.search::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/magnifying-glass--glass-search-magnifying.svg");
      mask-size: cover; }
  .icon.send {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/paper-plane.svg"); }
    .icon.send::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/paper-plane.svg");
      mask-size: cover; }
  .icon.facebook {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/facebook-1--media-facebook-social.svg"); }
    .icon.facebook::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/facebook-1--media-facebook-social.svg");
      mask-size: cover; }
  .icon.instagram {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/instagram.svg"); }
    .icon.instagram::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/instagram.svg");
      mask-size: cover; }
  .icon.pinterest {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/pinterest.svg"); }
    .icon.pinterest::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/pinterest.svg");
      mask-size: cover; }
  .icon.tiktok {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/tiktok.svg"); }
    .icon.tiktok::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/tiktok.svg");
      mask-size: cover; }
  .icon.add-to-cart {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/shopping-bag-plus.svg"); }
    .icon.add-to-cart::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/shopping-bag-plus.svg");
      mask-size: cover; }
  .icon.cart {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/shopping-bag-hand-bag-2--shopping-bag-purse-goods-item-products.svg"); }
    .icon.cart::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/shopping-bag-hand-bag-2--shopping-bag-purse-goods-item-products.svg");
      mask-size: cover; }
  .icon.discount {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/discount-percent-badge--shop-shops-stores-discount-coupon.svg"); }
    .icon.discount::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/discount-percent-badge--shop-shops-stores-discount-coupon.svg");
      mask-size: cover; }
  .icon.in-cart {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/shopping-bag-check.svg"); }
    .icon.in-cart::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/shopping-bag-check.svg");
      mask-size: cover; }
  .icon.personalization {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/pen-tool.svg"); }
    .icon.personalization::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/pen-tool.svg");
      mask-size: cover; }
  .icon.remove-from-cart {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/shopping-bag-minus.svg"); }
    .icon.remove-from-cart::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/shopping-bag-minus.svg");
      mask-size: cover; }
  .icon.shipping {
    display: inline-flex;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("icons/transfer-van--van-shipping-delivery-transfer.svg"); }
    .icon.shipping::before {
      content: '';
      display: inline-block;
      width: inherit;
      height: inherit;
      mask-image: url("icons/transfer-van--van-shipping-delivery-transfer.svg");
      mask-size: cover; }

.icon-before::before {
  width: 1rem;
  height: 1rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: currentColor;
  content: '';
  margin-right: 0.5rem; }

.icon-after:before {
  width: 1rem;
  height: 1rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: currentColor;
  content: '';
  margin-left: 0.5rem; }

.icon-after {
  flex-direction: row-reverse; }

.icon-after,
.icon-before {
  display: inline-flex;
  align-items: center; }

.image::before {
  mask-image: url("icons/landscape-2--photos-photo-landscape-picture-photography-camera-pictures-image.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.material::before {
  mask-image: url("icons/layers-1--design-layer-layers-pile-stack-align.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.environment::before {
  mask-image: url("icons/leaf--nature-environment-leaf-ecology-plant-plants-eco.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.check-circle::before {
  mask-image: url("icons/circle-check--geometric-circle-round-design-shape-shapes-shape.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.home::before {
  mask-image: url("icons/home-4--home-house-roof-shelter.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.location::before {
  mask-image: url("icons/map-marker.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.phone::before {
  mask-image: url("icons/phone--android-phone-mobile-device-smartphone-iphone.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.close-accordion::before {
  mask-image: url("icons/subtract-1--button-delete-buttons-subtract-horizontal-remove-line-add-mathematics-math-minus.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.close-menu::before {
  mask-image: url("icons/delete-1--remove-add-button-buttons-delete-cross-x-mathematics-multiply-math.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.date-picker::before {
  mask-image: url("icons/calendar.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.dropdown::before {
  mask-image: url("icons/chevron-down.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.expand::before {
  mask-image: url("icons/expand.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.move-up::before {
  mask-image: url("icons/arrow-up.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.move-down::before {
  mask-image: url("icons/arrow-down.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.move-left::before {
  mask-image: url("icons/arrow-left.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.move-right::before {
  mask-image: url("icons/arrow-right.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.open-accordion::before {
  mask-image: url("icons/add-1--expand-cross-buttons-button-more-remove-plus-add-+-mathematics-math.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.open-menu::before {
  mask-image: url("icons/bullet-list--points-bullet-unordered-list-lists-bullets.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.search::before {
  mask-image: url("icons/magnifying-glass--glass-search-magnifying.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.send::before {
  mask-image: url("icons/paper-plane.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.facebook::before {
  mask-image: url("icons/facebook-1--media-facebook-social.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.instagram::before {
  mask-image: url("icons/instagram.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.pinterest::before {
  mask-image: url("icons/pinterest.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.tiktok::before {
  mask-image: url("icons/tiktok.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.add-to-cart::before {
  mask-image: url("icons/shopping-bag-plus.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.cart::before {
  mask-image: url("icons/shopping-bag-hand-bag-2--shopping-bag-purse-goods-item-products.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.discount::before {
  mask-image: url("icons/discount-percent-badge--shop-shops-stores-discount-coupon.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.in-cart::before {
  mask-image: url("icons/shopping-bag-check.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.personalization::before {
  mask-image: url("icons/pen-tool.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.remove-from-cart::before {
  mask-image: url("icons/shopping-bag-minus.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.shipping::before {
  mask-image: url("icons/transfer-van--van-shipping-delivery-transfer.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center; }

.icon.positive,
.icon-before.positive::before,
.icon-after.positive::after {
  background-color: var(--color-icon-success); }

.icon.error,
.icon-before.error::before,
.icon-after.error::after {
  background-color: var(--color-icon-error); }

.icon.warning,
.icon-before.warning::before,
.icon-after.warning::after {
  background-color: var(--color-icon-warning); }

.icon.info,
.icon-before.info::before,
.icon-after.info::after {
  background-color: var(--color-icon-info); }

.icon.inverse,
.icon-before.inverse::before,
.icon-after.inverse::after {
  background-color: var(--color-text-inverse); }

.lateral-navigation-buttons {
  justify-content: space-between;
  display: flex; }
  .lateral-navigation-buttons .button-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.5rem; }
    .lateral-navigation-buttons .button-wrapper.left {
      text-align: left; }
      .lateral-navigation-buttons .button-wrapper.left button {
        align-self: start; }
    .lateral-navigation-buttons .button-wrapper.right {
      text-align: right; }
      .lateral-navigation-buttons .button-wrapper.right button {
        align-self: end; }

.logo {
  background-image: url("brand/logo/light.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: var(--brand-logo-medium-width);
  height: var(--brand-logo-medium-height); }
  .logo.small {
    width: var(--brand-logo-small-width);
    height: var(--brand-logo-small-height); }
  .logo.large {
    width: var(--brand-logo-large-width);
    height: var(--brand-logo-large-height); }

.cl-dark .logo {
  background-image: url("brand/logo/dark.png");
  background-image: url("brand/logo/dark.svg"); }

.cl-light .logo {
  background-image: url("brand/logo/light.png");
  background-image: url("brand/logo/light.svg"); }

/* Default styles */
ul.nav-list {
  display: flex;
  justify-content: center;
  font-family: var(--brand-font-heading);
  flex-direction: row; }
  ul.nav-list li {
    display: flex;
    list-style: none; }

nav a {
  color: var(--color-text-primary);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem; }

#desktop-navigation li {
  position: relative; }
#desktop-navigation .sub-menu {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  position: absolute;
  top: calc(100% + 0.5rem);
  background: var(--color-background-primary-default);
  border: 1px solid;
  border-color: var(--color-border-neutral-default);
  width: Auto;
  z-index: 9999;
  padding: 0.5rem; }
  #desktop-navigation .sub-menu a {
    position: relative;
    text-decoration: none;
    text-transform: unset;
    padding: 0.5rem;
    width: 12rem; }
  #desktop-navigation .sub-menu a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    /* Adjust thickness as needed */
    background-color: var(--color-border-neutral-default);
    /* Adjust color as needed */
    transition: width 0.3s ease;
    /* Adjust duration and timing function as needed */
    box-shadow: rgba(0, 0, 0, 0.1) 0 0 1px; }
  #desktop-navigation .sub-menu a:hover::before {
    width: 100%; }
#desktop-navigation li:hover .sub-menu {
  opacity: 1;
  visibility: visible; }

/* Mobile styles */
#menu-toggle .close-menu {
  display: none; }

#menu-toggle .open-menu {
  display: inline-flex; }

#menu-toggle.menu-open .close-menu {
  display: inline-flex; }

#menu-toggle.menu-open .open-menu {
  display: none; }

#mobile-navigation {
  /* Default state: menu closed */
  /* Toggle button styles */
  /* Submenu items and icons */ }
  #mobile-navigation #mobile-menu {
    display: none;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    position: absolute;
    top: 100%;
    right: 0%;
    width: 100%;
    height: 100vh;
    background: var(--color-background-primary-default);
    border: 1px solid;
    border-color: var(--color-border-neutral-default);
    z-index: 9999;
    text-transform: uppercase; }
  #mobile-navigation #mobile-menu.menu-open {
    display: block;
    transition: max-height 0.3s ease-out; }
  #mobile-navigation ul {
    display: flex;
    flex-direction: column; }
  #mobile-navigation ul.nav-list {
    flex-direction: column;
    justify-content: left;
    font-family: var(--brand-font-heading); }
    #mobile-navigation ul.nav-list li {
      flex-direction: column; }
  #mobile-navigation li.menu-item a {
    text-align: left; }
  #mobile-navigation #menu-toggle {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: color 0.3s ease; }
  #mobile-navigation .toggle-text {
    margin-right: 8px; }
  #mobile-navigation .toggle-text::after {
    content: ''; }
  #mobile-navigation li.menu-item-has-children {
    position: relative; }
  #mobile-navigation .sub-menu {
    transition: max-height 0.3s ease-out;
    overflow: hidden; }
    #mobile-navigation .sub-menu a:before {
      content: " - "; }
  #mobile-navigation .menu-item-has-children > a {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between; }
  #mobile-navigation .menu-item-has-children > a:before {
    width: 1em;
    height: 1em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: currentColor;
    content: '';
    margin-left: .5rem;
    mask-image: url("icons/add-1--expand-cross-buttons-button-more-remove-plus-add-+-mathematics-math.svg");
    mask-size: cover; }
  #mobile-navigation .menu-item-has-children > a.open:before {
    mask-image: url("icons/subtract-1--button-delete-buttons-subtract-horizontal-remove-line-add-mathematics-math-minus.svg"); }
  #mobile-navigation .menu-item-has-children > a.open + .sub-menu {
    display: block; }
  #mobile-navigation .sub-menu li {
    position: relative;
    width: 100%; }
    #mobile-navigation .sub-menu li a {
      text-transform: none; }
  #mobile-navigation .sub-menu li ul {
    padding-left: 20px; }
  #mobile-navigation .woocommerce-cart {
    padding-top: 1rem;
    padding-left: 2rem;
    border-top: 1px solid;
    border-color: var(--color-border-neutral-default); }

.pricing-card {
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  gap: 2rem;
  justify-content: center;
  text-align: center; }

#site-banner {
  background: var(--color-background-primary-default);
  color: var(--color-text-primary);
  padding: 0.5rem; }
  #site-banner .container {
    display: flex;
    justify-content: center;
    gap: 2rem; }
  #site-banner .container * {
    margin-bottom: 0px; }
  #site-banner svg {
    height: 1rem;
    width: auto;
    align-self: center; }
  #site-banner .banner-message {
    display: flex;
    gap: 0.5rem; }

table {
  text-align: left;
  border-collapse: collapse;
  /* Remove spacing/border between cells */
  border-spacing: 0;
  /* Remove any additional spacing between cells */
  /* Add alternating row colors */ }
  table thead {
    background-color: var(--color-background-primary-default); }
  table td, table th {
    padding: 0.5rem; }
  table tr:nth-child(even) {
    background-color: var(--color-background-primary-lowered); }

.testimonial {
  display: flex;
  gap: 0.75rem; }
  .testimonial.stacked {
    flex-direction: column;
    text-align: center; }
  .testimonial .quotation-mark {
    color: var(--color-text-brand);
    font-size: 8rem;
    font-family: var(--brand-font-display);
    font-weight: var(--brand-font-weight-display);
    line-height: 6rem; }
    .testimonial .quotation-mark::before {
      content: "“";
      display: block;
      margin-bottom: -2rem; }

.thumbnail-gallery {
  max-width: 600px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: auto auto; }
  .thumbnail-gallery .selected-image {
    position: relative;
    width: 100%; }
  .thumbnail-gallery .selected-image img {
    width: 100%;
    height: auto;
    display: block;
    opacity: 0;
    transition: opacity 0.3s ease-in-out; }
  .thumbnail-gallery .selected-image img.show,
  .thumbnail-gallery .selected-image .show img {
    opacity: 1; }
  .thumbnail-gallery button.thumbnail-gallery-prev, .thumbnail-gallery button.thumbnail-gallery-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer; }
  .thumbnail-gallery button.thumbnail-gallery-prev {
    left: 0; }
  .thumbnail-gallery button.thumbnail-gallery-next {
    right: 0; }
  .thumbnail-gallery .thumbnails {
    display: flex;
    overflow: hidden;
    transition: scroll-left 0.3s ease-in-out;
    flex-direction: row;
    gap: 0.75rem; }
  .thumbnail-gallery div.thumbnails:before {
    display: none !important; }
  .thumbnail-gallery .thumbnail {
    width: 120px;
    height: 120px;
    object-fit: cover;
    cursor: pointer;
    transition: transform 0.3s; }
  .thumbnail-gallery .thumbnails img:hover {
    transform: scale(1.1); }

.widget {
  display: flex;
  flex-direction: column;
  gap: 0.5rem; }
  .widget .text_small {
    color: var(--color-text-tertiary); }

#wpadminbar ul, #wpadminbar ol {
  display: initial; }

/* Hide default Proceed to Checkout on mobile to favor custom FAB - Hide return to cart button on mobile */
@media (max-width: 767px) {
  .wc-block-components-checkout-return-to-cart-button,
  .wp-block-woocommerce-proceed-to-checkout-block {
    display: none !important; } }
/* Stem: WooCommerce Checkout Block Mobile Override */
@media (max-width: 768px) {
  /* Prevent the floating bar from hiding the last checkout input */
  .wc-block-checkout {
    padding-bottom: 100px !important; }

  .wc-block-checkout__actions_row {
    /* 1. Pin it to the bottom center */
    position: fixed !important;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 100% !important;
    z-index: 9999;
    box-sizing: border-box;
    /* 2. Mimic .custom-buttons-container and .shadow-surface */
    background-color: var(--color-background-primary-default);
    padding: 1rem;
    box-shadow: var(--shadow-level-surface-x) var(--shadow-level-surface-y) var(--shadow-level-surface-blur) var(--shadow-level-surface-spread) rgba(0, 0, 0, 0.15);
    /* 3. Layout */
    display: flex !important;
    justify-content: center;
    align-items: center;
    margin: 0 !important; }

  /* 4. Force the native block button to match .btn.primary */
  .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
    width: 100% !important;
    margin: 0 !important;
    /* .btn structural mimics */
    height: 2.5rem;
    border-radius: 2px;
    display: inline-flex;
    gap: 0.25rem;
    align-items: center;
    justify-content: center;
    padding-left: 1rem;
    padding-right: 1rem;
    border: 1px solid transparent;
    transition: border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    font-size: 1rem;
    /* .primary color mimics */
    color: var(--color-text-inverse) !important;
    background-color: var(--color-button-neutral-default) !important;
    border-color: var(--color-button-neutral-default) !important; }

  /* Inject the move-left icon after the text */
  .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button::after {
    content: '';
    display: inline-flex;
    width: 1em;
    /* Matches your theme's standard icon sizing */
    height: 1em;
    background-color: currentColor;
    /* Inherits the button's text color perfectly */
    -webkit-mask-image: url("icons/arrow-right.svg");
    mask-image: url("icons/arrow-right.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center; }

  /* 5. Hover state for the button */
  .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover {
    background-color: var(--color-button-neutral-hover) !important;
    border-color: var(--color-button-neutral-hover) !important;
    cursor: pointer; } }
.product-preview {
  text-align: center;
  overflow: hidden; }

.image-wrapper {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease-out; }

.product-image {
  width: 100%;
  height: auto;
  transition: transform 0.3s ease-out; }

.product-details {
  padding: 10px; }

.product-name {
  margin: 5px 0; }

.price {
  margin: 5px 0; }

.image-wrapper:hover .product-image {
  transform: scale(1.1);
  /* Adjust the zoom level as desired */ }

#printable-art-details {
  display: none; }

.print-size-download #printable-art-details {
  display: block; }

/* Remove alternating rows for variations table */
table.variations tr:nth-child(even) {
  background-color: intial; }

.woocommerce div.product form.cart {
  width: 100%; }

.woocommerce .quantity .qty {
  width: 100%; }

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
  width: 100%;
  float: none; }

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
  text-align: center; }

.woocommerce table.shop_table {
  border: 0px; }
  .woocommerce table.shop_table td.product-thumbnail {
    padding-left: 0px; }

.woocommerce-cart table.cart img {
  width: 6rem; }

.woocommerce-error, .woocommerce-info, .woocommerce-message {
  padding: 1rem;
  padding-left: 3rem;
  margin: 0 0 2em;
  position: relative;
  border: 1px solid transparent;
  list-style: none outside;
  width: auto;
  word-wrap: break-word; }

.woocommerce-error::after, .woocommerce-error::before, .woocommerce-info::after, .woocommerce-info::before, .woocommerce-message::after, .woocommerce-message::before {
  content: " ";
  display: table; }

.woocommerce-error::after, .woocommerce-info::after, .woocommerce-message::after {
  clear: both; }

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
  font-family: WooCommerce;
  content: "\e028";
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 1.5em; }

.woocommerce-error .button, .woocommerce-info .button, .woocommerce-message .button {
  float: right; }

.woocommerce-error li, .woocommerce-info li, .woocommerce-message li {
  list-style: none outside !important;
  padding-left: 0 !important;
  margin-left: 0 !important; }

.rtl.woocommerce .price_label, .rtl.woocommerce .price_label span {
  direction: ltr;
  unicode-bidi: embed; }

.woocommerce-message::before {
  content: "\e015"; }

.woocommerce-error::before {
  content: "\e016"; }

.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary,
.woocommerce-product-gallery__image {
  float: none;
  width: 100%;
  margin: 0px auto;
  text-align: center;
  margin-bottom: 4rem; }

.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images {
  float: none;
  margin: auto;
  margin-bottom: 4rem; }

.woocommerce div.product form.cart div.quantity {
  float: none;
  display: inline-block; }

.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
  padding: .25rem; }

.woocommerce div.product form.cart .variations td {
  text-align: left; }

.woocommerce div.product form.cart .variations th {
  text-align: right; }

.woocommerce-variation-price {
  padding-bottom: 1rem; }

.woocommerce table.cart .variation {
  text-align: left; }

.woocommerce div.product form.cart .button {
  float: none;
  display: inline-flex;
  vertical-align: baseline;
  align-items: center;
  height: 2.5rem; }

/* Default styling for larger screens */
.subtotal-wrapper {
  display: flex;
  justify-content: end; }

/* Media query for mobile devices */
@media (max-width: 768px) {
  .subtotal-wrapper {
    flex-direction: column;
    /* Stack items vertically on smaller screens */
    align-items: center;
    /* Align items to the center */
    text-align: center;
    /* Center-align text content */ }

  .btn-wrapper {
    margin-top: 10px;
    /* Adjust spacing between the total and the button on mobile */ } }
.woocommerce-store-notice, p.demo_store {
  display: none !important; }

.wcpa_wrap {
  max-width: 600px;
  margin: 0px auto; }
  .wcpa_wrap .wcpa_field_label {
    width: 20%;
    text-align: left; }
  .wcpa_wrap .wcpa_field_wrap input[type=text],
  .wcpa_wrap .wcpa_field_wrap input[type=url],
  .wcpa_wrap .wcpa_field_wrap input[type=date],
  .wcpa_wrap .wcpa_field_wrap input[type=time],
  .wcpa_wrap .wcpa_field_wrap input[type=number],
  .wcpa_wrap .wcpa_field_wrap input[type=email],
  .wcpa_wrap .wcpa_field_wrap input[type=tel],
  .wcpa_wrap .wcpa_field_wrap input[type=password],
  .wcpa_wrap .wcpa_field_wrap select,
  .wcpa_wrap .wcpa_field_wrap textarea {
    width: 80%; }

.wpcf7-form-control-wrap {
  display: flex;
  flex-direction: column; }

html {
  scroll-behavior: smooth; }

.fade-in {
  opacity: 0;
  transition: opacity 0.5s ease-in-out; }

.fade-in.active {
  opacity: 1; }

/* Add the delay in animation */
@keyframes fadeInAnimation {
  to {
    opacity: 1; } }
.fade-in {
  opacity: 0;
  animation: fadeInAnimation 0.5s ease-in-out forwards; }

/* Custom Image Hover Zoom Utility - Scoped to Product Previews */
.stem-hover-zoom {
  display: block;
  overflow: hidden;
  /* Crucial: Keeps the scaled image inside the border-radius */
  width: 100%; }

.stem-hover-zoom img {
  transition: transform 0.3s ease-in-out;
  will-change: transform;
  display: block;
  /* Removes the default inline-block bottom margin */
  width: 100%;
  height: 100%;
  object-fit: cover; }

/* Trigger the zoom on the image when the WooCommerce anchor tag is hovered */
.product-preview a:hover .stem-hover-zoom img {
  transform: scale(1.05); }

/* 1. Define Aspect Ratios */
/* 2. Container Classes */
.image-aspect-1-1 img {
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-5-4 img {
  aspect-ratio: 1.25;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-5-2 img {
  aspect-ratio: 2.5;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-4-5 img {
  aspect-ratio: 0.8;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-8-5 img {
  aspect-ratio: 1.6;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-4-3 img {
  aspect-ratio: 1.3333333333;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-8-3 img {
  aspect-ratio: 2.6666666667;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-3-4 img {
  aspect-ratio: 0.75;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-3-2 img {
  aspect-ratio: 1.5;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-3-1 img {
  aspect-ratio: 3;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-2-3 img {
  aspect-ratio: 0.6666666667;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-16-10 img {
  aspect-ratio: 1.6;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-16-5 img {
  aspect-ratio: 3.2;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-10-16 img {
  aspect-ratio: 0.625;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-golden-landscape img {
  aspect-ratio: 1.618;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-golden-half-landscape img {
  aspect-ratio: 0.809;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-golden-portrait img {
  aspect-ratio: 0.6180469716;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-golden-half-portrait img {
  aspect-ratio: 1.2360939431;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-16-9 img {
  aspect-ratio: 1.7777777778;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-32-9 img {
  aspect-ratio: 3.5555555556;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-9-16 img {
  aspect-ratio: 0.5625;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-9-8 img {
  aspect-ratio: 1.125;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-2-1 img {
  aspect-ratio: 2;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-4-1 img {
  aspect-ratio: 4;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-1-2 img {
  aspect-ratio: 0.5;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-21-9 img {
  aspect-ratio: 2.3333333333;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-14-3 img {
  aspect-ratio: 4.6666666667;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-9-21 img {
  aspect-ratio: 0.4285714286;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-6-7 img {
  aspect-ratio: 0.8571428571;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-a4-landscape img {
  aspect-ratio: 1.414;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-a4-half-landscape img {
  aspect-ratio: 0.707;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-a4-portrait img {
  aspect-ratio: 0.7072135785;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-a4-half-portrait img {
  aspect-ratio: 1.414427157;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-letter-landscape img {
  aspect-ratio: 1.2941176471;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-letter-half-landscape img {
  aspect-ratio: 2.5882352941;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-letter-portrait img {
  aspect-ratio: 0.7727272727;
  width: 100%;
  height: auto;
  object-fit: cover; }

.image-aspect-letter-half-portrait img {
  aspect-ratio: 0.3863636364;
  width: 100%;
  height: auto;
  object-fit: cover; }

/* 3. Individual Image Classes */
.aspect-1-1 {
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-5-4 {
  aspect-ratio: 1.25;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-5-2 {
  aspect-ratio: 2.5;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-4-5 {
  aspect-ratio: 0.8;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-8-5 {
  aspect-ratio: 1.6;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-4-3 {
  aspect-ratio: 1.3333333333;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-8-3 {
  aspect-ratio: 2.6666666667;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-3-4 {
  aspect-ratio: 0.75;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-3-2 {
  aspect-ratio: 1.5;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-3-1 {
  aspect-ratio: 3;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-2-3 {
  aspect-ratio: 0.6666666667;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-16-10 {
  aspect-ratio: 1.6;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-16-5 {
  aspect-ratio: 3.2;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-10-16 {
  aspect-ratio: 0.625;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-golden-landscape {
  aspect-ratio: 1.618;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-golden-half-landscape {
  aspect-ratio: 0.809;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-golden-portrait {
  aspect-ratio: 0.6180469716;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-golden-half-portrait {
  aspect-ratio: 1.2360939431;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-16-9 {
  aspect-ratio: 1.7777777778;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-32-9 {
  aspect-ratio: 3.5555555556;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-9-16 {
  aspect-ratio: 0.5625;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-9-8 {
  aspect-ratio: 1.125;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-2-1 {
  aspect-ratio: 2;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-4-1 {
  aspect-ratio: 4;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-1-2 {
  aspect-ratio: 0.5;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-21-9 {
  aspect-ratio: 2.3333333333;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-14-3 {
  aspect-ratio: 4.6666666667;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-9-21 {
  aspect-ratio: 0.4285714286;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-6-7 {
  aspect-ratio: 0.8571428571;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-a4-landscape {
  aspect-ratio: 1.414;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-a4-half-landscape {
  aspect-ratio: 0.707;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-a4-portrait {
  aspect-ratio: 0.7072135785;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-a4-half-portrait {
  aspect-ratio: 1.414427157;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-letter-landscape {
  aspect-ratio: 1.2941176471;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-letter-half-landscape {
  aspect-ratio: 2.5882352941;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-letter-portrait {
  aspect-ratio: 0.7727272727;
  width: 100%;
  height: auto;
  object-fit: cover; }

.aspect-letter-half-portrait {
  aspect-ratio: 0.3863636364;
  width: 100%;
  height: auto;
  object-fit: cover; }

.bg-image {
  position: relative; }
  .bg-image > * {
    z-index: 1;
    position: relative; }
  .bg-image::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 0;
    opacity: 1; }
  .bg-image.bottom::before {
    background-position: bottom; }
  .bg-image.center::before {
    background-position: center; }
  .bg-image.bg-bl-color:before {
    mix-blend-mode: color; }
  .bg-image.bg-bl-color-burn:before {
    mix-blend-mode: color-burn; }
  .bg-image.bg-bl-color-dodge:before {
    mix-blend-mode: color-dodge; }
  .bg-image.bg-bl-difference:before {
    mix-blend-mode: difference; }
  .bg-image.bg-bl-exclusion:before {
    mix-blend-mode: exclusion; }
  .bg-image.bg-bl-hue:before {
    mix-blend-mode: hue; }
  .bg-image.bg-bl-hard-light:before {
    mix-blend-mode: hard-light; }
  .bg-image.bg-bl-lighten:before {
    mix-blend-mode: lighten; }
  .bg-image.bg-bl-luminosity:before {
    mix-blend-mode: luminosity; }
  .bg-image.bg-bl-multiply:before {
    mix-blend-mode: multiply; }
  .bg-image.bg-bl-normal:before {
    mix-blend-mode: normal; }
  .bg-image.bg-bl-overlay:before {
    mix-blend-mode: overlay; }
  .bg-image.bg-bl-screen:before {
    mix-blend-mode: screen; }
  .bg-image.bg-bl-soft-light:before {
    mix-blend-mode: soft-light; }
  .bg-image.bg-bl-saturation:before {
    mix-blend-mode: saturation; }
  .bg-image.bg-op-5:before {
    opacity: 5%; }
  .bg-image.bg-op-10:before {
    opacity: 10%; }
  .bg-image.bg-op-20:before {
    opacity: 20%; }
  .bg-image.bg-op-30:before {
    opacity: 30%; }
  .bg-image.bg-op-40:before {
    opacity: 40%; }
  .bg-image.bg-op-50:before {
    opacity: 50%; }
  .bg-image.bg-op-60:before {
    opacity: 60%; }
  .bg-image.bg-op-70:before {
    opacity: 70%; }
  .bg-image.bg-op-80:before {
    opacity: 80%; }
  .bg-image.bg-op-90:before {
    opacity: 90%; }
  .bg-image.about-1:before {
    background-image: url("brand/images/about/1.jpg"); }
  .bg-image.about-2:before {
    background-image: url("brand/images/about/2.jpg"); }
  .bg-image.about-3:before {
    background-image: url("brand/images/about/3.jpg"); }
  .bg-image.about-4:before {
    background-image: url("brand/images/about/4.jpg"); }
  .bg-image.banner-1:before {
    background-image: url("brand/images/banner/1.jpg"); }
  .bg-image.banner-2:before {
    background-image: url("brand/images/banner/2.jpg"); }
  .bg-image.banner-3:before {
    background-image: url("brand/images/banner/3.jpg"); }
  .bg-image.banner-4:before {
    background-image: url("brand/images/banner/4.jpg"); }
  .bg-image.service-1:before {
    background-image: url("brand/images/services/1.jpg"); }
  .bg-image.service-2:before {
    background-image: url("brand/images/services/2.jpg"); }
  .bg-image.service-3:before {
    background-image: url("brand/images/services/3.jpg"); }
  .bg-image.service-4:before {
    background-image: url("brand/images/services/4.jpg"); }

/* --------------------------------------------------------------------------
 * Background Position Utilities
 * -------------------------------------------------------------------------- */
.bg-pos-top,
.bg-pos-top::before {
  background-position: top !important; }

.bg-pos-bottom,
.bg-pos-bottom::before {
  background-position: bottom !important; }

.bg-pos-center,
.bg-pos-center::before {
  background-position: center !important; }

.bg-pos-left,
.bg-pos-left::before {
  background-position: left !important; }

.bg-pos-right,
.bg-pos-right::before {
  background-position: right !important; }

.bg-pos-top-left,
.bg-pos-top-left::before {
  background-position: top left !important; }

.bg-pos-top-right,
.bg-pos-top-right::before {
  background-position: top right !important; }

.bg-pos-bottom-left,
.bg-pos-bottom-left::before {
  background-position: bottom left !important; }

.bg-pos-bottom-right,
.bg-pos-bottom-right::before {
  background-position: bottom right !important; }

@media (max-width: 767px) {
  .bg-pos-top-mobile,
  .bg-pos-top-mobile::before {
    background-position: top !important; }

  .bg-pos-bottom-mobile,
  .bg-pos-bottom-mobile::before {
    background-position: bottom !important; }

  .bg-pos-center-mobile,
  .bg-pos-center-mobile::before {
    background-position: center !important; }

  .bg-pos-left-mobile,
  .bg-pos-left-mobile::before {
    background-position: left !important; }

  .bg-pos-right-mobile,
  .bg-pos-right-mobile::before {
    background-position: right !important; }

  .bg-pos-top-left-mobile,
  .bg-pos-top-left-mobile::before {
    background-position: top left !important; }

  .bg-pos-top-right-mobile,
  .bg-pos-top-right-mobile::before {
    background-position: top right !important; }

  .bg-pos-bottom-left-mobile,
  .bg-pos-bottom-left-mobile::before {
    background-position: bottom left !important; }

  .bg-pos-bottom-right-mobile,
  .bg-pos-bottom-right-mobile::before {
    background-position: bottom right !important; } }
body {
  background-color: var(--color-background-primary-raised);
  color: var(--color-text-primary); }

.container {
  max-width: 100%;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
  /* Ensures padding is included in the width */ }
  .container.full {
    max-width: 100%;
    /* Full width on all devices */ }
  .container.small {
    max-width: 400px; }

@media (min-width: 768px) {
  .container.medium {
    max-width: 800px; } }
@media (min-width: 1024px) {
  .container {
    max-width: 1200px; }
    .container.large {
      max-width: 1200px; }
    .container.x-large {
      max-width: 1600px; } }
@media (min-width: 1440px) {
  .container {
    max-width: 1200px; }
    .container.x-large {
      max-width: 1600px; } }
.stem-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 24px; }
  .stem-row > * {
    flex-basis: 100%; }
  .stem-row.grid > * {
    flex-grow: 0 !important; }

.stem-row.col-422 > *, .col-422 {
  flex: 1 1 calc(50% - 24px); }

@media (min-width: 768px) {
  .stem-row.col-221 > *, .col-221,
  .stem-row.col-421 > *, .col-421,
  .stem-row.col-422 > *, .col-422 {
    flex: 1 1 calc(50% - 24px); }

  .stem-row.col-331 > *, .col-331 {
    flex: 1 1 calc(33.33% - 24px); } }
@media (min-width: 1024px) {
  .stem-row.col-211 > *, .col-211,
  .stem-row.col-221 > *, .col-221 {
    flex: 1 1 calc(50% - 24px); }

  .stem-row.col-311 > *, .col-311,
  .stem-row.col-331 > *, .col-331 {
    flex: 1 1 calc(33.33% - 24px); }

  .stem-row.col-411 > *, .col-411,
  .stem-row.col-421 > *, .col-421,
  .stem-row.col-422 > *, .col-422 {
    flex: 1 1 calc(25% - 24px); } }
.visible-on-desktop-xl {
  display: none; }
  @media (min-width: 1440px) {
    .visible-on-desktop-xl {
      display: block; } }
.visible-on-desktop {
  display: none; }
  @media (min-width: 1024px) and (max-width: 1439px) {
    .visible-on-desktop {
      display: block; } }
.visible-on-tablet {
  display: none; }
  @media (min-width: 768px) and (max-width: 1023px) {
    .visible-on-tablet {
      display: block; } }
.visible-on-mobile {
  display: none; }
  @media (max-width: 767px) {
    .visible-on-mobile {
      display: block; } }
.visible-below-desktop-xl {
  display: none; }
  @media (max-width: 1439px) {
    .visible-below-desktop-xl {
      display: block; } }
.visible-below-desktop {
  display: none; }
  @media (max-width: 1023px) {
    .visible-below-desktop {
      display: block; } }
.visible-above-desktop {
  display: none; }
  @media (min-width: 1440px) {
    .visible-above-desktop {
      display: block; } }
.visible-above-tablet {
  display: none; }
  @media (min-width: 1024px) {
    .visible-above-tablet {
      display: block; } }
.visible-above-mobile {
  display: none; }
  @media (min-width: 768px) {
    .visible-above-mobile {
      display: block; } }

.flex {
  display: flex;
  gap: 24px; }

.inline-flex {
  display: inline-flex; }

.flex-direction-row {
  display: flex;
  gap: 24px;
  flex-direction: row; }

.flex-direction-row-reverse {
  display: flex;
  gap: 24px;
  flex-direction: row-reverse; }

.flex-direction-col {
  display: flex;
  gap: 24px;
  flex-direction: column; }

.flex-direction-col-reverse {
  display: flex;
  gap: 24px;
  flex-direction: column-reverse; }

.flex-wrap-wrap {
  display: flex;
  gap: 24px;
  flex-wrap: wrap; }

.flex-wrap-wrap-reverse {
  display: flex;
  gap: 24px;
  flex-wrap: wrap-reverse; }

.flex-wrap-nowrap {
  display: flex;
  gap: 24px;
  flex-wrap: nowrap; }

.justify-content-start {
  display: flex;
  gap: 24px;
  justify-content: flex-start; }

.justify-content-end {
  display: flex;
  gap: 24px;
  justify-content: flex-end; }

.justify-content-center {
  display: flex;
  gap: 24px;
  justify-content: center; }

.justify-content-between {
  display: flex;
  gap: 24px;
  justify-content: space-between; }

.justify-content-around {
  display: flex;
  gap: 24px;
  justify-content: space-around; }

.justify-content-evenly {
  display: flex;
  gap: 24px;
  justify-content: space-evenly; }

.align-items-start {
  display: flex;
  gap: 24px;
  align-items: flex-start; }

.align-items-end {
  display: flex;
  gap: 24px;
  align-items: flex-end; }

.align-items-center {
  display: flex;
  gap: 24px;
  align-items: center; }

.align-items-baseline {
  display: flex;
  gap: 24px;
  align-items: baseline; }

.align-items-stretch {
  display: flex;
  gap: 24px;
  align-items: stretch; }

.align-content-start {
  display: flex;
  gap: 24px;
  align-content: flex-start; }

.align-content-end {
  display: flex;
  gap: 24px;
  align-content: flex-end; }

.align-content-center {
  display: flex;
  gap: 24px;
  align-content: center; }

.align-content-between {
  display: flex;
  gap: 24px;
  align-content: space-between; }

.align-content-around {
  display: flex;
  gap: 24px;
  align-content: space-around; }

.align-content-evenly {
  display: flex;
  gap: 24px;
  align-content: space-evenly; }

.align-self-auto {
  display: flex;
  gap: 24px;
  align-self: auto; }

.align-self-start {
  display: flex;
  gap: 24px;
  align-self: flex-start; }

.align-self-end {
  display: flex;
  gap: 24px;
  align-self: flex-end; }

.align-self-center {
  display: flex;
  gap: 24px;
  align-self: center; }

.align-self-baseline {
  display: flex;
  gap: 24px;
  align-self: baseline; }

.align-self-stretch {
  display: flex;
  gap: 24px;
  align-self: stretch; }

.flex-grow-0 {
  flex-grow: 0; }

.flex-grow {
  flex-grow: 1; }

.flex-shrink-0 {
  flex-shrink: 0; }

.flex-shrink {
  flex-shrink: 1; }

.flex-basis-auto {
  flex-basis: auto; }

.flex-basis-full {
  flex-basis: 100%; }

.flex-basis-half {
  flex-basis: 50%; }

.flex-basis-third {
  flex-basis: 33.3333%; }

.flex-basis-quarter {
  flex-basis: 25%; }

/* --------------------------------------------------------------------------
 * Layout & Sizing Utilities (SCSS)
 * -------------------------------------------------------------------------- */
.w-25 {
  width: 25%; }

.h-25 {
  height: 25%; }

.w-50 {
  width: 50%; }

.h-50 {
  height: 50%; }

.w-75 {
  width: 75%; }

.h-75 {
  height: 75%; }

.w-100 {
  width: 100%; }

.h-100 {
  height: 100%; }

.w-auto {
  width: auto; }

.h-auto {
  height: auto; }

.min-h-screen {
  min-height: 100vh; }

.d-none {
  display: none !important; }

.d-block {
  display: block ; }

.d-inline-block {
  display: inline-block ; }

.d-flex {
  display: flex ; }

.pos-relative {
  position: relative; }

.pos-absolute {
  position: absolute; }

.pos-fixed {
  position: fixed; }

.pos-sticky {
  position: sticky; }

.pos-sticky {
  top: 0; }

.overflow-hidden {
  overflow: hidden; }

.overflow-auto {
  overflow: auto; }

.z-0 {
  z-index: 0; }

.z-10 {
  z-index: 10; }

.z-50 {
  z-index: 50; }

/* --------------------------------------------------------------------------
 * Percentage Max-Width Utilities
 * -------------------------------------------------------------------------- */
.mw-10 {
  max-width: 10%; }

.mw-20 {
  max-width: 20%; }

.mw-30 {
  max-width: 30%; }

.mw-40 {
  max-width: 40%; }

.mw-50 {
  max-width: 50%; }

.mw-60 {
  max-width: 60%; }

.mw-70 {
  max-width: 70%; }

.mw-80 {
  max-width: 80%; }

.mw-90 {
  max-width: 90%; }

.mw-100 {
  max-width: 100%; }

/* Image Object Fit Utilities */
.object-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Crops the image to fit the new flex-grown box without distorting */ }

.object-contain {
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* Scales the image until it hits the edges, leaving letterboxes */ }

body {
  font-family: var(--brand-font-body);
  font-family: var(--brand-font-body);
  font-weight: var(--brand-font-weight-body);
  letter-spacing: var(--brand-font-letter-spacing-body);
  line-height: 1.5rem; }

.Quote {
  font-size: 1rem;
  font-family: var(--brand-font-body);
  font-weight: 300;
  letter-spacing: var(--brand-font-letter-spacing-body);
  line-height: 1.5rem; }

h1.display, .display_x-large {
  font-size: 4rem;
  font-family: var(--brand-font-display);
  font-weight: var(--brand-font-weight-display);
  line-height: 5.5rem;
  letter-spacing: var(--brand-font-letter-spacing-display); }
  @media (max-width: 1023px) {
    h1.display, .display_x-large {
      font-size: 2rem;
      line-height: 2.875rem; } }

h2.display, .display_large {
  font-size: 3rem;
  font-family: var(--brand-font-display);
  font-weight: var(--brand-font-weight-display);
  line-height: 4.125rem;
  letter-spacing: var(--brand-font-letter-spacing-display); }
  @media (max-width: 1023px) {
    h2.display, .display_large {
      font-size: 1.75rem;
      line-height: 2.5rem; } }

h1, .heading_x-large {
  font-size: 4rem;
  font-family: var(--brand-font-heading);
  font-weight: var(--brand-font-weight-heading);
  letter-spacing: var(--brand-font-letter-spacing-heading);
  line-height: 5.5rem; }
  @media (max-width: 1023px) {
    h1, .heading_x-large {
      font-size: 2rem;
      line-height: 2.875rem; } }

h2, .heading_large {
  font-size: 3rem;
  font-family: var(--brand-font-heading);
  font-weight: var(--brand-font-weight-heading);
  letter-spacing: var(--brand-font-letter-spacing-heading);
  line-height: 4.125rem; }
  @media (max-width: 1023px) {
    h2, .heading_large {
      font-size: 1.75rem;
      line-height: 2.5rem; } }

h3, .heading_medium {
  font-size: 2.25rem;
  font-family: var(--brand-font-heading);
  font-weight: var(--brand-font-weight-heading);
  letter-spacing: var(--brand-font-letter-spacing-heading);
  line-height: 3.125rem; }
  @media (max-width: 1023px) {
    h3, .heading_medium {
      font-size: 1.5rem;
      line-height: 2.125rem; } }

h4, .heading_small {
  font-size: 1.5rem;
  font-family: var(--brand-font-heading);
  font-weight: var(--brand-font-weight-heading);
  letter-spacing: var(--brand-font-letter-spacing-heading);
  line-height: 2rem;
  text-transform: uppercase; }
  @media (max-width: 1023px) {
    h4, .heading_small {
      font-size: 1.25rem;
      line-height: 1.75rem; } }

h5, .heading_x-small {
  font-size: 1.25rem;
  font-family: var(--brand-font-heading);
  font-weight: var(--brand-font-weight-heading);
  letter-spacing: var(--brand-font-letter-spacing-heading);
  line-height: 1.875rem; }
  @media (max-width: 1023px) {
    h5, .heading_x-small {
      font-size: 1.125rem;
      line-height: 1.625rem; } }

.body_large, .testimonial .person .name {
  font-size: 1.25rem;
  font-family: var(--brand-font-body);
  font-weight: var(--brand-font-weight-body);
  letter-spacing: var(--brand-font-letter-spacing-body);
  line-height: 1.875rem; }
  @media (max-width: 1023px) {
    .body_large, .testimonial .person .name {
      font-size: 1.125rem;
      line-height: 1.625rem; } }

.body_medium, input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="submit"],
textarea,
select,
span.select2-selection__rendered {
  font-size: 1rem;
  font-family: var(--brand-font-body);
  font-weight: var(--brand-font-weight-body);
  letter-spacing: var(--brand-font-letter-spacing-body);
  line-height: 1.5rem; }

.body_small, #breadcrumbs, footer, nav a, .testimonial .person .details {
  font-size: 0.875rem;
  font-family: var(--brand-font-body);
  font-weight: var(--brand-font-weight-body);
  letter-spacing: var(--brand-font-letter-spacing-body);
  line-height: 1.25rem; }

.smallcaps_large {
  font-size: 1.25rem;
  font-family: var(--brand-font-body);
  font-weight: 400;
  letter-spacing: var(--brand-font-letter-spacing-body);
  line-height: 1.875rem;
  text-decoration: uppercase; }
  @media (max-width: 1023px) {
    .smallcaps_large {
      font-size: 1.125rem;
      line-height: 1.625rem; } }

.smallcaps_medium, .article-meta {
  font-size: 1rem;
  font-family: var(--brand-font-body);
  font-weight: 400;
  letter-spacing: var(--brand-font-letter-spacing-body);
  line-height: 1.5rem;
  text-decoration: uppercase; }

.smallcaps_small {
  font-size: 0.875rem;
  font-family: var(--brand-font-body);
  font-weight: 400;
  letter-spacing: var(--brand-font-letter-spacing-body);
  line-height: 1.25rem;
  text-decoration: uppercase; }

.forms_placeholder, input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="password"]::placeholder,
input[type="number"]::placeholder,
input[type="tel"]::placeholder,
input[type="url"]::placeholder,
textarea::placeholder,
select::placeholder, ::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder {
  font-size: 1rem;
  font-family: var(--brand-font-body);
  font-weight: 300;
  line-height: 1.5rem;
  letter-spacing: var(--brand-font-letter-spacing-body); }

.forms_label, label {
  font-size: 1rem;
  font-family: var(--brand-font-body);
  font-weight: 400;
  line-height: 1.5rem;
  letter-spacing: var(--brand-font-letter-spacing-body); }

.button_medium {
  font-size: 1rem;
  font-family: var(--brand-font-body);
  font-weight: 400;
  letter-spacing: var(--brand-font-letter-spacing-body);
  line-height: 1.5rem; }

.button_small {
  font-size: 0.875rem;
  font-family: var(--brand-font-body);
  font-weight: 400;
  letter-spacing: var(--brand-font-letter-spacing-body);
  line-height: 1.25rem; }

.shadow__focus {
  box-shadow: 0px 0px 0px #05091c; }

.shadow__level__base {
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0); }

.shadow__level__surface {
  box-shadow: 0px 4px 8px rgba(5, 9, 28, 0.15); }

.shadow__level__overlay {
  box-shadow: 0px 6px 16px rgba(5, 9, 28, 0.15); }

.text-left {
  text-align: left; }

.text-center {
  text-align: center; }

.text-right {
  text-align: right; }

.text-justify {
  text-align: justify; }

.text-top {
  vertical-align: top; }

.text-middle {
  vertical-align: middle; }

.text-bottom {
  vertical-align: bottom; }

.text-baseline {
  vertical-align: baseline; }

.text-primary {
  color: var(--color-text-primary); }

.text-secondary {
  color: var(--color-text-secondary); }

.text-tertiary {
  color: var(--color-text-tertiary); }

.text-link {
  color: var(--color-text-link); }

.text-inverse {
  color: var(--color-text-inverse); }

.text-error {
  color: var(--color-text-error); }

.text-info {
  color: var(--color-text-info); }

.text-warning {
  color: var(--color-text-warning); }

.text-success {
  color: var(--color-text-success); }

.text-brand {
  color: var(--color-text-brand); }

.has-seperator:after {
  content: "";
  display: block;
  /* Ensures width and height apply */
  background-color: var(--color-background-brand);
  /* Use background-color instead of color */
  width: 6rem;
  height: 0.2rem;
  border-radius: 3000px;
  margin-top: 2rem;
  /* Optional: adds spacing below the heading */ }

ul, ol {
  display: flex;
  flex-direction: column;
  gap: 0.5rem; }
  ul.inline, ol.inline {
    flex-direction: row; }

#content p {
  padding-bottom: 1.5rem; }

blockquote {
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-color: var(--color-border-neutral-default);
  padding: 1.5rem;
  font-style: italic; }

/*# sourceMappingURL=style.css.map */
