/* Input Placeholder Color */
:root {
  --color-primary: #6A7147;
  --color-primary--muted: #EFF2E8;
  --color-primary--hover: #595E3B;
  --color-black: #242424;
  --color-text: #6E6E6E;
  --color-borders: #D9D9D9;
  --color-accent: #B48B31;
  --color-accent--muted: #F7F3EA;
  --content-max-width: min(calc(100vw - var(--container-padding)*2), 930px);
  --site-max-width: 1730px;
  --container-max-width: 1676px;
  --container-padding: 20px;
  --font-family-sans-serif: "Montserrat", sans-serif;
  --font-family-serif: "Lora", serif;
  --line-height-base: 1.67;
  --gap: clamp(1.4375rem, 1.7899761337vw, 1.875rem);
  --transitions: 0.3s;
  --zi-base: 1;
  --zi-above: 10;
  --zi-ui: 100;
  --zi-overlay: 1000;
  --font-size-base: 1rem;
  --font-size-h1: clamp(2rem, 3.1026252983vw, 3.25rem);
  --font-size-h2: clamp(1.75rem, 2.3866348449vw, 2.5rem);
  --font-size-h3: clamp(1.5rem, 1.9093078759vw, 2rem);
  --font-size-h4: clamp(1.25rem, 1.4319809069vw, 1.5rem);
  --font-size-h5: clamp(1.125rem, 1.1933174224vw, 1.25rem);
  --font-size-h6: clamp(1rem, 1.0739856802vw, 1.125rem);
  --font-size-small: .875rem;
  --font-size-micro: 0.875rem;
  --spacing-0: 0;
  --spacing-1: clamp(0.3125rem, 0.5966587112vw, 0.625rem);
  --spacing-2: clamp(0.625rem, 1.1933174224vw, 1.25rem);
  --spacing-3: clamp(0.9375rem, 1.7899761337vw, 1.875rem);
  --spacing-4: clamp(1.25rem, 2.3866348449vw, 2.5rem);
  --spacing-5: clamp(1.5625rem, 2.9832935561vw, 3.125rem);
  --spacing-6: clamp(1.875rem, 3.5799522673vw, 3.75rem);
  --spacing-7: clamp(2.1875rem, 4.1766109785vw, 4.375rem);
  --spacing-8: clamp(2.5rem, 4.7732696897vw, 5rem);
  --spacing-9: clamp(2.8125rem, 5.369928401vw, 5.625rem);
  --spacing-10: clamp(3.125rem, 5.9665871122vw, 6.25rem);
  --spacing-11: clamp(3.4375rem, 6.5632458234vw, 6.875rem);
  --spacing-12: clamp(3.75rem, 7.1599045346vw, 7.5rem);
  --spacing-13: clamp(4.0625rem, 7.7565632458vw, 8.125rem);
  --spacing-14: clamp(4.375rem, 8.353221957vw, 8.75rem);
  --spacing-15: clamp(4.6875rem, 8.9498806683vw, 9.375rem);
  --spacing-16: clamp(5rem, 9.5465393795vw, 10rem);
  --spacing-17: clamp(5.3125rem, 10.1431980907vw, 10.625rem);
  --spacing-18: clamp(5.625rem, 10.7398568019vw, 11.25rem);
  --spacing-19: clamp(5.9375rem, 11.3365155131vw, 11.875rem);
  --spacing-20: clamp(6.25rem, 11.9331742243vw, 12.5rem);
  --scroll-padding: 152px;
  --header-ui-height: clamp(1.875rem, 3.5799522673vw, 3.75rem);
  --header-height: 71px;
}

body {
  --wp--style--global--content-size: var(--content-max-width);
}

@media (min-width: 768px) {
  :root {
    --container-padding: clamp(24px, 6vw, 96px);
  }
}
.wp-block-group {
  padding-block: clamp(1.25rem, 5.369928401vw, 5.625rem);
  max-width: var(--content-max-width);
  margin-inline: auto;
}
.wp-block-group.alignwide {
  max-width: var(--container-max-width);
  padding-inline: var(--container-padding);
}
.wp-block-group .wp-block-buttons,
.wp-block-group .wp-block-embed {
  margin-block: 1em;
}
.wp-block-group .wp-block-heading {
  margin-block: 0.5em;
}
.wp-block-group > *:first-child {
  margin-top: 0;
}
.wp-block-group > *:last-child {
  margin-bottom: 0;
}

.wp-block-buttons {
  gap: 1em;
  flex-wrap: wrap;
}

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
  width: 100%;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*
Custom
*/
.slick-prev,
.slick-next {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--color-black);
  position: absolute;
  z-index: 5;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.2s;
}
@media (min-width: 992px) {
  .slick-prev,
  .slick-next {
    width: 50px;
    height: 50px;
  }
}
.slick-prev:hover,
.slick-next:hover {
  background: var(--color-black);
}
.slick-prev.slick-disabled,
.slick-next.slick-disabled {
  opacity: 0.2;
  cursor: initial;
  pointer-events: none;
}

.slick-prev {
  left: 0;
}
.slick-prev svg {
  transform: rotate(180deg);
}

.slick-next {
  right: 0;
}

.slick-initialized .slick-slide.col-md-3 {
  max-width: 100% !important;
}

.slick-dots {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 18px;
  padding-top: 18px;
  line-height: 0;
}
.slick-dots li {
  margin: 0;
}
.slick-dots .slick-active button {
  background: #006B6E;
}
.slick-dots button {
  width: 10px;
  height: 10px;
  background: #949494;
  text-indent: -9999em;
  border-radius: 50%;
}

.clear {
  display: none;
}

.price del {
  opacity: 0.5;
}
.price ins {
  text-decoration: none;
}

.shop_table {
  margin: 0;
}
.shop_table th,
.shop_table td {
  text-align: left;
}
.shop_table th:first-child,
.shop_table td:first-child {
  padding-left: 0;
}

.form-row {
  margin: 0;
}

.form-row-wide,
.stripe-gateway-checkout-email-field {
  grid-column: 1/-1;
}

.product-name .qty {
  font-size: 0.75rem;
  margin: 0.25em 0;
}

dl.variation {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.25em 1em;
  font-size: 0.75rem;
  width: -moz-max-content;
  width: max-content;
}
dl.variation p {
  margin: 0;
}
dl.variation dd {
  margin: 0;
}

.variation-label {
  text-transform: lowercase;
  font-size: 0.75rem;
  display: block;
}
@media (min-width: 992px) {
  .variation-label {
    display: inline;
    padding: 0 0 0 5px;
  }
}

.collaterals {
  --color-borders: rgba(70, 37, 44, .1);
}
.collaterals h2 {
  font-size: var(--font-size-h4);
  margin-bottom: 30px;
}
.collaterals table.shop_table {
  background: var(--color-primary--muted);
}
.collaterals table.shop_table th,
.collaterals table.shop_table td {
  vertical-align: middle;
  line-height: 1;
}
.collaterals table.shop_table th:first-child, .collaterals table.shop_table th:last-child,
.collaterals table.shop_table td:first-child,
.collaterals table.shop_table td:last-child {
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .collaterals table.shop_table th,
  .collaterals table.shop_table td {
    padding: 20px;
  }
}
@media (max-width: 767px) {
  .collaterals table.shop_table th:first-child, .collaterals table.shop_table th:last-child,
  .collaterals table.shop_table td:first-child,
  .collaterals table.shop_table td:last-child {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.collaterals table.shop_table th {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  width: 40%;
}
.collaterals table.shop_table td {
  text-align: right;
}
.collaterals table.shop_table .amount {
  color: var(--color-black);
}
.collaterals table.shop_table .order-total th,
.collaterals table.shop_table .order-total td {
  border: 0;
}
.collaterals ul#shipping_method {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  font-size: 0.875rem;
}
.collaterals ul#shipping_method li {
  display: flex;
  gap: 0.5em;
  align-items: flex-start;
  border-bottom: solid 1px var(--color-borders);
  padding-block: 0.5em;
}
.collaterals ul#shipping_method li > label {
  flex: 1;
}
.collaterals ul#shipping_method label {
  font-family: var(--font-family-sans-serif);
}
.collaterals ul#shipping_method .shipping-method-name {
  display: flex;
  justify-content: space-between;
}
.collaterals ul#shipping_method small {
  display: block;
  line-height: 1.3;
  text-align: left;
}
.collaterals #shipping-method-description {
  padding: 0;
  border: 0;
}
.collaterals #shipping-method-description br,
.collaterals #shipping-method-description .shipping-method-name {
  display: none;
}
.collaterals #shipping-method-description small:not(:empty) {
  text-align: left;
  display: block;
  padding-inline: 15px;
  padding-block: 20px;
  border-bottom: solid 1px rgba(0, 107, 110, 0.15);
  line-height: 1.4;
}
.collaterals .woocommerce-shipping-destination {
  font-size: 0.875rem;
  text-align: left;
  line-height: var(--line-height-base);
  font-style: normal;
  margin-bottom: 1em;
}
.collaterals .woocommerce-shipping-destination + .woocommerce-shipping-calculator {
  text-align: left;
}
.collaterals .woocommerce-shipping-calculator input,
.collaterals .woocommerce-shipping-calculator label,
.collaterals .woocommerce-shipping-calculator select {
  text-align: left;
}
.collaterals .shipping-calculator-button {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  display: inline-flex;
  align-items: center;
  margin-top: 0;
  font-size: 0.8125rem;
  background: rgba(255, 255, 255, 0.8);
  padding: 0.6em 1.25em 0.5em;
  border-radius: 6px;
  text-decoration: none;
}
.collaterals .shipping-calculator-form {
  display: grid;
  gap: 1em;
  margin-top: 1em;
}
.collaterals .shipping-calculator-form p,
.collaterals .shipping-calculator-form .form-row {
  padding: 0;
  margin: 0;
}
.collaterals .shipping-calculator-form p label,
.collaterals .shipping-calculator-form .form-row label {
  font-size: 0.875rem;
}
.collaterals .shipping-calculator-form .button {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  background: var(--button-background-color, var(--color-primary));
  color: var(--button-text-color, white);
  padding: 14px 20px 13px;
  position: relative;
  transition: 0.2s ease-out;
  min-width: -moz-fit-content;
  min-width: fit-content;
  display: inline-block;
  text-decoration: none;
  text-align: left;
}
.collaterals .shipping-calculator-form .button:focus-visible, .collaterals .shipping-calculator-form .button:hover {
  color: var(--button-text-color--hover, white);
  text-decoration: none;
  background: var(--button-background-color--hover, var(--color-primary--hover));
  box-shadow: 0 0 0 2px var(--button-background-color--hover, var(--color-primary--hover));
}
.collaterals .shipping-calculator-form .button[disabled] {
  opacity: 0.5;
  color: white;
  padding: 16px 20px 14px;
  pointer-events: none;
}
.collaterals .shipping-calculator-form label {
  display: block;
  margin-bottom: 0.5em;
}

/*
.woocommerce {
    form {
        .form-row {
            padding: 0;
            margin: 0;

            .input-text {
                @include utils.formField;
            }

            select {
                @include utils.selectField;
            }
        }
    }
}

.woocommerce-page .woocommerce {

    .woocommerce-button.button,
    .woocommerce-Button.button {
        @include utils.btnBase;

        &[disabled] {
            opacity: .5;
        }
    }

    form {
        .form-row {

            //   &.form-row-first,
            //   &.form-row-last{
            //     width: calc(50% - 10px);
            //     @include media-breakpoint-up(md){
            //       width: calc(50% - 15px);
            //     }
            //   }
            &.woocommerce-invalid label {
                color: var(--color-accent);
            }

            // .required {
            //     display: none;
            // }

            .optional {
                font-size: 0.875rem;
                font-style: italic;
            }

            label {
                font-family: var(--font-family-serif);
                color: var(--color-black);
                font-weight: 400;
            }

            .woocommerce-input-wrapper {
                position: relative;
                display: block;

                .optional {
                    position: absolute;
                    right: 15px;
                    top: 15px;

                    @media (min-width: 768px) {
                        right: 25px;
                    }
                }

                .is-optional {
                    padding-right: 72px;

                    @media (min-width: 768px) {
                        padding-right: 100px;
                    }
                }
            }

            .woocommerce-input-wrapper:has([type="hidden"]) {
                height: var(--field-height, 50px);
                padding: 0 1em;
                display: block;
                background: #f8f8f8;
                display: flex;
                align-items: center;
            }

            textarea {
                @include utils.textarea;
            }
        }

        fieldset {
            legend {
                font-size: var(--font-size-h4);
                text-transform: uppercase;
                color: var(--color-primary);
            }
        }
    }

    table.shop_table,
    table.my_account_orders {
        border: 0;
        border-radius: 0;
        margin: 0 0 15px;

        @media (min-width: 992px) {
            margin: 0 0 50px;
        }

        thead,
        tbody,
        tfoot {

            th,
            td {
                padding: 15px 5px;
                line-height: 1.1;
                border-top: 0;
                text-align: left;

                @media (min-width: 768px) {
                    padding: 23px 10px;
                }

                &.product-remove {
                    padding-left: 0;

                    @media (min-width: 992px) {
                        padding-left: 30px;
                        ;
                    }
                }

                &:last-child {
                    text-align: right;
                    padding-right: 0;

                    @media (min-width: 992px) {
                        padding-right: 30px;
                        ;
                    }
                }
            }
        }

        tbody,
        tfoot {
            > tr:last-child {

                > th,
                > td {
                    border: 0;
                }
            }
        }

        .product-name {

            img {
                margin-right: 15px;

                @media (max-width: 767px) {
                    display: none;
                }
            }

            .variation-GiftItem,
            .variation-GiftRule {
                display: none;
            }
        }


    }

    table.my_account_orders {

        thead,
        tbody,
        tfoot {

            th,
            td {
                &:last-child {
                    text-align: left;
                }
            }
        }
    }

    .quantity {
        display: inline-block;

        .qty {
            width: auto;
            text-align: left;
            max-width: 100px;

            @media (max-width: 767px) {
                padding-left: 10px;
                padding-right: 10px;
                font-size: 1.6rem;
                max-width: 62px;
            }
        }
    }

    .variation-label {
        text-transform: lowercase;
        font-size: 0.75rem;
        display: block;
        padding: 5px 0 0 0;

        @media (min-width: 992px) {
            display: inline;
            padding: 0 0 0 5px;
        }
    }
}

.wc-item-meta {
    padding: 10px 0 0 10px;
}

.woocommerce a.remove:hover {
    background: none;
}

.woocommerce td.product-name dl.variation {
    font-size: 0.75rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .5em;
    width: max-content;

    dd {
        p {
            margin: 0;
        }
    }

    dt {
        font-weight: 500;
    }
}

.woocommerce-notices-wrapper {
    @include utils.makeContainer;

    &:not(:empty) {
        padding-block: 1em;
    }
}
    */
.woocommerce-input-wrapper:has([type=hidden]) {
  height: var(--field-height, 50px);
  padding: 0 1em;
  display: block;
  background: #f8f8f8;
  display: flex;
  align-items: center;
}
.woocommerce-input-wrapper:has([type=hidden]) strong {
  font-weight: 400;
}

.woocommerce-notices-wrapper:not(:empty) {
  margin-block: 20px;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  --button-background-color: transparent;
  --button-background-color--hover: transparent;
  --button-text-color: currentColor;
  --button-text-color--hover: var(--color-primary);
  background-color: white;
  padding: 1em;
  text-align: center;
  color: var(--color-text);
  background-color: var(--color-accent--muted);
}
.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
  position: static;
}
.woocommerce-error::after,
.woocommerce-info::after,
.woocommerce-message::after {
  display: none;
}
.woocommerce-error .btn,
.woocommerce-info .btn,
.woocommerce-message .btn {
  padding: 0;
  color: currentColor;
  margin-left: 1em;
}

.woocommerce-message::before {
  color: var(--color-primary);
}

.woocommerce-info {
  background-color: #f2f2f2;
}
.woocommerce-info::before {
  color: var(--color-black);
}

ul.woocommerce-error {
  list-style: none;
  text-align: left;
}

.woocommerce-columns {
  display: grid;
  gap: 20px;
}
@media (min-width: 992px) {
  .woocommerce-columns {
    grid-template-columns: repeat(2, 1fr);
  }
}
.woocommerce-columns address,
.woocommerce-columns p:last-child {
  margin-bottom: 0;
}

* {
  box-sizing: border-box;
}

*:focus-visible {
  outline-color: var(--focus-outline-color, #B48B31);
  outline-style: solid;
  outline-width: 2px;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--scroll-padding);
  scrollbar-gutter: stable;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: var(--font-family-sans-serif);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-text);
  overflow-x: hidden;
}
body.no-scroll {
  overflow: hidden;
}

[href="#site-main"] {
  position: absolute;
  z-index: 1000;
}

.sr-only,
.screen-reader-text,
.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

a {
  transition: var(--transitions);
  color: var(--links-color, currentColor);
}
@media (hover: hover) {
  a:hover {
    color: var(--links-color--hover, currentColor);
    text-decoration: none;
  }
}

button,
[type=submit] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border-radius: 0;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: inline-block;
  font-family: inherit;
  color: currentColor;
}

figure {
  margin: 0;
}

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

svg *:focus {
  outline: none;
}

picture {
  display: block;
}

mark {
  background-color: var(--color-primary--muted);
  color: var(--color-black);
}

p,
ol,
ul,
dl,
table,
blockquote {
  margin-block: 0.75em 1.25em;
}

strong {
  font-weight: 600;
}

