@charset "UTF-8";
/*
Theme Name: SWEET BONES 2
Theme URI: https://sweetbonescompany.com/
Author: New Best Friend
Description: Custom theme by NBF
Text Domain: sweet-bones
Version: 6.4.2
*/
/* ---------- Import bootstrap comps ---------- */
/* ---------- Utils ---------- */
/*
 * Normalize - CSS resets
 */
*,
*:after,
*:before {
  box-sizing: border-box;
}

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1, h2, h3, h4, h5, h6 {
  margin: 0px;
  margin-block-start: 0px;
  margin-block-end: 0px;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/**
 * Mixins
 *
 * Snippets of reusable CSS to develop faster and keep code readable
 */
/* Consistent transition speed */
.clearfix {
  clear: fix;
}

/* Positioning mixin */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOutHalf {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeInOut {
  0% {
    opacity: 0;
    transform: scale(0.95);
  }
  20% {
    opacity: 1;
    transform: scale(1.1);
  }
  33% {
    opacity: 1;
    transform: scale(1.1);
  }
  53% {
    opacity: 0;
    transform: scale(1.25);
  }
  100% {
    opacity: 0;
    transform: scale(1.25);
  }
}
@keyframes fadeInScaleDown {
  0% {
    opacity: 0;
    transform: scale(1.5, 1.5);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@keyframes scaleDown {
  0% {
    opacity: 0;
    transform: scale(1.5, 1.5);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes hide {
  100% {
    opacity: 0;
    transform: scale(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes pageOutBottom {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(100%);
  }
}
@keyframes pageInTop {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0%);
  }
}
@keyframes pageInOutBottom {
  0% {
    transform: translateY(0%);
  }
  50% {
    transform: translateY(0%);
  }
  60% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  0%, 20%, 50%, 80%, 100% {
    opacity: 1;
  }
  40% {
    opacity: 0.7;
  }
  60% {
    opacity: 0.9;
  }
}
@keyframes shift-in-up {
  0% {
    opacity: 0;
    transform: translate3d(0, 25%, 0);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
.animation-loop {
  /* loop */
}
.animation-loop > li:nth-of-type(1) {
  animation: shift-in-up 0.6s ease-out 0.1s both;
}
.animation-loop > li:nth-of-type(2) {
  animation: shift-in-up 0.6s ease-out 0.3s both;
}
.animation-loop > li:nth-of-type(3) {
  animation: shift-in-up 0.6s ease-out 0.5s both;
}
.animation-loop > li:nth-of-type(4) {
  animation: shift-in-up 0.6s ease-out 0.7s both;
}
.animation-loop > li:nth-of-type(5) {
  animation: shift-in-up 0.6s ease-out 0.9s both;
}
.animation-loop > li:nth-of-type(6) {
  animation: shift-in-up 0.6s ease-out 1.1s both;
}
.animation-loop > li:nth-of-type(7) {
  animation: shift-in-up 0.6s ease-out 1.3s both;
}
.animation-loop > li:nth-of-type(8) {
  animation: shift-in-up 0.6s ease-out 1.5s both;
}
.animation-loop > li:nth-of-type(9) {
  animation: shift-in-up 0.6s ease-out 1.7s both;
}
.animation-loop > li:nth-of-type(10) {
  animation: shift-in-up 0.6s ease-out 1.9s both;
}

@keyframes down-out {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(100%) rotate(-5deg);
  }
}
@keyframes bottom-up {
  0% {
    opacity: 0;
    transform: translateY(100%) rotate(-5deg);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes rotate-in {
  0% {
    transform: rotate(90deg);
  }
  100% {
    transform: rotate(0);
  }
}
@keyframes rotate-out {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-90deg);
  }
}
@keyframes package-timer {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes scaleInX {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes scaleInY {
  0% {
    transform: scaleY(0);
  }
  100% {
    transform: scaleY(1);
  }
}
@keyframes added {
  50% {
    background-color: green;
  }
}
/* ---------- Core ---------- */
/* ------
Typography
-------- */
html {
  font-size: 16px;
}
@media all and (min-width: 782px) {
  html {
    font-size: 24px;
  }
}
@font-face {
  font-family: "brotherbold";
  src: url("assets/fonts/brother/brother-bold-webfont.woff2") format("woff2"), url("assets/fonts/brother/brother-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
body {
  --spacerSm: 0.5rem;
  --spacerMd: 1rem;
  --spacerLg: 1.5rem;
  --spacerXl: 3rem;
  --spacerXxl: 6rem;
  --navHeight: 192px;
  --font-size-xs: calc(1rem * 0.6666666667);
  --font-size-sm: 1rem;
  --font-size-md: calc(1rem * 1.33);
  --font-size-lg: calc(1rem * 2);
  --font-size-xl: calc(1rem * 3);
  --font-size-xxl: clamp(45px, 13vw, 80px);
  --wp--preset--font-size--x-small: var(--font-size-xs);
  --wp--preset--font-size--small: var(--font-size-sm);
  --wp--preset--font-size--medium: var(--font-size-md);
  --wp--preset--font-size--large: var(--font-size-lg);
  --wp--preset--font-size--x-large: var(--font-size-xl);
  --wp--preset--font-size--xx-large: var(--font-size-xxl);
  --content-width: 1183px;
  --wp--preset--color--focus: yellow;
  --wp--preset--color--error: red;
  --wp--preset--color--notice: #f0f8ff;
  --wp--preset--color--success: #d9f9f9;
  --wp--preset--color--grey: #e4e5e7;
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--font-size-sm);
}
@media (max-width: 782px) {
  body {
    --navHeight: 140px;
    --font-size-xs: 1rem;
    --font-size-sm: 1.2rem;
    --font-size-md: 1.5rem;
    --font-size-lg: 2rem;
    --font-size-xl: 3rem;
    --spacerXl: 2rem;
    --spacerXxl: 3rem;
  }
}

:is(h1, h2, h3, h4) {
  line-height: 1.2;
}
* + :is(h1, h2, h3, h4) {
  margin-top: var(--spacerXl);
}

h1, h2 {
  font-size: var(--font-size-xl);
}
h1:not([class*=-font-size]), h2:not([class*=-font-size]) {
  line-height: 1;
}

h3 {
  font-size: var(--font-size-md);
}

strong {
  font-weight: 600;
}

p {
  margin: 0;
}
p:not([class*=-font-size]) {
  line-height: 1.375;
}
* + p {
  margin-top: var(--spacerLg);
}
p + p {
  margin-top: var(--spacerMd);
}

.no-list {
  margin: 0;
  padding: 0;
}
.no-list li {
  background: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.sr-text {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  margin: -1px;
  padding: 0;
  width: 1px;
  height: 1px;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0s !important;
    transition-duration: 0s !important;
  }
}
.has-text-align-center {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.is-style-short-width {
  max-width: 19rem !important;
}

.is-style-medium-width {
  max-width: 25rem !important;
}

.is-style-wide-width {
  max-width: 32.5rem !important;
}
.is-style-wide-width.has-x-large-font-size {
  max-width: 37.5rem !important;
}

.is-style-hide {
  display: none !important;
}

p.has-background {
  padding: var(--spacerLg) var(--spacerMd) var(--spacerMd);
}

.wp-block-buttons {
  gap: 0.5em;
}

hr.wp-block-separator {
  position: relative;
  border-bottom-width: 1px;
}

hr + :is(h1, h2, h3, h4, h5) + hr {
  margin-top: var(--spacerXl);
}

code {
  background: white;
  max-width: 550px;
  overflow: hidden;
  overflow-x: auto;
}

.scroll-arrow {
  display: flex;
  max-width: fit-content;
  width: 100%;
  position: sticky !important;
  bottom: var(--spacerXl);
  z-index: 99;
  margin-top: var(--spacerXl);
  margin-left: auto;
  margin-right: auto;
  max-width: var(--content-width);
  display: flex;
  justify-content: flex-end;
}
.scroll-arrow a {
  width: 58px;
  height: 58px;
  display: block;
  border-radius: 100%;
  background: var(--wp--preset--color--yellow) no-repeat center/33%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20.526' height='22.239' viewBox='0 0 20.526 22.239'%3E%3Cg transform='translate(1.414 1)'%3E%3Cpath d='M1120,625.384v20.239' transform='translate(-1111.151 -625.384)' fill='none' stroke='%23000' stroke-linecap='round' stroke-width='2'/%3E%3Cpath d='M1114.212,663.814l-8.849,8.849-8.849-8.849' transform='translate(-1096.515 -652.423)' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E%0A");
  box-shadow: 0 0 100px var(--wp--preset--color--black);
  animation: bounce 3.5s 0s 5 normal ease-in-out both;
}
.scroll-arrow a:hover {
  animation-play-state: paused;
}

/* ---------------------------------
Base link styles
---------------------------------- */
/*/
 * Global link styles
/*/
a {
  text-decoration: none !important;
  transition: all 0.4s ease-out !important;
}
a:hover, a:focus {
  transition: all 0.1s !important;
}
a:hover {
  opacity: 0.6;
}
a:focus-visible {
  outline: 3px solid var(--wp--preset--color--focus);
  box-shadow: none;
}

button:focus-visible, a:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--wp--preset--color--focus) !important;
  box-shadow: none;
}

#main p a:not(.button):not(.wp-block-social-link-anchor), #main li a:not(.button):not(.wp-block-social-link-anchor) {
  color: inherit;
  position: relative;
  border-bottom: 1px solid;
}

.wp-block-buttons > .wp-block-button {
  display: flex !important;
}
* + .wp-block-buttons {
  margin-top: var(--spacerLg);
}

.wp-block-button .wp-block-button__link {
  transition: all 0.4s ease-out !important;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 100%;
  padding: 16px 24px 14px;
  position: relative;
  opacity: 1 !important;
  z-index: 1;
}
.wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:focus {
  transition: all 0.1s !important;
}
.wp-block-button .wp-block-button__link:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-color: var(--wp--preset--color--burgandy);
  transition: all 0.2s ease-out;
}
@media (max-width: 782px) {
  .wp-block-button .wp-block-button__link {
    font-size: 15px !important;
  }
}
.wp-block-button .wp-block-button__link:hover {
  opacity: 0.6;
  color: var(--wp--preset--color--teal) !important;
}
.wp-block-button .wp-block-button__link:hover:before {
  top: auto;
  top: 0;
  height: 100%;
}
.wp-block-button .wp-block-button__link:focus {
  overflow: visible !important;
}
.wp-block-button .wp-block-button__link:focus-visible {
  outline: 3px solid var(--wp--preset--color--focus) !important;
  overflow: visible !important;
  box-shadow: none;
}

.wp-block-file:has(.wp-block-file__button) .wp-block-file__button, :is(button:not(.fancybox-button),
.button,
[type=submit]) {
  border: 0;
  background: var(--wp--preset--color--yellow);
  color: var(--wp--preset--color--black);
  padding: 16px 24px 14px;
  border-radius: 0px;
  font-weight: bold;
  font-size: 14px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 100%;
  cursor: pointer;
  transition: all 0.4s ease-out !important;
  border-radius: 100px;
  line-height: 1;
}
.wp-block-file:has(.wp-block-file__button) .wp-block-file__button:hover, :hover:is(button:not(.fancybox-button),
.button,
[type=submit]), .wp-block-file:has(.wp-block-file__button) .wp-block-file__button:focus, :focus:is(button:not(.fancybox-button),
.button,
[type=submit]) {
  transition: all 0.1s !important;
}
.wp-block-file:has(.wp-block-file__button) .wp-block-file__button:focus-visible, :focus-visible:is(button:not(.fancybox-button),
.button,
[type=submit]) {
  outline: 3px solid var(--wp--preset--color--focus) !important;
  overflow: visible !important;
  box-shadow: none;
}
@media (max-width: 782px) {
  .wp-block-file:has(.wp-block-file__button) .wp-block-file__button, :is(button:not(.fancybox-button),
  .button,
  [type=submit]) {
    font-size: 12px !important;
  }
}

.wp-block-button.is-style-outline .wp-block-button__link {
  border-width: 1px !important;
  border-color: var(--wp--preset--color--black);
}

.wp-block-button.is-style-arrow-lg a {
  display: inline-flex;
  align-items: center;
  gap: 20px;
}
.wp-block-button.is-style-arrow-lg a:after {
  display: inline-block;
  position: relative;
  top: 50%;
  translate: 0 -50%;
  line-height: 1;
  content: "";
  background: white no-repeat center/50%;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14.578" height="14.714" viewBox="0 0 14.578 14.714"><path id="Path_103" data-name="Path 103" d="M14.176,7.966H.975M7.489,1.3l6.65,6.65L7.489,14.6" transform="translate(-0.975 -0.591)" fill="none" stroke="%23000" stroke-width="2"/></svg>');
  border-radius: 100%;
  aspect-ratio: 1/1;
  width: 2em;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.4s ease-out;
  border: 1px solid var(--wp--preset--color--grey);
  border-radius: 100%;
}
.wp-block-button.is-style-arrow-lg:hover a {
  opacity: 1;
}
.wp-block-button.is-style-arrow-lg:hover a:after {
  translate: -5px -50%;
  transition: 0.1s;
}
.wp-block-button.is-style-arrow-sm a {
  background: transparent !important;
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 10px;
}
.wp-block-button.is-style-arrow-sm a:after {
  display: inline-block;
  position: relative;
  top: 50%;
  translate: -16px -50%;
  line-height: 1;
  content: "";
  background: var(--wp--preset--color--yellow) no-repeat center/50%;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14.578" height="14.714" viewBox="0 0 14.578 14.714"><path id="Path_103" data-name="Path 103" d="M14.176,7.966H.975M7.489,1.3l6.65,6.65L7.489,14.6" transform="translate(-0.975 -0.591)" fill="none" stroke="%23000" stroke-width="2"/></svg>');
  border-radius: 100%;
  aspect-ratio: 1/1;
  width: 2em;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.4s ease-out;
  border: 1px solid var(--wp--preset--color--grey);
  border-radius: 100%;
}
.wp-block-button.is-style-arrow-sm a:hover {
  opacity: 1 !important;
}
.wp-block-button.is-style-arrow-sm a:hover:after {
  translate: 0 -50%;
  transition: 0.1s;
}

.w-25 a {
  width: 100%;
}

/* ---------------------------------
Custom checkboxes using css
---------------------------------- */
/* 
CHECKBOX
*/
:is([type=checkbox], [type=radio]) + label {
  font-size: var(--font-size-xs);
  font-weight: normal;
}

.gfield_checkbox .gchoice + .gchoice {
  margin-top: 10px;
}

:is([type=checkbox], [type=radio]):not(:checked),
:is([type=checkbox], [type=radio]):checked {
  position: absolute;
  left: -9999px;
}

:is([type=checkbox], [type=radio]):not(:checked) + label,
:is([type=checkbox], [type=radio]):checked + label {
  position: relative !important;
  padding-left: 2em !important;
  cursor: pointer !important;
  display: block !important;
}

:is([type=checkbox], [type=radio]):not(:checked) + label:before,
:is([type=checkbox], [type=radio]):checked + label:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  border: 1px solid var(--wp--preset--color--teal);
  background: transparent;
  overflow: hidden;
  border-radius: 4px;
}

:is([type=checkbox], [type=radio]):not(:checked) + label:after,
:is([type=checkbox], [type=radio]):checked + label:after {
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  position: absolute;
  top: 50%;
  left: 0.25em;
  background: var(--wp--preset--color--teal);
  transition: all 0.2s;
  transform-origin: top;
}

:is([type=checkbox], [type=radio]):not(:checked) + label:after {
  opacity: 0;
  transform: scale(0, 0) translateY(-50%);
}

:is([type=checkbox], [type=radio]):checked + label:after {
  opacity: 1;
  transform: scale(1, 1) translateY(-50%);
}

:is([type=checkbox], [type=radio]):disabled:not(:checked) + label:before,
:is([type=checkbox], [type=radio]):disabled:checked + label:before {
  box-shadow: none;
  border-color: #bbb;
  background-color: #ddd;
}

:is([type=checkbox], [type=radio]):disabled:checked + label:after {
  color: #bbb;
}

:is([type=checkbox], [type=radio]):disabled + label {
  color: #bbb;
}

:is([type=checkbox], [type=radio]):focus + label:before, :is([type=checkbox], [type=radio]):hover + label:before {
  border: 3px solid var(--wp--preset--color--teal) !important;
}

/* 
RADIO
*/
[type=radio]:not(:checked) + label:before,
[type=radio]:checked + label:before,
[type=radio]:not(:checked) + label:after,
[type=radio]:checked + label:after {
  border-radius: 100%;
}

/* ---------------------------------
Form styles
---------------------------------- */
form {
  display: block;
}
form :is(p, li, ol) {
  font-size: 16px;
}

.gform_wrapper {
  border-radius: 12px;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
* + .gform_wrapper {
  margin-top: var(--spacerXl);
}
.gform_wrapper .gform_footer {
  padding-bottom: 0 !important;
}
.gform_wrapper .gform_footer [type=submit] {
  background: var(--wp--preset--color--teal);
  color: white;
  width: 100%;
  margin-bottom: 0 !important;
}

input {
  max-width: 100%;
}

input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=range]),
textarea {
  appearance: none;
  padding: 0.5em !important;
  transition: all 0.4s ease-out !important;
  display: block;
  font-size: var(--font-size-xs);
  line-height: 1.2;
  transition: 0.6s all;
  width: 100%;
  background: white;
  border: 1px solid var(--wp--preset--color--grey);
  border-radius: 8px;
  color: inherit;
}
input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=range])::placeholder,
textarea::placeholder {
  opacity: 1;
  transition: 0.6s all;
}
input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=range]):hover, input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=range]):focus,
textarea:hover,
textarea:focus {
  transition: 0.2s ease-out all;
  border-color: var(--wp--preset--color--black);
}
input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=range]):hover::placeholder, input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=range]):focus::placeholder,
textarea:hover::placeholder,
textarea:focus::placeholder {
  transition: 0.2s ease-out all;
}
input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=range]):focus,
textarea:focus {
  outline: 1px solid var(--wp--preset--color--black);
}
input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=range]):focus::placeholder,
textarea:focus::placeholder {
  opacity: 0.5;
  transition: 0.2s ease-out all;
}
input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=range]).fail,
textarea.fail {
  outline: 1px solid var(--wp--preset--color--error);
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  appearance: none;
}

