:root {
    /* SECTION HEIGHTS */
    --theme-section-height-xs: 300px;
    --theme-section-height-s: 420px;
    --theme-section-height-m: 560px;
    --theme-section-height-l: 640px;
    --theme-section-height-xl: 720px;
    --theme-section-height-xxl: 960px;

    --theme-section-height-xs-m: 300px;
    --theme-section-height-s-m: 420px;
    --theme-section-height-m-m: 560px;
    --theme-section-height-l-m: 640px;
    --theme-section-height-xl-m: 720px;
    --theme-section-height-xxl-m: 960px;

    --theme-section-height-xs-s: 300px;
    --theme-section-height-s-s: 420px;
    --theme-section-height-m-s: 560px;
    --theme-section-height-l-s: 640px;
    --theme-section-height-xl-s: 720px;
    --theme-section-height-xxl-s: 960px;

    --theme-section-height-viewport: 100vh;
    --theme-section-height-auto: auto;

    /* THEME COLORS */
    --theme-primary-color: rgba(246,236,35,1.0);
    --theme-secondary-color: rgba(190,58,115,1.0);
    --theme-accent-color: rgba(35,100,145,1.0);

    --theme-body-color: rgba(30,30,30,1.0);

    /* DEFAULTS */
    --default-input-font-size: 0.875rem;
    --default-line-height: 1.8;
    --default-spacing-unit: 1rem;

    /* BORDER RADIUS */
    --xsmall-border-radius: 0.5rem;
    --small-border-radius: 0.625rem;
    --medium-border-radius: 0.75rem;
    --large-border-radius: 1rem;
    --xlarge-border-radius: 1.25rem;

    /* COLUMN WIDTH */
    --half-column-max-width: calc(var(--default-wrapper-width) * 0.5);
    --one-quarter-max-width: calc(var(--default-wrapper-width) * 0.2825);
    --three-quarter-max-width: calc(var(--default-wrapper-width) * 0.6750);


    /* TYPOGRAPHY */
    --font-ultra-light: 100;
    --font-light: 200;
    --font-book: 300;
    --font-black: 900;

    --primary-font-family: "Roboto", "Helvetica", "Arial", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
    --secondary-font-family: "Gotham", sans-serif;
    --accent-font-family: "Gotham", sans-serif;

    --font-awesome-family: "Font Awesome 6 Pro";


    --display-one: clamp(2.675rem, 1.467rem + 3.913vw, 5rem);
    --display-two: clamp(2.25rem, 1.467rem + 3.913vw, 4.5rem);
    --display-three: clamp(2rem, 2.5rem + 2.174vw, 3.5rem);
    --title-one: clamp(1.75rem, 1.428rem + 1.609vw, 2.675rem);
    --title-two: clamp(1.5rem, 1.283rem + 1.087vw, 2.125rem);
    --title-three: clamp(1.125rem, 0.995rem + 0.652vw, 1.5rem);
    --title-four: clamp(1rem, 0.913rem + 0.435vw, 1.25rem);

    --paragraph-large: clamp(1rem, 1.467rem + 3.913vw, 1.125rem);
    --paragraph-small: clamp(0.875rem, 1.467rem + 3.913vw, 1rem);

    --subheading-large: clamp(1rem, 0.913rem + 0.435vw, 1.25rem);
    --subheading-small: clamp(1rem, 1.467rem + 3.913vw, 1.125rem);
    --subheading-x-small: clamp(0.875rem, 1.467rem + 3.913vw, 1rem);

    /* CAROUSEL */
    --default-carousel-nav-color-light: rgba(255,255,255,1.0);
    --default-carousel-nav-color-dark: rgba(0,0,0,1.0);

    --default-carousel-dots-color-light: rgba(255,255,255,1.0);
    --default-carousel-dots-color-dark: rgba(0,0,0,1.0);

    /* REVEAL */
    --reveal-dur: .6s;
    --reveal-ease: cubic-bezier(.22,.61,.36,1);
}


/* ==========================================================================
   BASE STYLES
   ========================================================================== */

/* Fonts
   =========================================== */
html,
body{
 color: var(--theme-body-color);
}

/* Full Width
   =========================================== */
.t-page-sfnt .t-main-content-element,
.t-page-fullwidth .t-main-content-element{
    width: 100%;
    max-width: 100%;
    padding:0;
    margin:0;
}
@media screen and (min-width: 48em) {
    .t-page-sfnt .t-main-content-element,
    .t-page-fullwidth .t-main-content-element{
    }

}
@media screen and (min-width: 60em) {
    .t-page-sfnt .t-main-content-element,
    .t-page-fullwidth .t-main-content-element{
    }
}


html,
body,
.c-font--primary{
    font-family: var(--primary-font-family);
}
.c-font--secondary{
    font-family: var(--secondary-font-family);
}
.c-font--accent{
    font-family: var(--accent-font-family);
}

/*** Markdown Defaults Styles ***/
.u-markdown h1{
  font-size: var(--display-two);
  font-weight: var(--font-bold);
  line-height: calc(var(--display-two) * 1.2);
}

.u-markdown h2 {
  font-size: var(--display-three);
  font-weight: var(--font-bold);
  line-height: calc(var(--display-three) * 1.08);
}