address {
  font-style: normal;
}

.wp-block-separator.wp-block-separator,
hr {
  margin-top: 0;
  border: 0;
  border-top: solid 1px var(--color-borders);
}

.not-found {
  padding-block: var(--spacing-10);
  text-align: center;
}

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

.wp-element-button,
.btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border-radius: 0;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: inline-block;
  font-family: inherit;
  color: currentColor;
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  background: var(--button-background-color, var(--color-primary));
  color: var(--button-text-color, white);
  padding: 14px 20px 13px;
  position: relative;
  transition: 0.2s ease-out;
  min-width: -moz-fit-content;
  min-width: fit-content;
  display: inline-block;
  text-decoration: none;
  text-align: left;
}
.wp-element-button:focus-visible, .wp-element-button:hover,
.btn:focus-visible,
.btn:hover {
  color: var(--button-text-color--hover, white);
  text-decoration: none;
  background: var(--button-background-color--hover, var(--color-primary--hover));
  box-shadow: 0 0 0 2px var(--button-background-color--hover, var(--color-primary--hover));
}
.wp-element-button[disabled],
.btn[disabled] {
  opacity: 0.5;
  color: white;
  padding: 16px 20px 14px;
  pointer-events: none;
}
.wp-element-button.has-arrow,
.btn.has-arrow {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
}
.wp-element-button.has-arrow:hover svg,
.btn.has-arrow:hover svg {
  opacity: 1;
  transform: translateX(5px);
}
.wp-element-button.has-arrow svg,
.btn.has-arrow svg {
  opacity: 0.5;
  transition: 0.2s ease-out;
}
.wp-element-button.working,
.btn.working {
  opacity: 0.5;
  pointer-events: none;
}
.wp-element-button--micro,
.btn--micro {
  --button-text-color--hover: var(--color-primary--hover);
  --button-background-color--hover: #E5EADA;
  align-items: center;
  background: var(--color-primary--muted);
  border-radius: 4px;
  color: var(--color-primary);
  display: flex;
  font-size: 0.8125rem;
  font-weight: 700;
  gap: 0.75em;
  letter-spacing: 1px;
  padding: 0.5em 0.75em;
  text-transform: uppercase;
  transform: none;
}
.wp-element-button--micro svg,
.btn--micro svg {
  width: 1em;
  height: auto;
}
.wp-element-button--secondary,
.btn--secondary {
  display: inline-flex;
  align-items: center;
  background: none;
  color: var(--color-primary);
  gap: 1em;
}
@media (hover: hover) {
  .wp-element-button--secondary:hover,
  .btn--secondary:hover {
    color: var(--color-primary);
    background: var(--color-primary--muted);
    box-shadow: 0 0 0 2px var(--color-primary--muted);
  }
}
.wp-element-button.has-reset,
.btn.has-reset {
  gap: 8px;
}
.wp-element-button.has-reset svg,
.btn.has-reset svg {
  transition: var(--transitions);
}
@media (hover: hover) {
  .wp-element-button.has-reset:hover svg,
  .btn.has-reset:hover svg {
    transform: rotate(-180deg);
  }
}

.btn-outline {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  background: var(--button-background-color, var(--color-primary));
  color: var(--button-text-color, white);
  padding: 14px 20px 13px;
  position: relative;
  transition: 0.2s ease-out;
  min-width: -moz-fit-content;
  min-width: fit-content;
  display: inline-block;
  text-decoration: none;
  text-align: left;
}
.btn-outline:focus-visible, .btn-outline:hover {
  color: var(--button-text-color--hover, white);
  text-decoration: none;
  background: var(--button-background-color--hover, var(--color-primary--hover));
  box-shadow: 0 0 0 2px var(--button-background-color--hover, var(--color-primary--hover));
}
.btn-outline[disabled] {
  opacity: 0.5;
  color: white;
  padding: 16px 20px 14px;
  pointer-events: none;
}
.btn-outline {
  background: transparent;
  box-shadow: 0 0 0 1px var(--color-primary);
  color: var(--color-primary);
}
.btn-outline:focus, .btn-outline:hover {
  background: white;
  color: var(--color-primary);
}
.btn-outline.has-arrow svg {
  opacity: 1;
}

.navigate-forward {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  line-height: 1;
  text-decoration: none;
}
.navigate-forward:hover svg {
  transform: translate(3px, -1px);
}
.navigate-forward svg {
  height: 12px;
  margin-left: 5px;
  transition: 0.2s ease-out;
  transform: translate(0, -1px);
}

.navigate-backward {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  line-height: 1;
  text-decoration: none;
}
.navigate-backward:hover svg {
  transform: translate(-3px, -1px) rotate(180deg);
}
.navigate-backward svg {
  height: 12px;
  margin-left: 0;
  margin-right: 5px;
  transition: 0.2s ease-out;
  transform: translate(0, -1px) rotate(180deg);
}

.video-trigger {
  position: relative;
  display: block;
}
.video-trigger:hover svg {
  opacity: 0.7;
}
.video-trigger svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.2s ease-in-out;
  width: 40px;
  height: 40px;
  z-index: 2;
}
@media (min-width: 992px) {
  .video-trigger svg {
    width: auto;
    height: auto;
  }
}
.video-trigger .title {
  position: absolute;
  inset: 0;
  line-height: 1;
  padding: 30px;
  color: white;
  z-index: 1;
  background: linear-gradient(180deg, rgba(16, 21, 12, 0) 45.67%, rgba(16, 21, 12, 0.7) 95.37%);
  display: flex;
  align-items: flex-end;
  gap: 0.5ex;
}
.video-trigger .title strong {
  font-weight: 700;
}

.option {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border-radius: 0;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: inline-block;
  font-family: inherit;
  color: currentColor;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 25px;
  background: var(--color-primary--muted);
  border-radius: 60px;
  color: var(--color-gray-text);
  transition: 0.2s ease-in-out;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .option {
    height: 50px;
    padding: 0 30px;
    border-radius: 100px;
  }
}
.option.selected {
  background: var(--color-primary);
  color: white;
}

.wp-block-file .wp-block-file__button {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  background: var(--button-background-color, var(--color-primary));
  color: var(--button-text-color, white);
  padding: 14px 20px 13px;
  position: relative;
  transition: 0.2s ease-out;
  min-width: -moz-fit-content;
  min-width: fit-content;
  display: inline-block;
  text-decoration: none;
  text-align: left;
}
.wp-block-file .wp-block-file__button:focus-visible, .wp-block-file .wp-block-file__button:hover {
  color: var(--button-text-color--hover, white);
  text-decoration: none;
  background: var(--button-background-color--hover, var(--color-primary--hover));
  box-shadow: 0 0 0 2px var(--button-background-color--hover, var(--color-primary--hover));
}
.wp-block-file .wp-block-file__button[disabled] {
  opacity: 0.5;
  color: white;
  padding: 16px 20px 14px;
  pointer-events: none;
}
.wp-block-file .wp-block-file__button {
  padding: 8px 10px 7px;
}

.panel__close {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  position: absolute;
  right: 12px;
  top: 12px;
  width: 30px;
  height: 30px;
}
.panel__close svg {
  width: 12px;
}

.container {
  max-width: var(--container-max-width);
  padding-inline: var(--container-padding);
  margin-inline: auto;
  box-sizing: border-box;
}
.container--max {
  max-width: var(--site-max-width);
}
@media (min-width: 992px) {
  .container--max {
    padding-inline: 0;
  }
}
.container--article {
  max-width: var(--content-max-width);
}
@media (max-width: 991px) {
  .container--fw-xs {
    padding-inline: 0;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-style: normal;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 0.3em;
  color: var(--headings-color, var(--color-primary));
  line-height: 1.16;
}
h1 strong,
h1 b,
h2 strong,
h2 b,
h3 strong,
h3 b,
h4 strong,
h4 b,
h5 strong,
h5 b,
h6 strong,
h6 b {
  font-weight: inherit;
}

.has-h-1-font-size,
.h1,
h1 {
  font-size: var(--font-size-h1);
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1;
  text-wrap: balance;
}

.has-h-2-font-size,
.h2,
h2 {
  font-size: var(--font-size-h2);
  text-transform: uppercase;
}

.has-h-3-font-size,
.h3,
h3 {
  font-size: var(--font-size-h3);
}

.has-h-4-font-size,
.h4,
h4 {
  font-size: var(--font-size-h4);
}

.has-h-5-font-size,
.h5,
h5 {
  font-size: var(--font-size-h5);
}

.has-h-6-font-size,
.h6,
h6 {
  font-size: var(--font-size-h6);
}

.section-title {
  font-size: clamp(1.125rem, 1.4319809069vw, 1.5rem);
}
.section-title .title {
  margin-bottom: 1em;
}

.micro-title {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
}

.wp-block-embed {
  overflow-wrap: break-word;
}
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
  padding-top: 56.25%;
}
.wp-block-embed .wp-block-embed__wrapper {
  position: relative;
}
.wp-block-embed .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  padding-top: 50%;
}
.wp-block-embed iframe {
  max-width: 100%;
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

table {
  width: 100%;
  max-width: none;
  border: none;
  border-collapse: collapse;
}
table th,
table td {
  border: 0;
  border-bottom: solid 1px var(--color-borders);
  padding: 8px 10px;
  line-height: 1.5;
}
@media (min-width: 768px) {
  table th,
  table td {
    padding: 15px 24px;
  }
}
@media (max-width: 767px) {
  table thead th {
    font-size: 0.875rem;
  }
}
table td {
  font-size: clamp(0.875rem, 0.9546539379vw, 1rem);
}
table caption {
  font-size: 1.125rem;
  padding: 8px 10px;
  caption-side: top;
  background: var(--color-primary--muted);
}
@media (min-width: 768px) {
  table caption {
    font-size: var(--font-size-h4);
    padding: 15px 24px;
  }
}

.scrolling-table {
  max-width: none !important;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  border-right: solid 1px var(--color-borders);
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scrolling-table::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  background-color: transparent;
  display: none;
}
.scrolling-table::-webkit-scrollbar-track, .scrolling-table::-webkit-scrollbar-thumb {
  background-color: transparent;
}
@media (min-width: 992px) {
  .scrolling-table {
    border: none;
  }
}
.scrolling-table table {
  min-width: 700px;
}

.site-footer {
  padding-block: var(--spacing-9);
  background: white;
  max-width: var(--site-max-width);
  margin-inline: auto;
}
.site-footer a {
  color: currentColor;
  text-decoration: none;
}
.site-footer a:hover {
  text-decoration: none;
  color: var(--color-primary);
}
.site-footer .container {
  border-top: solid 1px var(--color-borders);
}
.site-footer__layout {
  display: grid;
  gap: 20px;
}
.site-footer__layout:first-child {
  padding-top: 30px;
}
@media (min-width: 992px) {
  .site-footer__layout {
    grid-template-columns: 30% auto;
    gap: 7.5%;
    align-items: start;
  }
}
.site-footer__layout > div:last-child {
  display: grid;
  margin-block: 20px 40px;
}
@media (min-width: 992px) {
  .site-footer__layout > div:last-child {
    gap: 20px;
    margin: 0;
    display: flex;
    justify-content: space-between;
  }
}
@media (max-width: 991px) {
  .site-footer__nav-container {
    display: none;
  }
}
.site-footer__mobile-nav {
  border-top: solid 1px var(--color-borders);
}
.site-footer__mobile-nav:last-child {
  border-bottom: solid 1px var(--color-borders);
}
.site-footer__mobile-nav[open] {
  padding-bottom: 1em;
}
.site-footer__mobile-nav[open] summary {
  color: var(--color-primary);
}
.site-footer__mobile-nav[open] summary svg {
  transform: scaleY(-1);
}
@media (min-width: 992px) {
  .site-footer__mobile-nav {
    display: none;
  }
}
.site-footer__mobile-nav summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: 1em;
  color: var(--color-black);
  font-family: var(--font-family-serif);
  font-weight: 500;
  font-size: 1.125rem;
}
.site-footer__nav-title {
  margin-bottom: 0.75em;
  font-family: var(--font-family-serif);
  font-weight: 500;
  color: var(--color-black);
  font-size: var(--font-size-h4);
  text-transform: none;
}
.site-footer__nav-items {
  display: grid;
  gap: 0.75em;
}
@media (max-width: 991px) {
  .site-footer address {
    font-size: 1.2rem;
    margin-top: 1em;
  }
}

.site-footer__form-container {
  --gap: 10px;
}
@media (min-width: 768px) {
  .site-footer__form-container {
    margin-bottom: clamp(1.25rem, 2.3866348449vw, 2.5rem);
  }
}
.site-footer__form-container .gform_fields,
.site-footer__form-container form {
  display: grid;
  gap: var(--gap);
}
.site-footer__form-container .gfield--type-name .ginput_container {
  display: grid;
  gap: var(--gap);
  grid-template-columns: repeat(2, 1fr);
}
.site-footer__form-container .gfield {
  position: relative;
}
@media (max-width: 767px) {
  .site-footer__form-container .gfield {
    font-size: 1rem;
  }
}
.site-footer__form-container .gfield .validation_message {
  position: absolute;
  top: 105%;
  left: 0;
  font-size: 0.75rem;
}
.site-footer__form-container .gform_heading {
  margin-bottom: 10px;
}
.site-footer__form-container .gform_heading .gform_title {
  font-family: var(--font-family-serif);
  font-weight: 500;
  color: var(--color-black);
  font-size: var(--font-size-h4);
}
.site-footer__form-container .gform_footer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap);
  padding: 0;
}
.site-footer__form-container .gform_ajax_spinner {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translate(10px, -50%);
}

.social-profiles {
  margin-bottom: 1em;
  display: flex;
  gap: 1em;
}

.legal {
  font-size: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  align-items: center;
}
.legal div:last-child {
  display: flex;
  gap: 1em;
  align-items: center;
  flex-wrap: wrap;
}
.legal a {
  text-decoration: underline;
}

.site-header {
  --element-spacing: 1rem;
  position: sticky;
  top: 0;
  z-index: var(--zi-above);
  background: white;
}
@media (min-width: 992px) {
  .site-header {
    --element-spacing: 1.5rem;
  }
}
@media (min-width: 1800px) {
  .site-header .container {
    max-width: var(--site-max-width);
    padding-inline: 30px;
  }
}
@media (min-width: 992px) {
  .site-header__upper {
    padding-block: 1rem;
  }
}
.site-header__upper .container {
  display: flex;
  align-items: center;
  gap: var(--element-spacing);
}
@media (max-width: 991px) {
  .site-header__upper .container {
    height: var(--header-height);
  }
}
@media (min-width: 992px) {
  .site-header__upper .container {
    position: relative;
    justify-content: space-between;
  }
}
@media (min-width: 992px) {
  .site-header__lower {
    background: var(--color-primary--muted);
    position: relative;
  }
}

.branding {
  flex: 1;
}

.site-logo {
  width: clamp(7.5rem, 14.6181384248vw, 15.3125rem);
  display: block;
}

.store-switcher {
  display: flex;
  gap: var(--element-spacing);
}
@media (min-width: 992px) {
  .store-switcher {
    --element-spacing: 1rem;
  }
}
.store-switcher img {
  display: block;
}
.store-switcher a {
  opacity: 0.5;
  filter: grayscale(1);
  transition: 0.2s;
}
@media (hover: hover) {
  .store-switcher a:hover {
    filter: grayscale(0);
    opacity: 1;
  }
}

.utilities {
  display: flex;
  align-items: center;
  gap: var(--element-spacing);
}
@media (min-width: 992px) {
  .utilities > div {
    position: relative;
  }
}

.utilities__panel {
  transform: translateY(15px);
  opacity: 0;
  pointer-events: none;
  transition: 0.3s ease-in-out;
  box-shadow: 0 20px 20px rgba(33, 36, 18, 0.07);
  background: white;
  padding: 30px 20px;
  position: absolute;
  top: 100%;
  width: 100%;
  left: 0;
  z-index: var(--zi-overlay);
}
@media (min-width: 992px) {
  .utilities__panel {
    padding: 30px;
    top: 110%;
    left: auto;
    right: 0;
    width: auto;
    transform: translateY(0);
  }
}

.utilities__button {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 992px) {
  .utilities__button {
    height: var(--header-ui-height);
    width: var(--header-ui-height);
  }
}
.utilities__button svg {
  margin: 0;
  height: 17px;
  width: auto;
}
.utilities__button--has-count {
  gap: 3px;
}
@media (min-width: 992px) {
  .utilities__button--has-count {
    width: clamp(5rem, 7.1599045346vw, 7.5rem);
    position: relative;
    font-size: clamp(0.875rem, 1.0739856802vw, 1.125rem);
    background: var(--color-primary);
    color: white;
    justify-content: space-around;
  }
  .utilities__button--has-count::after {
    content: "";
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 50%;
    background: rgba(255, 255, 255, 0.3);
    display: block;
    width: 1px;
  }
}
@media (min-width: 992px) {
  .utilities__button--muted {
    color: var(--color-primary);
    background: var(--color-primary--muted);
  }
}

@media (min-width: 992px) {
  #navigation-open {
    display: none;
  }
}

@media (min-width: 992px) {
  #navigation-close {
    display: none;
  }
}

#navigation-back {
  opacity: 0;
}
#navigation-back.shown {
  opacity: 1;
}