:is(button:not(.fancybox-button),
.button,
[type=submit]) + :is(button:not(.fancybox-button),
.button,
[type=submit]) {
  margin-left: var(--spacerSm);
}
:is(button:not(.fancybox-button),
.button,
[type=submit]).is-style-outline {
  background: transparent;
  border: 1px solid;
}

select {
  border-radius: 0px;
  appearance: none;
  height: 100%;
  border: 1px solid var(--wp--preset--color--teal) !important;
  line-height: 1.6;
  background: var(--wp--preset--color--teal);
  color: var(--wp--preset--color--charcoal);
  cursor: pointer;
  appearance: none;
  word-break: normal;
  line-height: 1.2;
  font-size: var(--font-size-sm) !important;
  padding: 0.5em !important;
  padding-right: 2.5em;
}
select:hover, select:focus {
  outline: none;
  border-color: var(--wp--preset--color--charcoal);
  color: white;
}

:is(.selectWrapper, .ginput_container_select, td.value) {
  position: relative;
  display: block;
  background-color: var(--wp--preset--color--teal);
}
:is(.selectWrapper, .ginput_container_select, td.value) select {
  cursor: pointer;
  appearance: none;
  word-break: normal;
  line-height: 1.2;
  font-size: var(--font-size-xs) !important;
  padding: 0.5em !important;
  padding-right: 2.5em !important;
  width: 100%;
}
:is(.selectWrapper, .ginput_container_select, td.value):after {
  content: "";
  display: block;
  position: absolute;
  top: 16px;
  right: 1em;
  height: 0.5em;
  width: 0.5em;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  pointer-events: none;
}
:is(.selectWrapper, .ginput_container_select, td.value) select::-ms-expand {
  display: none;
}

label, legend {
  font-size: 14px;
  line-height: 1.2;
  font-weight: bold;
  color: var(--wp--preset--color--charcoal);
  display: block;
}

span input + label {
  font-weight: normal;
  font-size: var(--font-size-xs);
  color: var(--wp--preset--color--charcoal);
}

fieldset {
  appearance: none;
  border-radius: 12px;
  border: 1px solid white;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: var(--spacerLg);
}
fieldset:not(.gfield) {
  padding: 0.75em !important;
}
fieldset:first-child {
  margin-top: 0 !important;
}

.gform_title {
  color: var(--wp--preset--color--charcoal);
  font-size: var(--font-size-md);
  border-bottom: 1px solid var(--wp--preset--color--charcoal);
  padding-bottom: var(--spacerMd);
  margin-bottom: var(--spacerMd);
}

.gsection_title {
  font-size: var(--font-size-lg);
  border-top: var(--wp--preset--color--grey-2);
  padding-top: var(--spacerLg);
  margin-bottom: calc(var(--spacerSm) * -1);
}

.gfield {
  margin-top: var(--spacerMd) !important;
}

.asterisk, .gfield_required {
  color: white !important;
}

.wp-block-getwid-mailchimp .wp-block-getwid-mailchimp__result.success {
  color: white;
  font-weight: bold;
  background: var(--wp--preset--color--maroon);
  max-width: fit-content;
  padding: 5px 10px;
  border-radius: 4px;
  rotate: -1.5deg;
}