.u-markdown h3 {
  font-size: var(--title-one);
  font-weight: var(--font-bold);
  line-height: calc(var(--title-one) * 1.2);
}

.u-markdown h4 {
  font-size: var(--title-two);
  line-height: calc(var(--title-two) * 1.25);
}

.u-markdown h5 {
  font-size: var(--title-three);
  line-height: calc(var(--title-three) * 1.33);
}

.u-markdown h6 {
  font-size: var(--title-four);
  line-height: calc(var(--title-four) * 1.4);
}

.c-heading-alpha.c-heading-hero{
font-size:clamp(3.25rem, calc(0.758rem + 8.977vw), 6.5rem);
margin-bottom:1.25rem;
}
.c-heading-foxtrot.c-subheading-hero{
font-size:clamp(0.775rem, calc(0.685rem + 0.545vw), 1.5rem);
margin-bottom:1.25rem;
}

/* Line-height utilities
   =========================================== */
.u-line-height--tight   { line-height: 1.05 !important; }
.u-line-height--tighter { line-height: 0.95 !important; }
.u-line-height--normal  { line-height: 1.5 !important; }
.u-line-height--loose   { line-height: 1.8 !important; }



/* Colors
   =========================================== */
.c-color--primary{
    color: var(--theme-primary-color);
}
.c-color--primary-background{
    background-color: var(--theme-primary-color);
}
.c-color--secondary{
    color: var(--theme-secondary-color);
}
.c-color--secondary-background{
    background-color: var(--theme-secondary-color);
}
.c-color--accent{
    color: var(--theme-accent-color);
}
.c-color--accent-background{
    background-color: var(--theme-accent-color);
}


/* Page Wrapper
   =========================================== */
html.mm-background .mm-page,
#pagewrapper{
    background: var(--white);
}







/* ==========================================================================
   LAYOUT ADDITIONS
   ========================================================================== */
.o-layout--height-xs{
    height:var(--theme-section-height-xs);
}
.o-layout--height-s{
    height:var(--theme-section-height-s);
}
.o-layout--height-m{
    height:var(--theme-section-height-m);
}
.o-layout--height-l{
    height:var(--theme-section-height-l);
}
.o-layout--height-xl{
    height:var(--theme-section-height-xl);
}
.o-layout--height-xxl{
    height:var(--theme-section-height-xxl);
}
.o-layout--height-viewport{
    height:var(--theme-section-height-viewport);
}
.o-layout--height-auto{
    height:var(--theme-section-height-auto);
}
@media screen and (max-width: 959px) {
    .o-layout--height-xs-m{
        height:var(--theme-section-height-xs-m);
    }
    .o-layout--height-s-m{
        height:var(--theme-section-height-s-m);
    }
    .o-layout--height-m-m{
        height:var(--theme-section-height-m-m);
    }
    .o-layout--height-l-m{
        height:var(--theme-section-height-l-m);
    }
    .o-layout--height-xl-m{
        height:var(--theme-section-height-xl-m);
    }
    .o-layout--height-xxl-m{
        height:var(--theme-section-height-xxl-m);
    }
    .o-layout--height-viewport-m{
    height:var(--theme-section-height-viewport);
    }
    .o-layout--height-auto-m{
        height:var(--theme-section-height-auto);
    }
}

@media screen and (max-width: 767px) {
    .o-layout--height-xs-s{
        height:var(--theme-section-height-xs-m);
    }
    .o-layout--height-s-s{
        height:var(--theme-section-height-s-m);
    }
    .o-layout--height-m-s{
        height:var(--theme-section-height-m-m);
    }
    .o-layout--height-l-s{
        height:var(--theme-section-height-l-m);
    }
    .o-layout--height-xl-s{
        height:var(--theme-section-height-xl-m);
    }
    .o-layout--height-xxl-s{
        height:var(--theme-section-height-xxl-m);
    }
    .o-layout--height-viewport-s{
        height:var(--theme-section-height-viewport);
    }
    .o-layout--height-auto-s{
        height:var(--theme-section-height-auto);
    }
}

/* Flex Additions
   =========================================== */
.o-layout--justify-start {
    justify-content: flex-start;
}
.o-layout--justify-end {
    justify-content: flex-end;
}
.o-layout--justify-evenly {
    justify-content: space-evenly;
}
@media screen and (min-width: 48em) {
    .o-layout--justify-start--m {
        justify-content: flex-start;
    }

    .o-layout--justify-center--m {
        justify-content: center;
    }

    .o-layout--justify-end--m {
        justify-content: flex-end;
    }

    .o-layout--justify-around--m {
        justify-content: space-around;
    }

    .o-layout--justify-between--m {
        justify-content: space-between;
    }
    .o-layout--justify-evenly--m {
        justify-content: space-evenly;
    }
}
@media screen and (min-width: 60em) {
    .o-layout--justify-start--l {
        justify-content: flex-start;
    }

    .o-layout--justify-center--l {
        justify-content: center;
    }

    .o-layout--justify-end--l {
        justify-content: flex-end;
    }

    .o-layout--justify-around--l {
        justify-content: space-around;
    }

    .o-layout--justify-between--l {
        justify-content: space-between;
    }
    .o-layout--justify-evenly--l {
        justify-content: space-evenly;
    }
}
@media screen and (min-width: 75em) {
    .o-layout--justify-start--xl {
        justify-content: flex-start;
    }

    .o-layout--justify-center--xl {
        justify-content: center;
    }

    .o-layout--justify-end--xl {
        justify-content: flex-end;
    }

    .o-layout--justify-around--xl {
        justify-content: space-around;
    }

    .o-layout--justify-between--xl {
        justify-content: space-between;
    }
    .o-layout--justify-evenly--xl {
        justify-content: space-evenly;
    }
}
@media screen and (min-width: 90em) {
    .o-layout--justify-start--w {
        justify-content: flex-start;
    }

    .o-layout--justify-center--w {
        justify-content: center;
    }

    .o-layout--justify-end--w {
        justify-content: flex-end;
    }

    .o-layout--justify-around--w {
        justify-content: space-around;
    }

    .o-layout--justify-between--w {
        justify-content: space-between;
    }
    .o-layout--justify-evenly--w {
        justify-content: space-evenly;
    }
}