@media (max-width: 991px) {
  .primary-nav {
    transform: translateY(15px);
    opacity: 0;
    pointer-events: none;
    transition: 0.3s ease-in-out;
    background: white;
    height: 100%;
    position: fixed;
    top: 0;
    width: 100%;
    left: 0;
  }
}
.primary-nav__items {
  padding-bottom: 14px;
  line-height: 1.5;
  position: relative;
}
@media (min-width: 992px) {
  .primary-nav__items {
    display: flex;
    padding: 0;
    gap: 16px;
    height: var(--header-ui-height);
  }
}
@media (min-width: 1200px) {
  .primary-nav__items {
    gap: 24px;
  }
}
@media (max-width: 991px) {
  .primary-nav__items:has(.active) > li:not(.active) {
    opacity: 0.3;
    filter: blur(1px);
  }
}
@media (min-width: 992px) {
  .primary-nav__items + .primary-nav__items {
    display: none;
  }
}
.primary-nav__items + .primary-nav__items {
  border-top: solid 1px var(--color-borders);
  padding: var(--container-padding);
  flex: 1;
}
.primary-nav__items + .primary-nav__items a {
  display: block;
  padding: 8px 0;
  color: var(--color-gray-text);
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
}
.primary-nav__items + .primary-nav__items a svg {
  display: none;
}
.primary-nav__items + .primary-nav__items .sub-menu {
  padding-left: 15px;
}
.primary-nav__items + .primary-nav__items .sub-menu a {
  text-transform: none;
  letter-spacing: 0;
  padding-block: 4px;
}
.primary-nav__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  background: var(--color-primary--muted);
  height: var(--header-height);
  padding-inline: var(--container-padding);
}
@media (min-width: 992px) {
  .primary-nav__header {
    display: none;
  }
}
@media (max-width: 991px) {
  .primary-nav__header + div {
    padding-block: var(--container-padding);
    height: calc(100% - var(--header-height));
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

/*
* *
* * *
* * * * SCSS nesting gets too hard to read
* * *
* *
*/
/*
Top Level Item
*/
.primary-nav__items > li {
  margin: 0;
  position: relative;
}
@media (max-width: 991px) {
  .primary-nav__items > li.active .sub-menu {
    display: grid;
  }
}
@media (min-width: 992px) {
  .primary-nav__items > li.active .sub-menu {
    transform: translateX(0);
  }
}
.primary-nav__items > li.active > a::after {
  transform: scaleY(-1);
}
@media (min-width: 992px) {
  .primary-nav__items > li {
    height: 100%;
    display: flex;
    align-items: center;
  }
  .primary-nav__items > li:hover::before {
    width: 100%;
  }
  .primary-nav__items > li.active > a, .primary-nav__items > li:hover > a {
    color: var(--color-black);
  }
  .primary-nav__items > li.active > .sub-menu, .primary-nav__items > li:hover > .sub-menu {
    transform: translateY(0);
    opacity: 1;
    pointer-events: initial;
  }
  .primary-nav__items > li.active > a::after {
    transform: rotate(-180deg);
  }
  .primary-nav__items > li::before {
    background: var(--color-primary);
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    bottom: 0;
    transition: 0.3s ease-in-out;
    width: 0;
  }
}

/*
Top Level Item Label
*/
.primary-nav__items > li > a {
  color: var(--color-black);
  align-items: center;
  display: flex;
  font-size: 1.125rem;
  position: relative;
  padding-block: 1em;
  padding-inline: var(--container-padding);
  gap: 6px;
  line-height: 1;
  text-decoration: none;
}
@media (hover: hover) {
  .primary-nav__items > li > a:hover {
    color: var(--color-primary);
  }
}
@media (min-width: 992px) {
  .primary-nav__items > li > a {
    gap: 8px;
    padding: 0;
    align-items: center;
    font-size: clamp(0.75rem, 0.9546539379vw, 1rem);
  }
}

.primary-nav__items > li.menu-item-has-children > a::after {
  content: "";
  background: url("../images/caret.svg") no-repeat center center;
  background-size: 100% auto;
  height: 8px;
  transition: 0.3s ease-in-out;
  width: 9px;
}
@media (min-width: 992px) {
  .primary-nav__items > li.menu-item-has-children > a::after {
    background-image: url("../images/caret-gray.svg");
  }
}

/*
Regular drop down items
*/
.primary-nav__items > li > .sub-menu {
  background: white;
}
@media (max-width: 991px) {
  .primary-nav__items > li > .sub-menu {
    display: none;
  }
}
@media (min-width: 992px) {
  .primary-nav__items > li > .sub-menu {
    transform: translateY(15px);
    opacity: 0;
    pointer-events: none;
    transition: 0.3s ease-in-out;
    position: absolute;
    top: 100%;
    left: 0;
    box-shadow: 0 20px 20px rgba(33, 36, 18, 0.07);
    padding: 20px;
    min-width: 500px;
  }
}

/*
Regular drop down heading item
*/
.primary-nav__items > li:not(.mega) > .sub-menu > .menu-item-has-children > a {
  font-family: var(--font-family-serif);
  font-size: clamp(0.875rem, 1.0739856802vw, 1.125rem);
  font-weight: 500;
  text-decoration: none;
  color: var(--color-black);
}

/*
Regular drop down item label
*/
.primary-nav__items > li:not(.mega) > .sub-menu a {
  padding: 8px 16px;
  color: var(--color-black);
  font-size: clamp(0.75rem, 0.9546539379vw, 1rem);
  display: block;
  text-decoration: none;
}
@media (max-width: 991px) {
  .primary-nav__items > li:not(.mega) > .sub-menu a {
    padding-inline: var(--container-padding);
  }
}
@media (hover: hover) {
  .primary-nav__items > li:not(.mega) > .sub-menu a:hover {
    background-color: var(--color-primary--muted);
  }
}

/*
Regular drop down feature
*/
.primary-nav__items > li:not(.mega) .feature a {
  display: flex;
  align-items: center;
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  color: var(--color-primary);
  gap: 0.5em;
  padding-block: 16px;
}
.primary-nav__items > li:not(.mega) .feature a::after {
  content: "";
  background: url("../images/arrow.svg");
  width: 14px;
  height: 14px;
  transform: translateX(0);
  transition: var(--transitions);
}
@media (hover: hover) {
  .primary-nav__items > li:not(.mega) .feature a:hover {
    color: var(--color-black);
  }
  .primary-nav__items > li:not(.mega) .feature a:hover::after {
    transform: translateX(5px);
  }
}
.primary-nav__items > li:not(.mega) .feature .description,
.primary-nav__items > li:not(.mega) .feature .btn {
  display: none;
}
.primary-nav__items > li:not(.mega) .feature svg {
  width: 30px;
}

/*
Mega Drop down
*/
.primary-nav__items > li.mega {
  position: static;
}

@media (min-width: 992px) {
  .primary-nav__items > li.mega > .sub-menu {
    display: grid;
    grid-template-columns: 75% 25%;
    width: 100%;
    padding: 0;
  }
}

/*
Mega Drop down items (columns group and feature item)
*/
.primary-nav__items > li.mega > .sub-menu > li {
  padding: 10px;
}
@media (min-width: 992px) {
  .primary-nav__items > li.mega > .sub-menu > li {
    padding: 20px;
  }
}
.primary-nav__items > li.mega > .sub-menu > li.cols > a {
  display: none;
}
.primary-nav__items > li.mega > .sub-menu > li.cols > .sub-menu {
  -moz-columns: 3;
       columns: 3;
}

/*
Mega Drop down items
*/
.primary-nav__items > li.mega > .sub-menu > li.cols > .sub-menu > li {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  margin-bottom: 1em;
}
@media (min-width: 992px) {
  .primary-nav__items > li.mega > .sub-menu > li.cols > .sub-menu > li {
    margin-bottom: 1.5em;
  }
}

/*
Mega Drop down headings
*/
.primary-nav__items > li.mega > .sub-menu > li.cols > .sub-menu > li > a {
  font-family: var(--font-family-serif);
  font-size: clamp(0.875rem, 1.0739856802vw, 1.125rem);
  font-weight: 500;
  text-decoration: none;
  color: var(--color-black);
  display: block;
}
@media (hover: hover) {
  .primary-nav__items > li.mega > .sub-menu > li.cols > .sub-menu > li > a:hover {
    background-color: var(--color-primary--muted);
  }
}

/*
Mega Drop down items
*/
.primary-nav__items > li.mega > .sub-menu > li.cols > .sub-menu a {
  padding: 8px 16px;
}

.primary-nav__items > li.mega > .sub-menu > li.cols > .sub-menu > li > .sub-menu a {
  color: var(--color-text);
  font-size: clamp(0.75rem, 0.9546539379vw, 1rem);
  text-decoration: none;
  display: block;
}
@media (hover: hover) {
  .primary-nav__items > li.mega > .sub-menu > li.cols > .sub-menu > li > .sub-menu a:hover {
    color: var(--color-black);
    background-color: var(--color-primary--muted);
  }
}

/*
Mega Drop down feature
*/
.primary-nav__items > li.mega > .sub-menu > li.feature {
  --button-background-color: transparent;
  --button-background-color--hover: transparent;
  --button-text-color: var(--color-primary);
  --button-text-color--hover: var(--color-black);
  background: var(--color-primary--muted);
  padding: 30px;
}
@media (max-width: 991px) {
  .primary-nav__items > li.mega > .sub-menu > li.feature {
    padding-block: 20px;
    padding-inline: 26px;
  }
}
.primary-nav__items > li.mega > .sub-menu > li.feature > a {
  text-decoration: none;
  pointer-events: none;
}
.primary-nav__items > li.mega > .sub-menu > li.feature .title {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  padding-block: 0.5em 1em;
  color: var(--color-black);
}
.primary-nav__items > li.mega > .sub-menu > li.feature .description {
  font-family: var(--font-family-sans-serif);
  color: var(--color-black);
}
.primary-nav__items > li.mega > .sub-menu > li.feature .btn {
  display: none;
}
.primary-nav__items > li.mega > .sub-menu > li.feature .sub-menu {
  margin-top: 1em;
}
@media (max-width: 991px) {
  .primary-nav__items > li.mega > .sub-menu > li.feature .sub-menu {
    display: grid;
    gap: 5px;
  }
}
.primary-nav__items > li.mega > .sub-menu > li.feature .sub-menu a {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  color: var(--color-primary);
  display: flex;
  justify-content: space-between;
  padding-block: 5px;
  text-decoration: none;
}
.primary-nav__items > li.mega > .sub-menu > li.feature .sub-menu a::after {
  content: "";
  background: url("../images/arrow.svg");
  width: 14px;
  height: 14px;
  transform: translateX(-5px);
  transition: var(--transitions);
}
@media (hover: hover) {
  .primary-nav__items > li.mega > .sub-menu > li.feature .sub-menu a:hover {
    color: var(--color-black);
    background: none;
  }
  .primary-nav__items > li.mega > .sub-menu > li.feature .sub-menu a:hover::after {
    transform: translateX(0);
  }
}
.primary-nav__items > li.mega > .sub-menu > li.feature .btn {
  padding-left: 0;
}

@media (max-width: 991px) {
  .secondary-nav {
    display: none;
  }
}
.secondary-nav__items {
  display: flex;
  align-items: center;
}
.secondary-nav__items li {
  margin: 0;
}
.secondary-nav__items li.current-menu-item > a, .secondary-nav__items li.current_page_parent > a {
  color: var(--color-black);
}
.secondary-nav__items li:not(:last-child) {
  border-right: solid 1px var(--color-borders);
}
.secondary-nav__items a {
  font-size: clamp(0.75rem, 0.9546539379vw, 1rem);
  color: var(--color-gray-text);
  align-items: center;
  display: flex;
  gap: 6px;
  line-height: 1;
  padding-inline: 0.75em;
  text-decoration: none;
}
.secondary-nav__items a:hover {
  color: var(--color-black);
}
.secondary-nav__items a.account-link {
  padding-right: 0;
}
@media (max-width: 991px) {
  .secondary-nav__items a.account-link {
    display: none;
  }
}
.secondary-nav__items .sub-menu {
  transform: translateY(15px);
  opacity: 0;
  pointer-events: none;
  transition: 0.3s ease-in-out;
  position: absolute;
  z-index: var(--zi-ui);
  top: 100%;
  right: 0;
  padding: 1em 1.5em;
  background: var(--color-primary--muted);
  box-shadow: 0 20px 20px rgba(33, 36, 18, 0.07);
  min-width: 30ch;
  display: grid;
  gap: 0.25em;
}
.secondary-nav__items .sub-menu a {
  white-space: nowrap;
}

@media (max-width: 991px) {
  body.navigation-shown {
    overflow: hidden;
  }
  body.navigation-shown .primary-nav {
    transform: translateY(0);
    opacity: 1;
    pointer-events: initial;
  }
  body.navigation-shown #cart-toggle,
  body.navigation-shown #search-toggle,
  body.navigation-shown .navigation-open {
    display: none;
  }
  body.navigation-shown #navigation-toggle .navigation-close {
    display: block;
  }
}

body.menu-panel-shown #navigation-toolbar {
  transform: translateX(0);
}
body.menu-panel-shown #menu-primary > li.current-menu-item .menu-panel-toggle:not(.active)::before, body.menu-panel-shown #menu-primary > li.current-menu-ancestor .menu-panel-toggle:not(.active)::before {
  width: 0;
}

@media (min-width: 992px) {
  .minicart {
    min-width: 440px;
    width: auto;
  }
}
.minicart .woocommerce-mini-cart__empty-message {
  margin: 0;
  white-space: nowrap;
}
.minicart .woocommerce-mini-cart__buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 0;
}
.minicart .woocommerce-mini-cart__buttons .btn.btn-outline {
  background: transparent;
  color: var(--color-primary);
}
.minicart .woocommerce-mini-cart {
  border-bottom: solid 1px var(--color-borders);
  margin: 0;
}
.minicart .woocommerce-mini-cart td {
  padding: 10px;
}
.minicart .woocommerce-mini-cart td.product-remove {
  display: none;
}
.minicart .woocommerce-mini-cart td.product-thumbnail {
  padding-left: 0;
  padding-right: 0;
  width: 40px;
}
.minicart .woocommerce-mini-cart td.product-thumbnail img {
  width: 100%;
}
.minicart .woocommerce-mini-cart td.product-price {
  text-align: right;
  padding-right: 0;
  white-space: nowrap;
  font-size: 1rem;
}
.minicart .woocommerce-mini-cart td.product-price .uom {
  font-size: 0.875rem;
}
.minicart .product-name a {
  line-height: 1.1;
  text-decoration: none;
  font-size: clamp(0.75rem, 0.9546539379vw, 1rem);
}
.minicart .woocommerce-mini-cart__total {
  padding-block: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.minicart .woocommerce-mini-cart__total strong {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
}
.minicart .woocommerce-mini-cart__total .amount {
  font-size: 1.5rem;
  display: block;
  font-weight: 700;
}
.minicart .total-items-count {
  font-size: 0.875rem;
  flex: 1;
}

body.minicart-shown #minicart {
  transform: translateY(0);
  opacity: 1;
  pointer-events: initial;
}
@media (max-width: 991px) {
  body.minicart-shown #navigation-toggle,
  body.minicart-shown #search-toggle {
    display: none;
  }
  body.minicart-shown #site-container::after {
    background: var(--color-primary--muted);
  }
}

.site-search {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
@media (min-width: 992px) {
  .site-search {
    flex-wrap: nowrap;
    --field-height: var(--header-ui-height);
  }
}
.site-search__input {
  flex: 1;
  padding-inline: 10px;
  background: white;
  height: 40px;
}
@media (min-width: 992px) {
  .site-search__input {
    height: var(--field-height);
    min-width: 30vw;
    flex: 0;
    padding-inline: 30px;
  }
}
.site-search__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 50px;
}
@media (min-width: 992px) {
  .site-search__submit {
    height: var(--field-height);
  }
}
.site-search__submit svg {
  height: 12px;
}

body.search-shown {
  overflow: hidden;
}
body.search-shown #navigation-toggle,
body.search-shown #cart-toggle,
body.search-shown .search-open {
  display: none;
}
@media (min-width: 992px) {
  body.search-shown #cart-toggle {
    display: list-item;
  }
}
body.search-shown .search-close {
  display: block;
}
body.search-shown .lower .search-close {
  display: none;
}
@media (min-width: 992px) {
  body.search-shown .lower .search-close {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    padding: 0 15px;
  }
}
@media (min-width: 1200px) {
  body.search-shown .lower .search-close {
    display: none;
  }
}
body.search-shown #search-panel {
  transform: translateY(0);
  opacity: 1;
  pointer-events: initial;
}
body.search-shown #site-container::after {
  background: rgba(var(--color-primary-base), 0.9);
}
@media (min-width: 992px) {
  body.search-shown #site-container::after {
    background: none;
  }
}
body.search-shown #menu-primary .menu-panel-toggle::before {
  opacity: 0;
}

.modal {
  position: fixed;
  z-index: var(--zi-overlay);
  background: rgba(213, 217, 209, 0.9);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: none;
}
.modal.shown {
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal-body {
  background: white;
  padding: var(--container-padding);
  box-shadow: 0 0 15px rgba(0, 107, 110, 0.2);
  position: relative;
  max-height: 90vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 992px) {
  .modal-body {
    padding: 35px 40px;
  }
}

.modal-close {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border-radius: 0;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: inline-block;
  font-family: inherit;
  color: currentColor;
  position: absolute;
  right: var(--container-padding);
  top: 15px;
  color: var(--color-gray-text);
}
@media (min-width: 992px) {
  .modal-close {
    right: 40px;
    top: 30px;
  }
}
.modal-close:hover {
  color: var(--color-primary);
}

#player-container {
  min-width: 345px;
}
@media (min-width: 768px) {
  #player-container {
    min-width: 590px;
  }
}
@media (min-width: 992px) {
  #player-container {
    min-width: 1100px;
  }
}
#player-container figure {
  margin: 0;
}