/* ---------
MEDIA
--------- */
figure.wp-block-image {
  position: relative;
  max-width: 100%;
  display: block;
  overflow: hidden;
  margin: 0;
  margin: 0;
}
figure.wp-block-image img, figure.wp-block-image svg {
  max-width: 100%;
}
* + figure.wp-block-image {
  margin-top: var(--spacerLg);
}
figure.wp-block-image.is-style-circle img {
  border-radius: 100% !important;
  aspect-ratio: 1/1;
  display: block;
  object-fit: cover;
}
figure.wp-block-image.is-style-rounded {
  border-radius: 0.9rem;
  overflow: hidden;
  display: block;
}
figure.wp-block-image.is-style-rounded img {
  border-radius: 0.9rem;
}
figure.wp-block-image.alignwide img {
  max-width: 75% !important;
}
figure.wp-block-image.alignfull img {
  max-width: 100% !important;
}
figure.wp-block-image.aligncenter,
figure.wp-block-image .aligncenter {
  text-align: center;
}
figure.wp-block-image.alignright {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  margin: 0 !important;
  width: 100%;
  float: none !important;
}
figure.wp-block-image.alignright img {
  max-width: 100% !important;
}
figure.wp-block-image figcaption {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  margin: -1px;
  padding: 0;
  width: 1px;
  height: 1px;
  border: 0;
}

.wp-block-group .wp-block-image + .wp-block-image {
  margin-top: 0 !important;
}

.wp-block-video {
  min-height: unset;
  aspect-ratio: 603/386;
  border-radius: 0.9rem;
  overflow: hidden;
  width: 100%;
  max-width: 640px;
  height: auto;
  margin-left: auto !important;
  margin-right: auto !important;
}
* + .wp-block-video {
  margin-top: var(--spacerXl) !important;
}
.wp-block-video video {
  border-radius: 0.9rem;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* ---------------------------------
Table styles
---------------------------------- */
.wp-block-table {
  display: block;
  width: 100%;
  margin: 0;
}
.wp-block-table table {
  width: 100%;
}
.wp-block-table table td, .wp-block-table table th {
  padding-right: var(--spacerLg);
  border-bottom: var(--wp--preset--color--charcoal);
}
* + .wp-block-table {
  margin-top: var(--spacerXl) !important;
}

/* ---------- Layouts ---------- */
/* ---------
GRID rules
--------- */
.is-layout-flex {
  display: flex;
  gap: 2em;
}

.gap-sm {
  gap: 0.5em !important;
}

.gap-lg {
  gap: 3em !important;
}

.d-flex {
  display: flex;
  align-items: center;
}

@media all and (max-width: 782px) {
  .d-md-none {
    display: none;
  }
}

.d-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3em;
}
.d-grid.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
.d-grid.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 782px) {
  .d-grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }
}

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

.mt-sm {
  margin-top: var(--spacerSm) !important;
}

.mt-md {
  margin-top: var(--spacerMd) !important;
}

.mt-lg {
  margin-top: var(--spacerLg) !important;
}

.mt-xl {
  margin-top: var(--spacerXl) !important;
}

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

.mb-xs {
  margin-bottom: 10px !important;
}

.mb-sm {
  margin-bottom: var(--spacerSm) !important;
}

.mb-md {
  margin-bottom: var(--spacerMd) !important;
}

.mb-lg {
  margin-bottom: var(--spacerLg) !important;
}

.mb-xl {
  margin-bottom: var(--spacerXl) !important;
}

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

.my-sm {
  margin-bottom: var(--spacerSm) !important;
  margin-top: var(--spacerSm) !important;
}

.my-md {
  margin-bottom: var(--spacerMd) !important;
  margin-top: var(--spacerMd) !important;
}

.my-lg {
  margin-bottom: var(--spacerLg) !important;
  margin-top: var(--spacerLg) !important;
}

.my-xl {
  margin-bottom: var(--spacerXl) !important;
  margin-top: var(--spacerXl) !important;
}

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

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

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

.w-25 {
  min-width: 25%;
}

.radius-xs {
  border-radius: 4px;
}

.radius-sm {
  border-radius: 8px;
}

.radius-md {
  border-radius: 12px;
}

.radius-lg {
  border-radius: 18px;
}

.radius-xl {
  border-radius: 24px;
}

.radius-xxl {
  border-radius: 32px;
}

/* ---------------------------------
Layouts for page and block regions
---------------------------------- */
.wp-block-navigation__container {
  width: 100%;
}

[class*=wp-container-]:not(.wp-block-column) {
  max-width: var(--content-width) !important;
  margin-left: auto;
  margin-right: auto;
}

#main-content {
  padding-top: var(--navHeight);
  padding-left: var(--spacerXl);
  padding-right: var(--spacerXl);
}
#main-content > :is(.wp-block-cover:first-child) {
  margin-top: calc(var(--navHeight) * -1);
  padding-top: var(--navHeight) !important;
}
#main-content > .wp-block-columns:first-child .wp-block-column > *,
#main-content > .wp-block-cover:first-child > .wp-block-cover__inner-container :is(p, h1, h2, h3, a, .swiper) {
  visibility: hidden;
}
#main-content > .wp-block-cover:first-child > .wp-block-cover__image-background {
  visibility: visible;
  opacity: 1;
}
.is-style-sticky .wp-block-group {
  padding: var(--spacerMd);
}
@media all and (min-width: 782px) {
  .is-style-sticky .wp-block-group {
    position: sticky !important;
    top: calc(var(--navHeightSub) * 2);
  }
}

.m-scene {
  position: relative;
}

/* ---------
HEADER
--------- */
.logged-in nav.site-nav {
  top: 32px;
}
@media (max-width: 782px) {
  .logged-in nav.site-nav {
    top: 46px;
  }
}

nav.site-nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding-left: var(--spacerXl);
  padding-right: var(--spacerXl);
  height: var(--navHeight);
  background: var(--wp--preset--color--black);
}
nav.site-nav > * {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--navHeight);
  width: 100%;
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
  height: 100%;
  gap: 15px;
}
nav.site-nav .home-button {
  display: block;
  position: fixed;
  top: 20px;
  left: 20px;
  opacity: 1;
  z-index: 9999;
  max-width: 160px;
}
nav.site-nav .home-button :is(img, svg) {
  display: block;
  max-width: 100%;
  height: auto;
}
@media (max-width: 782px) {
  nav.site-nav .home-button {
    max-width: 90px;
  }
}
nav.site-nav .menu-primary-container {
  flex: 1;
  z-index: 999;
  position: relative;
}
nav.site-nav .menu-primary-container .menu {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}
nav.site-nav .menu-primary-container .menu .sub-menu {
  display: none;
  position: absolute;
  top: 32px;
  left: 0;
  background: white;
  padding: var(--spacerSm);
  border-radius: 0.9rem;
  width: 250px;
}
nav.site-nav .menu-primary-container .menu li {
  display: block;
  padding: 0;
}
nav.site-nav .menu-primary-container .menu li a {
  padding: 15px;
  display: block;
  color: white;
  text-transform: uppercase;
  letter-spacing: 5px;
}
nav.site-nav .menu-primary-container .menu li.current-menu-item a {
  background: var(--wp--preset--color--yellow);
  opacity: 1;
  color: var(--wp--preset--color--charcoal);
}
nav.site-nav .menu-primary-container .menu li:has(.sub-menu) {
  position: relative;
}
nav.site-nav .menu-primary-container .menu li:has(.sub-menu):focus-within .sub-menu, nav.site-nav .menu-primary-container .menu li:has(.sub-menu):hover .sub-menu {
  display: block;
}
nav.site-nav .utility {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  right: 0;
  margin-left: auto;
  z-index: 999;
  gap: 15px;
}
@media (max-width: 960px) {
  nav.site-nav .utility .button {
    display: none;
  }
}
nav.site-nav .menuToggle {
  display: none;
}
@media (max-width: 960px) {
  nav.site-nav .menuToggle {
    display: block;
  }
  nav.site-nav .menu-primary-container {
    display: none;
  }
}

/* -------------
OFFCANVAS MENU
-------------- */
@media (min-width: 960px) {
  .offCanvas {
    display: none;
  }
}

.menuToggle {
  background: transparent;
  z-index: 1090;
  height: 60px;
  width: auto;
  aspect-ratio: 1/1;
  padding: 0px;
  margin: 0;
  position: relative;
  cursor: pointer;
  opacity: 1 !important;
  border: 0;
}
.menuToggle span {
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  width: 50%;
  height: 1px;
  background: var(--wp--preset--color--black);
  opacity: 1;
  transition: 0.25s ease-in-out;
}
.menuToggle span:nth-child(1) {
  top: 55%;
}
.menuToggle span:nth-child(2) {
  bottom: 55%;
}
.menuToggle:hover, .menuToggle:focus {
  outline: 0;
}

.menuOpen .menuToggle span:nth-child(1) {
  rotate: -45deg;
  translate: 0% -250%;
}
.menuOpen .menuToggle span:nth-child(2) {
  rotate: 45deg;
  translate: 0% 500%;
}

.offCanvas {
  transition: transform 0.2s ease-in-out, opacity 0s linear 0.2s;
  position: fixed;
  left: 0;
  top: 0;
  transform: translateX(-100%);
  height: 100%;
  width: 100%;
  background: var(--wp--preset--color--teal) !important;
  z-index: 99999;
  overflow-y: auto;
  opacity: 0;
  height: calc(100% - var(--navHeight));
  top: var(--navHeight);
}
.offCanvas ul {
  margin: 0;
  padding: 0;
  padding: 0 var(--spacerLg) var(--spacerLg) var(--spacerLg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.offCanvas ul li {
  background: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.offCanvas li {
  position: relative;
}
.offCanvas a {
  color: var(--wp--preset--color--white);
  line-height: 0.5;
  background: transparent;
  font-size: var(--font-size-lg);
  font-weight: bold;
  text-align: center;
  display: block;
  opacity: 1 !important;
  padding: var(--spacerLg);
}
.offCanvas a:hover, .offCanvas a:focus {
  outline: 0;
}
.offCanvas a:focus-visible {
  outline: 3px solid var(--wp--preset--color--focus);
}
.offCanvas .sub-menu {
  transition: transform 0.2s ease-in;
  position: fixed;
  left: 0;
  top: var(--navHeight);
  transform: translateX(-100%);
  height: 100%;
  height: calc(100% - var(--navHeight));
  width: 100%;
  background: var(--wp--preset--color--black) !important;
  overflow-y: auto;
  z-index: 1;
  overflow-x: hidden;
}
.offCanvas .sub-menu.submenuOpen {
  transform: none;
  transition: transform 0.25s ease-out;
}
.offCanvas .childMenuToggle {
  color: var(--wp--preset--color--white);
  background: transparent;
  display: block;
  height: calc(100% - 2px);
  width: 55px;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  transition: all 0.4s ease-out !important;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}
.offCanvas .childMenuToggle:hover, .offCanvas .childMenuToggle:focus {
  transition: all 0.1s !important;
}
.offCanvas .childMenuToggle:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 26px;
  height: 10px;
  width: 10px;
  border-style: solid;
  border-width: 0 1px 1px 0;
  border-color: var(--wp--preset--color--white);
  transform: translateY(-50%) rotate(-45deg);
}
.offCanvas .childMenuToggle:hover, .offCanvas .childMenuToggle:focus {
  outline: 0;
}
.offCanvas .parentMenuToggle {
  color: white;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--wp--preset--color--white) !important;
  margin-left: calc(var(--spacerLg) * -1);
  width: calc(100% + var(--spacerLg) * 2);
  cursor: pointer;
  padding: 24px var(--spacerLg) 24px 15px;
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--font-size-sm);
  font-weight: 700;
}
.offCanvas .parentMenuToggle span {
  display: block;
  height: calc(100% - 2px);
  width: 55px;
  position: relative;
}
.offCanvas .parentMenuToggle span:after {
  content: "";
  display: block;
  position: absolute;
  top: 49%;
  left: 34px;
  height: 10px;
  width: 10px;
  border-style: solid;
  border-width: 0 1px 1px 0;
  border-color: var(--wp--preset--color--white);
  transform: translateY(-50%) rotate(140deg);
}
.offCanvas .parentMenuToggle:hover, .offCanvas .parentMenuToggle:focus {
  outline: 0;
}
.offCanvas .button {
  padding: var(--spacerLg) var(--spacerLg) var(--spacerSm);
}
.offCanvas .button a {
  font-weight: 400;
  background: var(--wp--preset--color--teal);
  border: 1px solid var(--wp--preset--color--teal);
  border-radius: 99px;
  padding: 8px 12px;
  max-width: fit-content;
  color: var(--wp--preset--color--white) !important;
  margin-left: -8px;
}