/* Full Width Wrapper
   =========================================== */
.o-wrapper--fullwidth{
    width: 100%;
    max-width: 100%;
}


/* Order Additions
   =========================================== */
.order-first {
  order: -1 !important; }

.order-0 {
  order: 0 !important; }

.order-1 {
  order: 1 !important; }

.order-2 {
  order: 2 !important; }

.order-3 {
  order: 3 !important; }

.order-4 {
  order: 4 !important; }

.order-5 {
  order: 5 !important; }

.order-last {
  order: 6 !important; }

@media screen and (min-width: 48em) {
.order-first--m {
  order: -1 !important; }

.order-0--m {
  order: 0 !important; }

.order-1--m {
  order: 1 !important; }

.order-2--m {
  order: 2 !important; }

.order-3--m {
  order: 3 !important; }

.order-4--m {
  order: 4 !important; }

.order-5--m {
  order: 5 !important; }

.order-last--m {
  order: 6 !important; }
}
@media screen and (min-width: 60em) {
.order-first--l {
  order: -1 !important; }

.order-0--l {
  order: 0 !important; }

.order-1--l {
  order: 1 !important; }

.order-2--l {
  order: 2 !important; }

.order-3--l {
  order: 3 !important; }

.order-4--l {
  order: 4 !important; }

.order-5--l {
  order: 5 !important; }

.order-last--l {
  order: 6 !important; }
}
@media screen and (min-width: 75em) {
.order-first--xl {
  order: -1 !important; }

.order-0--xl {
  order: 0 !important; }

.order-1--xl {
  order: 1 !important; }

.order-2--xl {
  order: 2 !important; }

.order-3--xl {
  order: 3 !important; }

.order-4--xl {
  order: 4 !important; }

.order-5--xl {
  order: 5 !important; }

.order-last--xl {
  order: 6 !important; }

}

@media screen and (min-width: 90em) {
.order-first--w {
  order: -1 !important; }

.order-0--w {
  order: 0 !important; }

.order-1--w {
  order: 1 !important; }

.order-2--w {
  order: 2 !important; }

.order-3--w {
  order: 3 !important; }

.order-4--w {
  order: 4 !important; }

.order-5--w {
  order: 5 !important; }

.order-last--w {
  order: 6 !important; }
}


/* ==========================================================================
   UTILITIES
   ========================================================================== */

/* Offset size modifiers
   =========================================== */
.u-offset-1--r {
    margin-right: 8.333%;
}

.u-offset-2--r {
    margin-right: 16.666%;
}

.u-offset-3--r {
    margin-right: 25%;
}

.u-offset-4--r {
    margin-right: 33.333%;
}

.u-offset-5--r {
    margin-right: 41.666%;
}

.u-offset-6--r {
    margin-right: 50%;
}

.u-offset-7--r {
    margin-right: 58.333%;
}

.u-offset-8--r {
    margin-right: 66.666%;
}

.u-offset-9--r {
    margin-right: 75%;
}

.u-offset-10--r {
    margin-right: 83.333%;
}

.u-offset-11--r {
    margin-right: 91.666%;
}

@media screen and (min-width: 40em) {
    .u-offset-1--s--r {
        margin-right: 8.333%;
    }
    .u-offset-2--s--r {
        margin-right: 16.666%;
    }
    .u-offset-3--s--r {
        margin-right: 25%;
    }
    .u-offset-4--s--r {
        margin-right: 33.333%;
    }
    .u-offset-5--s--r {
        margin-right: 41.666%;
    }
    .u-offset-6--s--r {
        margin-right: 50%;
    }
    .u-offset-7--s--r {
        margin-right: 58.333%;
    }
    .u-offset-8--s--r {
        margin-right: 66.666%;
    }
    .u-offset-9--s--r {
        margin-right: 75%;
    }
    .u-offset-10--s--r {
        margin-right: 83.333%;
    }
    .u-offset-11--s--r {
        margin-right: 91.666%;
    }
}

