.translate-y-full, .rotate-90, .transform, svg, .load-more, .add-to-cart, .group-hover\:translate-y-0, .group-hover\:translate-y-\[-45\%\], .group-hover\:translate-y-\[-5\%\], .group-hover\:scale-\[1\.02\]{
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
}

.carousel{
    --tw-scroll-snap-strictness: proximity;
}

.shadow, .shadow-xl, .variant-inner1, .variant-inner2{
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
}

.blur, .\!invert, .invert, .\!filter, .filter{
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
}

.backdrop-blur-md, .order-detail-wrapper{
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: sans; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

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

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: mono; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
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;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-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.
*/

::-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 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.\!container{
    width: 100% !important;
}
.container{
    width: 100%;
}
@media (min-width: 650px){

    .\!container{
        max-width: 650px !important;
    }

    .container{
        max-width: 650px;
    }
}
@media (min-width: 768px){

    .\!container{
        max-width: 768px !important;
    }

    .container{
        max-width: 768px;
    }
}
@media (min-width: 1024px){

    .\!container{
        max-width: 1024px !important;
    }

    .container{
        max-width: 1024px;
    }
}
@media (min-width: 1280px){

    .\!container{
        max-width: 1280px !important;
    }

    .container{
        max-width: 1280px;
    }
}
@media (min-width: 1440px){

    .\!container{
        max-width: 1440px !important;
    }

    .container{
        max-width: 1440px;
    }
}
@media (min-width: 1920px){

    .\!container{
        max-width: 1920px !important;
    }

    .container{
        max-width: 1920px;
    }
}
.pointer-events-none{
    pointer-events: none;
}
.visible{
    visibility: visible;
}
.collapse{
    visibility: collapse;
}
.static{
    position: static;
}
.fixed{
    position: fixed;
}
.absolute{
    position: absolute;
}
.relative{
    position: relative;
}
.sticky{
    position: sticky;
}
.inset-0{
    inset: 0rem;
}
.-bottom-20{
    bottom: -2rem;
}
.-right-5{
    right: -0.5rem;
}
.-top-5{
    top: -0.5rem;
}
.bottom-0{
    bottom: 0rem;
}
.bottom-20{
    bottom: 2rem;
}
.left-0{
    left: 0rem;
}
.left-20{
    left: 2rem;
}
.left-\[-1rem\]{
    left: -1rem;
}
.left-\[-9999px\]{
    left: -9999px;
}
.right-0{
    right: 0rem;
}
.right-20{
    right: 2rem;
}
.right-5{
    right: 0.5rem;
}
.right-\[4px\]{
    right: 4px;
}
.top-0{
    top: 0rem;
}
.top-100{
    top: 10rem;
}
.top-20{
    top: 2rem;
}
.top-90{
    top: 9rem;
}
.top-\[-9999px\]{
    top: -9999px;
}
.top-full{
    top: 100%;
}
.isolate{
    isolation: isolate;
}
.z-1{
    z-index: 1;
}
.z-\[100\]{
    z-index: 100;
}
.z-\[102\]{
    z-index: 102;
}
.z-\[998\]{
    z-index: 998;
}
.z-\[999\]{
    z-index: 999;
}
.z-\[99\]{
    z-index: 99;
}
.order-1{
    order: 1;
}
.order-2{
    order: 2;
}
.order-3{
    order: 3;
}
.order-4{
    order: 4;
}
.col-span-1{
    grid-column: span 1 / span 1;
}
.col-span-12{
    grid-column: span 12 / span 12;
}
.col-span-14{
    grid-column: span 14 / span 14;
}
.col-span-2{
    grid-column: span 2 / span 2;
}
.col-span-24{
    grid-column: span 24 / span 24;
}
.col-span-3{
    grid-column: span 3 / span 3;
}
.col-span-4{
    grid-column: span 4 / span 4;
}
.col-span-6{
    grid-column: span 6 / span 6;
}
.col-span-8{
    grid-column: span 8 / span 8;
}
.\!col-start-16{
    grid-column-start: 16 !important;
}
.col-start-1{
    grid-column-start: 1;
}
.col-start-2{
    grid-column-start: 2;
}
.col-start-3{
    grid-column-start: 3;
}
.\!m-0{
    margin: 0rem !important;
}
.-mx-20{
    margin-left: -2rem;
    margin-right: -2rem;
}
.mx-auto{
    margin-left: auto;
    margin-right: auto;
}
.mb-10{
    margin-bottom: 1rem;
}
.mb-100{
    margin-bottom: 10rem;
}
.mb-20{
    margin-bottom: 2rem;
}
.mb-30{
    margin-bottom: 3rem;
}
.mb-40{
    margin-bottom: 4rem;
}
.mb-60{
    margin-bottom: 6rem;
}
.ml-5{
    margin-left: 0.5rem;
}
.ml-auto{
    margin-left: auto;
}
.mr-10{
    margin-right: 1rem;
}
.mt-10{
    margin-top: 1rem;
}
.mt-100{
    margin-top: 10rem;
}
.mt-20{
    margin-top: 2rem;
}
.mt-40{
    margin-top: 4rem;
}
.mt-80{
    margin-top: 8rem;
}
.block{
    display: block;
}
.inline-block{
    display: inline-block;
}
.inline{
    display: inline;
}
.\!flex{
    display: flex !important;
}
.flex{
    display: flex;
}
.table{
    display: table;
}
.table-caption{
    display: table-caption;
}
.table-cell{
    display: table-cell;
}
.grid{
    display: grid;
}
.contents{
    display: contents;
}
.list-item{
    display: list-item;
}
.\!hidden{
    display: none !important;
}
.hidden{
    display: none;
}
.aspect-square{
    aspect-ratio: 1 / 1;
}
.size-15{
    width: 1.5rem;
    height: 1.5rem;
}
.size-20{
    width: 2rem;
    height: 2rem;
}
.size-40{
    width: 4rem;
    height: 4rem;
}
.size-\[1\.5rem\]{
    width: 1.5rem;
    height: 1.5rem;
}
.size-\[1rem\]{
    width: 1rem;
    height: 1rem;
}
.size-\[4rem\]{
    width: 4rem;
    height: 4rem;
}
.size-\[calc\(5\.6rem-8px\)\]{
    width: calc(5.6rem - 8px);
    height: calc(5.6rem - 8px);
}
.size-full{
    width: 100%;
    height: 100%;
}
.h-0{
    height: 0rem;
}
.h-60{
    height: 6rem;
}
.h-\[1lh\]{
    height: 1lh;
}
.h-\[2px\]{
    height: 2px;
}
.h-\[4px\]{
    height: 4px;
}
.h-\[5\.6rem\]{
    height: 5.6rem;
}
.h-\[8rem\]{
    height: 8rem;
}
.h-\[calc\(100\%-1rem\)\]{
    height: calc(100% - 1rem);
}
.h-full{
    height: 100%;
}
.max-h-50{
    max-height: 5rem;
}
.max-h-\[5rem\]{
    max-height: 5rem;
}
.max-h-max{
    max-height: -moz-max-content;
    max-height: max-content;
}
.\!w-auto{
    width: auto !important;
}
.w-100{
    width: 10rem;
}
.w-25{
    width: 2.5rem;
}
.w-50{
    width: 5rem;
}
.w-60{
    width: 6rem;
}
.w-\[2rem\]{
    width: 2rem;
}
.w-\[3rem\]{
    width: 3rem;
}
.w-\[4rem\]{
    width: 4rem;
}
.w-\[8rem\]{
    width: 8rem;
}
.w-\[calc\(100\%\+2rem\)\]{
    width: calc(100% + 2rem);
}
.w-auto{
    width: auto;
}
.w-full{
    width: 100%;
}
.min-w-\[50rem\]{
    min-width: 50rem;
}
.max-w-\[20rem\]{
    max-width: 20rem;
}
.max-w-\[40rem\]{
    max-width: 40rem;
}
.max-w-\[50rem\]{
    max-width: 50rem;
}
.max-w-\[5rem\]{
    max-width: 5rem;
}
.max-w-\[67rem\]{
    max-width: 67rem;
}
.max-w-\[6rem\]{
    max-width: 6rem;
}
.max-w-max{
    max-width: -moz-max-content;
    max-width: max-content;
}
.border-collapse{
    border-collapse: collapse;
}
.translate-y-full{
    --tw-translate-y: 100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-90{
    --tw-rotate: 90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform{
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cursor-pointer{
    cursor: pointer;
}
.resize{
    resize: both;
}
.\!grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}
.grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-24{
    grid-template-columns: repeat(24, minmax(0, 1fr));
}
.grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
.flex-row{
    flex-direction: row;
}
.\!flex-col{
    flex-direction: column !important;
}
.flex-col{
    flex-direction: column;
}
.flex-wrap{
    flex-wrap: wrap;
}
.items-start{
    align-items: flex-start;
}
.items-center{
    align-items: center;
}
.justify-start{
    justify-content: flex-start;
}
.justify-end{
    justify-content: flex-end;
}
.justify-center{
    justify-content: center;
}
.justify-between{
    justify-content: space-between;
}
.\!gap-x-20{
    -moz-column-gap: 2rem !important;
         column-gap: 2rem !important;
}
.gap-x-10{
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
.gap-x-100{
    -moz-column-gap: 10rem;
         column-gap: 10rem;
}
.gap-x-20{
    -moz-column-gap: 2rem;
         column-gap: 2rem;
}
.gap-x-40{
    -moz-column-gap: 4rem;
         column-gap: 4rem;
}
.gap-x-5{
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
}
.gap-y-10{
    row-gap: 1rem;
}
.gap-y-20{
    row-gap: 2rem;
}
.gap-y-30{
    row-gap: 3rem;
}
.gap-y-40{
    row-gap: 4rem;
}
.gap-y-5{
    row-gap: 0.5rem;
}
.divide-y > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-black\/10 > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(0 0 0 / 0.1);
}
.overflow-hidden{
    overflow: hidden;
}
.truncate{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.whitespace-nowrap{
    white-space: nowrap;
}
.rounded{
    border-radius: 0.25rem;
}
.rounded-\[0\.25rem\]{
    border-radius: 0.25rem;
}
.rounded-\[0\.4rem\]{
    border-radius: 0.4rem;
}
.rounded-\[0\.5rem\]{
    border-radius: 0.5rem;
}
.rounded-full{
    border-radius: 9999px;
}
.rounded-lg{
    border-radius: 0.5rem;
}
.\!border-0{
    border-width: 0px !important;
}
.border{
    border-width: 1px;
}
.border-b{
    border-bottom-width: 1px;
}
.border-solid{
    border-style: solid;
}
.border-black{
    --tw-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}
.border-black\/10{
    border-color: rgb(0 0 0 / 0.1);
}
.border-black\/20{
    border-color: rgb(0 0 0 / 0.2);
}
.border-white{
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-opacity-10{
    --tw-border-opacity: 0.1;
}
.\!bg-black{
    --tw-bg-opacity: 1 !important;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)) !important;
}
.\!bg-white{
    --tw-bg-opacity: 1 !important;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important;
}
.bg-\[\#e5e4d0\]{
    --tw-bg-opacity: 1;
    background-color: rgb(229 228 208 / var(--tw-bg-opacity, 1));
}
.bg-black{
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/50{
    background-color: rgb(0 0 0 / 0.5);
}
.bg-darkBlue{
    --tw-bg-opacity: 1;
    background-color: rgb(0 31 63 / var(--tw-bg-opacity, 1));
}
.bg-darkGray{
    --tw-bg-opacity: 1;
    background-color: rgb(128 128 128 / var(--tw-bg-opacity, 1));
}
.bg-darkerGray{
    --tw-bg-opacity: 1;
    background-color: rgb(77 77 77 / var(--tw-bg-opacity, 1));
}
.bg-light{
    --tw-bg-opacity: 1;
    background-color: rgb(240 242 244 / var(--tw-bg-opacity, 1));
}
.bg-red{
    --tw-bg-opacity: 1;
    background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
}
.bg-white{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-opacity-50{
    --tw-bg-opacity: 0.5;
}
.fill-current{
    fill: currentColor;
}
.fill-white{
    fill: #ffffff;
}
.stroke-current{
    stroke: currentColor;
}
.stroke-red{
    stroke: #003366;
}
.stroke-white{
    stroke: #ffffff;
}
.object-contain{
    -o-object-fit: contain;
       object-fit: contain;
}
.object-cover{
    -o-object-fit: cover;
       object-fit: cover;
}
.\!p-0{
    padding: 0rem !important;
}
.p-10{
    padding: 1rem;
}
.p-100{
    padding: 10rem;
}
.p-15{
    padding: 1.5rem;
}
.p-20{
    padding: 2rem;
}
.p-30{
    padding: 3rem;
}
.p-5{
    padding: 0.5rem;
}
.px-10{
    padding-left: 1rem;
    padding-right: 1rem;
}
.px-15{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.px-20{
    padding-left: 2rem;
    padding-right: 2rem;
}
.px-30{
    padding-left: 3rem;
    padding-right: 3rem;
}
.px-40{
    padding-left: 4rem;
    padding-right: 4rem;
}
.py-10{
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.py-100{
    padding-top: 10rem;
    padding-bottom: 10rem;
}
.py-120{
    padding-top: 12rem;
    padding-bottom: 12rem;
}
.py-15{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.py-20{
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.py-30{
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.py-40{
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.py-60{
    padding-top: 6rem;
    padding-bottom: 6rem;
}
.py-80{
    padding-top: 8rem;
    padding-bottom: 8rem;
}
.pb-100{
    padding-bottom: 10rem;
}
.pb-20{
    padding-bottom: 2rem;
}
.pb-40{
    padding-bottom: 4rem;
}
.pl-20{
    padding-left: 2rem;
}
.pr-20{
    padding-right: 2rem;
}
.pr-40{
    padding-right: 4rem;
}
.pr-50{
    padding-right: 5rem;
}
.pt-100{
    padding-top: 10rem;
}
.pt-20{
    padding-top: 2rem;
}
.pt-40{
    padding-top: 4rem;
}
.pt-60{
    padding-top: 6rem;
}
.pt-80{
    padding-top: 8rem;
}
.pt-\[100\%\]{
    padding-top: 100%;
}
.pt-\[125\%\]{
    padding-top: 125%;
}
.pt-\[70\%\]{
    padding-top: 70%;
}
.pt-\[75\%\]{
    padding-top: 75%;
}
.text-left{
    text-align: left;
}
.text-center{
    text-align: center;
}
.text-right{
    text-align: right;
}
.font-mono{
    font-family: mono;
}
.text-10{
    font-size: 1rem;
}
.text-12{
    font-size: 1.2rem;
}
.text-14{
    font-size: 1.4rem;
}
.text-18{
    font-size: 1.8rem;
}
.text-20{
    font-size: 2rem;
}
.text-24{
    font-size: 2.4rem;
}
.text-25{
    font-size: 2.5rem;
}
.text-32{
    font-size: 3.2rem;
}
.text-35{
    font-size: 3.5rem;
}
.text-42{
    font-size: 4.2rem;
}
.text-52{
    font-size: 5.2rem;
}
.font-bold{
    font-weight: 700;
}
.font-medium{
    font-weight: 500;
}
.uppercase{
    text-transform: uppercase;
}
.lowercase{
    text-transform: lowercase;
}
.capitalize{
    text-transform: capitalize;
}
.leading-\[0\]{
    line-height: 0;
}
.leading-\[1\.35\]{
    line-height: 1.35;
}
.leading-\[1\.6\]{
    line-height: 1.6;
}
.leading-\[3rem\]{
    line-height: 3rem;
}
.leading-none{
    line-height: 1;
}
.tracking-\[-0\.02em\]{
    letter-spacing: -0.02em;
}
.tracking-\[-0\.05em\]{
    letter-spacing: -0.05em;
}
.tracking-\[0\.12rem\]{
    letter-spacing: 0.12rem;
}
.text-black{
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-dark{
    --tw-text-opacity: 1;
    color: rgb(0 31 63 / var(--tw-text-opacity, 1));
}
.text-red{
    --tw-text-opacity: 1;
    color: rgb(0 51 102 / var(--tw-text-opacity, 1));
}
.text-white{
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline{
    text-decoration-line: underline;
}
.antialiased{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.opacity-0{
    opacity: 0;
}
.opacity-50{
    opacity: 0.5;
}
.opacity-60{
    opacity: 0.6;
}
.mix-blend-multiply{
    mix-blend-mode: multiply;
}
.shadow{
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl{
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline-none{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.outline{
    outline-style: solid;
}
.blur{
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.\!invert{
    --tw-invert: invert(100%) !important;
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}
.invert{
    --tw-invert: invert(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.\!filter{
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}
.filter{
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur-md{
    --tw-backdrop-blur: blur(12px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 150ms;
}
.transition-all{
    transition-property: all;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 150ms;
}
.transition-colors{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 150ms;
}
.transition-transform{
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 150ms;
}
.duration-300{
    transition-duration: 300ms;
}
/**
 * Fonts
*/
@font-face {
    font-family: sans;
    src: url(../fonts/NBInternationalBoldWebfont.woff2) format("woff2"),url(../fonts/NBInternationalBoldWebfont.woff) format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: sans;
    src: url(../fonts/NBInternationalRegularWebfont.woff2) format("woff2"),url(../fonts/NBInternationalRegularWebfont.woff) format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: mono;
    src: url(../fonts/NBInternationalMonoWebfont.woff2) format("woff2"),url(../fonts/NBInternationalMonoWebfont.woff) format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
header:after {
        content: '';
        pointer-events: none;
        position: absolute;
        top: 0rem;
        left: 0rem;
        z-index: -1;
        height: 100%;
        width: 100%;
        border-bottom-width: 1px;
        border-style: solid;
        border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
        --tw-border-opacity: 0.2;
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
        transition-property: all;
        transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
        transition-duration: 300ms;
    }
header .menu-bar nav:not(:first-child) a{
    display: block;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
header .menu-bar nav > ul{
    display: block;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
}
@media (min-width: 1024px){

    header .menu-bar nav > ul{
        display: flex;
        flex-wrap: wrap;
    }
}
header .menu-bar [data-level="1"] a, header .menu-bar [data-level="1"] button{
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
header .menu-bar [data-level="2"] a, header .menu-bar [data-level="2"] button{
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
header .menu-bar [data-level="1"] > a,
        header .menu-bar [data-level="1"] > button{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
header .menu-bar [data-level="1"] > a:hover, header .menu-bar [data-level="1"] > button:hover{
    --tw-text-opacity: 1;
    color: rgb(8 164 255 / var(--tw-text-opacity, 1));
}
.menu-bar > div {
    height: 100svh;

    /*@apply overflow-y-scroll;*/
}
@media (min-width: 1024px) {
.menu-bar > div {
        height: auto
}
body.home:not(.menu-is-open):not(.scrolled) header .logo{
        fill: #ffffff;
    }
body.home:not(.menu-is-open):not(.scrolled) header .menu-bar nav:not(:first-child) a{
        --tw-text-opacity: 1;
        color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    }
body.home:not(.menu-is-open):not(.scrolled) header .menu-bar [data-level="1"] > a,
            body.home:not(.menu-is-open):not(.scrolled) header .menu-bar [data-level="1"] > button{
        --tw-text-opacity: 1;
        color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    }
    }
[data-level="0"] button{
    width: 100%;
    text-align: left;
}
/* ============================================
   POSITIONING - Levels 2, 3, 4
   ============================================ */
[data-level="2"],
[data-level="3"],
[data-level="4"]{
    position: relative;
    z-index: 1;
}
.thumbnail-container [data-level="2"]:has(.thumbnail-image.active),.thumbnail-container 
[data-level="3"]:has(.thumbnail-image.active),.thumbnail-container 
[data-level="4"]:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
@media (min-width: 1024px){

    [data-level="2"],
[data-level="3"],
[data-level="4"]{
        position: absolute;
        top: 0rem;
        left: 0rem;
        right: 0rem;
    }
}
/* ============================================
   LEVEL 2 STYLES
   ============================================ */
@media (min-width: 1024px){

    [data-level="2"]{
        top: 100%;
    }
}
[data-level="2"]{
    z-index: 1;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.2);
}
@media (min-width: 1024px){

    [data-level="2"]{
        border-top-width: 1px;
        border-bottom-width: 1px;
    }
}
[data-level="2"]{
    left: 0rem;
    z-index: 0;
    margin-top: -2px;
    width: 100%;
    overflow: hidden;
    border-bottom-width: 1px;
    --tw-bg-opacity: 1;
    background-color: rgb(240 242 244 / var(--tw-bg-opacity, 1));
    will-change: transform;
}
@media (min-width: 1024px){

    [data-level="2"]{
        position: absolute;
        min-height: 50rem;
    }
}
[data-level="2"] > .grid{
    position: relative;
}
.thumbnail-container [data-level="2"] > .grid:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
@media (min-width: 1024px){

    [data-level="2"] > .grid{
        min-height: 50rem;
    }
}
/* ============================================
   OPACITY & POINTER EVENTS - Levels 2, 3, 4
   ============================================ */
[data-level="2"],
[data-level="3"],
[data-level="4"]{
    height: 0rem;
    overflow: hidden;
}
@media (min-width: 1024px){

    [data-level="2"],
[data-level="3"],
[data-level="4"]{
        pointer-events: none;
        height: auto;
        opacity: 0;
    }
}
[data-level="2"] ul, [data-level="3"] ul, [data-level="4"] ul{
    padding-top: 2rem;
    padding-bottom: 2rem;
}
@media (min-width: 1024px){

    [data-level="2"] ul, [data-level="3"] ul, [data-level="4"] ul{
        padding-bottom: 5rem;
    }
}
[data-level="2"] ul li a, [data-level="2"] ul li button, [data-level="3"] ul li a, [data-level="3"] ul li button, [data-level="4"] ul li a, [data-level="4"] ul li button{
    display: flex;
    width: 100%;
    padding-top: 0rem;
    padding-bottom: 0rem;
}
@media (min-width: 1024px){

    [data-level="2"] ul li a:hover,
                [data-level="2"] ul li a.is-active,
                [data-level="2"] ul li button:hover,
                [data-level="2"] ul li button.is-active,
                [data-level="3"] ul li a:hover,
                [data-level="3"] ul li a.is-active,
                [data-level="3"] ul li button:hover,
                [data-level="3"] ul li button.is-active,
                [data-level="4"] ul li a:hover,
                [data-level="4"] ul li a.is-active,
                [data-level="4"] ul li button:hover,
                [data-level="4"] ul li button.is-active{
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    }
}
.mobile-menu-open{
    overflow: hidden;
}
/* ============================================
   LEVEL 4 TRANSITION
   ============================================ */
[data-level="4"] {
    transition: opacity 0.5s, visibility 0.5s;
}
/* ============================================
   LEVEL 0 STYLES
   ============================================ */
[data-level="0"] button, [data-level="0"] a{
    padding-left: 0rem;
    padding-right: 0rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
[data-level="2"] li button, [data-level="2"] li a{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-right: 0rem;
}
@media (min-width: 1024px){

    [data-level="2"] li button, [data-level="2"] li a{
        padding-left: 2rem;
    }

    [data-level="3"] > li button, [data-level="3"] > li a, [data-level="4"] > li button, [data-level="4"] > li a{
        padding-left: 3rem;
    }
}
.level-3 li:first-child{
    font-weight: 700;
}
/* ============================================
   LEVEL 2 LIST STYLES
   ============================================ */
[data-level="2"] ul button, [data-level="2"] ul a{
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
}
[data-level="2"] ul button span, [data-level="2"] ul a span{
    display: block;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
/* ============================================
   LEVEL 3 LIST STYLES
   ============================================ */
@media (min-width: 1024px){

    [data-level="3"] ul{
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    }
}
[data-level="3"] ul button span, [data-level="3"] ul a span{
    margin-top: -1px;
    display: block;
    width: 100%;
    border-bottom-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
    --tw-border-opacity: 0.2;
    padding-right: 2rem;
}
/* ============================================
   LEVELS 3 & 4 SHARED STYLES
   ============================================ */
@media (min-width: 1024px){

    [data-level="3"],
[data-level="4"]{
        height: 100%;
    }

    [data-level="3"] .grid, [data-level="4"] .grid{
        height: 100%;
    }
}
[data-level="3"] .grid, [data-level="4"] .grid {
        overflow-y: scroll;
    }
[data-level="3"] ul, [data-level="4"] ul{
    border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
    --tw-border-opacity: 0.2;
}
@media (min-width: 1024px){

    [data-level="3"] ul, [data-level="4"] ul{
        border-right-width: 1px;
        border-style: solid;
    }
}
[data-level="3"] .grid,
    [data-level="4"] .grid {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
[data-level="3"] .grid::-webkit-scrollbar, [data-level="4"] .grid::-webkit-scrollbar {
            display: none;
        }
/* ============================================
   LEVEL 0 DISPLAY
   ============================================ */
[data-level="0"] > li a,
[data-level="0"] > li button{
    display: block;
}
/* ============================================
   HAS-CHILDREN HOVER STATES
   ============================================ */
.has-children a, .has-children button span{
    transition-duration: 300ms;
}
.has-children a:hover, .has-children button span:hover{
    opacity: 0.7;
}
.has-children button:hover span{
    opacity: 0.7;
    transition-duration: 300ms;
}
.has-children svg{
    top: 50%;
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@media (max-width: 1024px) {
    [data-level="2"],
    [data-level="3"] {
        height: 0;
        overflow: hidden;
        clip-path: none; /* Remove any clip-path on mobile */
    }
}
/* ============================================
   LEVEL 1 HOVER -> LEVEL 2 ACTIVATION
   ============================================ */
[data-level="1"] button.is-active ~ [data-level="2"]{
    opacity: 1;
    pointer-events: auto;
}
[data-level="1"] button.is-active ~ [data-level="2"] .has-children .is-active {
        opacity: 1;
    }
[data-level="1"] button.is-active ~ [data-level="2"] .has-children .is-active button, [data-level="1"] button.is-active ~ [data-level="2"] .has-children .is-active a{
    pointer-events: auto;
}
[data-level="1"] > a,
[data-level="1"] > button,
nav:nth-of-type(2) a{
    position: relative;
}
.thumbnail-container [data-level="1"] > a:has(.thumbnail-image.active),.thumbnail-container 
[data-level="1"] > button:has(.thumbnail-image.active),.thumbnail-container 
nav:nth-of-type(2) a:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
[data-level="1"] > a:before, [data-level="1"] > button:before, nav:nth-of-type(2) a:before {
        content: '';
        position: absolute;
        transform-origin: left;
        transform: scaleX(0);
        transition: transform .25s ease-in-out;
        height: 2px;
        left: 0;
        transform-origin: right;
        will-change: transform;
        bottom: 0rem;
        z-index: 10;
        width: 100%;
        --tw-bg-opacity: 1;
        background-color: rgb(8 164 255 / var(--tw-bg-opacity, 1));
    }
[data-level="1"] > a:hover:before, [data-level="1"] > a.is-active:before, [data-level="1"] > button:hover:before, [data-level="1"] > button.is-active:before, nav:nth-of-type(2) a:hover:before, nav:nth-of-type(2) a.is-active:before {
            transform: none;
            transform-origin: left;
        }
/* ============================================
   LEVEL 3 WHITE BACKGROUND
   ============================================ */
.level-3 ul:before {
            content: '';
            width: 100vw;
            display: block;
            pointer-events: none;
            top: 0;
            z-index: -1;
        }
@media (min-width: 1024px){

    .level-3 ul:before{
        position: absolute;
        height: 100%;
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    }
}
.level-2 .has-children button{
    position: relative;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    font-weight: 700;
}
.thumbnail-container .level-2 .has-children button:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.level-3 ul{
    padding-top: 0rem;
}
@media (min-width: 1024px){

    .level-3 ul{
        padding-top: 2rem;
    }
}
/* ============================================
   LEVEL 3 HAS-CHILDREN BUTTON
   ============================================ */
.level-3 .has-children button{
    position: relative;
    width: 100%;
    flex-direction: column;
    font-weight: 700;
}
.thumbnail-container .level-3 .has-children button:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.level-3 .has-children button span, .level-3 .has-children button svg{
    z-index: 1;
}
@media (min-width: 1024px){

    .level-3 .has-children button svg{
        position: absolute;
    }
}
.level-3 .has-children button:after {
                content: '';
                z-index: 0;
                height: 100%;
                width: 100%;
            }
@media (min-width: 1024px){

    .level-3 .has-children button:after{
        position: absolute;
        right: -0.25rem;
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
        opacity: 0;
    }
}
.level-3 .has-children button.is-active:after{
    opacity: 1;
}
/* ============================================
   VISIBILITY TOGGLE - Levels 3 & 4
   ============================================ */
@media (min-width: 1024px) {
[data-level="3"]:not(.is-active),
[data-level="4"]:not(.is-active) {
        visibility: hidden
}
[data-level="2"] {
        clip-path: inset(0% 0% 100% 0%)
}
    }
/**
 * Filter
*/
.filter-heading{
    position: relative;
    margin-bottom: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-bottom-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.1);
    padding-bottom: 3rem;
}
.thumbnail-container .filter-heading:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.filter-heading span {
    }
.filter-heading .clear-filter{
    margin-top: 2rem;
    display: block;
    max-width: -moz-max-content;
    max-width: max-content;
    border-bottom-width: 1px;
    font-family: mono;
    font-size: 1.4rem;
    font-weight: 700;
    text-transform: uppercase;
}
.close-filter-wrap{
    position: relative;
    display: none;
    width: 100%;
}
.thumbnail-container .close-filter-wrap:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.close-filter-wrap button{
    margin-bottom: 4rem;
    display: block;
    width: 100%;
    border-radius: 0.5rem;
    background-color: rgb(0 0 0 / 0.1);
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.filter-open .close-filter-wrap{
    display: block;
}
.toggle-filter-mobile{
    position: absolute;
    right: 0rem;
    display: block;
}
@media (min-width: 650px){

    .toggle-filter-mobile{
        display: none;
    }
}
.toggle-filter-mobile .close-filter {
        width: 3rem;
        height: 3rem;
        border-radius: 0.25rem;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-width: 1px;
        border-style: solid;
        --tw-border-opacity: 1;
        border-color: rgb(0 51 102 / var(--tw-border-opacity, 1));
        --tw-bg-opacity: 1;
        background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
    }
.toggle-filter-mobile .close-filter:after,
        .toggle-filter-mobile .close-filter:before {
            content: '';
            position: absolute;
            height: 2px;
            width: 1.75rem;
            --tw-bg-opacity: 1;
            background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
        }
.filter-open .filters{
    height: auto;
}
.filters{
    display: flex;
    height: 0rem;
    flex-direction: column;
    row-gap: 1rem;
    overflow: hidden;
}
@media (min-width: 650px){

    .filters{
        height: auto;
    }
}
.filter-menu{
    border-radius: 0.25rem;
    border-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
@media (min-width: 650px){

    .filter-menu{
        display: none;
    }
}
.filter-heading span{
    font-size: 3rem;
    font-weight: 700;
}
.filter-wrapper{
    position: relative;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding: 2rem;
}
.thumbnail-container .filter-wrapper:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
@media (min-width: 650px){

    .filter-wrapper{
        background-color: transparent;
        padding: 0rem;
        padding-bottom: 4rem;
    }
}
.filter-wrapper .inner-filters,
    .filter-wrapper .ajax-filters{
    display: flex;
    flex-direction: column;
}
.filter-wrapper .inner-filters label, .filter-wrapper .ajax-filters label{
    position: relative;
    display: block;
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 3rem;
    font-weight: 700;
}
.thumbnail-container .filter-wrapper .inner-filters label:has(.thumbnail-image.active),.thumbnail-container  .filter-wrapper .ajax-filters label:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.filter-wrapper .inner-filters label .icon, .filter-wrapper .ajax-filters label .icon{
    position: absolute;
    left: 0rem;
    display: flex;
    width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.25rem;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.filter-wrapper .inner-filters label .icon:after, .filter-wrapper .ajax-filters label .icon:after {
                    content: '';
                    position: absolute;
                    width: 1.5rem;
                    height: 1.5rem;
                    border-radius: 0.25rem;
                    --tw-bg-opacity: 1;
                    background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
                    opacity: 0;
                }
.filter-wrapper .inner-filters label:hover .icon, .filter-wrapper .ajax-filters label:hover .icon{
    --tw-border-opacity: 1;
    border-color: rgb(0 51 102 / var(--tw-border-opacity, 1));
}
.filter-wrapper .inner-filters label.active .icon, .filter-wrapper .ajax-filters label.active .icon{
    --tw-border-opacity: 1;
    border-color: rgb(0 51 102 / var(--tw-border-opacity, 1));
}
.filter-wrapper .inner-filters label.active .icon:after, .filter-wrapper .ajax-filters label.active .icon:after{
    opacity: 1;
}
.filter-wrapper .inner-filters .filter, .filter-wrapper .ajax-filters .filter{
    margin-bottom: 3rem;
    border-bottom-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.1);
    padding-bottom: 3rem;
}
.filter-wrapper .inner-filters .filter .filter-name, .filter-wrapper .ajax-filters .filter .filter-name{
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.filter-wrapper .inner-filters .filter .filter-name span, .filter-wrapper .ajax-filters .filter .filter-name span{
    font-size: 2rem;
}
.filter-wrapper .inner-filters .filter .filter-name button, .filter-wrapper .ajax-filters .filter .filter-name button{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 1.4rem;
}
.filter-wrapper .inner-filters .filter .inner, .filter-wrapper .ajax-filters .filter .inner{
    display: flex;
    flex-direction: column;
}
.filter-wrapper .inner-filters .filter .inner .filter-item, .filter-wrapper .ajax-filters .filter .inner .filter-item{
    position: relative;
    display: block;
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 3rem;
    font-weight: 700;
}
.thumbnail-container .filter-wrapper .inner-filters .filter .inner .filter-item:has(.thumbnail-image.active),.thumbnail-container  .filter-wrapper .ajax-filters .filter .inner .filter-item:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.filter-wrapper .inner-filters .filter .inner .filter-item .count, .filter-wrapper .ajax-filters .filter .inner .filter-item .count{
    opacity: 0.5;
}
.filter-wrapper .inner-filters .filter .inner .filter-item .icon, .filter-wrapper .ajax-filters .filter .inner .filter-item .icon{
    position: absolute;
    left: 0rem;
    display: flex;
    width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.25rem;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.filter-wrapper .inner-filters .filter .inner .filter-item .icon:after, .filter-wrapper .ajax-filters .filter .inner .filter-item .icon:after {
                            content: '';
                            position: absolute;
                            width: 1.5rem;
                            height: 1.5rem;
                            border-radius: 0.25rem;
                            --tw-bg-opacity: 1;
                            background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
                            opacity: 0;
                        }
.filter-wrapper .inner-filters .filter .inner .filter-item:hover .icon, .filter-wrapper .ajax-filters .filter .inner .filter-item:hover .icon{
    --tw-border-opacity: 1;
    border-color: rgb(0 51 102 / var(--tw-border-opacity, 1));
}
.filter-wrapper .inner-filters .filter .inner .filter-item.active .icon, .filter-wrapper .ajax-filters .filter .inner .filter-item.active .icon{
    --tw-border-opacity: 1;
    border-color: rgb(0 51 102 / var(--tw-border-opacity, 1));
}
.filter-wrapper .inner-filters .filter .inner .filter-item.active .icon:after, .filter-wrapper .ajax-filters .filter .inner .filter-item.active .icon:after{
    opacity: 1;
}
/* -------------------------------------------*/
/* Cart Page Styles*/
/* -------------------------------------------*/
#PageCart .cart-items{
    margin-top: 2rem;
}
.cart-items {
    flex: 1;
}
.cart-items .cart-item{
    position: relative;
    margin-bottom: 1rem;
    display: flex;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.1);
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-top: 2rem;
    padding-bottom: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
}
.thumbnail-container .cart-items .cart-item:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.cart-items .cart-item .cart-item-img {
                    width: 80px;
                    height: 80px;
                    flex-shrink: 0;
                    margin-right: 1rem;
                }
.cart-items .cart-item .cart-item-img img {
                        width: 100%;
                        height: 100%;
                        -o-object-fit: contain;
                           object-fit: contain;
                    }
.cart-items .cart-item .cart-inner {
                    flex: 1;
                    display: flex;
                    flex-direction: column;
                }
.cart-items .cart-item .cart-inner .cart-item-name {
                        font-weight: 600;
                        color: #111;
                        text-decoration: none;
                        margin-bottom: 1rem;
                        max-width: 18rem;
                    }
@media (min-width: 650px){

    .cart-items .cart-item .cart-inner .cart-item-name{
        max-width: 25rem;
    }
}
.cart-items .cart-item .cart-inner .cart-item-name:hover{
    --tw-text-opacity: 1;
    color: rgb(8 164 255 / var(--tw-text-opacity, 1));
}
.cart-items .cart-item .cart-inner .cart-item-price {
                        font-weight: 500;
                        color: #111;
                        display: flex;
                        align-items: baseline;
                        gap: 0.4rem;
                        margin-bottom: 1rem;
                    }
.cart-items .cart-item .cart-inner .cart-item-price .vat-mark {
                            color: #777;
                        }
.cart-items .cart-item .cart-inner .cart-item-price .vat-mark:before {
                                content: '(';
                            }
.cart-items .cart-item .cart-inner .cart-item-price .vat-mark:after {
                                content: ')';
                            }
.cart-items .cart-item .cart-inner .cart-item-price .crossed {
                           text-decoration: line-through;
                           font-style: italic;
                        }
.cart-items .cart-item .cart-inner .cart-item-code{
    font-family: mono;
    font-size: 1.4rem;
    color: rgb(0 0 0 / 0.5);
                        margin-top: 0.5rem;
}
.cart-items .cart-item .cart-inner .cart-item-quantity-box{
    margin-top: 2rem;
}
.cart-items .cart-item .cart-inner .cart-item-quantity-box .quantity {
                            display: flex;
                            align-items: center;
                            max-width: 14rem;
                            overflow: hidden;
                            border-radius: 0.25rem;
                        }
.cart-items .cart-item .cart-inner .cart-item-quantity-box .quantity button, .cart-items .cart-item .cart-inner .cart-item-quantity-box .quantity input{
    height: 100%;
    width: 100%;
                                vertical-align: middle;
                                outline: none;
}
.cart-items .cart-item .cart-inner .cart-item-quantity-box .quantity .quantity-button {
                                cursor: pointer;
                                transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
                                transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
                                transition-duration: 300ms;
                            }
.cart-items .cart-item .cart-inner .cart-item-quantity-box .quantity .quantity-button:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(8 164 255 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.cart-items .cart-item .cart-inner .cart-item-quantity-box .quantity .quantity-button.cart-item-increase::before {
                                    content: "+";
                                }
.cart-items .cart-item .cart-inner .cart-item-quantity-box .quantity .quantity-button.cart-item-decrease::before {
                                    content: "−";
                                }
.cart-items .cart-item .cart-inner .cart-item-quantity-box .quantity input.cart-item-quantity {
                                text-align: center;
                            }
.cart-items .cart-item .cart-item-remove {
                    position: absolute;
                    top: 2rem;
                    right: 2rem;
                    background: url("/content/icons/trash.svg") center/contain no-repeat;
                    width: 20px;
                    height: 20px;
                    border: none;
                    cursor: pointer;
                    opacity: 1;
                    transition-property: all;
                    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
                    transition-duration: 300ms;
                }
.cart-items .cart-item .cart-item-remove:hover {
                        opacity: 0.5;
                    }
#TrapPageCart {
    display: flex;
    justify-content: center;
    padding: 2rem;
    perspective: 1200px;
    transform-origin: right;
    font-size: 1.6rem;
}
#TrapPageCart .page-cart-inner{
    height: 100%;
    width: 100%;
    will-change: transform;
        transform-origin: right;
}
#TrapPageCart #PageCart {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
#TrapPageCart #PageCart::-webkit-scrollbar {
        display: none;
    }
#TrapPageCart #PageCart {
        width: 100%;
        max-width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        overflow-x: hidden;
        overflow-y: scroll;
        border-radius: 0.5rem;
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    }
/* Header*/
#TrapPageCart #PageCart header.cart-layout {
            display: flex;
            align-items: center;
            justify-content: space-between;
            position: relative;
            padding-left: 2rem;
            padding-right: 2rem;
            padding-top: 2rem;
            padding-bottom: 2rem;
        }
.thumbnail-container #TrapPageCart #PageCart header.cart-layout:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
#TrapPageCart #PageCart header.cart-layout span{
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}
#TrapPageCart #PageCart header.cart-layout br {
                display: none;
            }
#TrapPageCart #PageCart header.cart-layout .toggle-cart {
                width: 24px;
                height: 24px;
                background: url("/content/icons/close.svg") center/contain no-repeat;
                border: none;
                cursor: pointer;
                opacity: 0.8;
            }
#TrapPageCart #PageCart header.cart-layout .toggle-cart:hover {
                    opacity: 1;
                }
#TrapPageCart #PageCart .cart-summary{
    position: sticky;
    bottom: 0rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    row-gap: 1rem;
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
#TrapPageCart #PageCart .cart-summary .grid {
                display: grid;
                grid-template-columns: 1fr auto;
                align-items: center;
            }
#TrapPageCart #PageCart .cart-summary .grid span:first-child {
                    color: #ccc;
                }
#TrapPageCart #PageCart .cart-summary .grid .cart-total {
                    font-weight: 600;
                }
#TrapPageCart #PageCart .cart-summary a{
    margin-top: 1rem;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(0 51 102 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    text-align: center;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
#TrapPageCart #PageCart .cart-summary a:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(8 164 255 / var(--tw-bg-opacity, 1));
}
.unlock-btn {
    display: none;
}
.checkout-content-box, .checkout-shipping-box{
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
}
@media (min-width: 650px){

    .checkout-content-box, .checkout-shipping-box{
        row-gap: 4rem;
    }
}
@media (min-width: 1024px){

    .checkout-content-box, .checkout-shipping-box{
        row-gap: 6rem;
    }
}
.checkout-content-box h2, .checkout-shipping-box h2{
    font-size: 3.2rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}
.custom-terms h2{
    font-size: 3.2rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}
body.checkout .brands,
    body.checkout .top-bar,
    body.checkout footer,
    body.checkout header.header{
    display: none;
}
body.checkout #PageCart header {
            font-size: 3.2rem;
            font-weight: 700;
            letter-spacing: -0.02em;
            position: relative;
        }
.thumbnail-container body.checkout #PageCart header:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
body.checkout #PageCart header:after{
    border-style: none;
    --tw-bg-opacity: 1;
    background-color: rgb(240 242 244 / var(--tw-bg-opacity, 1));
}
body.checkout #PageCart .cart-summary{
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.1);
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding: 2rem;
}
body.checkout #PageCart .cart-summary .shipping-cost{
    margin-top: 2rem;
    border-top-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.1);
    padding-top: 2rem;
}
body.checkout #PageCart .cart-summary .vat-mark{
    margin-bottom: 1rem;
    display: block;
    font-size: 1.4rem;
    opacity: 0.5;
}
body.checkout #PageCart .cart-summary .vat-mark:before {
                    content: '(';
                }
body.checkout #PageCart .cart-summary .vat-mark:after {
                    content: ')';
                }
body.checkout #PageCart .cart-summary .shipping-cost{
    margin-bottom: 0.5rem;
}
body.checkout #PageCart .cart-summary .cart-to-pay{
    font-weight: 700;
}
body.checkout button.complete{
    overflow: hidden;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    padding-left: 2rem;
    padding-right: 2rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
body.checkout button.complete:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(240 242 244 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
body.checkout .select-disabled {
        pointer-events: none;
        background: #eee;
    }
/**
 * Account
*/
[data-name="MyPageMenu"] nav{
    margin-top: 4rem;
}
[data-name="MyPageMenu"] ul li a {
                display: block;
                border: 1px solid #eee;
                margin-bottom: 1rem;
                padding: 1.5rem 2rem;
                border-radius: 0.5rem;
                transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
                transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
                transition-duration: 300ms;
            }
[data-name="MyPageMenu"] ul li a:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.order-history .row{
    margin-bottom: 4rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 2rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    border-bottom-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
    padding-bottom: 4rem;
}
[data-level="2"] > .order-history .row{
    position: relative;
}
.thumbnail-container [data-level="2"] > .order-history .row:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
@media (min-width: 1024px){

    [data-level="2"] > .order-history .row{
        min-height: 50rem;
    }

    [data-level="3"] .order-history .row, [data-level="4"] .order-history .row{
        height: 100%;
    }
}
[data-level="3"] .order-history .row, [data-level="4"] .order-history .row {
        overflow-y: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
[data-level="3"] .order-history .row::-webkit-scrollbar, [data-level="4"] .order-history .row::-webkit-scrollbar {
            display: none;
        }
#TrapPageCart #PageCart .cart-summary .order-history .row {
                display: grid;
                grid-template-columns: 1fr auto;
                align-items: center;
            }
#TrapPageCart #PageCart .cart-summary .order-history .row span:first-child {
                    color: #ccc;
                }
#TrapPageCart #PageCart .cart-summary .order-history .row .cart-total {
                    font-weight: 600;
                }
@media (min-width: 1280px){

    .order-history .row{
        margin-bottom: 2rem;
        grid-template-columns: repeat(7, minmax(0, 1fr));
        -moz-column-gap: 0rem;
             column-gap: 0rem;
        padding-bottom: 2rem;
    }
}
.order-history .col{
    display: flex;
    flex-direction: column;
    border-bottom-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.1);
    padding-bottom: 1rem;
    text-align: left;
}
@media (min-width: 1280px){

    .order-history .col{
        border-width: 0px;
        padding-bottom: 0rem;
    }
}
.order-history .col h2{
    margin-bottom: 1rem;
}
.order-history .col span{
    margin-bottom: 0.5rem;
    display: block;
    font-family: mono;
    font-size: 1.2rem;
    text-transform: uppercase;
    opacity: 0.5;
}
.order-history .col:last-child{
    border-width: 0px;
}
body.open-order{
    overflow: hidden;
}
body.open-order .order-detail-wrapper{
    pointer-events: auto;
    opacity: 1;
}
.order-detail-wrapper{
    pointer-events: none;
    position: fixed;
    top: 0rem;
    left: 0rem;
    z-index: 9999;
    height: 100%;
    width: 100%;
    overflow-y: scroll;
    background-color: rgb(0 0 0 / 0.8);
    padding: 2rem;
    opacity: 0;
    --tw-backdrop-blur: blur(12px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    transition-property: all;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
@media (min-width: 650px){

    .order-detail-wrapper{
        padding: 8rem;
    }
}
.order-detail-wrapper .order-detail{
    overflow: hidden;
    border-radius: 0.5rem;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding: 2rem;
}
@media (min-width: 650px){

    .order-detail-wrapper .order-detail{
        padding: 4rem;
    }
}
.order-detail-wrapper .order-detail header{
    position: relative;
    margin-bottom: 4rem;
    display: flex;
    justify-content: space-between;
}
.thumbnail-container .order-detail-wrapper .order-detail header:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
@media (min-width: 650px){

    .order-detail-wrapper .order-detail header{
        align-items: center;
    }
}
.order-detail-wrapper .order-detail header h2{
    font-size: 3.2rem;
}
@media (min-width: 650px){

    .order-detail-wrapper .order-detail header h2{
        font-size: 4.2rem;
    }
}
.order-detail-wrapper .order-detail header button{
    height: 4rem;
    width: 4rem;
    border-radius: 0.5rem;
    --tw-bg-opacity: 1;
    background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
}
.order-detail-wrapper .order-detail .order-info{
    margin-bottom: 2rem;
}
.customer-box .head h2{
    margin-bottom: 2rem;
    font-size: 2.5rem;
}
.customer-box.notes .head{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 2rem;
         column-gap: 2rem;
}
[data-level="2"] > .customer-box.notes .head{
    position: relative;
}
.thumbnail-container [data-level="2"] > .customer-box.notes .head:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
@media (min-width: 1024px){

    [data-level="2"] > .customer-box.notes .head{
        min-height: 50rem;
    }

    [data-level="3"] .customer-box.notes .head, [data-level="4"] .customer-box.notes .head{
        height: 100%;
    }
}
[data-level="3"] .customer-box.notes .head, [data-level="4"] .customer-box.notes .head {
        overflow-y: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
[data-level="3"] .customer-box.notes .head::-webkit-scrollbar, [data-level="4"] .customer-box.notes .head::-webkit-scrollbar {
            display: none;
        }
#TrapPageCart #PageCart .cart-summary .customer-box.notes .head {
                display: grid;
                grid-template-columns: 1fr auto;
                align-items: center;
            }
#TrapPageCart #PageCart .cart-summary .customer-box.notes .head span:first-child {
                    color: #ccc;
                }
#TrapPageCart #PageCart .cart-summary .customer-box.notes .head .cart-total {
                    font-weight: 600;
                }
.customer-box.notes .head h2{
    grid-column: span 2 / span 2;
}
.customer-box span{
    margin-bottom: 0.5rem;
    display: block;
    font-family: mono;
    text-transform: uppercase;
}
.customer-box p{
    margin-bottom: 2rem;
}
.customer-box p span{
    margin-bottom: 0.5rem;
}
.customer-box input{
    margin-top: 0rem;
    width: 100%;
}
.customer-box .customer-city{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
[data-level="2"] > .customer-box .customer-city{
    position: relative;
}
.thumbnail-container [data-level="2"] > .customer-box .customer-city:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
@media (min-width: 1024px){

    [data-level="2"] > .customer-box .customer-city{
        min-height: 50rem;
    }

    [data-level="3"] .customer-box .customer-city, [data-level="4"] .customer-box .customer-city{
        height: 100%;
    }
}
[data-level="3"] .customer-box .customer-city, [data-level="4"] .customer-box .customer-city {
        overflow-y: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
[data-level="3"] .customer-box .customer-city::-webkit-scrollbar, [data-level="4"] .customer-box .customer-city::-webkit-scrollbar {
            display: none;
        }
#TrapPageCart #PageCart .cart-summary .customer-box .customer-city {
                display: grid;
                grid-template-columns: 1fr auto;
                align-items: center;
            }
#TrapPageCart #PageCart .cart-summary .customer-box .customer-city span:first-child {
                    color: #ccc;
                }
#TrapPageCart #PageCart .cart-summary .customer-box .customer-city .cart-total {
                    font-weight: 600;
                }
.customer-box .customer-city span{
    grid-column: span 2 / span 2;
}
/**
    FAQ
*/
.component-faq{
    grid-column: span 12 / span 12;
    display: flex;
    width: 100%;
    flex-direction: column;
    border-radius: 0.5rem;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding: 3rem;
}
@media (min-width: 650px){

    .component-faq{
        grid-column: span 24 / span 24;
        padding: 6rem;
        padding-top: 6rem;
    }
}
.component-faq h2{
    margin-bottom: 3rem;
    font-size: 3.2rem;
}
.component-faq .faq-question{
    display: flex;
    justify-content: space-between;
}
.component-faq .icon{
    display: flex;
    width: 3rem;
    height: 3rem;
    min-height: 3rem;
    min-width: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: 2rem;
    border-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(0 51 102 / var(--tw-border-opacity, 1));
    font-size: 1.5rem;
    --tw-text-opacity: 1;
    color: rgb(0 51 102 / var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.component-faq .icon:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.component-faq .fa-chevron-down{
    position: relative;
}
.thumbnail-container .component-faq .fa-chevron-down:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.component-faq .fa-chevron-down:after {
            content: '+';
            
        }
.component-faq .fa-chevron-up{
    position: relative;
}
.thumbnail-container .component-faq .fa-chevron-up:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.component-faq .fa-chevron-up:after {
            content: '-';
           
        }
.faq-item{
    width: 100%;
    cursor: pointer;
    border-top-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.1);
    padding-top: 2rem;
    padding-bottom: 2rem;
    font-size: 2.4rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.faq-item:hover{
    --tw-text-opacity: 1;
    color: rgb(0 51 102 / var(--tw-text-opacity, 1));
}
.faq-item .faq-answer{
    padding-top: 2rem;
    font-size: 1.8rem;
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
/* -------------------------------------------*/
/* Alert / Toast Styles*/
/* -------------------------------------------*/
.alert-container{
    pointer-events: none;
    position: fixed;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
}
.alert-container.top-right{
    top: 2rem;
    right: 2rem;
}
.alert-container.top-left{
    top: 2rem;
    left: 2rem;
}
.alert-container.bottom-right{
    bottom: 2rem;
    right: 2rem;
}
.alert-container.bottom-left{
    bottom: 2rem;
    left: 2rem;
}
.alert-toast{
    pointer-events: auto;
    position: relative;
    display: flex;
    align-items: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    overflow: hidden;
    border-radius: 0.5rem;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 2rem;
    padding-right: 2rem;
}
.thumbnail-container .alert-toast:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.alert-toast {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 280px;
    max-width: 400px;
}
@media (min-width: 650px) {
.alert-toast {
        min-width: 320px
}
    }
.alert-toast.success {
        background: #d3ffa6;
    }
.alert-toast.success .alert-icon{
    --tw-text-opacity: 1;
    color: rgb(0 51 102 / var(--tw-text-opacity, 1));
}
.alert-toast.success .alert-progress{
    --tw-bg-opacity: 1;
    background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
}
.alert-toast.error {
        background: #a74d4d;
    }
.alert-toast.error .alert-icon{
    --tw-text-opacity: 1;
    color: rgb(215 35 31 / var(--tw-text-opacity, 1));
}
.alert-toast.error .alert-progress{
    --tw-bg-opacity: 1;
    background-color: rgb(215 35 31 / var(--tw-bg-opacity, 1));
}
.alert-toast .alert-icon{
    flex-shrink: 0;
}
.alert-toast .alert-icon svg{
    height: 1.25rem;
    width: 1.25rem;
}
.alert-toast .alert-message{
    margin: 0rem;
    flex: 1 1 0%;
    font-size: 1.4rem;
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.alert-toast .alert-close{
    cursor: pointer;
    border-style: none;
    background-color: transparent;
    padding: 0rem;
    font-size: 2rem;
    line-height: 1;
    opacity: 0.5;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.alert-toast .alert-close:hover{
    opacity: 1;
}
.alert-toast .alert-progress{
    position: absolute;
    bottom: 0rem;
    left: 0rem;
    right: 0rem;
    height: 3px;
    opacity: 0.3;
        transform-origin: left;
}
:root {
    --size: 420;
    --clamp: 9px;
    --swiper-navigation-color: #000;
    --swiper-pagination-color: #fff;
    --swiper-navigation-size: 1rem;
    --global-font-size: clamp(1px, calc((100vw / var(--size)) * 10), var(--clamp));
    --sizeMarquee: clamp(10rem, 1rem + 40vmin, 30rem);
    --gapMarquee: calc(var(--sizeMarquee) / 14);
    --duration: 60s;
    --scroll-start: 0;
    --scroll-end: calc(-100% - var(--gapMarquee));
}
@media (min-width: 650px) {
    :root {
        --size: 650;
    }
}
@media (min-width: 1024px) {
    :root {
        --size: 1400;
    }
}
@media (min-width: 1920px) {
    :root {
        --size: 1920;
    }
}
/* ==========================
Fluid
========================== */
@mixin fluid($properties, $value) {
    @each $property in $properties {
        #{$property}: calc(#{$value} * (100vw / var(--size)));
    }
}
/* ==========================
Base
========================== */
html {
    font-size: var(--global-font-size);
    /*font-size: calc(10 * (100vw / var(--size)));*/
    font-kerning: none;
    font-variant-ligatures: common-ligatures;
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: subpixel-antialiased;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-tap-highlight-color: transparent;
    font-family: sans;
    line-height: 1.2;
}
body{
    font-family: sans;
    font-size: 1.6rem;
    overflow-x: hidden;
}
iframe {
    border: none;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}
img {
    vertical-align: middle;
}
h1, .h1{
    font-size: 4.2rem;
}
h1:after, .h1:after {
        content: '.';
        --tw-text-opacity: 1;
        color: rgb(0 51 102 / var(--tw-text-opacity, 1));
    }
h2:after {
        content: '.';
        --tw-text-opacity: 1;
        color: rgb(0 51 102 / var(--tw-text-opacity, 1));
    }
.swh-template{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
/* ==========================
    .hide utility
========================== */
.hide {
    display: none !important;
}
/* ==========================
Site grid & Site Max
========================== */
main .swh-template .site-max,
.site-max {
    --padding: 2rem;
}
@media (min-width: 650px) {
main .swh-template .site-max,
.site-max {
        --padding: 4rem;
}
    }
main .swh-template .site-max,
.site-max{

    padding-left: var(--padding) !important;
    padding-right: var(--padding) !important;
    margin-left: auto;
    margin-right: auto;
    max-width: 170rem;
    width: 100%;
}
.site-max-s {
    max-width: 130rem;
}
.site-grid {
    --columns: 12;
    --columns-masonry: 1;
    --gap: 1rem;
    display: grid;
    grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
    grid-column-gap: var(--gap);
}
@media (min-width: 650px) {
.site-grid {
        --columns: 24;
        --gap: 0.5rem
}
    }
.cms-text h2{
    margin-bottom: 2rem;
    font-size: 3.2rem;
    letter-spacing: -0.02em;
}
/**
 * Empty
*/
.empty{
    grid-column: span 24 / span 24;
    border-radius: 0.5rem;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding: 4rem;
    text-align: center;
}
/**
 * Pagination Numbers
*/
.component-pagination-v2 .loaded-number,
    .component-pagination-v2 .total-number{
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.component-pagination-v2 .buttons .load-more{
    width: calc(50%);
    --tw-translate-y: 100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-radius: 0.5rem;
    --tw-bg-opacity: 1;
    background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    text-align: center;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    transition-property: all;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.component-pagination-v2 .buttons .load-more:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(8 164 255 / var(--tw-bg-opacity, 1));
}
/**
 * Hero Image
*/
.cms-hero{
    position: relative;
    margin-bottom: 8rem !important;
    display: flex;
    height: 100%;
    min-height: 30rem;
    flex-direction: column;
    overflow: hidden;
}
.thumbnail-container .cms-hero:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.cms-hero {

--padding: 1rem;
}
@media (min-width: 650px) {
.cms-hero {
    --padding: 4rem
}
}
.cms-hero .cms-hero__image{
    position: absolute;
    top: 0rem;
    left: 0rem;
    height: 100%;
    width: 100%;
}
.cms-hero .cms-hero__image img{
    position: absolute;
    top: 0rem;
    left: 0rem;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
        -o-object-position: top;
           object-position: top;
}
.cms-hero .cms-hero__wrapper{
    position: relative;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.thumbnail-container .cms-hero .cms-hero__wrapper:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.cms-hero .cms-hero__wrapper{
    position: relative;
    width: 100%;
}
.thumbnail-container .cms-hero .cms-hero__wrapper:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.cms-hero .cms-hero__wrapper {
    padding-left: var(--padding);
    padding-right: var(--padding);
    margin-left: auto;
    margin-right: auto;
    max-width: 170rem;
    display: flex;
    height: 100%;
    width: 100%;
    flex-direction: column;
    justify-content: center;
    padding-top: 25rem;
    padding-bottom: 13rem;
    text-shadow: 0 2px 3px rgba(0, 0, 0, 0.35);
}
.cms-hero .cms-hero__wrapper .cms-hero__text{
    margin: auto;
    max-width: 60rem;
    text-align: center;
}
@media (min-width: 1024px){

    .cms-hero .cms-hero__wrapper .cms-hero__text{
        margin: 0rem;
        text-align: left;
    }
}
.cms-hero .cms-hero__wrapper .cms-hero__text p{
    max-width: 45rem;
    line-height: 1.5;
}
.cms-hero .cms-hero__wrapper h1{
    margin-bottom: 1rem;
    font-size: 6rem;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: -0.02em;
}
.cms-hero .cms-hero__wrapper a{
    border-radius: 0.25rem;
    --tw-bg-opacity: 1;
    background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 2rem;
    padding-right: 2rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.cms-hero .cms-hero__btn{
    position: relative;
    margin: auto;
    margin-top: 2rem;
    display: block;
    max-width: -moz-max-content;
    max-width: max-content;
}
.thumbnail-container .cms-hero .cms-hero__btn:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
@media (min-width: 1024px){

    .cms-hero .cms-hero__btn{
        margin: 0rem;
    }
}
.cms-hero .cms-hero__icon{
    position: absolute;
    left: calc(100% + 3px);
    top: 0rem;
    display: flex;
    height: 100%;
    width: 4rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.25rem;
    --tw-bg-opacity: 1;
    background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
}
.cms-hero .cms-hero__icon svg{
    fill: #ffffff;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.cms-hero .cms-hero__icon svg path{
    stroke: #ffffff;
}
.swh-template {
}
#TrapPageCart{
    pointer-events: none;
}
#TrapPageCart .cart-layout{
    margin-top: 0rem;
    padding-left: 2rem;
    padding-right: 2rem;
}
#TrapPageCart .page-cart-inner {
        transform: translateX(125%) rotateY(-45deg);
        pointer-events: auto;
    }
.extra-menu ul{
    display: flex;
    align-items: center;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
}
.extra-menu ul a{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.extra-menu ul a:hover{
    --tw-text-opacity: 1;
    color: rgb(8 164 255 / var(--tw-text-opacity, 1));
}
header:after {
        content: '';
        pointer-events: none;
        position: absolute;
        top: 0rem;
        left: 0rem;
        z-index: -1;
        height: 100%;
        width: 100%;
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
        transition-property: all;
        transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
        transition-duration: 300ms;
    }
header .logo{
    fill: #000000;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
header .count{
    --tw-bg-opacity: 1;
    background-color: rgb(0 31 63 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
header [data-level="1"] > a,
    header [data-level="1"] > button{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
header #ShopNav svg path {
            stroke: white;
            stroke-width: 2px;
        }
header #ShopNav button svg, header #ShopNav a svg{
    transition-property: all;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
header #ShopNav button svg path, header #ShopNav a svg path{
    transition-property: all;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
header #ShopNav button:hover svg path, header #ShopNav a:hover svg path{
    stroke: #08a4ff;
}
.toggle-menu{
    position: relative;
    display: flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.thumbnail-container .toggle-menu:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.toggle-menu span {
        transform: translate(0, 0) rotate(0.001deg);
        transition: transform 0.5s cubic-bezier(.7, 0, .3, 1);
        position: absolute;
    }
.toggle-menu span:nth-child(1) {
        transform: translate(0, -.45em) scale(1, 1) rotate(0.001deg);
    }
.toggle-menu span:nth-child(3) {
        transform: translate(0, .45em) scale(1, 1) rotate(0.001deg);
    }
.mobile-menu-open .header-content{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.mobile-menu-open .toggle-menu span:nth-child(1) {
            transform: translate(0, 0) rotate(45deg) scale(1, 1);
        }
.mobile-menu-open .toggle-menu span:nth-child(2) {
            transform: translate(-150%, 0) rotate(0.001deg) scale(1, 1);
        }
.mobile-menu-open .toggle-menu span:nth-child(3) {
            transform: translate(0, 0) rotate(-45deg) scale(1, 1);
        }
.swh-col .swiper img {
    height: 100% !important;
}
.carousel{
    display: grid !important;
}
[data-level="2"] > .carousel{
    position: relative;
}
.thumbnail-container [data-level="2"] > .carousel:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
@media (min-width: 1024px){

    [data-level="2"] > .carousel{
        min-height: 50rem;
    }

    [data-level="3"] .carousel, [data-level="4"] .carousel{
        height: 100%;
    }
}
[data-level="3"] .carousel, [data-level="4"] .carousel {
        overflow-y: scroll !important;
        -ms-overflow-style: none !important;
        scrollbar-width: none !important;
    }
[data-level="3"] .carousel::-webkit-scrollbar, [data-level="4"] .carousel::-webkit-scrollbar {
            display: none !important;
        }
#TrapPageCart #PageCart .cart-summary .carousel {
                display: grid !important;
                grid-template-columns: 1fr auto !important;
                align-items: center !important;
            }
#TrapPageCart #PageCart .cart-summary .carousel span:first-child {
                    color: #ccc !important;
                }
#TrapPageCart #PageCart .cart-summary .carousel .cart-total {
                    font-weight: 600 !important;
                }
.carousel{
    scroll-snap-type: x var(--tw-scroll-snap-strictness);
    --tw-scroll-snap-strictness: mandatory;
    scroll-snap-stop: always;
    grid-auto-columns: calc(44% - 0.5rem);
    grid-auto-flow: column;
    gap: 0.5rem;
}
@media (min-width: 1024px){

    .carousel{
        grid-auto-columns: calc(20% - 0.5rem);
    }
}
.txt p:not(:last-child) {
        margin-bottom: 1.25em;
        line-height: 1.625;
    }
.description strong{
    font-size: 2rem;
}
.thumbnail-container .relative:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
body.checkout main{
    --tw-bg-opacity: 1;
    background-color: rgb(240 242 244 / var(--tw-bg-opacity, 1));
}
/**
 * Standard Form
*/
.standard-form{
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    overflow: hidden;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.1);
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding: 2rem;
}
[data-level="2"] > .standard-form{
    position: relative;
}
.thumbnail-container [data-level="2"] > .standard-form:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
@media (min-width: 1024px){

    [data-level="2"] > .standard-form{
        min-height: 50rem;
    }

    [data-level="3"] .standard-form, [data-level="4"] .standard-form{
        height: 100%;
    }
}
[data-level="3"] .standard-form, [data-level="4"] .standard-form {
        overflow-y: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
[data-level="3"] .standard-form::-webkit-scrollbar, [data-level="4"] .standard-form::-webkit-scrollbar {
            display: none;
        }
#TrapPageCart #PageCart .cart-summary .standard-form {
                display: grid;
                grid-template-columns: 1fr auto;
                align-items: center;
            }
#TrapPageCart #PageCart .cart-summary .standard-form span:first-child {
                    color: #ccc;
                }
#TrapPageCart #PageCart .cart-summary .standard-form .cart-total {
                    font-weight: 600;
                }
@media (min-width: 650px){

    .standard-form{
        padding: 4rem;
    }
}
@media (min-width: 1024px){

    .standard-form{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.standard-form label{
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
}
.standard-form select,
    .standard-form input{
    margin-top: 1rem;
    display: block;
    height: 100%;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.2);
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.standard-form select:focus,
    .standard-form input:focus{
    --tw-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}
/**
* Single Product
*/
.product-summary h1{
    margin-bottom: 2rem;
    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
}
.product-summary h2{
    margin-bottom: 2rem;
    color: rgb(0 0 0 / 0.5);
}
.product-summary .short-decription{
    margin-bottom: 4rem;
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
    font-size: 1.8rem;
    line-height: 1.6;
}
.product-summary .short-decription span{
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.prices{
    margin-bottom: 4rem;
}
.prices div{
    margin-bottom: 1rem;
}
.prices .price{
    font-size: 3.2rem;
        font-weight: 600;
}
.prices .price.campaign{
    font-size: 3rem;
    --tw-text-opacity: 1;
    color: rgb(0 51 102 / var(--tw-text-opacity, 1));
            font-weight: 500;
}
.prices .price.regular-price {
            text-decoration: line-through;
            font-size: 1.7rem;
        }
.prices .price-history{
    opacity: 0.5;
}
.optimal-quantity-desc{
    margin-bottom: 4rem;
    opacity: 0.5;
}
.quantity{
    display: flex;
    height: 4rem;
    overflow: hidden;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.1);
}
.quantity .quantity{
    display: flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
    border-style: none;
    text-align: center;
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.link a{
    display: block;
    max-width: -moz-max-content;
    max-width: max-content;
    overflow: hidden;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(240 242 244 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(240 242 244 / var(--tw-bg-opacity, 1));
    padding-left: 3rem;
    padding-right: 3rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    font-weight: 700;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.link a:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.buy-box{
    margin-bottom: 4rem;
    display: flex;
}
.buy-box .add-to-cart{
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(0 51 102 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 3rem;
    padding-right: 3rem;
    font-weight: 600;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    transition-property: all;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.buy-box .add-to-cart:hover{
    --tw-border-opacity: 1;
    border-color: rgb(8 164 255 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(8 164 255 / var(--tw-bg-opacity, 1));
}
.buy-box .add-to-cart:active{
    --tw-scale-x: 0.98;
    --tw-scale-y: 0.98;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.buy-box .add-to-cart:disabled,
        .buy-box .add-to-cart.disabled{
    pointer-events: none;
    cursor: not-allowed;
    opacity: 0.5;
}
.buy-box .add-to-cart.loading{
    pointer-events: none;
}
.buy-box .add-to-cart.loading:after {
                content: '';
                margin-left: 1rem;
                height: 1.2rem;
                width: 1.2rem;
            }
@keyframes spin{

    to{
        transform: rotate(360deg);
    }
}
.buy-box .add-to-cart.loading:after{
    animation: spin 1s linear infinite;
    border-radius: 9999px;
    border-width: 2px;
    border-style: solid;
    border-color: rgb(255 255 255 / 0.3);
    --tw-border-opacity: 1;
    border-top-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.buy-box .add-to-cart .stock-status {
            display: inline-block;
            width: 10px;
            height: 10px;
            border-radius: 50%;
        }
.buy-box .add-to-cart .stock-status.yes {
                background-color: #43d816;
            }
.buy-box .add-to-cart .stock-status.no {
                background-color: #e42622;
            }
.buy-box .add-to-cart .stock-status{
    margin-right: 1rem;
}
.buy-box .quantity-box{
    margin-right: 1rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.buy-box .quantity-box .quantity {
            height: 6rem;
        }
.buy-box .quantity-box .quantity-button{
    width: 4rem;
    height: 4rem;
}
.buy-box .quantity-box .item-decrease {
            height: unset;
        }
.buy-box .quantity-box .item-decrease:before {
                content: '-';
            }
.buy-box .quantity-box .item-increase {
            height: unset;
        }
.buy-box .quantity-box .item-increase:before {
                content: '+';
            }
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
    transition: .5s opacity
}
.variants{
    position: relative;
    margin-bottom: 4rem;
}
.thumbnail-container .variants:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.variants .variant-selector{
    position: relative;
}
.thumbnail-container .variants .variant-selector:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.variants #Dimension1SelectedValue,
    .variants #Dimension2SelectedValue{
    display: flex;
    width: 100%;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.2);
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 2rem;
    padding-right: 2rem;
    text-align: left;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 200ms;
}
.variants #Dimension1SelectedValue:hover, .variants #Dimension2SelectedValue:hover{
    border-color: rgb(0 0 0 / 0.4);
    --tw-bg-opacity: 1;
    background-color: rgb(240 242 244 / var(--tw-bg-opacity, 1));
}
.variants #Dimension1SelectedValue:after, .variants #Dimension2SelectedValue:after {
            content: '';
            height: 0rem;
            width: 0rem;
            border-left-width: 5px;
            border-right-width: 5px;
            border-top-width: 6px;
            border-left-color: transparent;
            border-right-color: transparent;
            border-top-color: rgb(0 0 0 / 0.5);
            transition-property: transform;
            transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
            transition-duration: 200ms;
        }
.variants .variant-inner1,
    .variants .variant-inner2{
    position: absolute;
    left: 0rem;
    right: 0rem;
    top: 100%;
    z-index: 10;
    margin-top: 0.5rem;
    overflow: hidden;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.15);
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        max-height: 300px;
        overflow-y: auto;
}
.variants .variant-inner1.hide, .variants .variant-inner2.hide {
            display: none;
        }
.variants .variant1,
    .variants .variant2{
    margin-bottom: 1rem;
    display: flex;
    width: 100%;
    cursor: pointer;
    align-items: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    border-bottom-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.05);
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    padding-left: 2rem;
    padding-right: 2rem;
    text-align: left;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 200ms;
}
.variants .variant1:last-child, .variants .variant2:last-child{
    border-bottom-width: 0px;
}
.variants .variant1:hover, .variants .variant2:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(240 242 244 / var(--tw-bg-opacity, 1));
}
.variants .variant1.active, .variants .variant2.active{
    --tw-bg-opacity: 1;
    background-color: rgb(240 242 244 / var(--tw-bg-opacity, 1));
    font-weight: 600;
}
.variants .variant1.out-of-stock, .variants .variant2.out-of-stock{
    cursor: not-allowed;
    opacity: 0.4;
}
.variants .variant-label{
    margin-bottom: 0.5rem;
    display: block;
    font-size: 1.4rem;
    color: rgb(0 0 0 / 0.6);
}
.variants .variant-value{
    font-weight: 500;
}
.article-list button.add-to-cart {
    width: calc(100% + 2rem);
}
button.add-variants-to-cart{
    margin-left: auto;
    max-width: 35rem;
}
.articles .article .add-to-cart{
    width: calc(100% + 2rem);
    padding: 1.5rem;
}
.articles .empty{
    grid-column: span 24 / span 24;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
    --tw-border-opacity: 0.1;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-top: 2rem;
    padding-bottom: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
    text-align: center;
    opacity: 0.5;
}
/**
* Alert
*/
.alert{
    position: relative;
    margin-bottom: 1rem;
    display: flex;
    justify-content: space-between;
    overflow: hidden;
    border-radius: 0.5rem;
    --tw-bg-opacity: 1;
    background-color: rgb(255 244 189 / var(--tw-bg-opacity, 1));
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.thumbnail-container .alert:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.alert.hide{
    display: none;
}
.alert.success{
    --tw-bg-opacity: 1;
    background-color: rgb(214 255 211 / var(--tw-bg-opacity, 1));
}
.alert .alert-close {
        height: 1lh;
        width: 1lh;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.5rem;
        border-width: 1px;
        border-style: solid;
        --tw-border-opacity: 1;
        border-color: rgb(0 51 102 / var(--tw-border-opacity, 1));
        --tw-bg-opacity: 1;
        background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
        --tw-text-opacity: 1;
        color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    }
.alert .alert-close:before {
            content: 'x';
        }
/**
* Marquee
*/
.marquee {
    display: flex;
    overflow: hidden;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    gap: var(--gapMarquee);
    -webkit-mask-image: linear-gradient( var(--mask-direction, to right), hsl(0 0% 0% / 0), hsl(0 0% 0% / 1) 20%, hsl(0 0% 0% / 1) 80%, hsl(0 0% 0% / 0) );
            mask-image: linear-gradient( var(--mask-direction, to right), hsl(0 0% 0% / 0), hsl(0 0% 0% / 1) 20%, hsl(0 0% 0% / 1) 80%, hsl(0 0% 0% / 0) );
}
.marquee__group {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: var(--gapMarquee);
    min-width: 100%;
    animation: scroll-x var(--duration) linear infinite;
    /*animation-name: scroll-y;*/
}
/*
@media (prefers-reduced-motion: reduce) {
    .marquee__group {
        animation-play-state: paused;
    }
}
    */
@keyframes scroll-x {
    from {
        transform: translateX(var(--scroll-start));
    }

    to {
        transform: translateX(var(--scroll-end));
    }
}
@keyframes scroll-y {
    from {
        transform: translateY(var(--scroll-start));
    }

    to {
        transform: translateY(var(--scroll-end));
    }
}
/**
 * Slider
*/
.slide-info h2, .slide-info span{
    position: relative;
    z-index: 1;
}
.thumbnail-container .slide-info h2:has(.thumbnail-image.active),.thumbnail-container  .slide-info span:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.slide-info:after {
        content: '';
        position: absolute;
        height: 100%;
        width: 100%;
        background-image: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,1));
        bottom: 0rem;
        left: 0rem;
    }
/**
 * Product Listing
*/
.articlegroup-thumbnails ul{
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
}
.articlegroup-thumbnails ul li{
    display: inline-block;
}
.articlegroup-thumbnails ul figure {
            position: relative;
            max-width: 4rem;
            height: 2rem;
        }
.articlegroup-thumbnails ul figure img{
    height: 100%;
    width: 100%;
    mix-blend-mode: multiply;
}
.articlegroup-thumbnails ul a{
    position: relative;
    display: flex;
    align-items: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.1);
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.thumbnail-container .articlegroup-thumbnails ul a:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
@media (min-width: 650px){

    .articlegroup-thumbnails ul a{
        padding-left: 2rem;
        padding-right: 2rem;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }
}
.articlegroup-thumbnails ul a:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(240 242 244 / var(--tw-bg-opacity, 1));
}
.component-orderby-v2{
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
}
.component-orderby-v2 .sort-article{
    position: relative;
    display: flex;
    align-items: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    border-radius: 0.5rem;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(0 0 0 / 0.1);
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.thumbnail-container .component-orderby-v2 .sort-article:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
@media (min-width: 650px){

    .component-orderby-v2 .sort-article{
        padding-left: 2rem;
        padding-right: 2rem;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }
}
.component-orderby-v2 .sort-article.sorted,
        .component-orderby-v2 .sort-article:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.articles .spinner{
    grid-column: span 24 / span 24;
    display: flex;
    align-items: center;
    justify-content: center;
}
.favorite-toggle svg path {
        stroke-width: 2px;
    }
.favorite-toggle.active svg path {
            stroke-width: 2px;
            stroke: #003366;
        }
.favorite-content input.favorite-list {
        pointer-events: none;
    }
.header-favorite .counter{
    font-size: 1rem;
    opacity: 0;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.header-favorite.active .counter{
    opacity: 1;
}
/**
 * Footer
*/
footer nav a{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
footer nav a:hover{
    --tw-text-opacity: 1;
    color: rgb(0 51 102 / var(--tw-text-opacity, 1));
}
footer nav a:hover svg{
    fill: #003366;
}
.two-col{
    margin-bottom: 10rem !important;
    row-gap: 0.5rem !important;
}
.two-col .swh-col{
    grid-column: span 12 / span 12;
    overflow: hidden;
    border-radius: 0.5rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.two-col .swh-col:first-child{
    --tw-bg-opacity: 1;
    background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
}
.two-col .cms-text{
    padding: 4rem !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.two-col .cms-text h2 {
            line-height: normal;
            max-width: 50rem;
            font-size: 4.2rem;
            text-transform: uppercase;
        }
@media (min-width: 650px){

    .two-col .cms-text h2{
        font-size: 6.2rem;
    }
}
.two-col .cms-text p{
    max-width: 50rem;
    font-size: 1.6rem;
    line-height: 1.35;
}
@media (min-width: 650px){

    .two-col .cms-text p{
        font-size: 1.8rem;
    }
}
.two-col .cms-text a{
    margin-top: 2rem;
    display: block;
    max-width: -moz-max-content;
    max-width: max-content;
    border-radius: 0.25rem;
    border-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 2rem;
    padding-right: 2rem;
    --tw-text-opacity: 1;
    color: rgb(0 51 102 / var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-duration: 300ms;
}
.two-col .cms-text a:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(0 51 102 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.two-col .cms-text div {
        }
.two-col .cms-image figure{
    position: relative;
    height: 100%;
    padding-top: 85%;
}
.thumbnail-container .two-col .cms-image figure:has(.thumbnail-image.active) {
            border: 1px solid rgb(0 0 0 / 0.35);
        }
.two-col .cms-image figure img{
    position: absolute !important;
    top: 0rem !important;
    left: 0rem !important;
    height: 100% !important;
    width: 100% !important;
    -o-object-fit: cover !important;
       object-fit: cover !important;
}
/**
* Spinner
*/
.spinner .icon {
        width: 48px;
        height: 48px;
        border: 5px solid #FFF;
        border-bottom-color: #e42622;
        border-radius: 50%;
        display: block;
        box-sizing: border-box;
        animation: rotation 1s linear infinite;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2rem;
    }
.spinner span:nth-child(2) {
            display: block;
            margin-bottom: 2rem;
            text-align: center;
            font-size: 4.2rem;
        }
.spinner span:nth-child(2):after {
        content: '.';
        --tw-text-opacity: 1;
        color: rgb(0 51 102 / var(--tw-text-opacity, 1));
    }
@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
/**
* Validation 
*/
.field-validation-error{
    --tw-text-opacity: 1;
    color: rgb(0 51 102 / var(--tw-text-opacity, 1));
}
/**
* Blossom buttons
*/
.blossom-carousel-container {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.blossom-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: background-color 0.2s, transform 0.2s;
}
.blossom-nav:hover {
        background: #fff;
        transform: translateY(-50%) scale(1.1);
    }
.blossom-prev {
    left: 1rem;
}
.blossom-next {
    right: 1rem;
}
.odd\:bg-light:nth-child(odd){
    --tw-bg-opacity: 1;
    background-color: rgb(240 242 244 / var(--tw-bg-opacity, 1));
}
.hover\:\!bg-white:hover{
    --tw-bg-opacity: 1 !important;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important;
}
.hover\:bg-black:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.hover\:bg-hover:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(8 164 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-transparent:hover{
    background-color: transparent;
}
.hover\:bg-white:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:text-black:hover{
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover{
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:opacity-100:hover{
    opacity: 1;
}
.hover\:opacity-50:hover{
    opacity: 0.5;
}
.group:hover .group-hover\:translate-y-0{
    --tw-translate-y: 0rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-y-\[-45\%\]{
    --tw-translate-y: -45%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-y-\[-5\%\]{
    --tw-translate-y: -5%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-\[1\.02\]{
    --tw-scale-x: 1.02;
    --tw-scale-y: 1.02;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:fill-black{
    fill: #000000;
}
.group:hover .group-hover\:fill-white{
    fill: #ffffff;
}
.group:hover .group-hover\:stroke-white{
    stroke: #ffffff;
}
.group:hover .group-hover\:opacity-100{
    opacity: 1;
}
.peer\/marked:checked ~ .peer-checked\/marked\:bg-black{
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.peer\/marked:checked ~ .peer-checked\/marked\:text-white{
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.has-\[\:checked\]\:bg-black:has(:checked){
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.has-\[\:checked\]\:text-white:has(:checked){
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
@media (min-width: 650px){

    .s\:relative{
        position: relative;
    }

    .s\:bottom-0{
        bottom: 0rem;
    }

    .s\:left-0{
        left: 0rem;
    }

    .s\:right-0{
        right: 0rem;
    }

    .s\:top-0{
        top: 0rem;
    }

    .s\:col-span-1{
        grid-column: span 1 / span 1;
    }

    .s\:col-span-12{
        grid-column: span 12 / span 12;
    }

    .s\:col-span-16{
        grid-column: span 16 / span 16;
    }

    .s\:col-span-18{
        grid-column: span 18 / span 18;
    }

    .s\:col-span-2{
        grid-column: span 2 / span 2;
    }

    .s\:col-span-24{
        grid-column: span 24 / span 24;
    }

    .s\:col-span-3{
        grid-column: span 3 / span 3;
    }

    .s\:col-span-4{
        grid-column: span 4 / span 4;
    }

    .s\:col-span-5{
        grid-column: span 5 / span 5;
    }

    .s\:col-span-8{
        grid-column: span 8 / span 8;
    }

    .s\:col-start-16{
        grid-column-start: 16;
    }

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

    .s\:mb-0{
        margin-bottom: 0rem;
    }

    .s\:mt-40{
        margin-top: 4rem;
    }

    .s\:grid{
        display: grid;
    }

    .s\:hidden{
        display: none;
    }

    .s\:h-\[10rem\]{
        height: 10rem;
    }

    .s\:max-h-\[100\%\]{
        max-height: 100%;
    }

    .s\:w-\[10rem\]{
        width: 10rem;
    }

    .s\:max-w-\[100\%\]{
        max-width: 100%;
    }

    .s\:grid-cols-24{
        grid-template-columns: repeat(24, minmax(0, 1fr));
    }

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

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

    .s\:items-start{
        align-items: flex-start;
    }

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

    .s\:justify-end{
        justify-content: flex-end;
    }

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

    .s\:\!gap-x-60{
        -moz-column-gap: 6rem !important;
             column-gap: 6rem !important;
    }

    .s\:gap-x-10{
        -moz-column-gap: 1rem;
             column-gap: 1rem;
    }

    .s\:gap-x-20{
        -moz-column-gap: 2rem;
             column-gap: 2rem;
    }

    .s\:gap-x-5{
        -moz-column-gap: 0.5rem;
             column-gap: 0.5rem;
    }

    .s\:gap-y-10{
        row-gap: 1rem;
    }

    .s\:gap-y-5{
        row-gap: 0.5rem;
    }

    .s\:p-10{
        padding: 1rem;
    }

    .s\:p-20{
        padding: 2rem;
    }

    .s\:py-10{
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .s\:py-80{
        padding-top: 8rem;
        padding-bottom: 8rem;
    }

    .s\:py-\[20rem\]{
        padding-top: 20rem;
        padding-bottom: 20rem;
    }

    .s\:pl-0{
        padding-left: 0rem;
    }

    .s\:pt-10{
        padding-top: 1rem;
    }

    .s\:text-32{
        font-size: 3.2rem;
    }
}
@media (min-width: 768px){

    .m\:col-span-1{
        grid-column: span 1 / span 1;
    }

    .m\:px-40{
        padding-left: 4rem;
        padding-right: 4rem;
    }
}
@media (min-width: 1024px){

    .l\:relative{
        position: relative;
    }

    .l\:top-160{
        top: 16rem;
    }

    .l\:order-1{
        order: 1;
    }

    .l\:order-2{
        order: 2;
    }

    .l\:order-3{
        order: 3;
    }

    .l\:col-span-15{
        grid-column: span 15 / span 15;
    }

    .l\:col-span-2{
        grid-column: span 2 / span 2;
    }

    .l\:col-span-4{
        grid-column: span 4 / span 4;
    }

    .l\:col-span-5{
        grid-column: span 5 / span 5;
    }

    .l\:col-span-6{
        grid-column: span 6 / span 6;
    }

    .l\:col-span-7{
        grid-column: span 7 / span 7;
    }

    .l\:col-span-8{
        grid-column: span 8 / span 8;
    }

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

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

    .l\:col-start-17{
        grid-column-start: 17;
    }

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

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

    .l\:mx-0{
        margin-left: 0rem;
        margin-right: 0rem;
    }

    .l\:mt-0{
        margin-top: 0rem;
    }

    .l\:block{
        display: block;
    }

    .l\:flex{
        display: flex;
    }

    .l\:hidden{
        display: none;
    }

    .l\:h-auto{
        height: auto;
    }

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

    .l\:flex-row{
        flex-direction: row;
    }

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

    .l\:justify-end{
        justify-content: flex-end;
    }

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

    .l\:overflow-visible{
        overflow: visible;
    }

    .l\:p-20{
        padding: 2rem;
    }

    .l\:p-40{
        padding: 4rem;
    }

    .l\:py-100{
        padding-top: 10rem;
        padding-bottom: 10rem;
    }

    .l\:pt-0{
        padding-top: 0rem;
    }

    .l\:text-left{
        text-align: left;
    }

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

    .l\:text-42{
        font-size: 4.2rem;
    }
}
@media (min-width: 1280px){

    .xl\:col-span-18{
        grid-column: span 18 / span 18;
    }

    .xl\:col-span-2{
        grid-column: span 2 / span 2;
    }

    .xl\:col-span-6{
        grid-column: span 6 / span 6;
    }

    .xl\:mb-0{
        margin-bottom: 0rem;
    }

    .xl\:grid{
        display: grid;
    }

    .xl\:max-w-\[10rem\]{
        max-width: 10rem;
    }

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

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

    .xl\:pr-100{
        padding-right: 10rem;
    }

    .xl\:text-32{
        font-size: 3.2rem;
    }

    .xl\:text-42{
        font-size: 4.2rem;
    }
}