.menuOpen {
  overflow: hidden;
}
.menuOpen .site-nav {
  position: fixed;
  background: var(--wp--preset--color--teal);
  z-index: 9999999;
}
.menuOpen .offCanvas {
  transform: none;
  opacity: 1;
  transition: transform 0.4s ease-in-out, opacity 0.1s linear;
}

/* ---------
FOOTER
--------- */
#main > :has(+ footer) {
  padding-bottom: var(--spacerXxl);
  margin-bottom: -1.6rem !important;
}

footer {
  width: 100%;
}

/* ---------- WP components ---------- */
/* ---------------------------------
GUTENBURG COLUMNS BLOCK
---------------------------------- */
.wp-block-columns {
  padding: var(--spacerLg) 0;
  margin-bottom: 0 !important;
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
  gap: 3em;
}
@media screen and (max-width: 782px) {
  .wp-block-columns {
    padding: var(--spacerLg) 0;
  }
}
.wp-block-columns .wp-block-columns {
  gap: 0.5em;
}
.wp-block-columns .wp-block-columns:not(.has-background) {
  padding: 0;
}
.wp-block-columns .wp-block-columns .wp-block-group {
  padding: var(--spacerMd);
}
.wp-block-columns .wp-block-columns .wp-block-group + .wp-block-group {
  margin-top: 0.5em;
}
.wp-block-columns.is-style-rounded {
  border-radius: 18px;
}
.wp-block-columns.has-background {
  position: relative;
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.wp-block-columns.has-background:not(.alignfull) {
  padding-left: var(--spacerXl);
  padding-right: var(--spacerXl);
}
.wp-block-columns.has-background.has-teal-background-color + .has-teal-background-color {
  padding-top: 0;
}
.wp-block-columns.has-background.has-yellow-background-color + .has-yellow-background-color {
  padding-top: 0;
}
.wp-block-columns.has-background.has-black-background-color + .has-black-background-color {
  padding-top: 0;
}
.wp-block-columns.has-background.has-white-background-color + .has-white-background-color {
  padding-top: 0;
}
.wp-block-columns.has-background.alignwide {
  max-width: 1280px;
  padding-left: var(--spacerXl);
  padding-right: var(--spacerXl);
}
.wp-block-columns.has-background.alignfull {
  max-width: 100vw;
}
.wp-block-columns.has-background.alignfull:before, .wp-block-columns.has-background.alignfull:after {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background: inherit;
  position: absolute;
  top: 0;
  right: 50%;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  z-index: -1;
}
.wp-block-columns.has-background.alignfull.is-style-hide {
  display: none !important;
}
.wp-block-columns .wp-block-column {
  position: relative;
}
.wp-block-columns .wp-block-column > * {
  position: relative;
}
.wp-block-columns .wp-block-column.is-style-sticky > :first-child {
  position: sticky !important;
  top: var(--navHeight);
}
.wp-block-columns .wp-block-column.has-background {
  padding: var(--spacerLg);
  border-radius: 0.9rem;
  height: fit-content;
}
.wp-block-columns:not(.is-not-stacked-on-mobile) {
  /* COLUMN SETTINGS */
}
@media all and (max-width: 782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-wrap: wrap !important;
  }
}
@media all and (max-width: 782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child):empty {
    display: none !important;
  }
}
@media all and (max-width: 782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) {
    flex-basis: 100% !important;
    max-width: 100% !important;
    flex-grow: 1;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) + .wp-block-column {
    margin-top: 0;
    margin-left: 0;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) .wp-block-columns .wp-block-column + .wp-block-column {
    margin-top: 0;
  }
}
.wp-block-columns .wp-block-column p {
  max-width: 650px;
}
.wp-block-columns .wp-block-column p.has-medium-font-size, .wp-block-columns .wp-block-column p.has-large-font-size {
  max-width: 808px;
}
.wp-block-columns .wp-block-column p.has-x-large-font-size {
  max-width: 911px;
}
.wp-block-columns .wp-block-column ul:not([class]) {
  max-width: 650px;
}
.wp-block-columns:has(+ .is-style-negative-offset) {
  padding-bottom: var(--spacerXxl) !important;
}
.wp-block-columns:has(+ .is-style-negative-offset) + .is-style-negative-offset {
  margin-top: calc(-1 * var(--spacerLg));
  padding-top: 0 !important;
  position: relative;
}
.wp-block-columns:has(+ .is-style-negative-offset) + .is-style-negative-offset .wp-block-column {
  position: relative;
  z-index: 1;
}

/* ---------------------------------
GROUP BLOCK
---------------------------------- */
.wp-block-group.has-background {
  position: relative;
  border-radius: 18px;
}
.wp-block-group.has-background.alignfull:before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background: inherit;
  position: absolute;
  top: 2px;
  right: 50%;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  z-index: -1;
}
.wp-block-group.is-style-fit {
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
* + .wp-block-group {
  margin-top: var(--spacerLg);
}
.wp-block-group > * + * {
  margin-top: var(--spacerMd);
}
.wp-block-group.is-vertical.is-content-justification-stretch {
  height: 100%;
  justify-content: space-between;
}
.wp-block-group.is-style-short-width {
  max-width: 380px !important;
}
.wp-block-group.is-style-medium-width {
  max-width: 500px !important;
}
.wp-block-group.is-style-wide-width {
  max-width: 650px !important;
}
.wp-block-group:not(.mx-auto) {
  margin-left: 0 !important;
}
.wp-block-group.is-style-negative-offset {
  margin-top: calc(-1 * var(--spacerXl));
}

/* ---------
BLOCK QUOTE
--------- */
blockquote.wp-block-quote {
  padding: 0 !important;
  border: 0 !important;
  max-width: 450px;
  margin: 0;
  padding-left: var(--spacerLg) !important;
  background: transparent !important;
}
blockquote.wp-block-quote:has(.has-medium-font-size) {
  max-width: 550px;
}
blockquote.wp-block-quote:before {
  width: 1.85rem;
  height: 1.45rem;
  display: block;
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='76' height='153' viewBox='0 0 76 153'%3E%3Ctext id='_' data-name='”' transform='translate(38 122)' fill='%23FFEA3D' font-size='163' font-family='P22MackinacProBook, P22 Mackinac Pro'%3E%3Ctspan x='-37.571' y='0'%3E”%3C/tspan%3E%3C/text%3E%3C/svg%3E");
  margin-bottom: var(--spacerXl) !important;
  margin-left: calc(var(--spacerLg) * -1);
  display: block;
}
blockquote.wp-block-quote.has-text-align-center {
  padding: 0 !important;
}
blockquote.wp-block-quote.has-text-align-center:before {
  text-align: center;
  margin: auto;
}
blockquote.wp-block-quote.is-style-plain {
  border-left: 2px dashed var(--wp--preset--color--black) !important;
}
blockquote.wp-block-quote.is-style-plain:before {
  display: none;
}
blockquote.wp-block-quote cite {
  font-size: 75% !important;
  opacity: 0.8;
  margin-top: var(--spacerLg);
  display: block;
}
* + blockquote.wp-block-quote {
  margin-top: var(--spacerLg);
}

/* ------------------
Wordpress Cover block
------------------- */
.wp-block-cover {
  overflow: hidden;
  background: black;
  padding: var(--spacerLg) var(--spacerXl) !important;
  position: relative;
}
.wp-block-cover.alignfull {
  width: 100vw;
  margin-left: calc((100% - 100vw) / 2);
}

/* ---------
POST EXCERPT
--------- */
* + .wp-block-post-excerpt {
  margin-top: var(--spacerLg) !important;
}
.wp-block-post-excerpt .wp-block-post-excerpt__excerpt {
  max-width: 750px;
}
.wp-block-post-excerpt.has-text-align-center p {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

ul.is-style-default {
  list-style: none;
  padding: 0;
}
ul.is-style-default li {
  display: flex;
  flex-wrap: nowrap;
  gap: 1em;
  align-items: center;
}
ul.is-style-default li + li {
  margin-top: var(--spacerSm);
}
ul.is-style-default li::before {
  content: "•";
  font-size: clamp(15px, 1em, 30px);
  display: block;
}

ul.is-style-ticks {
  list-style: none;
  padding: 0;
}
ul.is-style-ticks li {
  display: flex;
  flex-wrap: nowrap;
  gap: 1em;
  align-items: center;
}
ul.is-style-ticks li + li {
  margin-top: var(--spacerSm);
}
ul.is-style-ticks li::before {
  content: "✔ ";
  font-size: clamp(15px, 1em, 30px);
  display: block;
}

/* ---------------------------------
BLOCK SPACER
---------------------------------- */
.wp-block-spacer.is-style-small {
  height: var(--spacerSm) !important;
}
.wp-block-spacer.is-style-medium {
  height: var(--spacerLg) !important;
}
.wp-block-spacer.is-style-large {
  height: var(--spacerXl) !important;
}

/* ---------------------------------
BLOCK QUERY
---------------------------------- */
* + .wp-block-query {
  margin-top: var(--spacerXl);
}
.wp-block-query .wp-block-post-featured-image {
  display: block;
  aspect-ratio: 280/388;
  width: 100%;
  height: auto;
}
.wp-block-query .wp-block-post-featured-image a {
  border: 0 !important;
}
.wp-block-query .wp-block-post-featured-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}
.wp-block-query .wp-block-post-title {
  margin-top: var(--spacerLg);
}
.wp-block-query .wp-block-post-title a {
  border: 0 !important;
}
@media (max-width: 782px) {
  .wp-block-query .columns-4 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
  }
  .wp-block-query .columns-4 > li {
    width: 100% !important;
  }
  .wp-block-query .columns-4 > li .wp-block-post-featured-image {
    border-radius: 12px !important;
    overflow: hidden;
  }
  .wp-block-query .columns-4 > li .wp-block-post-title {
    font-size: 12px !important;
    margin-top: 15px !important;
  }
}