@media screen and (min-width: 48em) {
    .u-offset-1--m--r {
        margin-right: 8.333%;
    }
    .u-offset-2--m--r {
        margin-right: 16.666%;
    }
    .u-offset-3--m--r {
        margin-right: 25%;
    }
    .u-offset-4--m--r {
        margin-right: 33.333%;
    }
    .u-offset-5--m--r {
        margin-right: 41.666%;
    }
    .u-offset-6--m--r {
        margin-right: 50%;
    }
    .u-offset-7--m--r {
        margin-right: 58.333%;
    }
    .u-offset-8--m--r {
        margin-right: 66.666%;
    }
    .u-offset-9--m--r {
        margin-right: 75%;
    }
    .u-offset-10--m--r {
        margin-right: 83.333%;
    }
    .u-offset-11--m--r {
        margin-right: 91.666%;
    }
}

@media screen and (min-width: 60em) {

    .u-offset-1--l--r {
        margin-right: 8.333%;
    }
    .u-offset-2--l--r {
        margin-right: 16.666%;
    }
    .u-offset-3--l--r {
        margin-right: 25%;
    }
    .u-offset-4--l--r {
        margin-right: 33.333%;
    }
    .u-offset-5--l--r {
        margin-right: 41.666%;
    }
    .u-offset-6--l--r {
        margin-right: 50%;
    }
    .u-offset-7--l--r {
        margin-right: 58.333%;
    }
    .u-offset-8--l--r {
        margin-right: 66.666%;
    }
    .u-offset-9--l--r {
        margin-right: 75%;
    }
    .u-offset-10--l--r {
        margin-right: 83.333%;
    }
    .u-offset-11--l--r {
        margin-right: 91.666%;
    }
}

@media screen and (min-width: 75em) {
    .u-offset-1--xl--r {
        margin-right: 8.333%;
    }
    .u-offset-2--xl--r {
        margin-right: 16.666%;
    }
    .u-offset-3--xl--r {
        margin-right: 25%;
    }
    .u-offset-4--xl--r {
        margin-right: 33.333%;
    }
    .u-offset-5--xl--r {
        margin-right: 41.666%;
    }
    .u-offset-6--xl--r {
        margin-right: 50%;
    }
    .u-offset-7--xl--r {
        margin-right: 58.333%;
    }
    .u-offset-8--xl--r {
        margin-right: 66.666%;
    }
    .u-offset-9--xl--r {
        margin-right: 75%;
    }
    .u-offset-10--xl--r {
        margin-right: 83.333%;
    }
    .u-offset-11--xl--r {
        margin-right: 91.666%;
    }
}

@media screen and (min-width: 90em) {
    .u-offset-1--w--r {
        margin-right: 8.333%;
    }
    .u-offset-2--w--r {
        margin-right: 16.666%;
    }
    .u-offset-3--w--r {
        margin-right: 25%;
    }
    .u-offset-4--w--r {
        margin-right: 33.333%;
    }
    .u-offset-5--w--r {
        margin-right: 41.666%;
    }
    .u-offset-6--w--r {
        margin-right: 50%;
    }
    .u-offset-7--w--r {
        margin-right: 58.333%;
    }
    .u-offset-8--w--r {
        margin-right: 66.666%;
    }
    .u-offset-9--w--r {
        margin-right: 75%;
    }
    .u-offset-10--w--r {
        margin-right: 83.333%;
    }
    .u-offset-11--w--r {
        margin-right: 91.666%;
    }
}


/* Font style utilities
   =========================================== */
.u-text-ultra-light {
    font-weight: var(--font-ultra-light);
}
.u-text-light {
    font-weight: var(--font-light);
}
.u-text-book {
    font-weight: var(--font-book);
}
.u-text-regular{
    font-weight: var(--font-regular);
}
.u-text-regular-medium {
    font-weight: var(--font-medium);
}
.u-text-medium{
    font-weight: var(--font-semibold);
}
.u-text-bold{
    font-weight: var(--font-bold);
}
.u-text-boldest{
    font-weight: var(--font-black);
}


.u-text-spacing--s{
    letter-spacing:1pt;
}
.u-text-spacing--m{
    letter-spacing:1.75pt;
}
.u-text-spacing--l{
    letter-spacing:2.5pt;
}
.u-text-spacing--xl{
    letter-spacing:3.35pt;
}


/* Padding utilities
   =========================================== */
.u-padding-top--xxs{
    padding-top:0.5rem;
}
.u-padding-bottom--xxs{
    padding-bottom:0.5rem;
}
.u-padding-top--xs{
    padding-top:1rem;
}
.u-padding-bottom--xs{
    padding-bottom:1rem;
}
.u-padding-top--s{
    padding-top:2rem;
}
.u-padding-bottom--s{
    padding-bottom:2rem;
}
.u-padding-top--m{
    padding-top:4rem;
}
.u-padding-bottom--m{
    padding-bottom:4rem;
}
.u-padding-top--l{
    padding-top:6rem;
}
.u-padding-bottom--l{
    padding-bottom:6rem;
}
.u-padding-top--xl{
    padding-top:9rem;
}
.u-padding-bottom--xl{
    padding-bottom:9rem;
}
.u-padding-top--xxl{
    padding-top:12rem;
}
.u-padding-bottom--xxl{
    padding-bottom:12rem;
}
.u-padding-top--n{
    padding-top:0;
}
.u-padding-bottom--n{
    padding-bottom:0;
}
@media screen and (min-width: 48em) {

}
@media screen and (min-width: 60em) {
    .u-padding-top--xxs{
        padding-top:1rem;
    }
    .u-padding-bottom--xxs{
        padding-bottom:1rem;
    }
    .u-padding-top--xs{
        padding-top:2rem;
    }
    .u-padding-bottom--xs{
        padding-bottom:2rem;
    }
    .u-padding-top--s{
        padding-top:4rem;
    }
    .u-padding-bottom--s{
        padding-bottom:4rem;
    }
    .u-padding-top--m{
        padding-top:8rem;
    }
    .u-padding-bottom--m{
        padding-bottom:8rem;
    }
    .u-padding-top--l{
        padding-top:12rem;
    }
    .u-padding-bottom--l{
        padding-bottom:12rem;
    }
    .u-padding-top--xl{
        padding-top:16rem;
    }
    .u-padding-bottom--xl{
        padding-bottom:16rem;
    }
    .u-padding-top--xxl{
        padding-top:20rem;
    }
    .u-padding-bottom--xxl{
        padding-bottom:20rem;
    }
}
@media screen and (min-width: 75em) {

}
@media screen and (min-width: 90em) {

}