#video-player .modal-close {
  right: 10px;
  top: 5px;
}
@media (max-width: 991px) {
  #video-player .modal-body {
    padding: 40px 0;
  }
}

.dropdown {
  position: relative;
}
.dropdown.is-open .toggle svg {
  transform: rotate(-180deg);
}
.dropdown.is-open .options {
  transform: translateY(4px);
  pointer-events: initial;
  opacity: 1;
}
.dropdown.inline {
  display: inline-flex;
}
.dropdown.inline .toggle-label {
  padding-right: 5px;
  color: var(--color-text);
}
.dropdown.inline .toggle {
  font-size: 1.125rem;
  background: none;
  color: var(--color-primary);
  padding: 0;
  text-transform: capitalize;
}
.dropdown.inline .toggle small {
  font-size: 60%;
  padding-left: 1ex;
  transform: translateY(3px);
}
.dropdown.inline svg {
  margin-left: 5px;
}
.dropdown.is-style-button {
  background: var(--color-primary--muted);
}
.dropdown.is-style-button .toggle {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  padding: 15px 18px;
}
.dropdown .toggle {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border-radius: 0;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: inline-block;
  font-family: inherit;
  color: currentColor;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 20px;
  background: var(--color-primary);
  color: white;
  transition: 0.3s ease-in-out;
}
.dropdown .toggle svg {
  transition: 0.3s ease-in-out;
}
.dropdown .options {
  position: absolute;
  top: 100%;
  pointer-events: none;
  opacity: 0;
  min-width: 100%;
  transform: translateY(9px);
  transition: 0.3s ease-in-out;
  background: white;
  box-shadow: 0 20px 20px rgba(33, 36, 18, 0.07);
  z-index: var(--zi-ui);
  color: var(--color-text);
}
.dropdown .options ul {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-block: 12px;
  border-top: solid 4px var(--color-primary);
}
.dropdown .options ul a {
  text-align: left;
  display: block;
  padding-block: 8px;
  padding-inline: 28px 56px;
  white-space: nowrap;
  text-decoration: none;
}
.dropdown .options ul a:hover {
  color: var(--color-primary);
  background-color: var(--color-primary--muted);
}

.content-card {
  position: relative;
}
.content-card__image {
  margin-bottom: 2rem;
}
.content-card__image img {
  width: 100%;
}
.content-card__title {
  font-family: var(--font-family-serif);
  color: var(--color-black);
  font-weight: 500;
}
.content-card__link {
  text-decoration: none;
}
@media (hover: hover) {
  .content-card__link:hover svg {
    transform: translateX(25%);
  }
}
.content-card__link::after {
  position: absolute;
  content: "";
  inset: 0;
}
.content-card__link svg {
  display: inline;
  transition: var(--transitions);
  color: var(--color-primary);
  flex-shrink: 0;
}
.content-card__text p {
  margin: 0;
}
.content-card__entry-meta {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  transform: none;
}

.product-card {
  --button-background-color: var(--color-primary--muted);
  --button-text-color: var(--color-black);
  border: solid 1px var(--color-borders);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  isolation: isolate;
  background: white;
}
@media (hover: hover) {
  .product-card:hover .product-card__secondary-image {
    opacity: 1;
  }
  .product-card:hover .btn {
    background-color: var(--color-primary--hover);
    color: white;
  }
  .product-card:hover .btn svg {
    opacity: 1;
    transform: translateX(5px);
  }
}
.product-card__image {
  position: relative;
}
.product-card__image img {
  width: 100%;
}
.product-card__secondary-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 5;
  opacity: 0;
  transition: var(--transitions);
  cursor: pointer;
}
.product-card__body {
  padding: 10px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.product-card__title {
  font-size: var(--font-size-h4);
  font-family: var(--font-family-serif);
  color: var(--color-black);
  margin: 0;
  font-weight: 500;
}
.product-card__uses {
  font-size: 0.9375rem;
  border-top: solid 1px var(--color-borders);
  margin-top: 0.5em;
  padding-top: 0.5em;
  line-height: 1.3;
}
.product-card__uses strong {
  color: var(--color-black);
  display: block;
}
.product-card__link {
  text-decoration: none;
}
.product-card__link::after {
  position: absolute;
  inset: 0;
  content: "";
  z-index: 10;
}
.product-card__species {
  flex: 1;
  font-size: 1.125rem;
}
.product-card__price {
  font-size: 1.125rem;
  color: var(--color-black);
  font-weight: 500;
}
.product-card__price del {
  opacity: 0.5;
}
.product-card__price ins {
  text-decoration: none;
}
.product-card__badge {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  position: absolute;
  left: 0;
  top: 0;
  color: white;
  background: var(--color-black);
  padding: 0.7em 1em;
  line-height: 1;
  z-index: 10;
}

input {
  accent-color: var(--color-accent);
}

input[type=file] {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type=date],
input[type=email],
input[type=password],
input[type=file],
input[type=tel],
input[type=text],
input[type=number],
input[type=search],
input[type=url] {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  background-color: white;
  box-shadow: inset 0 0 0 1px rgba(70, 37, 44, 0.2);
  transition: 0.2s ease-out;
  padding: 0 1em;
}
input[type=date]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=file]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=url]:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--color-primary);
}
input[type=date],
input[type=email],
input[type=password],
input[type=file],
input[type=tel],
input[type=text],
input[type=number],
input[type=search],
input[type=url] {
  height: var(--field-height, 50px);
}

textarea {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  background-color: white;
  box-shadow: inset 0 0 0 1px rgba(70, 37, 44, 0.2);
  transition: 0.2s ease-out;
  padding: 0 1em;
}
textarea:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--color-primary);
}
textarea {
  height: 8em;
  padding-top: 15px;
}

select {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  background-color: white;
  box-shadow: inset 0 0 0 1px rgba(70, 37, 44, 0.2);
  transition: 0.2s ease-out;
  padding: 0 1em;
}
select:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--color-primary);
}
select {
  height: var(--field-height, 50px);
  background-image: url("../images/caret.svg");
  background-position: right 25px center;
  background-repeat: no-repeat;
  background-size: 8px auto;
}

label {
  font-family: var(--font-family-serif);
  color: var(--label-text-color, var(--color-black));
}

input[type=file] {
  padding: 0.5em;
  height: auto;
}

input::file-selector-button {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  background: var(--button-background-color, var(--color-primary));
  color: var(--button-text-color, white);
  padding: 14px 20px 13px;
  position: relative;
  transition: 0.2s ease-out;
  min-width: -moz-fit-content;
  min-width: fit-content;
  display: inline-block;
  text-decoration: none;
  text-align: left;
}
input::file-selector-button:focus-visible, input::file-selector-button:hover {
  color: var(--button-text-color--hover, white);
  text-decoration: none;
  background: var(--button-background-color--hover, var(--color-primary--hover));
  box-shadow: 0 0 0 2px var(--button-background-color--hover, var(--color-primary--hover));
}
input::file-selector-button[disabled] {
  opacity: 0.5;
  color: white;
  padding: 16px 20px 14px;
  pointer-events: none;
}
input::file-selector-button {
  border: 0;
}

[readonly=readonly] {
  background: rgba(0, 0, 0, 0.1);
}

fieldset {
  margin: 0;
  grid-column: 1/-1;
}

form.inline {
  container-type: inline-size;
  width: 100%;
}
@media (max-width: 991px) {
  form.inline {
    --field-height: 40px;
  }
}
form.inline fieldset {
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
  border: 0;
  margin: 0;
  padding: 0;
}
form.inline legend {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
}
@container (width > 600px) {
  form.inline legend {
    float: left;
  }
}
form.inline label {
  white-space: nowrap;
}
form.inline select {
  padding-right: 50px;
  width: -moz-fit-content;
  width: fit-content;
}

.gfield_html {
  line-height: 1.5;
}

.gform_heading {
  margin-bottom: 1em;
}

.gform_fields {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 15px;
}

.gform_footer {
  padding-top: 15px;
}

.gfield {
  position: relative;
}
.gfield.focused .gfield_label, .gfield.has-value .gfield_label {
  opacity: 1;
  transform: translateY(6px);
}
.gfield.focused input, .gfield.has-value input {
  padding-top: 10px;
}
.gfield.focused.hidden_label input, .gfield.has-value.hidden_label input {
  padding-top: 0;
}
.gfield.hidden_label .ginput_complex label,
.gfield.hidden_label .gfield_label {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.gfield.gfield--type-name.focused .gfield_label, .gfield.gfield--type-name.has-value .gfield_label, .gfield.gfield--type-address.focused .gfield_label, .gfield.gfield--type-address.has-value .gfield_label, .gfield.gfield--type-radio.focused .gfield_label, .gfield.gfield--type-radio.has-value .gfield_label, .gfield.gfield--type-checkbox.focused .gfield_label, .gfield.gfield--type-checkbox.has-value .gfield_label {
  transform: none;
}
.gfield.gfield--type-hidden {
  display: none;
}
.gfield.gfield--type-captcha label {
  display: none;
}
.gfield.gfield--type-fileupload .gform_fileupload_rules {
  position: static;
}
.gfield .ginput_complex {
  display: grid;
  gap: 15px;
}
@media (min-width: 992px) {
  .gfield .ginput_complex {
    grid-template-columns: repeat(2, 1fr);
  }
}

.gsection_title {
  font-size: var(--font-size-h4);
  color: var(--color-black);
  font-family: var(--font-family-serif);
  font-weight: 500;
  text-transform: none;
}

fieldset.gfield {
  padding: 0;
  display: block;
  margin: 0;
  border: 0;
}

legend.gfield_label {
  width: 100%;
}

.gfield_label {
  font-family: var(--font-family-serif);
  color: var(--label-text-color, var(--color-black));
  font-size: clamp(0.875rem, 1.0739856802vw, 1.125rem);
}
.gfield_label .gfield_required {
  color: var(--color-accent);
}

.gform-field-label--type-sub {
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
}

.gf_clear {
  display: none;
}

.gfield_description.validation_message {
  position: static;
  transform: none;
}
.gfield_description.validation_message::before, .gfield_description.validation_message::after {
  display: none;
}

.gfield_checkbox,
.gfield_radio {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gfield_checkbox li,
.gfield_radio li {
  margin-bottom: 0.25em;
}
.gfield_checkbox li label,
.gfield_radio li label {
  margin: 0;
}

.gform_button[type=submit] {
  height: 50px;
  padding-top: 0;
  padding-bottom: 0;
}

.gform_confirmation_message,
.validation_error {
  font-size: 0.875rem;
  margin-bottom: 10px;
  padding: 15px 30px;
  text-align: center;
  background: rgba(167, 147, 32, 0.25);
}

.gform_submission_error {
  margin: 0;
  font-size: var(--font-size-h5);
}

.gform_confirmation_message {
  background: var(--color-primary--muted);
}

.label {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
}

#stocking-rate-calculator {
  transition: 0.3s;
}
#stocking-rate-calculator.working {
  opacity: 0.5;
}

#mail-result-message {
  margin: 10px 0;
  padding: 15px 30px;
  text-align: center;
}
#mail-result-message.success {
  background: white;
}
#mail-result-message.error {
  background: var(--color-primary--muted);
  color: white;
}

/********************************
  Stuff we need from the base CSS
  ********************************/