/* ---------------------------------
BLOCK FILE
---------------------------------- */
.wp-block-file {
  display: flex;
  align-items: center;
  gap: 5px;
}
figure + .wp-block-file {
  margin-top: var(--spacerSm);
}
.wp-block-file:has(.wp-block-file__button) a:first-child {
  font-size: var(--font-size-xs);
  color: var(--wp--preset--color--charcoal);
}
.wp-block-file:has(.wp-block-file__button) .wp-block-file__button {
  margin: 0;
  background-color: var(--wp--preset--color--white);
  font-weight: normal;
  display: flex;
  align-items: center;
  gap: 5px;
  max-width: fit-content;
  border: 1px solid var(--wp--preset--color--grey);
  color: var(--wp--preset--color--charcoal);
}
.wp-block-file:has(.wp-block-file__button) .wp-block-file__button:before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2359cdcb'%3E%3Cpath d='M 11 2 C 10.448 2 10 2.448 10 3 L 10 11 L 6 11 L 12 17 L 18 11 L 14 11 L 14 3 C 14 2.448 13.552 2 13 2 L 11 2 z M 2 20 L 2 22 L 22 22 L 22 20 L 2 20 z' fill='%2359cdcb'/%3E%3C/svg%3E");
  display: block;
  width: 1.5em;
  height: 1.5em;
  margin-left: -5px;
}
* + .wp-block-file {
  margin-top: var(--spacerLg);
}
.wp-block-file.aligncenter {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ---------- Custom components ---------- */
/* ---------
TABS
--------- */
.wp-block-getwid-tabs__nav-link {
  border-color: none;
}
.wp-block-getwid-tabs__nav-link .ui-tabs-anchor {
  border-bottom: 0 !important;
  color: var(--wp--preset--color--charcoal);
}
.wp-block-getwid-tabs__nav-link:not(.ui-tabs-active) {
  opacity: 0.6;
}
.wp-block-getwid-tabs__nav-link.ui-tabs-active {
  border-color: var(--wp--preset--color--charcoal);
}

.wp-block-getwid-tabs__tab-content {
  border-color: var(--wp--preset--color--charcoal);
}

/* ---------
Accordion
--------- */
.wp-block-getwid-accordion {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
.wp-block-getwid-accordion .wp-block-getwid-accordion__header-wrapper {
  background: white;
}
.wp-block-getwid-accordion .wp-block-getwid-accordion__header-wrapper.ui-accordion-header-active {
  background: var(--wp--preset--color--yellow);
}
.wp-block-getwid-accordion .wp-block-getwid-accordion__content-wrapper {
  background: var(--wp--preset--color--white);
}
.wp-block-getwid-accordion .wp-block-getwid-accordion__header {
  font-size: var(--wp--preset--font-size--small);
}

/* ---------
SOCIALS
--------- */
.wp-block-social-links .wp-social-link span:not(.screen-reader-text) {
  font-size: var(--font-size-xs) !important;
}

/* ---------- WOOCommerce ---------- */
/* ---------------------------------
WOO-COMMERCE BLOCKS
---------------------------------- */
.woocommerce-page #main-content {
  padding-top: calc(var(--navHeight) + var(--spacerXl));
}

.woocommerce {
  --color--error: #eb1c26;
}
.woocommerce form .form-row {
  width: 100%;
}
.woocommerce form .form-row.hidden {
  display: none;
}
.woocommerce .content-area {
  padding-bottom: var(--spacerXl);
}

/* ---------------------------------
WOO-COMMERCE BREADCRUMBS
---------------------------------- */
.woocommerce-breadcrumb {
  width: 100%;
}

/* ---------------------------------
WOO-COMMERCE BLOCKS
---------------------------------- */
.cartToggle {
  font-weight: bold;
  font-size: var(--font-size-xs);
  color: var(--wp--preset--color--yellow);
  display: flex;
  align-items: center;
  grid-gap: 10px;
}
.cartToggle * {
  font-weight: 300;
  font-size: 14px;
  text-align: right;
}

.woocommerce-cart.woocommerce-page #cartFragments {
  display: none !important;
}

:is(form.customiser-form, form.cart) .single_add_to_cart_button {
  display: block;
  background: black;
  color: white !important;
  display: block;
  padding: var(--spacerLg);
  text-align: center;
  width: 100%;
  overflow: hidden;
  position: relative;
}
:is(form.customiser-form, form.cart) .single_add_to_cart_button:before, :is(form.customiser-form, form.cart) .single_add_to_cart_button:after {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  opacity: 0;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  translate: 0% 100%;
}
:is(form.customiser-form, form.cart) .single_add_to_cart_button:before {
  content: "SUCCESS";
  text-align: center;
  color: transparent;
}
:is(form.customiser-form, form.cart) .single_add_to_cart_button:after {
  content: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='margin: auto; background: none; display: block; shape-rendering: auto;' width='60px' height='60px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Cg transform='rotate(0 50 50)'%3E%3Crect x='47' y='24' rx='3' ry='6' width='6' height='12' fill='%23ffffff'%3E%3Canimate attributeName='opacity' values='1;0' keyTimes='0;1' dur='1s' begin='-0.9166666666666666s' repeatCount='indefinite'%3E%3C/animate%3E%3C/rect%3E%3C/g%3E%3Cg transform='rotate(30 50 50)'%3E%3Crect x='47' y='24' rx='3' ry='6' width='6' height='12' fill='%23ffffff'%3E%3Canimate attributeName='opacity' values='1;0' keyTimes='0;1' dur='1s' begin='-0.8333333333333334s' repeatCount='indefinite'%3E%3C/animate%3E%3C/rect%3E%3C/g%3E%3Cg transform='rotate(60 50 50)'%3E%3Crect x='47' y='24' rx='3' ry='6' width='6' height='12' fill='%23ffffff'%3E%3Canimate attributeName='opacity' values='1;0' keyTimes='0;1' dur='1s' begin='-0.75s' repeatCount='indefinite'%3E%3C/animate%3E%3C/rect%3E%3C/g%3E%3Cg transform='rotate(90 50 50)'%3E%3Crect x='47' y='24' rx='3' ry='6' width='6' height='12' fill='%23ffffff'%3E%3Canimate attributeName='opacity' values='1;0' keyTimes='0;1' dur='1s' begin='-0.6666666666666666s' repeatCount='indefinite'%3E%3C/animate%3E%3C/rect%3E%3C/g%3E%3Cg transform='rotate(120 50 50)'%3E%3Crect x='47' y='24' rx='3' ry='6' width='6' height='12' fill='%23ffffff'%3E%3Canimate attributeName='opacity' values='1;0' keyTimes='0;1' dur='1s' begin='-0.5833333333333334s' repeatCount='indefinite'%3E%3C/animate%3E%3C/rect%3E%3C/g%3E%3Cg transform='rotate(150 50 50)'%3E%3Crect x='47' y='24' rx='3' ry='6' width='6' height='12' fill='%23ffffff'%3E%3Canimate attributeName='opacity' values='1;0' keyTimes='0;1' dur='1s' begin='-0.5s' repeatCount='indefinite'%3E%3C/animate%3E%3C/rect%3E%3C/g%3E%3Cg transform='rotate(180 50 50)'%3E%3Crect x='47' y='24' rx='3' ry='6' width='6' height='12' fill='%23ffffff'%3E%3Canimate attributeName='opacity' values='1;0' keyTimes='0;1' dur='1s' begin='-0.4166666666666667s' repeatCount='indefinite'%3E%3C/animate%3E%3C/rect%3E%3C/g%3E%3Cg transform='rotate(210 50 50)'%3E%3Crect x='47' y='24' rx='3' ry='6' width='6' height='12' fill='%23ffffff'%3E%3Canimate attributeName='opacity' values='1;0' keyTimes='0;1' dur='1s' begin='-0.3333333333333333s' repeatCount='indefinite'%3E%3C/animate%3E%3C/rect%3E%3C/g%3E%3Cg transform='rotate(240 50 50)'%3E%3Crect x='47' y='24' rx='3' ry='6' width='6' height='12' fill='%23ffffff'%3E%3Canimate attributeName='opacity' values='1;0' keyTimes='0;1' dur='1s' begin='-0.25s' repeatCount='indefinite'%3E%3C/animate%3E%3C/rect%3E%3C/g%3E%3Cg transform='rotate(270 50 50)'%3E%3Crect x='47' y='24' rx='3' ry='6' width='6' height='12' fill='%23ffffff'%3E%3Canimate attributeName='opacity' values='1;0' keyTimes='0;1' dur='1s' begin='-0.16666666666666666s' repeatCount='indefinite'%3E%3C/animate%3E%3C/rect%3E%3C/g%3E%3Cg transform='rotate(300 50 50)'%3E%3Crect x='47' y='24' rx='3' ry='6' width='6' height='12' fill='%23ffffff'%3E%3Canimate attributeName='opacity' values='1;0' keyTimes='0;1' dur='1s' begin='-0.08333333333333333s' repeatCount='indefinite'%3E%3C/animate%3E%3C/rect%3E%3C/g%3E%3Cg transform='rotate(330 50 50)'%3E%3Crect x='47' y='24' rx='3' ry='6' width='6' height='12' fill='%23ffffff'%3E%3Canimate attributeName='opacity' values='1;0' keyTimes='0;1' dur='1s' begin='0s' repeatCount='indefinite'%3E%3C/animate%3E%3C/rect%3E%3C/g%3E%3C!-- %5Bldio%5D generated by https://loading.io/ --%3E%3C/svg%3E");
  width: 30px;
  height: 30px;
}
:is(form.customiser-form, form.cart) .single_add_to_cart_button.loading {
  color: transparent !important;
}
:is(form.customiser-form, form.cart) .single_add_to_cart_button.loading:after {
  opacity: 1;
  translate: 0% -50%;
  transition: 0.3s ease-in-out;
}