.u-padding-lr--xxs{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.u-padding-lr--xs{
    padding-left: 1rem;
    padding-right: 1rem;
}
.u-padding-lr--s{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.u-padding-lr--m{
    padding-left: 2.25rem;
    padding-right: 2.25rem;
}
.u-padding-lr--l{
    padding-left: 3rem;
    padding-right: 3rem;
}
.u-padding-lr--xl{
    padding-left: 3.5rem;
    padding-right: 3.5rem;
}
.u-padding-lr--xxl{
    padding-left: 4.5rem;
    padding-right: 4.5rem;
}
.u-column-inner-padding--s{
    padding:2rem 2rem 2rem 2rem;
}
@media screen and (min-width: 60em) {
.u-column-inner-padding--s{
    padding:3.5rem 3.5rem 3.5rem 3.5rem;
}
}

/* Margin utilities
   =========================================== */
.u-margin-top--xxs{
    margin-top:0.5rem;
}
.u-margin-bottom--xxs{
    margin-bottom:0.5rem;
}
.u-margin-top--xs{
    margin-top:1rem;
}
.u-margin-bottom--xs{
    margin-bottom:1rem;
}
.u-margin-top--s{
    margin-top:2rem;
}
.u-margin-bottom--s{
    margin-bottom:2rem;
}
.u-margin-top--m{
    margin-top:4rem;
}
.u-margin-bottom--m{
    margin-bottom:4rem;
}
.u-margin-top--l{
    margin-top:6rem;
}
.u-margin-bottom--l{
    margin-bottom:6rem;
}
.u-margin-top--xl{
    margin-top:9rem;
}
.u-margin-bottom--xl{
    margin-bottom:9rem;
}
.u-margin-top--xxl{
    margin-top:12rem;
}
.u-margin-bottom--xxl{
    margin-bottom:12rem;
}


/* Position utilities
   =========================================== */
.u-center-item{
    margin-left: auto;
    margin-left: auto;
}


/* Width utilities
   =========================================== */
@media screen and (min-width: 60em) {
.u-width-half-column-max{
    max-width: var(--half-column-max-width);
    margin:0 auto;
}
.u-width-one-quarter-column-max{
    max-width: var(--one-quarter-max-width);
}
.u-width-three-quarter-column-max{
    max-width: var(--three-quarter-max-width);
}
}


/* Width image utilities
   =========================================== */
.two-column-content-image .image-column{
    position:relative;
}
.two-column-content-image .image-column .o-layout-item-inner{
    position:absolute;
    width:100%;
    height:100%;
    min-height:300px;
}
.two-column-content-image .image-column .o-layout-item-inner,
.two-column-content-image .media-wrapper{
       height: 100%;
}
.two-column-content-image .media-wrapper img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}
/*
.two-column-content-image .content-wrapper{
    max-width:520px;
}
*/





/* Image fixed widths
   =========================================== */
.u-image-width--xs,
.u-image-width--xs > img{
    min-width:64px;
    max-width:64px;
}
.u-image-width--s,
.u-image-width--s > img{
    min-width:96px;
    max-width:96px;
}
.u-image-width--m,
.u-image-width--m > img{
    min-width:128px;
    max-width:128px;
}
.u-image-width--l,
.u-image-width--l > img{
    min-width:156px;
    max-width:156px;
}
.u-image-width--xl,
.u-image-width--xl > img{
    min-width:192px;
    max-width:192px;
}

/* Image fixed heights
   =========================================== */
.u-image-height--xs,
.u-image-height--xs > img{
    min-height:64px;
    max-height:64px;
    object-fit: contain;
}
.u-image-height--s,
.u-image-height--s > img{
    min-height:96px;
    max-height:96px;
    object-fit: contain;
}
.u-image-height--m,
.u-image-height--m > img{
    min-height:128px;
    max-height:128px;
    object-fit: contain;
}
.u-image-height--l,
.u-image-height--l > img{
    min-height:156px;
    max-height:156px;
    object-fit: contain;
}
.u-image-height--xl,
.u-image-height--xl > img{
    min-height:192px;
    max-height:192px;
    object-fit: contain;
}



/* ==========================================================================
   COMPONENTS / BUTTONS
   ========================================================================== */
.c-button,
.c-button--primary{
    align-items: center;
    align-self: start;
    background-color: var(--theme-primary-color);
    border: var(--default-border-width) solid transparent;   /* was solid black — removed the yellow-button stroke (design notes) */
    border-radius: var(--default-border-radius);
    color: var(--black);
    cursor: pointer;
    display: inline-flex;
    font-size: var(--default-input-font-size);
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    justify-content: center;
    padding: calc(1.23em - var(--default-border-width)) calc(3em - var(--default-border-width));
    text-decoration: none;
    transition: background-color 100ms, color 125ms ease-in-out;
    -webkit-user-select: none;
            user-select: none;
}
.c-button--primary-outline{
    background-color: transparent;
    border: var(--default-border-width) solid var(--theme-primary-color);
    color: var(--theme-primary-color);
}

.c-button--secondary {
    background-color: var(--theme-secondary-color);
    color: var(--white);
}
.c-button--secondary-outline{
    background-color: transparent;
    border: var(--default-border-width) solid var(--theme-secondary-color);
    color: var(--theme-secondary-color);
}

.c-button--accent {
    background-color: var(--theme-accent-color);
    color: var(--white);
}
.c-button--accent-outline{
    background-color: transparent;
    border: var(--default-border-width) solid var(--theme-accent-color);
    color: var(--theme-accent-color);
}

.c-button--white{
    background-color: var(--white);
    color: var(--black);
}
.c-button--white-outline{
    background-color: transparent;
    border: var(--default-border-width) solid var(--white);
    color: var(--white);
}

.c-button--light{
    background-color: var(--gray-200);
    color: var(--black);
}
.c-button--light-outline{
    background-color: transparent;
    border: var(--default-border-width) solid var(--gray-200);
    color: var(--gray-200);
}
.c-button--dark{
    background-color: var(--gray-600);
    color: var(--white);
}
.c-button--dark-outline{
    background-color: transparent;
    border: var(--default-border-width) solid var(--gray-600);
    color: var(--gray-600);
}

.c-button--black {
    background-color: var(--black);
    color: var(--white);
}

.c-button--black-outline {
    background-color: var(--transparent);
    border: var(--default-border-width) solid var(--black);
    color: var(--black);
}

/* Keep the black border on primary/default only — other solid colors stay borderless */
.c-button--secondary,
.c-button--accent,
.c-button--white,
.c-button--light,
.c-button--dark,
.c-button--black {
    border-color: var(--transparent);
}

/* Sizing modifiers
   =========================================== */
.c-button--xsmall {
    font-size: 0.675rem;
    padding: calc(0.85em - var(--default-border-width)) calc(2.25em - var(--default-border-width));
}
.c-button--small {
    font-size: 0.75rem;
    padding: calc(0.923em - var(--default-border-width)) calc(2.5em - var(--default-border-width));
}
.c-button--medium {
    font-size: var(--default-input-font-size);
    padding: calc(1.23em - var(--default-border-width)) calc(3em - var(--default-border-width));
}
.c-button--large {
    font-size: 1rem;
    padding: calc(1.35em - var(--default-border-width)) calc(3.5em - var(--default-border-width));
}
.c-button--xlarge {
    font-size: 1.25rem;
    padding: calc(1.5em - var(--default-border-width)) calc(4.5em - var(--default-border-width));
}

.c-button--flush {
    padding-left: 0;
    padding-right: 0;
}
.c-button--full {
    width: 100%;
}

@media screen and (max-width: 47.999em) {
    .c-button--full-small {
        width: 100%;
    }
}

/* Shape modifiers
   =========================================== */

.c-button.c-button--squared{
    border-radius: 0;
}

.c-button--xsmall.c-button--rounded{
    border-radius: var(--xsmall-border-radius);
}
.c-button--small.c-button--rounded{
    border-radius: var(--small-border-radius);
}
.c-button.c-button--rounded,
.c-button--medium.c-button--rounded{
    border-radius: var(--medium-border-radius);
}
.c-button--large.c-button--rounded{
    border-radius: var(--large-border-radius);
}
.c-button--xlarge.c-button--rounded{
    border-radius: var(--xlarge-border-radius);
}


.c-button--xsmall.c-button--pill{
    border-radius: 1.875em;
}
.c-button--small.c-button--pill{
    border-radius: 2em;
}
.c-button.c-button--pill,
.c-button--medium.c-button--pill{
    border-radius: 2.25em;
}
.c-button--large.c-button--pill{
    border-radius: 2.75em;
}
.c-button--xlarge.c-button--pill{
    border-radius: 3.25em;
}


/* State modifiers
   =========================================== */
.c-button:active,
.c-button:focus,
.c-button:hover {
    text-decoration: none;
    transition-duration: 250ms;
}

.c-button:disabled,
.c-button[aria-disabled=true] {
    background-color: var(--gray-400);
    cursor: not-allowed;
}

.c-button:focus:not(:focus-visible) {
    outline: none;
}

.c-button:focus-visible {
    outline: calc(var(--default-border-width) * 2) solid var(--focus);
    outline-offset: var(--default-border-width);
    transition: none;
}

@media (hover: hover) and (pointer: fine) {
    .c-button:hover:not(:disabled):not([aria-disabled=true]):not(.c-button--as-link),
    .c-button--secondary:hover:not(:disabled):not([aria-disabled=true]):not(.c-button--as-link) {
        background-color: var(--black);
        border-color: var(--black);
        color: var(--white);
        outline: none;
    }
    .c-button-dark:hover:not(:disabled):not([aria-disabled=true]):not(.c-button--as-link) {
        background-color: var(--transparent);
        border-color: var(--white);
        color: var(--white);
    }
    .c-button-dark--secondary:hover:not(:disabled):not([aria-disabled=true]):not(.c-button--as-link) {
        background-color: var(--white);
        border-color: var(--transparent);
        color: var(--black);
    }
}


/* Circle & square modifiers
   =========================================== */
.c-button--circle {
    border-radius: 50%;
}

.c-button--circle,
.c-button--square {
    padding: calc(1em - var(--default-border-width));
}


/* Link-style modifier
   =========================================== */
.c-button--as-link {
    background-color: rgba(0, 0, 0, 0);
    border: none;
    color: currentColor;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    padding: 0;
    text-decoration: underline;
    text-decoration-thickness: from-font;
    -webkit-user-select: auto;
            user-select: auto;
}

.c-button--as-link:active,
.c-button--as-link:focus,
.c-button--as-link:hover {
    background-color: rgba(0, 0, 0, 0);
    text-decoration: underline;
    text-decoration-thickness: 0.1em;
    text-underline-offset: 0.15em;
}


button.x-toggle-password{
 border: 0 none !important;
    border-radius: 0;
    color: var(--gray-800);
    font-size: 1.5em;
    margin-top: -0.125em;
    padding: 0.25em;
    position: absolute;
    right: 0.5em;
    top: calc(50% - 1px);
    background-color:transparent;

}
button.x-toggle-password:hover{
    color: var(--gray-800);
    outline: none !important;
    border:none !important;
}
button.u-icon-cross{
    padding:0.75rem !important;
    margin:0 !important;
}
#global_account button.x-toggle-password{
    top:20%;
}