@font-face {
  font-family: "gform-icons-theme";
  src: url("../../../../plugins/gravityforms/fonts/gform-icons-theme.woff2?a2cayk") format("woff2"), url("../../../../plugins/gravityforms/fonts/gform-icons-theme.ttf?a2cayk") format("truetype"), url("../../../../plugins/gravityforms/fonts/gform-icons-theme.woff?a2cayk") format("woff"), url("../../../../plugins/gravityforms/fonts/gform-icons-theme.svg?a2cayk#gform-icons-theme") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/**
   Honeypot
   */
.gform_validation_container,
body .gform_wrapper .gform_validation_container,
body .gform_wrapper .gform_body .gform_fields .gfield.gform_validation_container,
body .gform_wrapper .gform_fields .gfield.gform_validation_container {
  display: none !important;
  left: -9000px;
  position: absolute !important;
}

/*
  * Hide screen reader text.
  *
  * Used in the basic.css front-end stylesheet.
  */
.gform_wrapper .screen-reader-text,
.gform_wrapper .hidden_label .gfield_label,
.gform_wrapper .hidden_sub_label {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.gform_wrapper button.screen-reader-text:focus {
  border: 0;
  clip: auto;
  clip-path: none;
  height: auto;
  margin: 0;
  position: static !important;
  width: auto;
}

/*
  * Date field.
  *
  * Used in the basic.css front-end stylesheet and admin-theme.css.
  */
.gform-theme-datepicker:not(.gform-legacy-datepicker) {
  background: #fff;
  border: 1px solid #d0d1d3;
  border-radius: 3px;
  box-shadow: 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.11), 0 0 0.25rem rgba(18, 25, 97, 0.0405344);
  color: #607382;
  font-size: 1.3rem;
  font-weight: 500;
  margin-top: 5px;
  padding: 18px 15px;
  width: auto;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) table,
.gform-theme-datepicker:not(.gform-legacy-datepicker) thead,
.gform-theme-datepicker:not(.gform-legacy-datepicker) tr,
.gform-theme-datepicker:not(.gform-legacy-datepicker) td,
.gform-theme-datepicker:not(.gform-legacy-datepicker) th {
  background: none;
  border: 0;
  margin: 0;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) td,
.gform-theme-datepicker:not(.gform-legacy-datepicker) th {
  padding: 5px;
  text-shadow: none;
  text-transform: none;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header {
  border: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin: 0 0 5px;
  padding: 0;
  position: relative;
  width: 100%;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-prev,
.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-next {
  align-items: center;
  background: none;
  border: 0;
  color: #607382;
  cursor: pointer;
  display: flex;
  font-family: gform-icons-theme !important;
  font-size: 24px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 30px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  speak: never;
  text-decoration: none;
  top: -2px;
  transition: color 300ms ease-in-out, background-color 300ms ease-in-out, border-color 300ms ease-in-out;
  width: 30px;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-prev:focus,
.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-prev:hover,
.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-next:focus,
.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-next:hover {
  color: #2f4054;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-prev .ui-icon,
.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-next .ui-icon {
  display: none;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-prev::before,
.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-next::before {
  border: 0;
  height: auto;
  position: static;
  transform: none;
  width: auto;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-prev {
  left: 0;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-prev::before {
  content: "\e910";
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-next {
  right: 0;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header .ui-datepicker-next::before {
  content: "\e91b";
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background-color: transparent;
  background-image: url("../../../../plugins/gravityforms/images/theme/down-arrow.svg");
  background-position: 100% 50%;
  background-repeat: no-repeat;
  background-size: 24px 24px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #585e6a;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 500;
  height: auto;
  min-height: 0;
  padding: 0 22px 0 0;
  width: auto;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header select.ui-datepicker-month {
  margin-right: 20px;
  -moz-text-align-last: right;
  text-align-last: right;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar span,
.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar a {
  font-weight: 400;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar th span {
  align-items: center;
  color: #2f4054;
  display: flex;
  font-size: 1.3rem;
  font-weight: 500;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar td {
  font-size: 1.3rem;
  height: 50px;
  width: 50px;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar .ui-state-default {
  align-items: center;
  background: none;
  border: 1px solid transparent;
  border-radius: 100%;
  box-shadow: none;
  color: #2f4054;
  display: flex;
  height: 40px;
  justify-content: center;
  text-decoration: none;
  transition: color 300ms ease-in-out, background-color 300ms ease-in-out, border-color 300ms ease-in-out;
  width: 40px;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar .ui-state-default:hover,
.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar .ui-state-default:focus {
  background: none;
  border-color: #607382;
  outline: none;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar .ui-state-default:active {
  background: #f2f3f5;
  border-color: #607382;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar .ui-datepicker-current-day .ui-state-default {
  background: #607382;
  border-color: #607382;
  box-shadow: 0 2px 2px rgba(58, 58, 87, 0.0596411);
  color: #fff;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar .ui-datepicker-current-day .ui-state-default:hover,
.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar .ui-datepicker-current-day .ui-state-default:focus {
  border-color: #607382;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar .ui-state-disabled {
  background: none;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar .ui-state-disabled .ui-state-default {
  align-items: center;
  background: #f2f3f5;
  border: 1px solid rgba(32, 32, 46, 0.079);
  border-radius: 100%;
  box-shadow: 0 2px 2px rgba(58, 58, 87, 0.0596411);
  color: #686e77;
  cursor: text;
  display: flex;
  height: 40px;
  justify-content: center;
  text-decoration: none;
  width: 40px;
}

html[dir=rtl] #ui-datepicker-div.gform-theme-datepicker[style] {
  right: auto !important;
}

/**
   File Uploads
   */
.gform_drop_area {
  background: rgba(0, 0, 0, 0.02);
  border: 1px dashed #ccc;
  border-radius: 4px;
  margin-bottom: 8px;
  padding: 32px;
  text-align: center;
}
.gform_drop_area::before {
  content: url("../assets/images/dragandrop.svg");
  display: block;
  margin: 0 0 10px;
}
.gform_drop_area .button {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  background: var(--button-background-color, var(--color-primary));
  color: var(--button-text-color, white);
  padding: 14px 20px 13px;
  position: relative;
  transition: 0.2s ease-out;
  min-width: -moz-fit-content;
  min-width: fit-content;
  display: inline-block;
  text-decoration: none;
  text-align: left;
}
.gform_drop_area .button:focus-visible, .gform_drop_area .button:hover {
  color: var(--button-text-color--hover, white);
  text-decoration: none;
  background: var(--button-background-color--hover, var(--color-primary--hover));
  box-shadow: 0 0 0 2px var(--button-background-color--hover, var(--color-primary--hover));
}
.gform_drop_area .button[disabled] {
  opacity: 0.5;
  color: white;
  padding: 16px 20px 14px;
  pointer-events: none;
}

.gform_drop_instructions {
  display: block;
  margin-bottom: 8px;
}

.gform_delete,
.gform_delete_file {
  cursor: pointer;
  vertical-align: middle;
}

.gform_delete_file {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
}

.gfield_validation_message ul {
  margin: 16px 0;
  padding-left: 24px;
}

.gfield_validation_message ul:empty {
  display: none;
}

.ginput_preview {
  margin: 16px 0;
}

.gform_fileupload_rules {
  display: block;
  margin-top: 8px;
}

.pagination .nav-links,
.pagination .page-numbers {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
}
.pagination .nav-links a,
.pagination .nav-links span,
.pagination .page-numbers a,
.pagination .page-numbers span {
  aspect-ratio: 1;
  line-height: 1;
  width: 48px;
  display: grid;
  place-content: center;
  text-decoration: none;
}
.pagination .nav-links a:focus,
.pagination .nav-links a:hover,
.pagination .page-numbers a:focus,
.pagination .page-numbers a:hover {
  background: var(--color-primary--muted);
}
.pagination .nav-links span.current,
.pagination .page-numbers span.current {
  background: var(--color-primary--muted);
  color: var(--color-primary);
}

.article-card {
  position: relative;
}
.article-card__thumbnail {
  margin-bottom: 1em;
}
.article-card__meta {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  color: var(--color-primary);
}
.article-card__title {
  font-size: clamp(1.125rem, 1.4319809069vw, 1.5rem);
}
.article-card__link {
  color: var(--color-text);
  text-decoration: none;
}
.article-card__link:hover {
  color: var(--color-accent);
  text-decoration: none;
}
.article-card__link::after {
  content: "";
  position: absolute;
  inset: 0;
}

.calculator {
  --gap: 20px;
  background: var(--color-primary--muted);
  padding: 2em;
  margin-bottom: 2em;
  display: grid;
  gap: var(--gap);
}
.calculator .input {
  width: 100%;
}
.calculator .input-group {
  display: flex;
  align-items: center;
  gap: 10px;
}
.calculator .input-group .input {
  width: auto;
  flex: 1;
}
.calculator .input-group .prefix,
.calculator .input-group .suffix {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  color: var(--color-primary);
}
.calculator .input-group label {
  margin: 0;
}
.calculator .radio-group {
  display: flex;
  gap: var(--gap);
}
.calculator .radio-group p {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 4px;
}
.calculator .radio-group label {
  margin: 0;
}
.calculator .result {
  padding-top: var(--gap);
  border-top: solid 1px var(--color-borders);
}
.calculator .label {
  margin-bottom: 0.5rem;
}

.page-header {
  --headings-color: currentColor;
  padding-block: clamp(1.25rem, 5.369928401vw, 5.625rem);
  color: white;
  background: var(--color-primary);
  text-align: center;
}
.page-header h1 {
  margin: 0;
}
.page-header h1 small {
  display: block;
  font-size: 0.5em;
  margin-top: 0.5em;
}
.page-header--articles {
  --headings-color: var(--color-primary);
  color: var(--color-text);
  background: none;
  text-align: left;
}
.page-header--articles .layout {
  display: grid;
}
@media (min-width: 992px) {
  .page-header--articles .layout {
    grid-template-columns: repeat(2, 1fr);
    gap: 5%;
  }
}
.page-header--articles .dropdown {
  margin-top: 2em;
}
.page-header--article {
  --headings-color: var(--color-primary);
  --links-color: var(--color-primary);
  --links-color--hover: var(--color-primary--hover);
  background: none;
  color: var(--color-text);
}
.page-header--article h1 {
  max-width: var(--content-max-width);
  margin-inline: auto;
  margin-bottom: 0.25em;
  font-size: var(--font-size-h2);
  letter-spacing: 0;
}
.page-header--archive {
  text-align: left;
}
.page-header--archive .layout {
  display: grid;
}
@media (min-width: 992px) {
  .page-header--archive .layout {
    grid-template-columns: repeat(2, 1fr);
    gap: 5%;
  }
}
.page-header--archive .woocommerce-breadcrumb a {
  text-decoration: none;
}
@media (hover: hover) {
  .page-header--archive .woocommerce-breadcrumb a:hover {
    text-decoration: underline;
  }
}
.page-header--career .navigate-backward {
  display: inline-flex;
  margin-bottom: 1em;
}

.section-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: var(--spacing-4);
}
.section-title--align-center {
  justify-content: center;
}

.section-title__title {
  margin: 0;
  text-transform: uppercase;
}

.alert {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  text-align: center;
  padding: 1em;
}
.alert--success {
  background: var(--color-primary--muted);
}
.alert--error {
  background: var(--color-accent--muted);
}

.quantity-input {
  --field-height: var(--ui-size);
  border: solid 1px var(--color-borders);
  transition: 0.2s ease-out;
  display: flex;
}
.quantity-input__adjust {
  width: var(--ui-size);
  aspect-ratio: 1;
  place-content: center;
  justify-items: center;
}
.quantity-input .quantity-input__field.quantity-input__field {
  width: var(--ui-size);
  box-shadow: none;
  background-color: transparent;
  border: 0;
  text-align: center;
}
.quantity-input .quantity-input__field.quantity-input__field:focus-visible {
  outline-color: var(--focus-outline-color, #B48B31);
  outline-style: solid;
  outline-width: 2px;
}
.quantity-input .quantity-input__field.quantity-input__field {
  /* Chrome, Safari, Edge, Opera */
}
.quantity-input .quantity-input__field.quantity-input__field::-webkit-outer-spin-button, .quantity-input .quantity-input__field.quantity-input__field::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.quantity-input .quantity-input__field.quantity-input__field {
  /* Firefox */
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
  /* Standard property for newer browsers */
}
.quantity-input .quantity {
  display: contents;
}

.add-product-panel {
  border: 0;
  padding: 30px;
  color: var(--color-text);
  max-width: calc(100vw - 40px);
}
.add-product-panel::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}
.add-product-panel .atc-message {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(-100%);
  transition: 0.3s ease-out;
}
.add-product-panel .atc-message.shown {
  transform: translateY(0);
}
.add-product-panel__header {
  display: grid;
  gap: var(--gap);
  margin-bottom: var(--gap);
}
.add-product-panel__header .product-calculator > .btn {
  margin-left: 0;
}
.add-product-panel__title {
  font-size: var(--font-size-h4);
  margin: 0;
}
.add-product-panel .cart {
  display: grid;
  gap: var(--gap);
}
.add-product-panel .attributes {
  margin: 0;
  gap: var(--gap);
}
.add-product-panel .attribute-option {
  min-height: var(--ui-size);
}
.add-product-panel .attribute-label {
  font-size: 1rem;
  margin-bottom: 0.5em;
}
.add-product-panel {
  /* compact the layout */
}
.add-product-panel .quantity-input {
  --ui-size: 50px;
}
.add-product-panel .add-to-cart-quantity-row {
  display: flex;
  gap: var(--gap);
}
.add-product-panel .item-summary .total {
  font-size: 1.25rem;
}
.add-product-panel .btn.add-to-cart {
  justify-content: center;
  width: 100%;
  min-height: var(--ui-size);
}
.add-product-panel .btn.add-to-cart svg {
  display: none;
}
.add-product-panel .product-help-message {
  display: none;
}

.seed-calculator {
  --gap: 15px;
  padding: 2em;
  border: 0;
  color: var(--color-text);
}
.seed-calculator::backdrop {
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(2px);
}
.seed-calculator__title {
  font-size: var(--font-size-h4);
}
.seed-calculator__fields {
  display: grid;
  gap: var(--gap);
  margin-bottom: var(--gap);
}
.seed-calculator__field {
  grid-column: auto;
}
.seed-calculator fieldset.seed-calculator__field {
  padding: 0;
  border: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap);
}
.seed-calculator fieldset.seed-calculator__field legend {
  font-family: var(--font-family-serif);
  color: var(--label-text-color, var(--color-black));
  font-size: clamp(0.875rem, 1.0739856802vw, 1.125rem);
}
.seed-calculator fieldset.seed-calculator__field label {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  background-color: white;
  box-shadow: inset 0 0 0 1px rgba(70, 37, 44, 0.2);
  transition: 0.2s ease-out;
  padding: 0 1em;
}
.seed-calculator fieldset.seed-calculator__field label:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--color-primary);
}
.seed-calculator fieldset.seed-calculator__field label {
  display: flex;
  align-items: center;
  gap: 0.5em;
  line-height: 1;
  font-family: var(--font-family-sans-serif);
  height: var(--field-height, 50px);
}
.seed-calculator fieldset.seed-calculator__field label:has(:checked) {
  background: var(--color-accent--muted);
}
@media (hover: hover) {
  .seed-calculator fieldset.seed-calculator__field label:hover {
    background: var(--color-accent--muted);
  }
}
.seed-calculator__label {
  font-family: var(--font-family-serif);
  color: var(--label-text-color, var(--color-black));
  font-size: clamp(1rem, 1.0739856802vw, 1.125rem);
}
.seed-calculator__total {
  background: var(--color-primary--muted);
  place-content: center;
  padding: 0.5em 1em;
  text-align: center;
  font-size: clamp(0.875rem, 0.9546539379vw, 1rem);
}
.seed-calculator__action {
  margin-top: var(--gap);
}
.seed-calculator__close {
  color: var(--color-primary);
  background-color: transparent;
  text-align: center;
}
@media (hover: hover) {
  .seed-calculator__close:hover {
    color: var(--color-primary--hover);
    background: var(--color-accent--muted);
    box-shadow: 0 0 0 2px var(--color-accent--muted);
  }
}
.seed-calculator__close:focus-visible {
  color: var(--color-primary--hover);
  background: var(--color-accent--muted);
}
.seed-calculator__result {
  margin: 0;
  font-size: 0.875rem;
}
.seed-calculator__result:not(:empty) {
  margin-top: 0.5em;
}

.archive-description {
  max-width: 50%;
}

.archive__lead-text {
  --container-max-width: var(--content-max-width);
  margin-block: var(--spacing-4);
}

.term-description {
  max-width: 60ch;
  margin-inline: auto;
}

.archive-toolbar {
  position: relative;
  z-index: var(--zi-base);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block: var(--spacing-4);
}
@media (max-width: 767px) {
  .archive-toolbar {
    gap: 1em;
    flex-wrap: wrap;
  }
}
.archive-toolbar .dropdown {
  padding-top: 10px;
  border-top: solid 1px var(--color-borders);
  width: 100%;
}
@media (min-width: 768px) {
  .archive-toolbar .dropdown {
    border: 0;
    padding-top: 0;
    width: auto;
  }
}
.archive-toolbar .pagination {
  order: 1;
}
@media (min-width: 768px) {
  .archive-toolbar .pagination {
    flex: 1;
  }
}
.archive-toolbar .woocommerce-result-count {
  order: 0;
  margin: 0;
}

.tax-product_cat .archive-toolbar {
  justify-content: flex-start;
}

@media (min-width: 992px) {
  .archive-filter + .archive-sorter {
    border-left: solid 1px var(--color-borders);
    padding-left: clamp(0.625rem, 1.7899761337vw, 1.875rem);
    margin-left: clamp(0.625rem, 1.7899761337vw, 1.875rem);
  }
}

#intentionally-empty-products {
  margin-bottom: clamp(2.5rem, 4.7732696897vw, 5rem);
}
@media (min-width: 1200px) {
  #intentionally-empty-products {
    margin-bottom: 150px;
  }
}

#conservation-filter {
  border-top: solid 1px var(--color-borders);
  padding-top: 5px;
  margin: 0 10px 25px;
}
@media (min-width: 768px) {
  #conservation-filter {
    border: 0;
    padding: 0;
    margin: 0;
    z-index: 0;
  }
  #conservation-filter .options {
    display: block;
    position: static;
    pointer-events: initial;
    max-height: none;
    box-shadow: none;
    background: none;
    transform: none;
    opacity: 1;
    min-width: 1px;
  }
  #conservation-filter .options ul {
    padding: 0;
  }
  #conservation-filter .options ul a {
    font-weight: 400;
    text-transform: none;
    padding: 0;
    letter-spacing: 0;
    font-size: 1.6rem;
  }
  #conservation-filter .options ul a.active {
    color: var(--color-gray-text);
    pointer-events: none;
  }
}

.term-children-title {
  font-size: var(--font-size-h4);
  font-weight: 400;
  color: var(--color-text);
}

.article-grid {
  padding-block: var(--spacing-5);
  max-width: 1290px;
  margin-inline: auto;
  display: grid;
  gap: 30px;
}
@media (min-width: 992px) {
  .article-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.archive-toolbar + .article-grid {
  padding-top: 0;
}

.article-grid + .archive-toolbar {
  padding: 0;
}

.products-grid {
  display: grid;
  gap: 20px;
}
@media (min-width: 768px) {
  .products-grid {
    gap: 30px 10px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  .products-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/*
Hide nav elements for dealer categories and in checkout
*/
body:has(.source-flag) .secondary-nav,
body:has(.source-flag) .store-switcher,
body:has(.source-flag) [aria-label="site search region"],
body:has(.source-flag) .site-header__lower,
body:has(.source-flag) .site-footer__layout:first-child,
body:has(#producer_id) .secondary-nav,
body:has(#producer_id) .store-switcher,
body:has(#producer_id) [aria-label="site search region"],
body:has(#producer_id) .site-header__lower,
body:has(#producer_id) .site-footer__layout:first-child,
body:has(.product-row-group) .secondary-nav,
body:has(.product-row-group) .store-switcher,
body:has(.product-row-group) [aria-label="site search region"],
body:has(.product-row-group) .site-header__lower,
body:has(.product-row-group) .site-footer__layout:first-child {
  display: none;
}
body:has(.source-flag) .site-footer__layout:last-child,
body:has(#producer_id) .site-footer__layout:last-child,
body:has(.product-row-group) .site-footer__layout:last-child {
  padding-top: 30px;
}
body:has(.source-flag) .site-logo,
body:has(#producer_id) .site-logo,
body:has(.product-row-group) .site-logo {
  pointer-events: none;
}

.product-row-group {
  margin-block: var(--spacing-5);
}
.product-row-group__text {
  width: min(100%, 60ch);
}

.product-row {
  --ui-size: 50px;
  --gap: 15px;
  border-bottom: solid 1px var(--color-borders);
  padding-block: var(--spacing-3);
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--gap);
  flex-wrap: wrap;
}
.product-row:first-of-type {
  border-top: solid 1px var(--color-borders);
}
.product-row__body {
  flex: 1;
}
.product-row__title {
  font-size: var(--font-size-h5);
}

.product-row-details {
  width: 100%;
  margin-top: 0.5em;
  font-size: 0.875rem;
}
.product-row-details__btn {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  color: var(--color-primary);
  cursor: pointer;
}
.product-row-details[open] .product-row-details__layout {
  padding-block: clamp(1.25rem, 2.3866348449vw, 2.5rem);
  display: grid;
  gap: var(--gap);
}
@media (min-width: 992px) {
  .product-row-details[open] .product-row-details__layout {
    grid-template-columns: 33% auto;
  }
}
.product-row-details .mix-ratios {
  margin: 0;
  padding: 0;
  background: transparent;
}
.product-row-details .mix-ratios__layout {
  gap: var(--gap);
  align-items: flex-start;
}
.product-row-details .mix-ratios-chart {
  max-width: 158px;
  margin: 0 auto 10px;
}
@media (min-width: 768px) {
  .product-row-details .mix-ratios-chart {
    max-width: 300px;
  }
}
.product-row-details table th,
.product-row-details table td {
  padding: 8px 12px;
}

.password-wall {
  --gap: 10px;
  --container-max-width: 600px;
  padding-block: var(--spacing-10);
}
.password-wall form {
  display: grid;
  gap: var(--gap);
}

.page-template-page-legal main .container {
  max-width: 60ch;
}
.page-template-page-legal .page-content {
  max-width: var(--content-max-width);
  margin-inline: auto;
}

.page-template-page-general .page-content {
  max-width: var(--content-max-width);
  margin-inline: auto;
  padding-block: var(--spacing-10);
}

.page-content .gform_wrapper {
  padding-block: clamp(1.25rem, 5.369928401vw, 5.625rem);
  background-color: var(--color-primary--muted);
}
.page-content .gform_wrapper .gform_heading,
.page-content .gform_wrapper form {
  max-width: var(--content-max-width);
  margin-inline: auto;
}

/*
Single Blog Post
*/
.article__terms {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  margin-bottom: 1em;
}
.article__terms a {
  text-decoration: none;
}
@media (hover: hover) {
  .article__terms a:hover {
    text-decoration: underline;
  }
}
.article__terms .post-categories {
  list-style: none;
  margin: 0;
  padding: 0;
}
.article__terms .post-categories li {
  display: inline-block;
  margin: 0;
}
.article__terms .post-categories li:last-child::after {
  display: none;
}
.article__terms .post-categories li::after {
  content: ",";
}

.article__author {
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0;
}
.article__author img {
  border-radius: 50%;
  display: inline-block;
}
.article__author .byline,
.article__author .posted-on {
  display: block;
}
.article__author .byline {
  padding-top: 8px;
  font-weight: 700;
  text-transform: capitalize;
}
.article__author .full {
  display: none;
}

.author-link {
  text-decoration: none;
  display: block;
}
@media (hover: hover) {
  .author-link:hover {
    text-decoration: underline;
  }
}

.article__content {
  --gutter: 30px;
  --font-size-h2: clamp(1.5rem, 1.6706443914vw, 1.75rem);
  --font-size-h3: clamp(1.375rem, 1.4319809069vw, 1.5rem);
  --font-size-h4: clamp(1.125rem, 1.3126491647vw, 1.375rem);
  --font-size-h5: clamp(1.0625rem, 1.1933174224vw, 1.25rem);
  --font-size-h6: clamp(1rem, 1.0739856802vw, 1.125rem);
}
@media (min-width: 992px) {
  .article__content {
    --gutter: 80px ;
  }
}
.article__content {
  font-size: clamp(1.125rem, 1.2529832936vw, 1.3125rem);
  max-width: var(--content-max-width);
  margin-inline: auto;
  padding-bottom: var(--spacing-5);
  display: grid;
  grid-template-columns: var(--gutter) [content-start] 1fr [content-end] var(--gutter);
}
.article__content > * {
  grid-column: content;
  margin-top: 0;
}
.article__content .article__image {
  grid-column: 1/-1;
  margin-bottom: 2em;
}
.article__content h2,
.article__content h3,
.article__content h4,
.article__content h5,
.article__content h6 {
  margin-bottom: 0.5em;
}

.is-style-lead-paragraph {
  font-size: clamp(1.125rem, 1.4319809069vw, 1.5rem);
}

.has-drop-cap:not(:focus):first-letter {
  font-size: clamp(2rem, 4.2959427208vw, 4.5rem);
  font-weight: 300;
  line-height: 68px;
  background: var(--color-primary);
  color: white;
  padding: 0 24px;
  margin: 10px 10px 10px 0;
}
@media (min-width: 768px) {
  .has-drop-cap:not(:focus):first-letter {
    line-height: 80px;
    padding: 0 23px;
  }
}
@media (min-width: 1200px) {
  .has-drop-cap:not(:focus):first-letter {
    line-height: 103px;
    padding: 0 33px;
    margin: 20px 30px 30px 0;
  }
}

.article__footer {
  border-top: solid 1px var(--color-borders);
  border-bottom: solid 1px var(--color-borders);
  padding: 1em 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1em;
}
@media (min-width: 768px) {
  .article__footer {
    justify-content: space-between;
    padding: 30px 0;
    margin: 0;
    border-bottom: none;
  }
}
.article__footer .author-link {
  color: var(--color-gray-text);
  display: flex;
  text-align: center;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em;
}
@media (min-width: 768px) {
  .article__footer .author-link {
    margin-bottom: 0;
    text-align: left;
  }
}
.article__footer .author-link img {
  border-radius: 50%;
}
@media (max-width: 991px) {
  .article__footer .author-link img {
    display: none;
  }
}
.article__footer .author-link .byline {
  font-weight: 700;
  color: var(--color-primary);
}
.article__footer .author-link .byline .full {
  font-weight: 400;
  color: var(--color-text);
}

#share-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#share-menu li {
  margin: 0 5px;
}
@media (min-width: 992px) {
  #share-menu li {
    margin: 0 0 0 15px;
  }
}
#share-menu svg {
  width: 30px;
  height: 30px;
}

/*
Related posts
*/
#related-posts {
  margin-top: var(--spacing-5);
  padding-block: var(--spacing-8);
  background: var(--color-primary--muted);
}
#related-posts .section-title h2 {
  margin: 0;
}
#related-posts .article-grid {
  padding: 0;
}

/*
Price List Single View
*/
.type-price-list {
  padding-bottom: 60px;
}
@media (min-width: 992px) {
  .type-price-list {
    padding-bottom: 120px;
  }
}

.wp-block-button__link {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  background: var(--button-background-color, var(--color-primary));
  color: var(--button-text-color, white);
  padding: 14px 20px 13px;
  position: relative;
  transition: 0.2s ease-out;
  min-width: -moz-fit-content;
  min-width: fit-content;
  display: inline-block;
  text-decoration: none;
  text-align: left;
}
.wp-block-button__link:focus-visible, .wp-block-button__link:hover {
  color: var(--button-text-color--hover, white);
  text-decoration: none;
  background: var(--button-background-color--hover, var(--color-primary--hover));
  box-shadow: 0 0 0 2px var(--button-background-color--hover, var(--color-primary--hover));
}
.wp-block-button__link[disabled] {
  opacity: 0.5;
  color: white;
  padding: 16px 20px 14px;
  pointer-events: none;
}

.page-template-page-selector .article__content {
  padding-top: var(--spacing-8);
}

.product-selector .section-title {
  text-align: center;
  margin-bottom: 40px;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .product-selector .section-title {
    margin-bottom: 70px;
  }
}
.product-selector .section-title .title {
  margin-bottom: 0.5em;
}
.product-selector .steps {
  display: flex;
  justify-content: center;
}
.product-selector .steps .step {
  display: none;
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  margin: 0 15px;
  padding: 15px;
  position: relative;
}
.product-selector .steps .step.enabled {
  display: block;
}
.product-selector .steps .step.active::after {
  width: 100%;
}
.product-selector .steps .step.completed svg {
  opacity: 1;
}
.product-selector .steps .step::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  width: 0;
  background: var(--color-primary);
  transition: 0.3s ease-in-out;
}
.product-selector .steps .step svg {
  color: var(--color-primary);
  opacity: 0;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.product-selector .questions-container {
  background: var(--color-primary--muted);
  padding: var(--container-padding);
  position: relative;
}
@media (min-width: 768px) {
  .product-selector .questions-container {
    padding: 70px 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .product-selector .questions-container {
    padding: 70px 30px 120px;
  }
}
.product-selector .questions-container .question {
  display: none;
  font-size: clamp(1.125rem, 1.4319809069vw, 1.5rem);
  text-align: center;
}
.product-selector .questions-container .question.active {
  display: block;
}
.product-selector .questions-container .answers {
  display: flex;
  justify-content: center;
}
.product-selector .questions-container .answer {
  flex: 1;
  text-align: center;
  transition: 0.2s ease-in-out;
  background: white;
  margin: 0 1px;
  padding: 15px;
  display: block;
  color: var(--color-gray-text);
  max-width: 315px;
  text-decoration: none;
}
@media (min-width: 768px) {
  .product-selector .questions-container .answer {
    font-size: 1.125rem;
  }
}
.product-selector .questions-container .answer.selected {
  background: var(--color-primary);
  color: white;
}

.product-selector__results {
  padding-block: clamp(2.5rem, 4.7732696897vw, 5rem);
}

#selector-back {
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  opacity: 0;
  transition: 0.3s ease-out;
  font-weight: 700;
  color: var(--color-primary);
  text-decoration: none;
}
#selector-back.enabled {
  opacity: 1;
}
#selector-back svg {
  transform: rotate(180deg);
  margin-right: 8px;
}

/*
Summary
*/
#product-main {
  padding-inline: var(--container-padding);
  padding-block: clamp(1.875rem, 5.9665871122vw, 6.25rem);
}
@media (max-width: 991px) {
  #product-main {
    padding-top: 0;
  }
}
#product-main .layout {
  max-width: 1510px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  #product-main .layout {
    justify-content: space-between;
    display: flex;
    gap: 30px;
  }
}
#product-main .primary-term {
  color: var(--color-primary);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.875rem;
  text-decoration: none;
}
#product-main .price {
  font-weight: 500;
  font-size: 1.5rem;
  color: var(--color-black);
  margin: 0;
  line-height: 1;
}

@media (min-width: 768px) {
  #product-m-details {
    display: none;
  }
}
#product-m-details .product-title {
  font-size: var(--font-size-h2);
  line-height: 1.1;
}