/* ---------------------------------
WOO-COMMERCE CART PAGE
---------------------------------- */
.woocommerce-cart .woocommerce {
  width: 100%;
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--spacerXl);
  display: flex;
  flex-wrap: wrap;
}
.woocommerce-cart .woocommerce *:not(.button):not(button) {
  font-size: var(--font-size-xs);
}
.woocommerce-cart .woocommerce .shop_table.cart {
  width: 100%;
}
.woocommerce-cart .woocommerce .shop_table.cart thead th {
  text-align: right;
  font-size: var(--font-size-xs);
  padding-right: var(--spacerSm);
}
@media (max-width: 782px) {
  .woocommerce-cart .woocommerce .shop_table.cart thead {
    display: none;
  }
}
.woocommerce-cart .woocommerce .shop_table.cart tbody .cart_item td {
  text-align: right;
  padding-right: var(--spacerSm);
}
.woocommerce-cart .woocommerce .shop_table.cart tbody .cart_item + tr td {
  padding-top: var(--spacerLg);
}
.woocommerce-cart .woocommerce .shop_table.cart .product-name {
  text-align: left !important;
}
.woocommerce-cart .woocommerce .shop_table.cart .product-name a {
  color: black;
}
.woocommerce-cart .woocommerce .shop_table.cart .product-remove a {
  width: 45px;
  height: 45px;
  background: transparent;
  color: var(--wp--preset--color--charcoal);
  border-radius: 100%;
  display: block;
  text-align: center;
  line-height: 1;
  font-size: var(--font-size-lg);
  opacity: 1 !important;
}
.woocommerce-cart .woocommerce .shop_table.cart .product-remove a:hover, .woocommerce-cart .woocommerce .shop_table.cart .product-remove a:focus {
  color: var(--wp--preset--color--error);
}
@media (max-width: 782px) {
  .woocommerce-cart .woocommerce .shop_table.cart .product-remove a {
    width: 20px;
    height: 20px;
    font-size: 20px;
  }
}
.woocommerce-cart .woocommerce .shop_table.cart .product-thumbnail img {
  width: 100px;
  height: auto;
  aspect-ratio: 1/1;
  display: block;
  object-fit: cover;
}
@media (max-width: 782px) {
  .woocommerce-cart .woocommerce .shop_table.cart .product-thumbnail {
    display: none;
  }
}
.woocommerce-cart .woocommerce .shop_table.cart .product-quantity input {
  max-width: 6ch;
  margin-left: auto;
  text-align: right;
}
.woocommerce-cart .woocommerce .shop_table.cart .coupon {
  display: flex;
  align-items: center;
  position: relative;
}
.woocommerce-cart .woocommerce .shop_table.cart .coupon #coupon_code {
  padding: 13px 145px 13px 13px !important;
}
.woocommerce-cart .woocommerce .shop_table.cart .coupon .button {
  position: absolute;
  top: 1px;
  right: 1px;
  min-width: 143px;
  border-radius: 0;
  height: calc(100% - 2px);
}
.woocommerce-cart .woocommerce .shop_table.cart .actions > .button {
  margin-top: var(--spacerLg);
  border-radius: 100px;
  background-color: white;
  border: 2px solid var(--wp--preset--color--grey);
  color: black;
}
.woocommerce-cart .woocommerce .cart-collaterals {
  margin-top: var(--spacerLg);
  width: 100%;
}
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals {
  padding: var(--spacerLg);
  background: var(--wp--preset--color--teal);
  border: 1px solid;
  border-radius: 0.9rem;
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
}
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals h2 {
  font-family: var(--wp--preset--font-family--brother);
  letter-spacing: 5px;
}
.woocommerce-cart .woocommerce .cart-collaterals .shipping {
  display: none !important;
}
.woocommerce-cart .woocommerce .cart-collaterals .cross-sells {
  display: none;
}
.woocommerce-cart .woocommerce .cart-collaterals .shop_table * {
  font-size: 16px;
}
.woocommerce-cart .woocommerce .cart-collaterals .shop_table * th, .woocommerce-cart .woocommerce .cart-collaterals .shop_table * td {
  padding-top: 10px;
  vertical-align: baseline;
}
.woocommerce-cart .woocommerce .cart-collaterals .shop_table * th * + *, .woocommerce-cart .woocommerce .cart-collaterals .shop_table * td * + * {
  margin-top: 5px;
}
.woocommerce-cart .woocommerce .cart-collaterals .shop_table tr th {
  width: 33.33%;
  text-align: left;
}
.woocommerce-cart .woocommerce .cart-collaterals ul.woocommerce-shipping-methods {
  padding: 0;
  display: block;
}
.woocommerce-cart .woocommerce .cart-collaterals ul.woocommerce-shipping-methods li {
  padding: 0;
  display: block;
}
.woocommerce-cart .woocommerce .cart-collaterals .wc-proceed-to-checkout {
  margin-top: var(--spacerLg);
}
.woocommerce-cart .woocommerce .cart-collaterals .wc-proceed-to-checkout .checkout-button {
  background: black;
  color: white;
  display: block;
  padding: var(--spacerLg);
  text-align: center;
}
@media screen and (min-width: 960px) {
  .woocommerce-cart .woocommerce {
    grid-gap: 2em;
  }
  .woocommerce-cart .woocommerce .woocommerce-cart-form {
    flex: 1 1 auto;
    max-width: 100%;
    margin-right: auto;
    width: 50%;
  }
  .woocommerce-cart .woocommerce .cart-collaterals {
    flex: 1 1 auto;
    width: 50%;
    max-width: 400px;
    margin-top: 0;
  }
}

.added_to_cart {
  display: block;
  margin-top: var(--spacerLg);
  border-bottom: 1px solid;
  max-width: fit-content;
}

.variation {
  font-size: 14px !important;
}
.variation:after {
  content: "";
  clear: both;
  display: table;
}
.variation dt, .variation dd {
  float: left;
}
.variation dt {
  font-size: 10px !important;
  font-weight: bold;
  text-transform: uppercase;
  padding-top: 4px;
}
.variation dd, .variation dt {
  margin: 0 0 0 5px !important;
}
.variation dd p {
  font-size: 14px !important;
}
.variation dd + dt {
  clear: left;
}