.c-control-grid-toggle{
    border:solid 1px var(--theme-primary-color) !important;
    border-radius:4px;
}
button.c-button.grid-toggle{

    color:var(--theme-primary-color) !important;
    background-color:var(--gray-200) !important;

    padding:10px 6px 8px 6px;
    border:none !important;
    outline:none !important;
}
button.c-button.grid-toggle.grid-toggle--1-col{
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;

    border-bottom-right-radius: 0px;
    border-top-right-radius: 0px;
}
button.c-button.grid-toggle.grid-toggle--2-col{
    border-bottom-left-radius: 0px;
    border-top-left-radius: 0px;

    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
}
button.c-button.grid-toggle.grid-toggle--3-col{
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;

    border-bottom-right-radius: 0px;
    border-top-right-radius: 0px;
}
button.c-button.grid-toggle.grid-toggle--5-col{
    border-bottom-left-radius: 0px;
    border-top-left-radius: 0px;

    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
}


button.c-button.grid-toggle.grid-toggle--s{
    display:block;
}
button.c-button.grid-toggle.grid-toggle--l{
    display:none;
}
@media screen and (min-width: 60em) {
    button.c-button.grid-toggle.grid-toggle--s{
        display:none;
    }
    button.c-button.grid-toggle.grid-toggle--l{
        display:block;
    }
}