#product-gallery {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  #product-gallery {
    margin-bottom: 0;
    width: 49%;
  }
}
@media (min-width: 768px) {
  #product-gallery .product-media {
    position: sticky;
    top: 30px;
  }
}
@media (min-width: 992px) {
  #product-gallery .product-media {
    display: grid;
    grid-template-columns: 100px 85.14%;
    gap: 10px;
    align-items: start;
  }
}
#product-gallery .thumbs {
  display: none;
}
@media (min-width: 992px) {
  #product-gallery .thumbs {
    display: grid;
    gap: 10px;
  }
}
#product-gallery .thumbs .item button {
  position: relative;
}
#product-gallery .thumbs .item button.active {
  padding: 2px;
  border: 2px solid var(--color-accent);
}
#product-gallery .thumbs .item button svg {
  position: absolute;
  inset: 0;
  width: 16px;
  height: 16px;
  margin: auto;
}

.price-container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-block: var(--gap);
}

.product-calculator > .btn {
  margin-left: auto;
}

#product-form {
  --ui-size: clamp(3.125rem, 3.5799522673vw, 3.75rem);
  --gap: clamp(0.9375rem, 1.1933174224vw, 1.25rem);
}
@media (min-width: 768px) {
  #product-form {
    width: 50%;
  }
}
@media (min-width: 992px) {
  #product-form {
    width: 41.72%;
  }
}
@media (max-width: 767px) {
  #product-form .price,
  #product-form .product-title,
  #product-form .primary-term {
    display: none;
  }
}
#product-form .product-title {
  text-transform: none;
  letter-spacing: 0;
  font-size: var(--font-size-h2);
}
#product-form .heading {
  font-size: 1.5rem;
  font-weight: 500;
  font-family: var(--font-family-serif);
  color: var(--color-black);
}
#product-form hr {
  margin-block: 1rem;
}
#product-form .add-to-cart {
  flex: 1;
  width: 100%;
  min-height: var(--ui-size);
}
@media (min-width: 992px) {
  #product-form .add-to-cart {
    width: auto;
  }
}
@media (max-width: 767px) {
  #product-form .add-to-cart {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10000;
  }
  #product-form .add-to-cart.working, #product-form .add-to-cart[disabled] {
    opacity: 1;
    background: hsl(from var(--color-primary) h 15% 44%);
  }
}
#product-form .atc-message {
  position: fixed;
  bottom: 41px;
  transition: 0.3s ease-out;
  width: 100%;
  left: 0;
  z-index: 1000;
}
@media (max-width: 991px) {
  #product-form .atc-message {
    transform: translateY(110%);
  }
}
@media (min-width: 992px) {
  #product-form .atc-message {
    left: 100%;
    width: -moz-max-content;
    width: max-content;
    transform: translateX(0);
    border: solid 1px hsl(from var(--color-primary--muted) h s 80%);
    bottom: 40px;
  }
}
@media (max-width: 991px) {
  #product-form .atc-message.shown {
    transform: translateY(0);
  }
}
@media (min-width: 992px) {
  #product-form .atc-message.shown {
    transform: translateX(-110%);
    box-shadow: 0 10px 16px -10px rgba(0, 0, 0, 0.2);
  }
}
@media (max-width: 991px) {
  #product-form .cart {
    margin-block: calc(var(--gap) * 2);
  }
}

.attributes {
  display: grid;
  gap: 33px;
  margin-bottom: var(--gap);
}
.attributes select {
  display: none;
}

.attribute-label {
  font-size: 1.25rem;
  line-height: 1;
  margin-bottom: 1em;
  display: block;
}

.attribute-options {
  display: grid;
  gap: 10px;
}
@media (min-width: 992px) {
  .attribute-options {
    grid-template-columns: repeat(2, 1fr);
  }
}

.attribute-option {
  border: 1px solid var(--color-borders);
  min-height: var(--ui-size);
  padding-inline: 20px;
  display: flex;
  align-items: center;
  gap: 7px;
  position: relative;
  isolation: isolate;
  line-height: 1;
  margin: 0;
  font-family: var(--font-family-sans-serif);
  color: var(--color-text);
}
.attribute-option.disabled {
  pointer-events: none;
  opacity: 0.5;
}
.attribute-option:hover::after {
  content: "";
}
.attribute-option:has(:checked) {
  font-weight: 600;
  border: 2px solid var(--color-accent);
  color: var(--color-black);
}
.attribute-option:has(:checked)::after {
  content: "";
}
.attribute-option::after {
  background: var(--color-accent--muted);
  position: absolute;
  inset: 3px;
  z-index: -1;
}

.product-help-message {
  font-size: 0.875rem;
  margin-block: var(--gap);
}
@media (min-width: 992px) {
  .product-help-message {
    text-align: right;
  }
}

.uom::before {
  content: "/";
}

.woocommerce-product-details__short-description > *:last-child {
  margin-bottom: 0;
}

.product-media.loading .video-trigger svg {
  opacity: 0;
}

/*
Add to cart
*/
#add-to-cart-overlay .modal-body {
  width: 345px;
}
@media (min-width: 768px) {
  #add-to-cart-overlay .modal-body {
    width: 630px;
  }
}
#add-to-cart-overlay .title {
  font-size: var(--font-size-h4);
  margin-bottom: 25px;
}

.variations {
  margin-bottom: 24px;
}
.variations p {
  margin: 0;
}
.variations .label {
  padding-left: 0;
}
.variations .value {
  padding-right: 0;
  text-align: right;
}
.variations .value select {
  width: auto;
  padding-right: 60px;
}

.variation-group {
  display: flex;
  flex-wrap: wrap;
}
.variation-group .option {
  margin-right: 10px;
  margin-bottom: 10px;
}

#add-to-cart-totes-disclaimer {
  display: none;
  font-size: 0.75rem;
  padding-bottom: 24px;
  border-bottom: solid 1px var(--color-borders);
  margin-bottom: 24px;
}
#add-to-cart-totes-disclaimer strong {
  text-transform: uppercase;
  letter-spacing: 2px;
}
#add-to-cart-totes-disclaimer p {
  margin: 0;
}

.add-to-cart-quantity-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.item-summary {
  font-weight: 600;
  flex: 1;
}
.item-summary .total {
  font-weight: 400;
  font-size: clamp(1.5rem, 1.9093078759vw, 2rem);
  line-height: 1;
  color: var(--color-black);
}

.woocommerce-variation {
  display: none !important;
}

#price_calculator {
  display: none !important;
}

.reset_variations {
  display: none !important;
}

#oos-message {
  margin: 1em 0;
  text-align: center;
  display: none;
}
#oos-message p {
  margin-bottom: 0.5em;
}
#oos-message p:last-child {
  margin: 0;
}

.stock-message .stock {
  margin: 0;
  background: var(--color-primary--muted);
  color: var(--color-gray-text);
  padding: 15px 23px;
  margin-bottom: 30px;
}
.stock-message .stock a {
  color: var(--color-primary);
}
.stock-message .stock {
  text-align: center;
}

/*
Ratios
*/
.mix-ratios {
  padding-block: clamp(1.25rem, 5.369928401vw, 5.625rem);
  background: var(--color-primary--muted);
}
@media (min-width: 992px) {
  .mix-ratios {
    margin-left: 30px;
    margin-right: 30px;
  }
}
.mix-ratios__title {
  font-size: var(--font-size-h4);
  margin-bottom: 1em;
  font-family: var(--font-family-serif);
  font-weight: 500;
  color: var(--color-black);
}
@media (max-width: 767px) {
  .mix-ratios__title {
    text-align: center;
  }
}
.mix-ratios small {
  display: block;
  line-height: 1.125;
}
.mix-ratios__layout {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 7%;
}
@media (min-width: 768px) {
  .mix-ratios__layout {
    flex-direction: row-reverse;
  }
}
@media (min-width: 768px) {
  .mix-ratios__chart {
    width: min(50%, 452px);
  }
  .mix-ratios__legend {
    width: min(50%, 410px);
  }
}

.mix-ratios-chart {
  max-width: 158px;
  margin: 0 auto 10px;
}
@media (min-width: 768px) {
  .mix-ratios-chart {
    max-width: 300px;
  }
}
@media (min-width: 1200px) {
  .mix-ratios-chart {
    max-width: 452px;
    margin: 0 0 0 auto;
    position: sticky;
    top: 100px;
  }
}

.ratio-legend {
  width: 100%;
  margin-bottom: 20px;
  line-height: 1;
}
.ratio-legend th {
  font-weight: 400;
  text-align: left;
}
.ratio-legend td {
  padding: 10px 5px;
  border-bottom: solid 1px #D9DFC9;
  vertical-align: middle;
}
@media (min-width: 992px) {
  .ratio-legend td {
    padding: 20px 5px;
  }
}
.ratio-legend td:last-child {
  text-align: right;
  padding-right: 0;
}
.ratio-legend td:first-child {
  padding-left: 0;
}
.ratio-legend svg {
  display: block;
}

/*
Product Guide
*/
#pdp-product-guide {
  padding-inline: var(--container-padding);
  margin-block: clamp(1.875rem, 5.9665871122vw, 6.25rem);
}
@media (min-width: 768px) {
  #pdp-product-guide .section-title {
    text-align: center;
  }
}
#pdp-product-guide .dropdown {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  #pdp-product-guide .dropdown {
    display: none;
  }
}