/* ---------------------------------
WOO-COMMERCE CHECKOUT PAGE
---------------------------------- */
body.woocommerce-checkout #main-content {
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
body.woocommerce-checkout #main-content .checkout_coupon {
  margin-top: var(--spacerLg);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: var(--spacerLg);
}
body.woocommerce-checkout #main-content .checkout_coupon > p:first-child {
  grid-column: 1/3;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacerLg);
  max-width: 1200px;
  margin-top: var(--spacerLg);
  margin-bottom: var(--spacerXl);
}
body.woocommerce-checkout #main-content form.woocommerce-checkout > * {
  width: 100%;
  flex: initial;
}
@media screen and (min-width: 782px) {
  body.woocommerce-checkout #main-content form.woocommerce-checkout > * {
    flex: 1;
    width: 50%;
  }
}
body.woocommerce-checkout #main-content form.woocommerce-checkout :is(#billing_country_field, #shipping_country_field, #ship-to-different-address) {
  display: none !important;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper) {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: var(--spacerLg);
  margin-top: var(--spacerLg);
}
body.woocommerce-checkout #main-content form.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper) .form-row {
  margin-top: 0 !important;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper) .form-row label {
  font-size: 14px;
  display: block;
  margin-bottom: var(--spacerSm);
}
body.woocommerce-checkout #main-content form.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper) .form-row label :is(.optional, .required) {
  font-size: 10px;
  font-weight: 300;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper) .form-row label :is(.optional, .required).required {
  color: var(--wp--preset--color--error);
}
body.woocommerce-checkout #main-content form.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper) .form-row-wide {
  grid-column: 1/3;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout #ship-to-different-address {
  position: relative;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout #ship-to-different-address:before, body.woocommerce-checkout #main-content form.woocommerce-checkout #ship-to-different-address:after {
  content: "";
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  right: var(--spacerLg) !important;
  height: 3px !important;
  width: 1em !important;
  background: var(--wp--preset--color--khaki);
  opacity: 1;
  transition: 0.25s ease-in-out;
  margin: auto !important;
  border: 0;
  z-index: 1;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout #ship-to-different-address:before {
  transform: translateY(-50%) rotate(90deg) !important;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout #ship-to-different-address:after {
  transform: translateY(-50%) rotate(0deg) !important;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout #ship-to-different-address:has(#ship-to-different-address-checkbox:checked):before {
  transform: translateY(-50%) rotate(0deg) !important;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout #ship-to-different-address label {
  margin-top: var(--spacerLg);
  color: var(--wp--preset--color--khaki);
  border: 1px solid;
  display: block;
  line-height: 1.2;
  transition: 0.2s ease-out;
  cursor: pointer;
  padding: var(--spacerLg) !important;
  background: white;
  font-size: var(--font-size-sm);
  text-align: left;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout #ship-to-different-address label:before, body.woocommerce-checkout #main-content form.woocommerce-checkout #ship-to-different-address label:after {
  display: none !important;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout #ship-to-different-address label input {
  appearance: none !important;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout #ship-to-different-address label:hover {
  outline: 2px solid var(--wp--preset--color--khaki);
}
body.woocommerce-checkout #main-content form.woocommerce-checkout #ship-to-different-address label:has(#ship-to-different-address-checkbox:checked) {
  background-color: var(--wp--preset--color--cream);
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order {
  margin-top: var(--spacerLg);
  padding: var(--spacerLg);
  background: black;
  border-radius: 0.9rem;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table * {
  color: white;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table * th, body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table * td {
  padding-top: 10px;
  vertical-align: baseline;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table * th * + *, body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table * td * + * {
  margin-top: 5px;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table * td + td,
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table * th + th,
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table * th + td {
  text-align: right !important;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table * .cart_item td, body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table * .cart_item th {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table * .includes_tax {
  display: block;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table * .product-quantity {
  display: block;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .shop_table tr th {
  text-align: left;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order ul {
  margin: 0;
  padding: 0;
  display: block;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order ul li {
  padding: 0;
  display: block;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order * + ul {
  margin-top: var(--spacerMd);
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .woocommerce-checkout-payment ul.wc_payment_methods {
  display: block;
  padding: 0;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .woocommerce-checkout-payment ul.wc_payment_methods li {
  display: block;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .woocommerce-checkout-payment .woocommerce-notice {
  padding: var(--spacerMd);
  font-size: 14px;
  animation: none;
  background-color: var(--wp--preset--color--red);
  color: white;
  border-color: rgba(0, 0, 0, 0.2);
  box-shadow: none;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .order-total :is(th, td) {
  padding-top: var(--spacerSm);
  padding-bottom: var(--spacerSm);
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .order-total :is(th, td) .woocommerce-Price-amount bdi {
  font-size: var(--font-size-sm) !important;
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .form-row.place-order {
  margin-top: var(--spacerLg);
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .form-row.place-order .woocommerce-terms-and-conditions-wrapper {
  font-size: var(--font-size-xs);
  font-family: var(--wp--preset--font-family--serif);
}
body.woocommerce-checkout #main-content form.woocommerce-checkout .woocommerce-checkout-review-order .form-row.place-order button {
  margin-top: var(--spacerLg);
  display: block;
  background: var(--wp--preset--color--yellow);
  color: black;
  display: block;
  padding: var(--spacerLg);
  text-align: center;
  width: 100%;
  font-size: var(--font-size-xs);
}
body.woocommerce-checkout #main-content fieldset:has(p:first-child[style*="display: none;"]) {
  display: none;
}

.ElementsApp, .ElementsApp .InputElement {
  color: var(--color--text);
  font-size: var(--font-size-sm);
}

.stripe-source-errors {
  grid-column: 1/3;
  width: 100%;
}

fieldset .form-row-wide {
  grid-column: 1/3;
}
fieldset :is(.clear, .stripe-source-errors:empty) {
  display: none !important;
}

#coderockz_woo_delivery_delivery_time_section {
  display: none !important;
}

* + .woocommerce-billing-fields {
  margin-top: var(--spacerLg);
}

.form-row.notes {
  grid-column: 1/3;
  width: 100%;
}

.woocommerce-input-wrapper {
  display: block;
}
* + .woocommerce-input-wrapper {
  margin-top: var(--spacerSm);
}

.select2-container--default .select2-selection--single {
  display: block;
  padding: 0em !important;
  border: 1px solid var(--wp--preset--color--grey);
  background: var(--wp--preset--color--white);
  height: auto;
}
.select2-container--default .select2-selection--single * {
  font-size: var(--font-size-xs);
  line-height: 1.2;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  right: var(--spacerSm);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 4px 20px 4px 8px;
  color: var(--wp--preset--color--black);
  line-height: 1.6;
}
.select2-container--default .select2-results ul li {
  font-size: 14px;
}
.select2-container--default .select2-results ul li.select2-results__option--highlighted {
  background-color: black !important;
}

#coderockz_woo_delivery_pickup_time_section .form-row.woocommerce-invalid .select2-selection {
  border-color: var(--wp--preset--color--error) !important;
}

#coderockz_woo_delivery_pickup_date_datepicker,
#coderockz_woo_delivery_date_datepicker {
  background-color: white;
  border: 1px solid var(--wp--preset--color--grey);
}

.flatpickr-day {
  line-height: 37px;
}
.flatpickr-day.selected {
  background: var(--wp--preset--color--teal);
  border-color: var(--wp--preset--color--teal);
}
.flatpickr-day.selected:hover {
  background: var(--wp--preset--color--teal);
  border-color: var(--wp--preset--color--teal);
}

form:not(:has([value=delivery]:checked)) #checkout_checkbox_field {
  display: none !important;
}

.checkbox.woocommerce-form__label {
  position: relative;
  position: relative !important;
  padding-left: 2em !important;
  cursor: pointer !important;
  display: block !important;
}
.checkbox.woocommerce-form__label input {
  appearance: none;
}
.checkbox.woocommerce-form__label:before, .checkbox.woocommerce-form__label:after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
}
.checkbox.woocommerce-form__label:before {
  left: 0;
  translate: 0 -50%;
  width: 1em;
  height: 1em;
  border: 1px solid var(--wp--preset--color--red);
  background: transparent;
  overflow: hidden;
}
.checkbox.woocommerce-form__label:after {
  left: 0.25em;
  width: 0.5em;
  height: 0.5em;
  top: 0.35em;
  background: var(--wp--preset--color--red);
  transition: all 0.2s;
  transform-origin: center;
  opacity: 0;
  scale: 0 0;
}
.checkbox.woocommerce-form__label:has(:checked):after {
  opacity: 1;
  scale: 1 1;
}
.checkbox.woocommerce-form__label:has(:disabled) {
  color: #bbb !important;
}
.checkbox.woocommerce-form__label:has(:disabled):before {
  box-shadow: none;
  border-color: #bbb;
  background-color: #ddd;
}
.checkbox.woocommerce-form__label:hover:before, .checkbox.woocommerce-form__label:focus-within:before {
  border: 3px solid var(--wp--preset--color--red) !important;
}

#payment [for=payment_method_ppcp-gateway] {
  display: none !important;
}

#payment * {
  color: white;
}
#payment fieldset {
  gap: var(--spacerSm);
}
#payment .wc-stripe-elements-field {
  border-radius: 8px;
}
#payment label[for=payment_method_stripe],
#payment #stripe-payment-data > p:first-child {
  display: none !important;
}

.woocommerce_checkout_place_order {
  background: var(--wp--preset--color--yellow);
}

.ppc-button-wrapper {
  background: white !important;
  padding: 10px !important;
  border-radius: 4px;
}

.select2-selection__placeholder {
  color: var(--color--text) !important;
}

.woocommerce-invalid-required-field:has(.checkbox) label {
  outline: 2px dotted var(--color--error);
  outline-offset: 4px;
}

.woocommerce-invalid:not(:has(.checkbox)) :is(input, select, textarea) {
  outline: 2px dotted var(--color--error);
  outline-offset: 4px;
}

#coderockz-woo-delivery-public-delivery-details {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  margin: -1px;
  padding: 0;
  width: 1px;
  height: 1px;
  border: 0;
}

abbr.required {
  color: var(--wp--preset--color--error);
}

/* ---------------------------------
WOO-COMMERCE NOTICE WRAPPER
---------------------------------- */
.woocommerce-notices-wrapper {
  background: var(--wp--preset--color--notice);
  color: var(--wp--preset--color--charcoal);
  max-width: 91.6666666666vw;
  margin: auto;
  width: 100%;
  margin-bottom: var(--spacerLg);
}
.woocommerce-notices-wrapper:has(:first-child) {
  padding: var(--spacerLg);
}
.woocommerce-notices-wrapper .button {
  vertical-align: text-top;
  display: inline-block;
  border: 1px solid var(--wp--preset--color--yellow);
}
.woocommerce-notices-wrapper .woocommerce-message {
  font-size: var(--font-size-xs);
  display: flex;
  align-items: center;
  gap: 20px;
}

.woocommerce-info {
  position: relative;
  margin: 0 auto;
  background: white;
  padding: var(--spacerSm);
  color: var(--wp--preset--color--charcoal);
  border-left: 10px solid var(--wp--preset--color--teal);
  background: var(--wp--preset--color--notice);
  font-size: 14px;
}
.woocommerce-info a {
  color: var(--wp--preset--color--charcoal) !important;
  border-bottom: 1px solid white;
  font-weight: bold;
}
.woocommerce-info.cart-empty {
  width: 100%;
  color: var(--wp--preset--color--charcoal);
  border-left: 0;
  text-align: center;
  background: var(--wp--preset--color--notice);
}

.wc-empty-cart-message {
  width: 100%;
  color: var(--wp--preset--color--charcoal);
  border-left: 0;
  text-align: center;
  background: var(--wp--preset--color--notice);
}

.offCanvas + .woocommerce-store-notice {
  position: fixed;
  bottom: var(--spacerLg);
  width: calc(100vw - var(--spacerLg) * 2);
  left: var(--spacerLg);
  right: var(--spacerLg);
}

#status {
  font-size: var(--font-size-xs);
  color: var(--wp--preset--color--teal);
  text-align: center;
}

.checkout .woocommerce-error {
  width: 100% !important;
  flex: 100% !important;
  padding: var(--spacerLg);
  color: var(--color--error);
  background: var(--wp--preset--color--white);
  margin: 0 auto;
  border: 1px solid;
}

:is(.woocommerce-NoticeGroup, .woocommerce-NoticeGroup-checkout) {
  min-width: 100%;
}

/* ---------------------------------
WOO-COMMERCE ORDER RECEIVED
---------------------------------- */
.woocommerce-order {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 28px;
  padding: var(--spacerXl);
}
@media (max-width: 782px) {
  .woocommerce-order {
    padding: var(--spacerMd);
    border-radius: 12px;
  }
}
.woocommerce-order .woocommerce-thankyou-order-received {
  text-align: center;
  font-size: var(--font-size-lg);
}
.woocommerce-order .woocommerce-order-overview {
  padding: var(--spacerLg) 0;
}
.woocommerce-order .woocommerce-order-overview li {
  display: block;
}
.woocommerce-order .woocommerce-table--order-details {
  width: 100%;
  border: 1px solid;
  border-radius: 4px;
  padding: var(--spacerSm);
  margin-top: var(--spacerSm);
}
.woocommerce-order .woocommerce-table--order-details thead th {
  text-align: left;
  font-size: var(--font-size-xs);
}
.woocommerce-order .woocommerce-table--order-details thead th.product-name {
  width: 65%;
}
.woocommerce-order .woocommerce-table--order-details :is(tbody, tfoot) td,
.woocommerce-order .woocommerce-table--order-details :is(tbody, tfoot) td *,
.woocommerce-order .woocommerce-table--order-details :is(tbody, tfoot) th {
  text-align: left;
  font-size: var(--font-size-xs);
  vertical-align: top;
}
.woocommerce-order .woocommerce-table--order-details :is(tbody, tfoot) td, .woocommerce-order .woocommerce-table--order-details :is(tbody, tfoot) th {
  padding-right: var(--spacerSm);
}
.woocommerce-order .woocommerce-table--order-details :is(tbody, tfoot) th {
  text-align: right;
}
.woocommerce-order .woocommerce-table--order-details :is(tbody, tfoot) .order_item + tr td {
  padding-top: var(--spacerSm);
}
.woocommerce-order .woocommerce-table--order-details :is(tbody, tfoot) .order_item > * {
  border-top: 1px solid;
  padding-top: var(--spacerSm);
  padding-bottom: var(--spacerSm);
}
.woocommerce-order .woocommerce-table--order-details :is(tbody, tfoot) td.product-name a {
  pointer-events: none;
  cursor: none;
}
.woocommerce-order .woocommerce-table--order-details :is(tbody, tfoot) .wc-item-meta {
  display: block;
  padding: 0;
  margin: 0;
}
.woocommerce-order .woocommerce-table--order-details :is(tbody, tfoot) .wc-item-meta * {
  font-size: 14px;
  margin: 0 !important;
}
.woocommerce-order .woocommerce-table--order-details :is(tbody, tfoot) .wc-item-meta li {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  padding: 0;
}
.woocommerce-order .woocommerce-table--order-details tfoot tr:first-child > * {
  padding-top: var(--spacerSm);
  border-top: 1px solid;
}
.woocommerce-order .woocommerce-column__title {
  margin-top: var(--spacerLg);
  font-size: var(--font-size-xs);
}
.woocommerce-order address {
  font-size: var(--font-size-xs);
}
.woocommerce-order address p {
  margin-top: var(--spacerSm);
}
@media (min-width: 450px) {
  .woocommerce-order .woocommerce-columns--addresses {
    display: flex;
    gap: 2em;
  }
}

/* ---------------------------------
WOO-COMMERCE BLOCKS
---------------------------------- */
.woocommerce-page.single-product {
  max-width: var(--content-width);
  margin: 0 auto;
}
.woocommerce-page.single-product .woocommerce-notices-wrapper {
  margin-bottom: var(--spacerLg);
}
.woocommerce-page.single-product #main > .product {
  display: grid;
  grid-gap: 2em;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 782px) {
  .woocommerce-page.single-product #main > .product {
    display: block;
  }
}
.woocommerce-page.single-product #main > .product .related.products > h2 {
  font-size: var(--font-size-md);
}
.woocommerce-page.single-product :is(.summary, .woocommerce-product-gallery) {
  width: 100%;
}
.woocommerce-page.single-product .summary > * + * {
  margin-top: var(--spacerLg);
}
.woocommerce-page.single-product .summary .product_title {
  font-size: var(--font-size-lg);
}
.woocommerce-page.single-product .summary .stock {
  padding: 5px 10px;
  border-radius: 100px;
  font-size: 10px;
  font-weight: bold;
  text-transform: uppercase;
  max-width: fit-content;
  background-color: rgba(0, 0, 0, 0.05);
}
.woocommerce-page.single-product .summary .stock.in-stock {
  background-color: var(--wp--preset--color--success);
  color: var(--wp--preset--color--teal);
}
.woocommerce-page.single-product .summary :is(.cart, .woocommerce-variation-add-to-cart) {
  width: 100%;
  display: flex;
  align-items: center;
  grid-gap: 0.5em;
  flex-wrap: wrap;
}
.woocommerce-page.single-product .summary :is(.cart, .woocommerce-variation-add-to-cart) .quantity input {
  max-width: 6ch;
  padding: var(--spacerMd) var(--spacerSm) !important;
}
.woocommerce-page.single-product .summary :is(.cart, .woocommerce-variation-add-to-cart) .quantity,
.woocommerce-page.single-product .summary :is(.cart, .woocommerce-variation-add-to-cart) .quantity + .button,
.woocommerce-page.single-product .summary :is(.cart, .woocommerce-variation-add-to-cart) .quantity ~ .added_to_cart {
  margin-top: var(--spacerLg) !important;
}
.woocommerce-page.single-product .summary :is(.cart, .woocommerce-variation-add-to-cart) .quantity + .button,
.woocommerce-page.single-product .summary :is(.cart, .woocommerce-variation-add-to-cart) .quantit ~ .added_to_cart {
  flex: 1;
  padding: var(--spacerMd) var(--spacerSm) !important;
  font-size: var(--font-size-xs);
  line-height: 1.2;
  font-weight: bold;
  text-transform: initial;
}
.woocommerce-page.single-product .summary .woocommerce-product-details__short-description * {
  font-size: var(--font-size-xs);
}
.woocommerce-page.single-product .summary .product_meta {
  display: none;
}
.woocommerce-page.single-product .variations_form .variations th.label {
  padding-right: 15px;
}
.woocommerce-page.single-product .variations_form .reset_variations {
  display: none !important;
}
.woocommerce-page.single-product .variations_form .single_variation_wrap {
  width: 100%;
}

.woocommerce-product-gallery {
  position: relative;
}
.woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: var(--spacerLg);
  right: var(--spacerLg);
}
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper img:not(.zoomImg) {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.woocommerce-product-gallery .flex-viewport {
  height: auto !important;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden !important;
}
.woocommerce-product-gallery .flex-control-nav {
  display: flex;
  justify-content: center;
  grid-gap: 0.5em;
  padding: 0;
}
.woocommerce-product-gallery .flex-control-nav li {
  display: block;
}
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li {
  aspect-ratio: 1/1;
  border-radius: 100%;
  position: relative;
  width: 60px;
}
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 100%;
}