button.c-button.grid-toggle:hover,
button.c-button.grid-toggle:focus{
    color:var(--gray-100) !important;
    background-color:var(--theme-primary-color) !important;
}
button.c-button.grid-toggle.active,
button.c-button.grid-toggle.active:hover,
button.c-button.grid-toggle.active:focus{
    color:var(--gray-100) !important;
    background-color:var(--theme-primary-color) !important;
}


button.c-button.c-button--filters{
    border-width:1px  !important;
    outline:none !important;
}
button.c-button.c-button--filters:hover,
button.c-button.c-button--filters:focus{
    outline:none !important;
    border-color:var(--theme-primary-color) !important;
    color:var(--theme-primary-color) !important;
    background-color:var(--gray-200) !important;
}


.c-button.c-button--secondary.u-icon-subtract,
.c-button.c-button--secondary.u-icon-add{
    background-color:var(--white) !important;
    border:none !important;
    outline:none !important;
}
.c-button.c-button--secondary.u-icon-subtract:active,
.c-button.c-button--secondary.u-icon-subtract:focus,
.c-button.c-button--secondary.u-icon-subtract:hover,
.c-button.c-button--secondary.u-icon-add:active,
.c-button.c-button--secondary.u-icon-add:focus,
.c-button.c-button--secondary.u-icon-add:hover{
    background-color:var(--gray-200) !important;
    border:none !important;
    outline:none !important;
}