.guide-labels {
  display: none;
  margin: 40px 0 70px;
  justify-content: center;
  border-bottom: solid 1px var(--color-borders);
}
@media (min-width: 768px) {
  .guide-labels {
    display: flex;
  }
}

@media (min-width: 768px) {
  .guide-label {
    font-weight: 700;
    text-transform: uppercase;
    font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
    letter-spacing: 1px;
    padding-bottom: 24px;
    margin: 0 19px;
    position: relative;
  }
  .guide-label:hover {
    color: var(--color-primary);
  }
  .guide-label[aria-selected=true] {
    color: var(--color-primary);
    pointer-events: none;
  }
  .guide-label[aria-selected=true]::after {
    width: 100%;
  }
  .guide-label::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 4px;
    background: var(--color-primary);
    transition: 0.3s ease-in-out;
  }
}

.guide-content-wrapper {
  max-width: min(80%, 1050px);
  margin-inline: auto;
}

.guide-content {
  transition: 0.3s ease-in-out;
}
.guide-content.is-hidden {
  transform: translateY(15px);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  height: 0;
  overflow: hidden;
}
.guide-content .title {
  font-size: var(--font-size-h4);
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 1px;
}
@media (min-width: 768px) {
  .guide-content > * {
    max-width: 80%;
  }
}
.guide-content table {
  width: 100% !important;
  max-width: none;
}
.guide-content table th,
.guide-content table td {
  width: auto !important;
}
@media (min-width: 992px) {
  .guide-content table tr:first-child strong {
    font-size: 1.125rem;
  }
}

.term-faq {
  --content-max-width: 1262px;
  padding-block: clamp(1.875rem, 5.9665871122vw, 6.25rem);
  margin-block: clamp(1.875rem, 5.9665871122vw, 6.25rem);
  padding-inline: 10px;
  margin-inline: 30px;
  background: var(--color-primary--muted);
}
.term-faq details {
  border-top: solid 1px var(--color-borders);
  position: relative;
}
.term-faq details::before {
  content: "";
  background-color: var(--color-primary);
  height: 1px;
  width: 0%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s ease-out;
}
.term-faq details[open] {
  border-top-color: solid 1px var(--color-primary);
}
.term-faq details[open]::before {
  width: 100%;
}
.term-faq details[open] summary {
  color: var(--color-black);
}
.term-faq details[open] summary svg {
  color: var(--color-primary);
  transform: scaleY(-1);
}
.term-faq details summary {
  color: var(--color-primary);
  font-family: var(--font-family-serif);
  font-size: clamp(1rem, 1.4319809069vw, 1.5rem);
  padding-block: 1.25em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-weight: 500;
}
.term-faq details summary svg {
  transition: 0.2s;
  color: #A9A9A9;
}
.term-faq .details__content {
  padding-right: 12%;
}

#pdp-reviews {
  padding: 0 var(--container-padding) 40px;
}
@media (min-width: 992px) {
  #pdp-reviews {
    padding: 0 0 75px;
  }
}
@media (min-width: 1200px) {
  #pdp-reviews {
    padding: 0 0 150px;
  }
}
@media (min-width: 768px) {
  #pdp-reviews .section-title {
    text-align: center;
  }
}

/*
Video Gallery
*/
.product-videos {
  padding-block: clamp(1.25rem, 5.369928401vw, 5.625rem);
  background: var(--color-primary--muted);
}
@media (min-width: 992px) {
  .product-videos {
    margin-left: 30px;
    margin-right: 30px;
  }
}
@media (min-width: 768px) {
  .product-videos .section-title {
    text-align: center;
  }
}
.product-videos .video-trigger {
  transition: 0.2s ease-in-out;
}
.product-videos .video-trigger:hover {
  box-shadow: 0 0 15px var(--color-borders);
}

.product-videos__layout {
  display: flex;
  justify-content: center;
  gap: 30px;
}

/*
Related Products
*/
.related-products {
  padding-block: clamp(1.25rem, 5.369928401vw, 5.625rem);
}

@media (max-width: 991px) {
  #related-products-slider {
    display: block;
    margin: 0;
  }
  #related-products-slider .item {
    width: auto;
    padding: 0 0 0 10px;
    max-width: 295px;
  }
}
@media (min-width: 992px) {
  #related-products-slider .slick-prev {
    top: 50%;
    left: auto;
    right: 100%;
  }
}
@media (min-width: 992px) {
  #related-products-slider .slick-next {
    top: 50%;
    left: 100%;
    right: auto;
  }
}
#related-products-slider .card {
  margin-inline: 15px;
}

#pdp-product-tip {
  padding-block: clamp(1.25rem, 5.369928401vw, 5.625rem);
  text-align: center;
}

.wc-pao-addons-container {
  margin-bottom: 24px;
  border-bottom: solid 1px var(--color-borders);
}
.wc-pao-addons-container .wc-pao-addon {
  padding: 0;
}
.wc-pao-addons-container .wc-pao-addon-heading {
  font-size: var(--font-size-h4);
  font-weight: 700;
  transform: none;
  letter-spacing: 0;
  text-transform: none;
  margin: 0 0 0.3em;
}
.wc-pao-addons-container .wc-pao-addon-description {
  font-style: normal;
  font-size: 0.875rem;
}
.wc-pao-addons-container .wc-pao-addon:not(.is-type-heading) {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.wc-pao-addons-container .wc-pao-addon-name {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
}
.wc-pao-addons-container .form-row {
  padding: 0;
  margin: 0;
}
.wc-pao-addons-container #product-addons-total {
  display: none;
}

#guide-content-region {
  text-align: center;
}
#guide-content-region .title,
#guide-content-region p {
  margin-inline: auto;
}

#region-map {
  max-width: 854px;
  margin-inline: auto;
  position: relative;
}
#region-map .region {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
}

.page-template-page-account .page-content {
  padding-block: var(--spacing-5) var(--spacing-10);
}

.woocommerce-MyAccount-navigation {
  border-bottom: solid 1px var(--color-borders);
  margin-bottom: var(--spacing-5);
  padding-bottom: var(--spacing-5);
}
.woocommerce-MyAccount-navigation ul {
  display: flex;
  gap: 1em;
}
.woocommerce-MyAccount-navigation li:last-child {
  flex: 1;
  text-align: right;
}
.woocommerce-MyAccount-navigation li.is-active a {
  font-weight: 700;
  color: var(--color-primary);
}

.u-columns {
  display: grid;
  gap: 30px;
}
@media (min-width: 992px) {
  .u-columns {
    grid-template-columns: repeat(2, 1fr);
  }
}

.woocommerce-Address {
  padding: 2em;
  background-color: var(--color-primary--muted);
}
.woocommerce-Address .woocommerce-Address-title {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 1.5em;
}
.woocommerce-Address .woocommerce-Address-title::before, .woocommerce-Address .woocommerce-Address-title::after {
  display: none;
}
.woocommerce-Address .woocommerce-Address-title h2 {
  margin: 0;
  letter-spacing: 0;
}

.woocommerce-MyAccount-content form {
  max-width: var(--content-max-width);
  margin-inline: auto;
}
.woocommerce-MyAccount-content form h2 {
  font-size: var(--font-size-h4);
}

.woocommerce-Address-title h2,
.woocommerce-order-details__title,
.woocommerce-column__title {
  font-size: var(--font-size-h4);
}

.woocommerce .woocommerce-customer-details address {
  border: 0;
  padding: 0;
  margin: 0;
}

.woocommerce-order-details {
  margin-block: var(--spacing-5);
}

.shop_table.order_details {
  margin: 0;
}
.shop_table.order_details tfoot th,
.shop_table.order_details tfoot td {
  padding-block: 5px;
  border: 0;
  font-size: 0.875rem;
  vertical-align: top;
}
.shop_table.order_details tfoot tr:first-child th,
.shop_table.order_details tfoot tr:first-child td {
  padding-top: 1em;
}

.woocommerce-customer-details {
  padding-block: var(--spacing-5);
}

.woocommerce-address-fields {
  display: grid;
  gap: 20px;
}
.woocommerce-address-fields > p:last-child {
  margin: 0;
}
.woocommerce-address-fields .button {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  background: var(--button-background-color, var(--color-primary));
  color: var(--button-text-color, white);
  padding: 14px 20px 13px;
  position: relative;
  transition: 0.2s ease-out;
  min-width: -moz-fit-content;
  min-width: fit-content;
  display: inline-block;
  text-decoration: none;
  text-align: left;
}
.woocommerce-address-fields .button:focus-visible, .woocommerce-address-fields .button:hover {
  color: var(--button-text-color--hover, white);
  text-decoration: none;
  background: var(--button-background-color--hover, var(--color-primary--hover));
  box-shadow: 0 0 0 2px var(--button-background-color--hover, var(--color-primary--hover));
}
.woocommerce-address-fields .button[disabled] {
  opacity: 0.5;
  color: white;
  padding: 16px 20px 14px;
  pointer-events: none;
}

.woocommerce-EditAccountForm,
.woocommerce-address-fields__field-wrapper {
  --gap: 20px;
  display: grid;
  gap: var(--gap);
}
@media (min-width: 992px) {
  .woocommerce-EditAccountForm,
  .woocommerce-address-fields__field-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
.woocommerce-EditAccountForm .button,
.woocommerce-address-fields__field-wrapper .button {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  background: var(--button-background-color, var(--color-primary));
  color: var(--button-text-color, white);
  padding: 14px 20px 13px;
  position: relative;
  transition: 0.2s ease-out;
  min-width: -moz-fit-content;
  min-width: fit-content;
  display: inline-block;
  text-decoration: none;
  text-align: left;
}
.woocommerce-EditAccountForm .button:focus-visible, .woocommerce-EditAccountForm .button:hover,
.woocommerce-address-fields__field-wrapper .button:focus-visible,
.woocommerce-address-fields__field-wrapper .button:hover {
  color: var(--button-text-color--hover, white);
  text-decoration: none;
  background: var(--button-background-color--hover, var(--color-primary--hover));
  box-shadow: 0 0 0 2px var(--button-background-color--hover, var(--color-primary--hover));
}
.woocommerce-EditAccountForm .button[disabled],
.woocommerce-address-fields__field-wrapper .button[disabled] {
  opacity: 0.5;
  color: white;
  padding: 16px 20px 14px;
  pointer-events: none;
}
.woocommerce-EditAccountForm p,
.woocommerce-address-fields__field-wrapper p {
  margin: 0;
}
.woocommerce-EditAccountForm fieldset,
.woocommerce-address-fields__field-wrapper fieldset {
  border: 0;
  padding: 0;
  display: grid;
  gap: var(--gap);
}
.woocommerce-EditAccountForm fieldset legend,
.woocommerce-address-fields__field-wrapper fieldset legend {
  color: var(--color-primary);
  font-size: var(--font-size-h4);
}

.woocommerce-address-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.woocommerce-privacy-policy-text {
  margin-block: 1em;
}

.woocommerce-form-login__submit,
.woocommerce-form-register__submit {
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.8353221957vw, 0.875rem);
  letter-spacing: 1px;
  background: var(--button-background-color, var(--color-primary));
  color: var(--button-text-color, white);
  padding: 14px 20px 13px;
  position: relative;
  transition: 0.2s ease-out;
  min-width: -moz-fit-content;
  min-width: fit-content;
  display: inline-block;
  text-decoration: none;
  text-align: left;
}
.woocommerce-form-login__submit:focus-visible, .woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:focus-visible,
.woocommerce-form-register__submit:hover {
  color: var(--button-text-color--hover, white);
  text-decoration: none;
  background: var(--button-background-color--hover, var(--color-primary--hover));
  box-shadow: 0 0 0 2px var(--button-background-color--hover, var(--color-primary--hover));
}
.woocommerce-form-login__submit[disabled],
.woocommerce-form-register__submit[disabled] {
  opacity: 0.5;
  color: white;
  padding: 16px 20px 14px;
  pointer-events: none;
}

.woocommerce-form-login__rememberme {
  display: block;
  margin-block: 1em;
}

#account_display_name_description {
  font-size: var(--font-size-small);
}
#account_display_name_description em {
  font-style: normal;
}

.cart-container {
  padding-block: var(--spacing-8);
}

.cart-remove {
  font-size: 0.75rem;
}
@media (min-width: 992px) {
  .cart-remove {
    padding-left: 10px;
  }
}

.shop_table.cart th:last-child,
.shop_table.cart td:last-child {
  text-align: right;
}
.shop_table.cart .product-remove {
  padding-inline: 0;
}
@media (max-width: 991px) {
  .shop_table.cart .product-remove svg {
    width: 24px;
  }
}
@media (min-width: 992px) {
  .shop_table.cart .product-remove {
    width: 66px;
  }
}
@media (min-width: 992px) {
  .shop_table.cart .product-thumbnail {
    width: 108px;
  }
}
@media (max-width: 991px) {
  .shop_table.cart thead {
    display: none;
  }
}

@media (max-width: 991px) {
  .woocommerce-cart-form__cart-item {
    padding-block: 10px;
    border-bottom: solid 1px var(--color-borders);
    display: grid;
    gap: 10px;
    grid-template-columns: 62px 3fr 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas: "image info price" "quantity quantity lineprice";
  }
  .woocommerce-cart-form__cart-item td {
    display: block;
    border: 0;
    padding: 0;
  }
  .woocommerce-cart-form__cart-item td.product-remove {
    grid-area: info;
  }
  .woocommerce-cart-form__cart-item td.product-thumbnail {
    grid-area: image;
  }
  .woocommerce-cart-form__cart-item td.product-name {
    grid-area: info;
  }
  .woocommerce-cart-form__cart-item td.product-price {
    grid-area: price;
    text-align: right;
  }
  .woocommerce-cart-form__cart-item td.product-price .uom {
    display: none;
  }
  .woocommerce-cart-form__cart-item td.product-remove {
    float: right;
  }
  .woocommerce-cart-form__cart-item td.product-quantity {
    grid-area: quantity;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .woocommerce-cart-form__cart-item td.product-subtotal {
    grid-area: lineprice;
    align-self: center;
  }
}

.shop_table .actions {
  text-align: center;
  padding-top: var(--spacing-3);
}
@media (min-width: 768px) {
  .shop_table .actions {
    text-align: right;
  }
}
.shop_table .actions.with-coupon {
  text-align: left;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px;
}
@media (max-width: 991px) {
  .shop_table .actions.with-coupon {
    justify-content: flex-end;
  }
}

td:has(.actions) {
  border: 0;
  padding-inline: 0;
}

.coupon {
  display: flex;
  align-items: center;
  width: min(100%, 350px);
}
.coupon input {
  width: 100%;
}
.coupon .btn {
  height: 100%;
}

.coupon-error-notice {
  margin: 0 0 0 1em;
  padding: 1em;
  background: var(--color-accent--muted);
}

.cart-collaterals {
  padding-top: var(--spacing-3);
}
@media (min-width: 992px) {
  .cart-collaterals {
    width: 40%;
    margin-left: auto;
  }
}

.wc-proceed-to-checkout {
  margin-top: 30px;
  text-align: right;
}

/*
.woocommerce-cart-form .shop_table.cart {
    tr:last-child {
        td {
            padding-left: 0;
            padding-right: 0;
        }
    }
}



.woocommerce-checkout-review-order-table .product-thumbnail img,
#add_payment_method table.cart img,
.woocommerce-cart table.cart img,
.woocommerce-checkout table.cart {
    width: 60px;
}

.woocommerce-page .woocommerce .collaterals {
    h2 {
        font-size: var(--font-size-h4);
        margin-bottom: 30px;
        transform: none;
    }

    table.shop_table {
        background: var(--color-primary--muted);
        font-weight: 700;
        margin-bottom: 30px;

        th,
        td {
            vertical-align: middle;
            line-height: 1;

            &:first-child,
            &:last-child {
                padding-left: 15px;
                padding-right: 15px;
            }

            @media (min-width: 768px) {
                padding: 20px;
            }

            @media (max-width: 767px) {

                &:first-child,
                &:last-child {
                    padding-left: 10px;
                    padding-right: 10px;
                }
            }
        }

        th {
            @include utils.microTitle;
            //   width: 35%;
        }
    }

    ul#shipping_method {
        li {
            display: flex;
            gap: .5em;
            align-items: center;
        }
    }

    .woocommerce-shipping-destination,
    .woocommerce-shipping-destination strong {
        text-align: left;
        font-weight: 400;
        font-size: 0.875rem;
        line-height: 1.5;
        margin: 0;
    }

    // make the <small> look like the cell because sometimes the method doesn't have a description, leading to an empty row
    #shipping-method-description {
        padding: 0;
        border: 0;

        br,
        .shipping-method-name {
            display: none;
        }

        small:not(:empty) {
            text-align: left;
            display: block;
            padding-inline: 15px;
            padding-block: 20px;
            border-bottom: solid 1px rgba(0, 107, 110, 0.15);
            line-height: 1.4;
        }
    }

    .woocommerce-shipping-destination {
        font-style: italic;
        margin-bottom: 1em;

        // align the change address button
        & + .woocommerce-shipping-calculator {
            text-align: left;
        }
    }

    .woocommerce-shipping-calculator {

        input,
        label,
        select {
            text-align: left;
        }
    }

    .shipping-calculator-button {
        display: inline-flex;
        align-items: center;
        margin-top: 0;
        font-size: 0.8125rem;
        background: rgba(255, 255, 255, .8);
        padding: .6em 1.25em .5em;
        border-radius: 6px;
        text-decoration: none;
    }

    .shipping-calculator-form {
        display: grid;
        gap: 1em;

        .form-row {
            padding: 0;
            margin: 0;

            label {
                font-size: 0.875rem;
            }
        }

        .button {
            @include utils.btnBase;
        }
    }
}

.woocommerce-page {

    // totals table is nested on checkout, but separate on cart. thanks WC
    table.shop_table .collaterals {
        table.shop_table {
            margin: 0;
        }
    }
}


.woocommerce-cart {
    .wc-proceed-to-checkout {
        text-align: center;
        padding: 0;

        @media (min-width: 768px) {
            text-align: right;
        }
    }
}

.return-to-shop {}

.variation-GiftItem,
.variation-GiftRule {
    display: none;
}
*/
.checkout-container {
  --section-spacing: 30px;
  margin-block: var(--spacing-4) var(--spacing-8);
}
.checkout-container .layout {
  display: grid;
}
@media (min-width: 992px) {
  .checkout-container .layout {
    grid-template-columns: 55% auto;
    gap: 7.8%;
  }
}

.login-prompt {
  display: flex;
  justify-content: flex-start;
  margin-block: var(--spacing-4);
}

.confirmation-messages.cod {
  margin-bottom: var(--section-spacing);
  padding: 30px;
  background: var(--color-primary--muted);
}
.confirmation-messages.cod > * {
  max-width: 60ch;
}
.confirmation-messages.cod > *:last-child {
  margin: 0;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.woocommerce-billing-fields h3,
.checkout-heading {
  font-size: var(--font-size-h4);
  text-transform: uppercase;
  padding-bottom: 8px;
  color: var(--color-primary);
  border-bottom: solid 1px var(--color-borders);
  margin-bottom: 1em;
}

#customer_details {
  display: grid;
  gap: var(--section-spacing);
}

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

.woocommerce-checkout-payment {
  margin-block: var(--section-spacing);
}

.wc_payment_method.payment_method_cod {
  padding: 2em;
  background: var(--color-primary--muted);
}
.wc_payment_method.payment_method_cod p {
  margin: 0;
}

wc-order-attribution-inputs {
  display: none;
}

.woocommerce-checkout-review-order {
  margin-bottom: var(--section-spacing);
}
.woocommerce-checkout-review-order .collaterals {
  padding-top: var(--section-spacing);
}
.woocommerce-checkout-review-order .product-remove {
  width: 42px;
  padding-left: 0;
}
.woocommerce-checkout-review-order .product-thumbnail {
  width: 60px;
  padding-inline: 0;
}
.woocommerce-checkout-review-order .product-total {
  text-align: right;
}

#checkout-coupon-ui {
  display: flex;
  margin-bottom: var(--section-spacing);
}