.woocommerce-tabs .tabs {
  display: flex;
  padding: 0;
  margin-bottom: 0;
}
.woocommerce-tabs .tabs li {
  display: block;
  padding: 0;
  margin: 0;
  margin-bottom: -1px;
  flex: 1;
}
.woocommerce-tabs .tabs li a {
  height: 100%;
  font-size: 14px;
  padding: var(--spacerSm) var(--spacerLg);
  background: transparent;
  text-decoration: none !important;
  display: block;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  border: 1px solid transparent;
  opacity: 1 !important;
}
.woocommerce-tabs .tabs li.active a {
  background: var(--wp--preset--color--teal);
  color: black !important;
  border-color: black !important;
  border-bottom-color: var(--wp--preset--color--teal) !important;
}
.woocommerce-tabs .woocommerce-Tabs-panel {
  background: var(--wp--preset--color--teal);
  padding: var(--spacerLg);
  border: 1px solid black;
}
.woocommerce-tabs .woocommerce-Tabs-panel * {
  font-size: var(--font-size-sm);
}

.single_add_to_cart_button:has(+ .added_to_cart) + .added_to_cart {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  width: fit-content;
  background: var(--wp--preset--color--notice);
  padding: var(--spacerSm) var(--spacerLg);
  border: 0;
  animation: fadeInUp 0.3s ease-in-out;
  position: fixed;
  top: var(--navHeight);
  right: 0;
  width: fit-content;
  border-radius: 4px 0 0 4px;
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.2);
  color: var(--wp--preset--color--charcoal);
  margin: 0 !important;
}
.single_add_to_cart_button:has(+ .added_to_cart) + .added_to_cart:hover, .single_add_to_cart_button:has(+ .added_to_cart) + .added_to_cart:focus {
  opacity: 0.8;
}
.single_add_to_cart_button:has(+ .added_to_cart) + .added_to_cart:hover:after, .single_add_to_cart_button:has(+ .added_to_cart) + .added_to_cart:focus:after {
  transform: scale(-1, -1) translatex(-10px);
}
.single_add_to_cart_button:has(+ .added_to_cart) + .added_to_cart:before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='36.5' viewBox='0 0 28 36.5'%3E%3Cg transform='translate(-1073 -42.5)'%3E%3Cg transform='translate(1073 49)' fill='none'%3E%3Cpath d='M0,0H28V30H0Z' stroke='none'/%3E%3Cpath d='M 1 1.000001907348633 L 1 29.00000190734863 L 27 29.00000190734863 L 27 1.000001907348633 L 1 1.000001907348633 M 0 1.9073486328125e-06 L 28 1.9073486328125e-06 L 28 30.00000190734863 L 0 30.00000190734863 L 0 1.9073486328125e-06 Z' stroke='none' fill='%23000000'/%3E%3C/g%3E%3Cpath d='M2790.368,1451.712v6.73s.073,4.838,4.954,4.838,4.756-4.838,4.756-4.838v-6.73' transform='translate(3882.142 1506.28) rotate(180)' fill='none' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E");
  width: var(--font-size-sm);
  height: auto;
  position: relative;
  display: block;
  margin-right: var(--spacerLg);
}

/* ---------------------------------
WOO-COMMERCE BLOCKS
---------------------------------- */
.content-area {
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
}

ul.products {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  padding: 0;
  margin: 0;
}
* + ul.products {
  margin-top: var(--spacerLg);
}
ul.products.columns-3 .product {
  grid-column: span 8;
  display: block;
  padding: calc(4.1666666667vw + var(--spacerSm));
}
ul.products.columns-3 .product:nth-of-type(3n + 2) {
  margin-top: -100px;
}
ul.products.columns-4 {
  grid-gap: var(--spacerSm);
}
ul.products.columns-4 .product {
  grid-column: span 6;
  display: block;
}
ul.products .product :is(.woocommerce-loop-product__title, .woocommerce-loop-category__title) {
  font-size: var(--font-size-xs);
  font-weight: 300;
  text-transform: uppercase;
}
ul.products .product :is(.woocommerce-loop-product__title, .woocommerce-loop-category__title) .count {
  background: transparent;
  color: var(--color--text);
  opacity: 0.8;
}
* + ul.products .product :is(.woocommerce-loop-product__title, .woocommerce-loop-category__title) {
  margin-top: var(--spacerLg);
}
ul.products .product .price {
  font-size: var(--font-size-xs);
  font-weight: 700;
}
ul.products .product :is(.woocommerce-LoopProduct-link, a) {
  display: block;
  max-width: 100%;
  border-bottom: 0 !important;
}
ul.products .product :is(.woocommerce-LoopProduct-link, a) > img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
}
ul.products .product .add_to_cart_button {
  width: 100%;
  border-radius: 0;
  border: 0 !important;
  display: block;
  text-align: center;
}
* + ul.products .product .add_to_cart_button {
  margin-top: var(--spacerSm);
}
@media (max-width: 782px) {
  ul.products {
    display: block;
  }
  ul.products.columns-3 .product:nth-of-type(3n + 2) {
    margin-top: 0;
  }
}

.products:is(.related, .up-sells, .upsells) {
  width: 100%;
  grid-column: 1/3;
}
.products:is(.related, .up-sells, .upsells) > h2 {
  text-align: center;
}

.woocommerce-products-header {
  text-align: center;
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--spacerXl);
}
.woocommerce-products-header h1 {
  font-family: var(--wp--preset--font-family--brother) !important;
  line-height: 1;
  font-variant-ligatures: discretionary-ligatures;
  letter-spacing: 10px;
}

.has-teal-background-color .wc-block-grid__product-title {
  color: black;
}

.term-description {
  margin-top: var(--spacerLg);
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

/* ---------------------------------
WOO-COMMERCE STRIPE UI
---------------------------------- */
.ElementsApp, .ElementsApp .InputElement {
  color: var(--color--text);
  font-size: var(--font-size-sm);
}

.stripe-source-errors {
  grid-column: 1/3;
  width: 100%;
}

fieldset .form-row-wide {
  grid-column: 1/3;
}
fieldset :is(.clear, .stripe-source-errors:empty) {
  display: none !important;
}

.ElementsApp, .ElementsApp .InputElement {
  color: var(--color--text);
  font-size: var(--font-size-sm);
}

.wc-stripe-elements-field {
  appearance: none;
  padding: 0.5em !important;
  transition: all 0.4s ease-out !important;
  display: block;
  font-size: var(--font-size-sm);
  line-height: 1.2;
  transition: 0.6s all;
  width: 100%;
  background: whitesmoke !important;
  border: 0 !important;
  border-radius: 0px;
}

/* ---------------------------------
PAGINATION
---------------------------------- */
.woocommerce-pagination {
  display: block;
}
.woocommerce-pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}
.woocommerce-pagination .page-numbers li {
  display: block;
}
.woocommerce-pagination .page-numbers li :is(a, span) {
  height: 45px;
  display: block;
  background: var(--wp--preset--color--white);
  aspect-ratio: 1/1;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--wp--preset--color--grey) !important;
}
.woocommerce-pagination .page-numbers li :is(a, span).current {
  background: var(--wp--preset--color--teal);
  border-color: var(--wp--preset--color--teal) !important;
  color: white;
}


.cartToggle.flash {
  animation: cartFlash 0.8s ease-in-out;
}

@keyframes cartFlash {
  0% { transform: scale(1); box-shadow: none; }
  30% { transform: scale(1.3); box-shadow: 0 0 10px #ffd700; }
  60% { transform: scale(0.95); box-shadow: 0 0 5px #fff3cd; }
  100% { transform: scale(1); box-shadow: none; }
}