.c-button.c-button--secondary.u-icon-subtract{
    border-radius:var(--default-border-radius) 0 0 var(--default-border-radius) !important;
}
.c-button.c-button--secondary.u-icon-add{
    border-radius:0 var(--default-border-radius) var(--default-border-radius) 0 !important;
}
.c-button.c-button--secondary.u-icon-subtract,
.c-button.c-button--secondary.u-icon-subtract:active,
.c-button.c-button--secondary.u-icon-subtract:focus,
.c-button.c-button--secondary.u-icon-subtract:hover{
    border-right:solid 1px var(--gray-400) !important;
}
.c-button.c-button--secondary.u-icon-add,
.c-button.c-button--secondary.u-icon-add:active,
.c-button.c-button--secondary.u-icon-add:focus,
.c-button.c-button--secondary.u-icon-add:hover{
    border-left:solid 1px var(--gray-400) !important;
}


/* Button Seperation Modifiers
   =========================================== */

.u-button--sep{
    display:inline-block;
    width:var(--default-spacing-unit);
    height:1px;
    }

.u-button-stacked .u-button--sep{
    display:inline-block;
    width:100%;
    height:var(--default-spacing-unit);
}
@media screen and (max-width: 47.99em) {
    .u-button-stacked--s .u-button--sep{
    display:inline-block;
    width:100%;
    height:var(--default-spacing-unit);
    }
}
@media screen and (max-width: 59.99em) {
   .u-button-stacked--m .u-button--sep{
    display:inline-block;
    width:100%;
    height:var(--default-spacing-unit);
    }
}
@media screen and (max-width: 74.99em) {
   .u-button-stacked--l .u-button--sep{
    display:inline-block;
    width:100%;
    height:var(--default-spacing-unit);
    }
}
@media screen and (max-width: 89.99em) {
   .u-button-stacked--xl .u-button--sep{
    display:inline-block;
    width:100%;
    height:var(--default-spacing-unit);
    }
}
@media screen and (min-width: 90em) {
   .u-button-stacked--w .u-button--sep{
    display:inline-block;
    width:100%;
    height:var(--default-spacing-unit);
    }
}

/* Heading Button Inline
   =========================================== */
.u-heading-button-inline .section-header-layout-item-inner {
    display:flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content:space-between;
    align-items: center;
    gap:1rem;
}
.u-heading-button-inline .section-header-layout-item-inner > * {
    /*
    flex: 1;
    */
}
.u-heading-button-inline .heading-wrapper > *{
    line-height:1;
    margin: 0;
}
.u-heading-button-inline .heading-wrapper{
    flex-grow: 2;
}
.u-heading-button-inline .button-wrapper{
    flex-grow: 1;
}





/* ==========================================================================
   DATA ATTRIBUTES
   ========================================================================== */
/* Select any element that has a data-url attribute */
[data-url]:hover {
  cursor: pointer;
}

[data-reveal]{
  opacity: 0;
  transform: translate3d(var(--rx,0), var(--ry,0), 0) scale(var(--rscale,1));
  filter: var(--rfilter, none);
  transition:
    transform var(--reveal-dur) var(--reveal-ease),
    opacity var(--reveal-dur) var(--reveal-ease),
    filter var(--reveal-dur) var(--reveal-ease);
  will-change: transform, opacity, filter;
  transition-delay: 0.35s;
}

[data-reveal].is-revealed{
  opacity: 1;
  transform: none;
  filter: none;
}

[data-reveal="up"]      { --ry: 0; }
[data-reveal="down"]    { --ry: 0; }
[data-reveal="left"]    { --rx: 0; }
[data-reveal="right"]   { --rx: 0; }
[data-reveal="fade"]    { --rx: 0; --ry: 0; }
[data-reveal="scale"]   { --rscale: .9; }
[data-reveal="float"]   { --ry: 0; --rfilter: blur(.2px); }

@media screen and (min-width: 48em) {
[data-reveal="up"]      { --ry: 16px; }
[data-reveal="down"]    { --ry: -16px; }
[data-reveal="left"]    { --rx: -18px; }
[data-reveal="right"]   { --rx: 18px; }
[data-reveal="fade"]    { --rx: 0; --ry: 0; }
[data-reveal="scale"]   { --rscale: .9; }
[data-reveal="float"]   { --ry: 14px; --rfilter: blur(.2px); }
}
@keyframes bob {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
[data-reveal="float"].is-revealed{
  animation: bob 3.8s ease-in-out .2s 1;
}

@media (prefers-reduced-motion: reduce){
  [data-reveal]{
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}


/* ==========================================================================
   RELATED PRODUCTS CAROUSEL  (tg-product-carousel · .iwa-related-products)
   ========================================================================== */
/* Nav arrows — the component's custom .owl-carousel-prev-next triggers.
   Grey circle / black icon, top-right (matches the reviews carousel size). */
.iwa-related-products .tg-product-carousel-item-wrapper { position: relative; }
.iwa-related-products .owl-carousel-prev-next {
    position: absolute;
    top: -3.25rem;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: #d9d9d9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    text-decoration: none;
    transition: background-color 150ms ease;
    z-index: 5;
}
.iwa-related-products .owl-carousel-prev-trigger { right: 38px; }   /* 31px button + 7px gap */
.iwa-related-products .owl-carousel-next-trigger { right: 0; }
.iwa-related-products .owl-carousel-prev-next:hover { background: #c4c4c4; }

/* Cards fill the carousel row height evenly */
.iwa-related-products .category-product { height: 100%; }

/* Product name — secondary font */
.iwa-related-products .category-product-name { font-family: var(--secondary-font-family); }