td.collaterals {
  padding: 0;
}

.form-row.place-order {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1em;
  margin: 0;
}
.form-row.place-order .g-recaptcha- {
  order: 0;
  width: 100%;
}
.form-row.place-order .login-checkout-captcha {
  margin: 0;
  order: 0;
}
.form-row.place-order #place_order {
  order: 9;
}

.woocommerce-privacy-policy-text p:last-child {
  margin-bottom: 0;
}

.checkout-inline-error-message {
  background: var(--color-accent--muted);
  padding: 0.5em;
  font-size: 0.875rem;
}

.woocommerce-order-received .woocommerce-order {
  max-width: var(--container-max-width);
  padding-inline: var(--container-padding);
  margin-inline: auto;
  box-sizing: border-box;
}

.woocommerce-order-confirmation {
  margin-block: var(--spacing-6);
}

.woocommerce-thankyou-order-received {
  font-size: var(--font-size-h4);
  text-align: center;
  margin-top: 0;
}
.woocommerce-thankyou-order-received::after {
  content: "";
  width: 60px;
  height: 2px;
  background-color: var(--color-primary);
  display: block;
  margin-inline: auto;
  margin-top: 0.5em;
}

.woocommerce-order-overview {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
  justify-content: center;
}

.woocommerce-thankyou--cod {
  background-color: var(--color-accent--muted);
  padding-block: var(--spacing-5);
}
.woocommerce-thankyou--cod > p:first-child {
  margin: 0 auto 2em;
  max-width: var(--content-max-width);
  text-align: center;
  font-size: 1.125rem;
}
.woocommerce-thankyou--cod .gform_wrapper {
  padding: 0;
  background-color: transparent;
}

/*
Auth.net fixes
*/
#site-main #wc-authorize-net-cim-credit-card-credit-card-form {
  border: 0;
  padding: 0;
}
#site-main .woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-credit-card-form-input[type=tel],
#site-main .woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-credit-card-form-input[type=text],
#site-main .woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-echeck-form-input[type=tel],
#site-main .woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-echeck-form-input[type=text],
#site-main .woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-form-nickname,
#site-main #add_payment_method input.js-sv-wc-payment-gateway-credit-card-form-input[type=tel],
#site-main #add_payment_method input.js-sv-wc-payment-gateway-credit-card-form-input[type=text],
#site-main #add_payment_method input.js-sv-wc-payment-gateway-echeck-form-input[type=tel],
#site-main #add_payment_method input.js-sv-wc-payment-gateway-echeck-form-input[type=text],
#site-main #add_payment_method input.js-sv-wc-payment-gateway-form-nickname {
  font-size: 1rem;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  background-color: white;
  box-shadow: inset 0 0 0 1px rgba(70, 37, 44, 0.2);
  transition: 0.2s ease-out;
  padding: 0 1em;
}
#site-main .woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-credit-card-form-input[type=tel]:focus,
#site-main .woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-credit-card-form-input[type=text]:focus,
#site-main .woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-echeck-form-input[type=tel]:focus,
#site-main .woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-echeck-form-input[type=text]:focus,
#site-main .woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-form-nickname:focus,
#site-main #add_payment_method input.js-sv-wc-payment-gateway-credit-card-form-input[type=tel]:focus,
#site-main #add_payment_method input.js-sv-wc-payment-gateway-credit-card-form-input[type=text]:focus,
#site-main #add_payment_method input.js-sv-wc-payment-gateway-echeck-form-input[type=tel]:focus,
#site-main #add_payment_method input.js-sv-wc-payment-gateway-echeck-form-input[type=text]:focus,
#site-main #add_payment_method input.js-sv-wc-payment-gateway-form-nickname:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--color-primary);
}
#site-main .woocommerce-checkout #payment ul.payment_methods li input {
  margin: 0;
}
#site-main .woocommerce-input-wrapper:has([type=hidden]) {
  height: auto;
  padding: 0;
}
#site-main .wc-authorize-net-cim-credit-card-new-payment-method-form {
  display: grid;
  gap: 20px;
}
@media (min-width: 992px) {
  #site-main .wc-authorize-net-cim-credit-card-new-payment-method-form {
    grid-template-columns: repeat(2, 1fr);
  }
}
#site-main .payment_method_authorize_net_cim_credit_card > p {
  margin-bottom: 0;
}

/*

#customer_details {
    .toggles {
        border-bottom: solid 1px var(--color-borders);
        display: flex;

        a {
            font-size: var(--font-size-h4);
            text-transform: uppercase;
            padding-bottom: 8px;
            width: 50%;
            text-align: center;
            position: relative;

            &.active {
                pointer-events: none;
                color: var(--color-primary);

                &:after {
                    width: 100%;
                }
            }

            &:first-child {
                &:after {
                    left: auto;
                    right: 0;
                }
            }

            &:after {
                content: "";
                width: 0;
                height: 4px;
                background: var(--color-primary);
                position: absolute;
                left: 0;
                bottom: 0;
                transition: 0.3s ease-in-out;
            }
        }
    }

    .tab {
        display: none;
        padding-top: 70px;

        &.active {
            display: block;
        }
    }

    h3 {
        font-size: var(--font-size-h4);
        text-transform: uppercase;
        color: var(--color-primary);
    }
}

.woocommerce-shipping-fields {
    margin-bottom: 65px;
}

.woocommerce form .woocommerce-billing-fields__field-wrapper,
.woocommerce form .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    gap: 24px;

    @media (min-width: 992px) {
        gap: 16px;
        grid-template-columns: 1fr 1fr;
    }

    .form-row {
        padding: 0;
        margin: 0;
        float: none;
        width: 100%;
    }
}


.woocommerce-billing-fields__field-wrapper {
    // @include utils.clearfix;
    margin-bottom: 30px;
    ;
}

.woocommerce-account-fields {
    padding-top: 10px;
}

#ship-to-different-address {
    margin-bottom: 65px;
}

#ship-to-different-address,
.woocommerce form .form-row {
    label.woocommerce-form__label-for-checkbox {
        display: flex;
        line-height: 1.1;

        input[type="checkbox"] {
            margin: 0 14px 0 0;
            min-width: 16px;
            display: block;
        }
    }
}

.woocommerce ul#shipping_method {
    li {
        margin: 0;
        border-top: solid 1px var(--color-borders);
        position: relative;

        &:first-child {
            border-top: 0;
        }

        &.selected {
            background: var(--color-primary--muted);
            border-top: 0;

            .input-wrapper {
                .input-label {
                    display: inline;
                }
            }
        }

        &.active {
            small {
                display: block;
            }

            .method-toggle {
                transform: rotate(-180deg);
            }
        }

        .input-wrapper {
            float: right;
            margin: 0 26px 0 0;
            transform: translateY(18px);
            display: flex;
            align-items: center;

            .input-label {
                display: none;
                font-weight: 700;
                color: var(--color-primary);
            }

            input {
                margin: 0 0 0 8px;
            }
        }

        input {
            margin: 0;
        }

        label {
            flex: 1;
            margin: 0;

            .amount {
                font-weight: 400;
                color: var(--color-black);
            }

            br {
                display: none;
            }

            small {
                font-weight: 400;
                font-size: 1.125rem;
                padding: 10px 26px 30px 30px;
                background: white;
                display: none;
            }
        }

        .shipping-method-name {
            padding-block: .75em;
            display: flex;
            justify-content: space-between;
            font-size: 0.875rem;
        }
    }

    .method-toggle {
        position: absolute;
        left: 0;
        width: 30px;
        height: 30px;
        top: 15px;
        transition: 0.3s ease-in-out;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

#order_review .woocommerce-checkout-review-order-table {
    margin-bottom: 30px;

    tbody {
        .cart_item:first-child {
            td {
                padding-top: 0;
            }
        }
    }

    tfoot {
        > tr > td {
            padding: 0;
        }
    }

    .product-remove {
        width: 18px;
        padding-inline: 0;
    }

    .product-thumbnail {
        width: 80px;
    }

    .product-name {
        a {
            margin-bottom: 5px;
            display: block;
        }

        .variation,
        .qty {
            font-size: 0.875rem;
            margin: 0.25em 0;
        }
    }
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background: none;
    border-radius: 0;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    background: none;
    border-radius: 0;
    padding: 0;
    margin: 0;
    font-size: 0.875rem;

    &:before {
        display: none;
    }

    &.payment_method_cod {
        margin-bottom: 30px;
        ;
        padding: 15px;
        background: var(--color-primary--muted);

        p {
            margin: 0;
        }
    }
}

#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    border: 0;
    padding: 0;
}

label[for="payment_method_securesubmit"] {
    // display: flex;
    // align-items: center;
    // justify-content: space-between;
    display: none;
}

#site-main .woocommerce-checkout #payment .payment_method_securesubmit div.payment_box {
    border-radius: 0;
    border: none;
    padding: 0;

    .securesubmit-header,
    fieldset .securesubmit-description,
    fieldset hr {
        display: none !important;
    }

    .securesubmit-content {
        padding: 0;
    }
}

#add_payment_method #payment div.form-row,
.woocommerce-cart #payment div.form-row,
.woocommerce-checkout #payment div.form-row {
    padding: 0 0 20px;
}

.payment_method_securesubmit div.payment_box .securesubmit_new_card .securesubmit_new_card_info label {
    text-transform: none;
    letter-spacing: 0;
    font-size: 1.125rem;
}

.securesubmit_new_card .woocommerce_error {
    margin: 0 0 20px !important;
    border: 0 !important;
}

.woocommerce-page .woocommerce form {

    .form-row.woocommerce-terms-and-conditions-checkbox-text label,
    .woocommerce-terms-and-conditions-checkbox-text,
    .woocommerce-privacy-policy-text,
    .woocommerce-terms-and-conditions-wrapper p {
        font-size: 0.875rem;
        font-weight: 400;
        line-height: 1.5;
        margin: 0;
        padding: 0;
    }




}


#refresh_captcha {
    font-size: 0.75rem;
}

.woocommerce-invalid #terms {
    outline-color: var(--color-accent);
}

// hide the regular form, only includes a hidden field
#wc-checkout-coupon {
    border: 0;
    padding: 0;
    margin: 0;
    border-radius: 0;
}

// fake form
#checkout-coupon-ui {
    display: flex;
    margin-bottom: 30px;
    ;

    input {
        flex: 1;
    }

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

.woocommerce ul.order_details {
    padding-left: 0;

    @media (max-width: 767px) {
        li {
            float: none;
            border: none;
        }
    }
}

*/
.contact-layout {
  padding-block: clamp(1.25rem, 5.369928401vw, 5.625rem);
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8%;
}
@media (min-width: 992px) {
  .contact-layout .media {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .contact-layout .content {
    width: 40%;
  }
}
@media (min-width: 1200px) {
  .contact-layout .content {
    width: 30%;
  }
}

@media (min-width: 992px) {
  .locations {
    padding: 0 30px;
  }
}
.locations .inner {
  padding-block: clamp(1.25rem, 5.369928401vw, 5.625rem);
  background: var(--color-primary--muted);
}
@media (max-width: 991px) {
  .locations .inner {
    padding-inline: var(--container-padding);
  }
}
@media (min-width: 1200px) {
  .locations .inner {
    gap: 110px;
    padding-inline: 110px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.locations .location {
  margin-bottom: 30px;
}
@media (max-width: 991px) {
  .locations .location {
    border-bottom: solid 1px var(--color-borders);
    padding-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .locations .location {
    padding-inline: 33px;
  }
}
@media (min-width: 1200px) {
  .locations .location {
    padding: 0;
    margin: 0;
  }
}
.locations .title {
  font-size: var(--font-size-h3);
  margin-bottom: 1em;
}
.locations .details {
  display: grid;
  gap: 20px;
}
@media (min-width: 768px) {
  .locations .details {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1200px) {
  .locations .details {
    gap: 30px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.locations .detail strong {
  display: block;
}
.locations .detail table th,
.locations .detail table td {
  border: 0;
  font-size: 1em;
  padding: 0;
  font-weight: 400;
  text-align: left;
}

.search-results .article-grid {
  max-width: 100%;
  padding: 0;
}
@media (min-width: 992px) {
  .search-results .article-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.search-bar {
  padding-block: var(--spacing-3);
  background-color: var(--color-primary--muted);
}
.search-bar form {
  display: flex;
  justify-content: center;
  margin-inline: auto;
  gap: 1em;
}
.search-bar__input {
  display: flex;
  align-items: center;
  gap: 0.5em;
  min-width: 300px;
}

.search-result-type {
  margin-block: var(--spacing-8);
}

.pages-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: solid 1px var(--color-borders);
}
.pages-list li {
  border-bottom: solid 1px var(--color-borders);
}
.pages-list a {
  text-decoration: none;
  display: block;
  padding-block: 1em;
  font-size: clamp(1.125rem, 1.4319809069vw, 1.5rem);
}
.pages-list a:hover {
  color: var(--color-accent);
}

.career__intro {
  margin-block: var(--spacing-5);
  max-width: var(--content-max-width);
  margin-inline: auto;
}

.career__layout {
  border-top: solid 1px var(--color-borders);
  margin-block: var(--spacing-5);
  padding-block: var(--spacing-5);
  display: grid;
  gap: var(--spacing-5) var(--spacing-8);
}
@media (min-width: 992px) {
  .career__layout {
    grid-template-columns: repeat(2, 1fr);
  }
}

.career__heading {
  font-size: var(--font-size-h4);
  text-transform: uppercase;
}

.products-grid {
  list-style: none;
  margin: 0;
  padding: 0;
}
.products-grid .product-category {
  border: solid 1px var(--color-borders);
}
.products-grid .product-category a {
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-decoration: none;
}

.woocommerce-loop-category__title {
  font-size: var(--font-size-h4);
  font-family: var(--font-family-serif);
  color: var(--color-black);
  margin: 0;
  font-weight: 500;
  padding: 0 10px 10px;
}
.woocommerce-loop-category__title .count {
  background: none;
  font-size: 0.8em;
  color: var(--color-primary);
}

.aligncenter {
  display: flex;
  justify-content: center;
  margin-inline: auto;
}

@media (min-width: 992px) {
  .alignright {
    float: right;
    margin: 0 0 0 1.5em;
  }
  .alignleft {
    float: left;
    margin: 0 1.5em 0 0;
  }
}
.has-text-align-left {
  text-align: left;
}

.has-text-align-center {
  text-align: center;
}
.has-text-align-center::before, .has-text-align-center::after {
  margin-inline: auto;
}

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

.is-layout-flex {
  display: flex;
}

.is-content-justification-left {
  justify-content: flex-start;
}

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

.is-content-justification-right {
  justify-content: flex-end;
}

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

.align-self-end {
  align-self: flex-end;
}

.has-primary--muted-background-color {
  background: var(--color-primary--hover);
}

@media (min-width: 768px) {
  .visible-xs-only {
    display: none;
  }
}

@media (max-width: 767px) {
  .hidden-xs {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-md-only {
    display: none;
  }
}

.hidden {
  display: none;
}
