@charset "UTF-8";
/*  --------------------------------------------------------------------------  *\

    GROOVE VELOCITY

    Created by Groove Commerce - Baltimore Maryland

    This is a custom curated framework designed and built by Groove Commerce in Baltimore
    for building BigCommerce eCommerce websites. This theme is based on the Cornerstone
    theme, but enhanced with performance, accessibility, and workflow in mind.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    BASE FILES

    These files establish the base of the theme, they include variables, 
    mixins, resets, functions, and fonts.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    FONTS

\*  --------------------------------------------------------------------------  */
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap");
/*
 * The Typekit service used to deliver this font or fonts for use on websites
 * is provided by Adobe and is subject to these Terms of Use
 * http://www.adobe.com/products/eulas/tou_typekit. For font license
 * information, see the list below.
 *
 * futura-pt:
 *   - http://typekit.com/eulas/00000000000000000001008f
 * futura-pt-condensed:
 *   - http://typekit.com/eulas/00000000000000000001203d
 *
 * © 2009-2023 Adobe Systems Incorporated. All Rights Reserved.
 */
/*{"last_published":"2023-10-24 19:37:03 UTC"}*/
@font-face {
  font-family: "futura-pt";
  src: url("https://use.typekit.net/af/2cd6bf/00000000000000000001008f/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff2"), url("https://use.typekit.net/af/2cd6bf/00000000000000000001008f/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff"), url("https://use.typekit.net/af/2cd6bf/00000000000000000001008f/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  font-stretch: normal; }

@font-face {
  font-family: "futura-pt-condensed";
  src: url("https://use.typekit.net/af/64e0cf/00000000000000000001203d/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"), url("https://use.typekit.net/af/64e0cf/00000000000000000001203d/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"), url("https://use.typekit.net/af/64e0cf/00000000000000000001203d/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  font-stretch: normal; }

.tk-futura-pt {
  font-family: "futura-pt",sans-serif; }

.tk-futura-pt-condensed {
  font-family: "futura-pt-condensed",sans-serif; }

@font-face {
  font-family: "ico";
  src: url("../fonts/ico.eot?bd17a122a1d8638592a35a7304c6fba7");
  src: url("../fonts/ico.eot?bd17a122a1d8638592a35a7304c6fba7#iefix") format("embedded-opentype"), url("../fonts/ico.woff?bd17a122a1d8638592a35a7304c6fba7") format("woff"), url("../fonts/ico.ttf?bd17a122a1d8638592a35a7304c6fba7") format("truetype");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: "ico";
  display: inline-block;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  speak: none;
  text-decoration: inherit;
  text-transform: none;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-arrow-down:before {
  content: "\f101"; }

.icon-arrow-left:before {
  content: "\f102"; }

.icon-arrow-right:before {
  content: "\f103"; }

.icon-arrow-up:before {
  content: "\f104"; }

.icon-brand-facebook:before {
  content: "\f105"; }

.icon-brand-instagram:before {
  content: "\f106"; }

.icon-brand-linkedin:before {
  content: "\f107"; }

.icon-brand-pinterest:before {
  content: "\f108"; }

.icon-brand-tiktok:before {
  content: "\f109"; }

.icon-brand-twitter:before {
  content: "\f10a"; }

.icon-brand-youtube:before {
  content: "\f10b"; }

.icon-cart-plus:before {
  content: "\f10c"; }

.icon-cart:before {
  content: "\f10d"; }

.icon-check-circle:before {
  content: "\f10e"; }

.icon-chevron-down:before {
  content: "\f10f"; }

.icon-chevron-left:before {
  content: "\f110"; }

.icon-chevron-right:before {
  content: "\f111"; }

.icon-chevron-up:before {
  content: "\f112"; }

.icon-close:before {
  content: "\f113"; }

.icon-download:before {
  content: "\f114"; }

.icon-envelope-open:before {
  content: "\f115"; }

.icon-envelope:before {
  content: "\f116"; }

.icon-exclamation-triangle:before {
  content: "\f117"; }

.icon-filters-toggles:before {
  content: "\f118"; }

.icon-filters:before {
  content: "\f119"; }

.icon-free-shipping:before {
  content: "\f11a"; }

.icon-in-stock:before {
  content: "\f11b"; }

.icon-info-circle:before {
  content: "\f11c"; }

.icon-lock:before {
  content: "\f11d"; }

.icon-map-marker:before {
  content: "\f11e"; }

.icon-minus:before {
  content: "\f11f"; }

.icon-pencil:before {
  content: "\f120"; }

.icon-phone:before {
  content: "\f121"; }

.icon-play:before {
  content: "\f122"; }

.icon-plus:before {
  content: "\f123"; }

.icon-print:before {
  content: "\f124"; }

.icon-question-circle:before {
  content: "\f125"; }

.icon-returns:before {
  content: "\f126"; }

.icon-rss:before {
  content: "\f127"; }

.icon-search:before {
  content: "\f128"; }

.icon-select-updown:before {
  content: "\f129"; }

.icon-share:before {
  content: "\f12a"; }

.icon-size-chart:before {
  content: "\f12b"; }

.icon-slash:before {
  content: "\f12c"; }

.icon-star-empty:before {
  content: "\f12d"; }

.icon-star-full:before {
  content: "\f12e"; }

.icon-thumbs-up:before {
  content: "\f12f"; }

.icon-times:before {
  content: "\f130"; }

.icon-trash:before {
  content: "\f131"; }

.icon-user:before {
  content: "\f132"; }

/*  --------------------------------------------------------------------------  *\

    GLOBAL SITE VARIABLES

    ORGANIZATION OF OUR CSS DEFINITIONS GROUP CLASS DEFINITIONS BY THE FOLLOWING TYPES

    POSITIONING (DISPLAY, FLEX, FLEX ITEM, POSITION, LEFT, TOP, TRANSFORM)
    BOX SIZING (WIDTH, HEIGHT, MARGIN, PADDING)
    BOX STYLING (OPACITY, BACKGROUND, BOX SHADOW, BORDER, BORDER RADIUS, OVERFLOW)
    FONT STYLING (FONT, FONT-FAMILY, FONT-STYLE, FONT-SIZE, LINE-HEIGHT, FONT-WEIGHT)
    TEXT STYLING (TEXT-DECORATION, TEXT-TRANSFORM, TEXT-ALIGN, TEXT-SHADOW)
    OTHER (TRANSITONS, ANIMATIONS, CURSOR)

    IF A MIXIN IS AVAILABLE USE THAT INSTEAD WRITING ALL PROPERTIES OUT

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    COLORS
    
    IT'S IMPORTANT TO USE A GENERIC NAMING SYSTEM FOR COLORS USED THROUGHOUT THE 
    SITE. THIS ALLOWS US TO BUILD UPDATE VARIABLES IN THE FUTURE WITHOUT HAVING 
    POTENTIAL ISSUES LIKE RED BECOMING GREEN DUE TO A RE-BRAND.

    Primary, Seoncdary, and Tertiary refer to the most used, second most used
    and third most used color in the pallete.  These are generally shades of
    gray used to set the color of copy and backgrounds of elements.

    Aceent colors are used to set the brand colors used throughout the web 
    design. These are commonly used to accent an element like when used as a 
    border or design element to a heading, or draw the users attention to a
    call to action like a button.

    The reason we want to stick to this style naming convention for colors
    is so that if the branding of the company changes, we can quickly update
    a variable from a light shade of green to a WCAG compliant shade of green
    and not have to do a find and replace for $lt-green and change it to 
    $dk-green.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    FONT SETTINGS

    These variables define the font settings used throughout the website.

    Setting the copies font family, size, color and line-height allows us to 
    use these variables throughout our files and ensure we are consistently
    setting things up.  These are all used in the reset file on the body and 
    html element, which should mean the only time you need to re-use these
    are when you are resetting a more specific class back to these values.

    The headings file under structure utilize the heading variables.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    MEDIA QUERIES

    Common media queries that we utilize throughout the SCSS for the website.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    GRID SETUP

    Grid variables that are used to set the base variables of the Grid Mixins.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    FEED SPACING FOR CARDS

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    COMPONENT SPACING FOR CARDS, CONTAINERS, & SECTIONS

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    MISC VARIABLES

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    GLOBAL MIXINS

    These are a common set of mixins that are commonly 

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    SCREEN READER ONLY

    This mixin hides all content from the view, but keeps it audible for 
    screen readers.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    CLEARS

    Both of the following mixins can be used to clear floated elements.

    Clearfix makes the before and after of the wrapping element able to clear
    the floats contained within it. This is good to use when all floated 
    elements are contained with in a single parent element.

    Clear makes the element itself clear the floats, this is used when an 
    element is following a floated element and needs to be on a new row.

    While floating is older and not as prefered as using newer techniques for 
    page layout, it still serves a useful purpose and should be used 
    appropriately.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    THE APPEARANCE MIXIN

    This is used to reset an objects experience of the default settings applied
    by the browser.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    THE HOVER/FOCUS MIXIN

    90% of the time when a hover psuedo class is added to an element the focus 
    psuedo class should be defined as well. These psuedo classes are also 
    generally the same styles.

    We've created the hover mixin to apply both the hover & focus states.

    This MUST be used whenever defining a hover state, unless the focus state
    requires different behavior to be applied.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    THE TRAMSFORM MIXINS

    Transform is used to move an element on the page, without triggering a 
    re-paint.  This is key when animating either through animate or transition
    on an element, the animation will be faster and work better when using the
    transform property rather than the left, top, right, and bottom properties.

    The transform mixins are a set of commonly coupled CSS 3 properties used
    together.  They are each individually defined because they don't all need
    to be used all the time.

    Transform is a must for all of the others to work, and the others are 
    useless without it.

    Transform Origin will change the location where the transform will start
    to take effect from.

    Perspective will be be amount of distance in space the transform should be
    applied from.

    Backface is used to hide the backside of an element when it's rotated and
    the back of the parent element is not visible.  Without this applied, the
    back side of the element will appear behind the front of the element.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    THE POSITION MIXIN

    The position mixin was created to help position elements by combining 
    severally coupled properties into the mixin.

    When positioning something relative, absolute, fixed, or sticky we almost
    always are defining the z-index, so that is our second variable.  Setting
    the variable to null will ignore the z-index property completely and the
    z-index will be inherited from it's natural position in the dom. Otherwise
    pass in an integer and the z-index will be defined.

    The next variable applies the direction, this can either be an array of 
    directions passed in like (top, left), or it can be a single direction like
    left.

    The next variable applies the coordinates corresponding to the direction. 
    For each direction passed in, a corresponding coordinate needs to accompany
    it. For example if (top, left) is set as our direction, then (0, 0) would 
    set the top: 0; left: 0; properties.

    The last variable to be passed in is the transform property which will 
    call the transform mixin.

    Only the position variable is required to make the mixin wor, which is why
    we default to relative, the rest are preset to null.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    THE FLEX MIXINS

    This group of mixins can be used to ensure all vendor prefixing is 
    correctly applied to support older browsers.  In addition, we couple the 
    common properties that work with flex.

    When the flex mixin is called, the first property will set the display of
    the object to flex.

    The first variable allows you to set the justify content property which 
    aligns the child elements accross the first axis. 

    Remember:
        - when setting flex-flow to column the first axis is the Y-axis 
        - when setting flex-flow to row the first axis is the X-axis

    The second variable allows you to set the align items property which 
    aligns the child elements accross the second axis. 

    Remember:
        - when setting flex-flow to column the second axis is the Y-axis 
        - when setting flex-flow to row the second axis is the X-axis

    The third variable allows you to set align content, which has no effect
    when there is only one line of items, 

    The final variable is flex-flow which allows you to set the direction and 
    whether the items inside can wrap or not.

    The Flex Item mixin is used to apply properties to the flexed item.

    The first three variables are required in order for this mixin to work.

    The grow variable tells the flex item whether it's allowed to grow to 
    fill the unused space.

    The shrink variable tells the flex item whether it's allowed to shrink
    to accomodate more elements within the space.

    The flex basis variable defines how much space the element should take up
    initially, then scale proportionatly based on that with the other sibling
    elements. Generally we leave this set to auto.

    The final variable defines the order for the element to appear.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    THE SET WIDTH MIXIN

    This mixin is used to set the width of an element based on a group of
    media queries and their corresponding widths. For example the div within
    the header, section, and footer elements all use this mixin to set the
    width of the element at a corresponding media query so they are all
    styled with the same width.
    
    The first variable is a set of media queries, the first item in the array
    will be set as the default. The following items will all be set to their
    corresponding media queries.
    
    The second variable is an array of widths, normally % based, but could be
    any value acceptable to be defined in the width property.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    THE CSS3 GRID MIXINS

    This set of mixins are used to build grid layouts using the CSS3 Grid 
    property.

    Grid Columns is used to set the columns on a parent element.

    Grid Rows is used to set the rows on a parent element.
    
    Grid Column Gap will define the space between the columns.

    Grid Row Gap will define the space between the rows.

    Grid will combine all of the above mixins into 1 mixin used to define
    the base of the parent item.  The above mixins can be used on their own
    to change their values at various media queries.

    IE11 does support grid, so we can utilize it to create complex layouts, 
    however there are some elements of the grid which it does not support.  
    This mixin will fix all of that and write out the proper settings to 
    support IE.

    We utilize the @supports feature which is not supported by IE11, but is
    supported by all browsers that also happen to use grid.  So using this 
    feature we can reset some of the settings applied to IE11.

    The grid item mixin will set specific values needed for the placement of
    the item itself.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    THE GRID LAYOUT MIXINS

    This mixin is used to create a row and column based grid structure, like 
    the one found in bootstrap, actually exactly like the one found in bootstrap.

    The Set Col Widths mixin is looped over and sets the width based of an 
    element based on how many columns are defined.

    Generate Columns is used to loop over each media query and then calls the 
    Set Col Widths mixin to build each group out.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    CSS 3 EFFECTS

    These mixins in the past have had lots of browser prefixes to make them
    work across all the browsers.

    We will maintain the prefixes, and remove them as needed.

    The mixins will continue to work, as to not break the code, but as older
    browsers decline in use, we will remove unnecessary prefixes to help keep
    our file size limited.

    Effects include:
    * Box Shadow
    * Animations
    * Filters
    * Tranistions

\*  --------------------------------------------------------------------------  */
/*--- FILTERS ---*/
/*--- TRANSITION ---*/
/*  --------------------------------------------------------------------------  *\

    THE FONT SIZE MIXIN

    This mixin was originally used to support REM and PX based measurement for
    fonts.  However, since we have moved to a completely rem based measurement
    this mixin is less likely to be used.

    This is marked for deletion in an upcoming update, but we want to keep this
    around for a little while longer.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    THE BUTTON MIXIN

    This mixin controls the base button styles since there are several different
    buttons class structures used throughout BigCommerce.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    BORDER MIXIN

    This mixin creates border around given selector for testing purposes

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    FOCUS TOOLTIP

    This mixin creates a tooltip on focus for accessibility

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    COMMON RESETS TO HELP MAKE BROWSERS DISPLAY MORE CONSISTANTLY

\*  --------------------------------------------------------------------------  */
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  color: inherit; }

/*  --------------------------------------------------------------------------  *\

    RESETS THE FONT SIZE TO BE BASE 10

\*  --------------------------------------------------------------------------  */
html {
  font-size: 100%;
  scroll-behavior: smooth;
  height: 100%; }

/*  --------------------------------------------------------------------------  *\

    PREVENTS HORIZONTAL SCROLLING WHEN IT'S UNDESIRED

\*  --------------------------------------------------------------------------  */
@media (max-width: 1199.9px) {
  html, body {
    width: 100%; } }

/*  --------------------------------------------------------------------------  *\

    REMOVES OUTLINE ON FOCUS

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    ANCHOR STYLES

    SETS A TRANSITION DEFAULT HERE FOR ALL ANCHORS.
    
    SETS UP THE SKIP CONTENT BUTTON THAT SHOULD BE FOUND AS THE FIRST ELEMENT 
    AFTER THE OPENING BODY TAG ON ALL PAGES.

\*  --------------------------------------------------------------------------  */
a {
  transition: all .25s; }
  a.skip-content {
    position: fixed;
    z-index: 10000;
    left: 50%;
    top: 0;
    -webkit-transform: translate(-50%, -101%);
    -ms-transform: translate(-50%, -101%);
    transform: translate(-50%, -101%);
    background: #fff;
    color: #1e252b;
    transition: transform 0.25s, background 0.25s, color 0.25s; }
    a.skip-content:focus {
      background: #1e252b;
      color: #fff;
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      transform: translate(-50%, 0); }
    @media print {
      a.skip-content {
        display: none; } }

/*  --------------------------------------------------------------------------  *\

    RESETS THE BUTTON TO BE JUST LIKE ALL OTHER INLINE ELEMENTS

\*  --------------------------------------------------------------------------  */
button {
  background: none;
  border: none;
  font-size: 1em;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  cursor: pointer; }

/*  --------------------------------------------------------------------------  *\

    RESETS STYLES ON INPUT ELEMENTS FOR FORMS

\*  --------------------------------------------------------------------------  */
input, select, textarea {
  border-radius: 0px;
  font-family: "Open Sans", Arial, Helvetica, sans-serif; }

/*  --------------------------------------------------------------------------  *\

    PROVIDES A CLASS FOR SCREEN READER ONLY ELEMENTS

\*  --------------------------------------------------------------------------  */
.sr-only {
  position: absolute;
  width: 1px !important;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

.icons-svg-sprite {
  display: none; }

ins {
  text-decoration: none; }

/*  --------------------------------------------------------------------------  *\

    PROVIDES A CLASS FOR FOCUSED ELEMENTS

\*  --------------------------------------------------------------------------  */
[contenteditable="true"]:focus-visible,
[href]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
button:focus-visible,
details:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 1px dashed #5E6E7E !important;
  outline-offset: 1px !important;
  outline: none; }

.facets button:focus-visible {
  outline-offset: -2px !important; }

input:focus-visible + label {
  outline: none;
  outline: 1px dashed #5E6E7E !important;
  outline-offset: 1px !important; }

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

@media (max-width: 991.9px) {
  .visuallyhidden-below-desktop {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; } }

[data-sub-layout-container], [data-sub-layout] {
  display: block !important;
  padding: 0 !important; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  select:focus,
  textarea:focus,
  input[type=text]:focus {
    font-size: 16px; } }

/*  --------------------------------------------------------------------------  *\

    GLOBAL ELEMENTS

    These files establish global elements that appear throughout the website.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    ACCORDION & TABS STYLING

    This establishes global styles used for all Accordions & Tabs Styling. For custom
    variations of the accordions, refer to their specific styling located in
    their respective files.

    We utilize a modified version of W3C Accordions & Tabs, for documentation please see:
    https://www.w3.org/TR/wai-aria-practices-1.1/examples/accordion/accordion.html

\*  --------------------------------------------------------------------------  */
.accordion dt button, .tabs dt button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-flow: row nowrap;
  width: 100%;
  text-align: left;
  padding: 0.375rem 0;
  font-weight: 700;
  font-size: 1.5rem;
  transition: .25s all ease-in-out; }
  @media (min-width: 992px) {
    .accordion dt button, .tabs dt button {
      font-size: 1.6875rem; } }
  .accordion dt button span, .tabs dt button span {
    display: block;
    transition: all .25s linear;
    font-size: 0.875rem; }
  .accordion dt button[aria-expanded="true"] span, .tabs dt button[aria-expanded="true"] span {
    transform: rotate(180deg); }

.accordion dt button > *, .tabs dt button > * {
  pointer-events: none; }

.accordion dd, .tabs dd {
  padding: 0;
  overflow: hidden;
  max-height: 0;
  transition: max-height .25s ease-in-out; }
  .accordion dd > div, .tabs dd > div {
    padding-bottom: 1rem;
    margin-bottom: 1rem; }

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated-loading {
  animation-duration: 2.2s;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  animation-name: shimmer;
  animation-timing-function: linear;
  background: #fafafa;
  background: linear-gradient(to right, #fafafa 4%, #f6f6f6 25%, #fafafa 36%);
  background-size: 1200px 100%; }

@keyframes load-ani {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@-webkit-keyframes load-ani {
  100% {
    -webkit-transform: rotate(360deg); } }

@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 0 0; }
  to {
    background-position: 40px 0; } }

@-moz-keyframes progress-bar-stripes {
  from {
    background-position: 0 0; }
  to {
    background-position: 40px 0; } }

@keyframes progress-bar-stripes {
  from {
    background-position: 0 0; }
  to {
    background-position: 40px 0; } }

@-webkit-keyframes load-animate {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(180deg);
    opacity: .35; }
  100% {
    transform: rotate(360deg); } }

@keyframes load-animate {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(180deg);
    opacity: .35; }
  100% {
    transform: rotate(360deg); } }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, var(--animationDistance), 0);
    transform: translate3d(0, var(--animationDistance), 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, var(--animationDistance), 0);
    transform: translate3d(0, var(--animationDistance), 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

.aria-description--hidden {
  position: absolute;
  top: 0;
  left: 0;
  height: 1px;
  width: 1px;
  overflow: hidden;
  margin-left: -10000px; }

/*  --------------------------------------------------------------------------  *\

    GLOBAL ELEMENTS - ALERTS

\*  --------------------------------------------------------------------------  */
.alertBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: row nowrap;
  gap: 0.5rem;
  padding: 0.5rem;
  margin: 0 0 1.5rem;
  background: #fff;
  border: 0.0625rem solid #ACF5FA; }
  .alertBox .fas {
    margin: 0 0.75rem 0 0; }
  .alertBox p {
    margin: 0;
    font-size: 0.875rem; }
  .alertBox.error {
    background: #f6c5c0;
    color: #000;
    border-color: #B82719; }
  .alertBox.success {
    background: #d5ecd3;
    color: #1d401b;
    border-color: #1d401b; }
  .alertBox.info {
    background: white;
    color: #147dab;
    border-color: #147dab; }

/*  --------------------------------------------------------------------------  *\

    Buttons

    These are used throughout the website to create a call to action for another element like
    submitting a form, linking to another page, or linking to another element on the same page.
    GENERIC BUTTON STYLES
    This sets up the base of all our styles, it's also the btn-default styles

\*  --------------------------------------------------------------------------  */
[class*="btn-"], .button {
  appearance: none;
  position: relative;
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  padding: 1rem 2.625rem;
  margin: 0;
  border: 0.0625rem solid currentColor;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  width: auto;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  line-height: inherit;
  width: 100%;
  /*  ----------------------------------------------------------------------  *\

        Button Arrow Options

        @import 'icon/_icon-top';
        @import 'icon/_icon-bottom';
        @import 'icon/_icon-left';
        @import 'icon/_icon-right';

    \*  ----------------------------------------------------------------------  */ }
  [class*="btn-"] svg, .button svg {
    display: inline-block;
    width: 1.25rem;
    height: 1rem;
    fill: currentColor; }
  [class*="btn-"]:hover, [class*="btn-"]:focus, .button:hover, .button:focus {
    text-decoration: none; }
  @media (min-width: 768px) {
    [class*="btn-"], .button {
      width: auto; } }
  [class*="btn-"] [class*="icon-"], .button [class*="icon-"] {
    margin: 0 0.5rem 0 0; }
  [class*="btn-"].sm, .button.sm {
    font-size: 0.75rem !important;
    padding: 0.5rem 0.75rem !important; }
  [class*="btn-"]:hover, [class*="btn-"]:focus, .button:hover, .button:focus {
    cursor: pointer; }

/*  --------------------------------------------------------------------------  *\

    Button Color Options

    @import 'buttons/primary';
    @import 'buttons/secondary';
    @import 'buttons/tertiary';
    @import 'buttons/text';
    @import 'buttons/dropdown';

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    Button - Primary

\*  --------------------------------------------------------------------------  */
.btn-primary, .button--primary {
  position: relative;
  /* LIGHT BACKGROUND
    --------------------------------------------------------------------------  */
  /* DARK BACKGROUND (INVERTED)
    --------------------------------------------------------------------------  */
  background: #C8390A;
  background-color: #C8390A;
  border-color: transparent;
  color: #FFFFFF; }
  .btn-primary:hover, .btn-primary:focus, .button--primary:hover, .button--primary:focus {
    background: #C9510D;
    border-color: transparent;
    color: #FFFFFF !important; }
    .btn-primary:hover[disabled], .btn-primary:focus[disabled], .button--primary:hover[disabled], .button--primary:focus[disabled] {
      cursor: not-allowed;
      background: #EDEFF0;
      border-color: transparent;
      color: #5E6E7E !important; }
  .btn-primary:active, .button--primary:active {
    background: #873A05;
    border-color: transparent;
    color: #FFFFFF !important; }
  .btn-primary[disabled], .button--primary[disabled] {
    cursor: not-allowed;
    background: #EDEFF0;
    border-color: transparent;
    color: #5E6E7E; }
  .btn-primary.invert, .button--primary.invert {
    background: #C8390A;
    border-color: transparent;
    color: #FFFFFF; }
    .btn-primary.invert:hover, .btn-primary.invert:focus, .button--primary.invert:hover, .button--primary.invert:focus {
      background: #C9510D;
      border-color: transparent;
      color: #FFFFFF; }
    .btn-primary.invert:active, .button--primary.invert:active {
      background: #873A05;
      border-color: transparent;
      color: #FFFFFF; }
    .btn-primary.invert[disabled], .button--primary.invert[disabled] {
      cursor: not-allowed;
      background: #5E6E7E;
      border-color: transparent;
      color: #1e252b; }
  .btn-primary.form-btn, .button--primary.form-btn {
    height: 2.25rem;
    width: 2.25rem;
    padding: 0;
    margin: 0 auto; }
    .btn-primary.form-btn span, .button--primary.form-btn span {
      margin: 0; }
  .btn-primary i, .button--primary i {
    font-size: 1.25rem; }

#form-action-addToCart {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  width: 11.875rem; }
  #form-action-addToCart[disabled] {
    background: #873A05 !important;
    border-color: #873A05 !important;
    color: white !important; }

/*  --------------------------------------------------------------------------  *\

    Button - Secondary

\*  --------------------------------------------------------------------------  */
.btn-secondary, .button--secondary {
  /* LIGHT BACKGROUND
    --------------------------------------------------------------------------  */
  /* DARK BACKGROUND (INVERTED)
    --------------------------------------------------------------------------  */
  background: transparent;
  background-color: transparent;
  border-color: #253557;
  color: #253557; }
  .btn-secondary:hover, .btn-secondary:focus, .button--secondary:hover, .button--secondary:focus {
    background: #9EC5EB;
    border-color: #253557;
    color: #253557; }
  .btn-secondary:active, .button--secondary:active {
    background: #253557;
    border-color: transparent;
    color: #FFFFFF; }
  .btn-secondary[disabled], .button--secondary[disabled] {
    cursor: not-allowed;
    background: #EDEFF0;
    border-color: transparent;
    color: #5E6E7E; }
  .btn-secondary.invert, .button--secondary.invert {
    background: transparent;
    border-color: #FFFFFF;
    color: #FFFFFF; }
    .btn-secondary.invert:hover, .btn-secondary.invert:focus, .button--secondary.invert:hover, .button--secondary.invert:focus {
      background: #5E6E7E;
      border-color: #FFFFFF;
      color: #FFFFFF; }
    .btn-secondary.invert:active, .button--secondary.invert:active {
      background: transparent;
      border-color: #9EC5EB;
      color: #9EC5EB; }
    .btn-secondary.invert[disabled], .button--secondary.invert[disabled] {
      cursor: not-allowed;
      background: transparent;
      border-color: #5E6E7E;
      color: #5E6E7E; }

/*  --------------------------------------------------------------------------  *\

    Button - Tertiary

\*  --------------------------------------------------------------------------  */
.btn-tertiary, .button--tertiary {
  /* LIGHT BACKGROUND
    --------------------------------------------------------------------------  */
  /* DARK BACKGROUND (INVERTED)
    --------------------------------------------------------------------------  */
  background: transparent;
  background-color: transparent;
  border-color: #1e252b;
  color: #1e252b; }
  .btn-tertiary:hover, .btn-tertiary:focus, .button--tertiary:hover, .button--tertiary:focus {
    background: #EDEFF0;
    border-color: #1e252b;
    color: #1e252b; }
  .btn-tertiary:active, .button--tertiary:active {
    background: linear-gradient(rgba(30, 37, 43, 0.2), rgba(30, 37, 43, 0.2)), linear-gradient(#EDEFF0, #EDEFF0);
    border-color: #1e252b;
    color: #1e252b; }
  .btn-tertiary[disabled], .button--tertiary[disabled] {
    cursor: not-allowed;
    background: transparent;
    border-color: #9EC5EB;
    color: #9EC5EB; }
  .invert .btn-tertiary, .invert .button--tertiary {
    background: transparent;
    border-color: #ffffff;
    color: #ffffff; }
    .invert .btn-tertiary:hover, .invert .btn-tertiary:focus, .invert .button--tertiary:hover, .invert .button--tertiary:focus {
      background: #253557;
      border-color: #ffffff;
      color: #ffffff; }
    .invert .btn-tertiary:active, .invert .button--tertiary:active {
      background: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)), linear-gradient(#253557, #253557);
      border-color: #1e252b;
      color: #1e252b; }
    .invert .btn-tertiary[disabled], .invert .button--tertiary[disabled] {
      cursor: not-allowed;
      background: transparent;
      border-color: #9EC5EB;
      color: #9EC5EB; }

/*  --------------------------------------------------------------------------  *\

    Button - Text

\*  --------------------------------------------------------------------------  */
.btn-txt {
  color: #253557;
  text-decoration: underline;
  padding: 0;
  border: none;
  text-transform: uppercase;
  width: auto; }
  .btn-txt:hover, .btn-txt:focus {
    color: #C8390A;
    text-decoration: underline; }
  .btn-txt:active {
    color: #9c2f00;
    text-decoration: underline; }
  .btn-txt[disabled] {
    cursor: not-allowed;
    text-decoration: underline;
    color: #9EC5EB; }
  .invert .btn-txt {
    color: #FFFFFF; }
    .invert .btn-txt:hover, .invert .btn-txt:focus {
      color: #ACF5FA; }
    .invert .btn-txt:active {
      color: #C8390A; }
    .invert .btn-txt[disabled] {
      cursor: not-allowed;
      color: #253557; }

.btn-dropdown {
  position: relative;
  z-index: 1; }
  .btn-dropdown:hover > ul {
    display: block; }
  .btn-dropdown:focus-within > ul {
    display: block; }
  .btn-dropdown ul {
    display: none;
    position: absolute;
    left: 0 !important;
    top: 100% !important;
    border: 0.0625rem solid #1e252b;
    background: #fff;
    overflow: hidden;
    width: 100%; }
    .btn-dropdown ul li {
      padding: 0; }
      .btn-dropdown ul li:before {
        display: none; }
      .btn-dropdown ul li + li {
        border-top: 0.0625rem solid #1e252b;
        margin: 0; }
    .btn-dropdown ul a, .btn-dropdown ul button, .btn-dropdown ul input[type="button"], .btn-dropdown ul input[type="submit"] {
      display: block;
      padding: 0.9375rem 2.0625rem;
      margin: 0;
      width: 100%;
      background: none;
      border: none; }
      .btn-dropdown ul a:hover, .btn-dropdown ul a:focus, .btn-dropdown ul button:hover, .btn-dropdown ul button:focus, .btn-dropdown ul input[type="button"]:hover, .btn-dropdown ul input[type="button"]:focus, .btn-dropdown ul input[type="submit"]:hover, .btn-dropdown ul input[type="submit"]:focus {
        background: #1e252b;
        color: #fff; }
  .btn-dropdown [class*="btn-"][aria-expanded="true"] {
    border-radius: 1.4375rem 1.4375rem 0 0; }
    .btn-dropdown [class*="btn-"][aria-expanded="true"] + ul {
      display: block; }

.CheckoutButton {
  width: 100% !important;
  text-align: center; }
  .CheckoutButton .or-use-label {
    margin: 0.5rem 0 !important; }
  .CheckoutButton div {
    width: 100%; }
    .CheckoutButton div > div {
      max-width: 100%;
      margin-bottom: 0.125rem; }

.apple-pay-checkout-button {
  background-color: #000;
  background-image: -webkit-named-image(apple-pay-logo-white);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 100% 60%;
  border-radius: 0.25rem;
  cursor: pointer;
  display: none;
  max-height: 4rem;
  min-height: 2rem;
  min-width: 90px;
  width: 160px; }

.apple-pay-checkout-button--white {
  background-color: #fff;
  background-image: -webkit-named-image(apple-pay-logo-black); }

.apple-pay-checkout-button--white-border {
  background-color: #fff;
  background-image: -webkit-named-image(apple-pay-logo-black);
  border: 0.5px solid #000; }

.apple-pay-supported .apple-pay-checkout-button {
  display: block;
  float: right; }

.apple-pay-supported .previewCartCheckout .apple-pay-checkout-button,
.apple-pay-supported .productView-options .apple-pay-checkout-button {
  display: inline-block;
  float: none; }

/*  --------------------------------------------------------------------------  *\

    MANUAL CAPTCHA STYLING

\*  --------------------------------------------------------------------------  */
.manual-captcha-input-container {
  align-items: center;
  display: flex; }
  .manual-captcha-input-container .question {
    font-size: 1.25rem;
    margin-right: 1rem; }
  .manual-captcha-input-container .form-input {
    flex: 1; }

/*  --------------------------------------------------------------------------  *\

    CAROUSEL STYLING

    This establishes global styles used for all Carousel Styling. For custom
    variations of the carousel, refer to their specific styling located in
    their respective files.

    We utilize slick slider for carousels, for documentation please see:
    https://kenwheeler.github.io/slick/ 

\*  --------------------------------------------------------------------------  */
[data-slick] {
  display: flex;
  flex-direction: row;
  opacity: 0; }
  [data-slick].slick-initialized {
    opacity: 1; }
  .pagebuilder [data-slick] {
    opacity: 1; }

.carousel-heading-container button {
  display: none; }

.carousel-heading-container h2 {
  margin: 0 auto;
  margin-bottom: 1.5rem; }
  @media (min-width: 992px) {
    .carousel-heading-container h2 {
      margin-bottom: 2.5rem; } }

.slick-slide .card > .img,
.slick-slide .heroCarousel-image {
  -webkit-touch-callout: default; }

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

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

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  display: flex; }

.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 {
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    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; }

/*  --------------------------------------------------------------------------  *\

    CAROUSEL EXTRAS

\*  --------------------------------------------------------------------------  */
:root {
  --mobile-slides: 1;
  --tablet-slides: 1;
  --desktop-slides: 1;
  --mobile-gap: 1px;
  --tablet-gap: 1px;
  --desktop-gap: 1px; }

.global-card-gaps {
  --mobile-gap: 16px;
  --tablet-gap: 16px;
  --desktop-gap: 32px; }

.carousel-grid {
  user-select: auto !important; }
  .carousel-grid .slider {
    user-select: auto !important;
    cursor: auto !important; }

.carousel-grid {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }
  .carousel-grid .slider {
    margin-bottom: 0.625rem; }
    .carousel-grid .slider::-webkit-scrollbar {
      width: var(--scrollbar-height, 10px);
      height: var(--scrollbar-width, 10px);
      display: none; }
    .carousel-grid .slider::-webkit-scrollbar-track {
      background: var(--scrollbar-track-color, #fff); }
    .carousel-grid .slider::-webkit-scrollbar-thumb {
      background: var(--scrollbar-track-color, #fff);
      border-radius: 10px; }
  .carousel-grid:hover .slider::-webkit-scrollbar-track {
    background: var(--scrollbar-track-color, #eee); }
  .carousel-grid:hover .slider::-webkit-scrollbar-thumb {
    background: var(--scrollbar-track-color, #C8390A);
    border-radius: 10px; }
  .carousel-grid h2 {
    text-align: center;
    margin-bottom: 2rem; }
    @media (min-width: 992px) {
      .carousel-grid h2 {
        margin-bottom: 2.5rem; } }
  .carousel-grid .controls-container {
    position: absolute;
    visibility: hidden;
    width: 100%;
    display: none; }
    .carousel-grid .controls-container > div {
      position: relative; }
    @media (min-width: 992px) {
      .carousel-grid .controls-container {
        display: block; } }
  .carousel-grid .info {
    display: none; }
  .carousel-grid .dots {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3125rem;
    justify-content: center; }
    .carousel-grid .dots .dot {
      border: 2px solid fuchsia;
      border: none;
      width: 10px;
      height: 10px;
      background: #fff;
      border-radius: 50%;
      margin: 0 2px;
      cursor: pointer;
      border: 1px solid #1e252b; }
    .carousel-grid .dots .dot--active {
      background: #1e252b; }
  .carousel-grid .slider {
    /*
        1 = 1 + 0/(1-1) = 0
        2 = 1 + 1/(2-1) = 2
        3 = 1 + 1/(3-1) = 1.5
        4 = 1 + 1/(4-1) = 1.3
        */
    display: grid;
    gap: var(--mobile-gap);
    grid-auto-flow: column;
    grid-auto-columns: calc(1 / var(--mobile-slides) * 100% - var(--mobile-gap) / (1 + (1 / (var(--mobile-slides) - 1))));
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    transition: all 0.1s;
    transform: scale(1);
    will-change: transform;
    user-select: none;
    cursor: pointer; }
    .carousel-grid .slider::-webkit-scrollbar {
      display: none; }
    @media (hover: none) {
      .carousel-grid .slider {
        scroll-snap-type: x mandatory; } }
    @media (min-width: 768px) {
      .carousel-grid .slider {
        gap: var(--tablet-gap);
        grid-auto-columns: calc(1 / var(--tablet-slides) * 100% - var(--tablet-gap) / (1 + (1 / (var(--tablet-slides) - 1))));
        scroll-snap-type: none; } }
    @media (min-width: 992px) {
      .carousel-grid .slider {
        gap: var(--desktop-gap);
        grid-auto-columns: calc(1 / var(--desktop-slides) * 100% - var(--desktop-gap) / (1 + (1 / (var(--desktop-slides) - 1)))); } }
    .carousel-grid .slider.active {
      transform: scale(1);
      scroll-snap-type: none; }
      .carousel-grid .slider.active * {
        cursor: grabbing;
        cursor: -webkit-grabbing; }

/*  --------------------------------------------------------------------------  *\

    CAROUSEL > ARROWS

\*  --------------------------------------------------------------------------  */
.slick-arrow, .scroll-arrow {
  height: 3.5rem;
  width: 3.5rem;
  border: 1px solid #5E6E7E;
  border-radius: 3.5rem;
  font-size: 1.25rem;
  background: #fff;
  color: #1e252b;
  transition: background .25s linear;
  z-index: 1;
  transition: .2s ease-in-out;
  position: relative;
  right: auto;
  left: auto;
  flex-shrink: 1;
  order: 4; }
  .slick-arrow:hover, .slick-arrow:focus, .scroll-arrow:hover, .scroll-arrow:focus {
    border: none;
    background: #5E6E7E;
    color: #FFFFFF;
    box-shadow: 0px 5px 11px rgba(33, 33, 33, 0.1); }
  .slick-arrow:active, .scroll-arrow:active {
    border: none;
    background: #1e252b; }
  .slick-arrow.slick-hidden, .scroll-arrow.slick-hidden {
    display: none; }
  .slick-arrow.slick-prev, .slick-arrow.scroll-left, .scroll-arrow.slick-prev, .scroll-arrow.scroll-left {
    margin-right: 0.5rem; }

.slick-disabled, .scroll-disabled {
  background: #EDEFF0;
  color: #5E6E7E;
  border: 1px solid transparent;
  transition: none;
  opacity: 0.5; }
  .slick-disabled .carousel-tooltip, .scroll-disabled .carousel-tooltip {
    display: none; }
  .slick-disabled:hover, .slick-disabled:focus, .scroll-disabled:hover, .scroll-disabled:focus {
    cursor: not-allowed;
    background: #EDEFF0 !important;
    color: #5E6E7E !important;
    box-shadow: none !important;
    border: 1px solid transparent !important; }

.arrows-pos-side {
  position: relative; }
  .arrows-pos-side .slick-arrow, .arrows-pos-side .scroll-arrow {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%); }
    .arrows-pos-side .slick-arrow.slick-prev, .arrows-pos-side .slick-arrow.scroll-left, .arrows-pos-side .scroll-arrow.slick-prev, .arrows-pos-side .scroll-arrow.scroll-left {
      left: -1.75rem; }
    .arrows-pos-side .slick-arrow.slick-next, .arrows-pos-side .slick-arrow.scroll-right, .arrows-pos-side .scroll-arrow.slick-next, .arrows-pos-side .scroll-arrow.scroll-right {
      right: -1.75rem; }
  .arrows-pos-side .line {
    display: none !important; }

.arrows-pos-lower .controls-container {
  right: 10px;
  width: auto;
  bottom: 0; }

.arrows-pos-upper .controls-container {
  right: 10px;
  width: auto;
  top: 0; }

.arrows-small {
  position: relative; }
  .arrows-small .slick-arrow, .arrows-small .scroll-arrow {
    font-size: 0.875rem;
    height: 1.625rem;
    width: 1.625rem;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%); }
    .arrows-small .slick-arrow.slick-prev, .arrows-small .slick-arrow.scroll-left, .arrows-small .scroll-arrow.slick-prev, .arrows-small .scroll-arrow.scroll-left {
      left: -0.8125rem; }
    .arrows-small .slick-arrow.slick-next, .arrows-small .slick-arrow.scroll-right, .arrows-small .scroll-arrow.slick-next, .arrows-small .scroll-arrow.scroll-right {
      right: -0.8125rem; }

.arrows-pos-side-half {
  position: relative; }
  .arrows-pos-side-half .slick-arrow, .arrows-pos-side-half .scroll-arrow {
    height: 2.875rem;
    width: 2.875rem;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%); }
    .arrows-pos-side-half .slick-arrow.slick-prev, .arrows-pos-side-half .slick-arrow.scroll-left, .arrows-pos-side-half .scroll-arrow.slick-prev, .arrows-pos-side-half .scroll-arrow.scroll-left {
      left: 0;
      border-radius: 0 3.125rem 3.125rem 0; }
      @media (max-width: 767.9px) {
        .arrows-pos-side-half .slick-arrow.slick-prev, .arrows-pos-side-half .slick-arrow.scroll-left, .arrows-pos-side-half .scroll-arrow.slick-prev, .arrows-pos-side-half .scroll-arrow.scroll-left {
          border-left: 0; } }
      @media (min-width: 992px) {
        .arrows-pos-side-half .slick-arrow.slick-prev, .arrows-pos-side-half .slick-arrow.scroll-left, .arrows-pos-side-half .scroll-arrow.slick-prev, .arrows-pos-side-half .scroll-arrow.scroll-left {
          left: -1.25rem;
          border-radius: 3.125rem; } }
    .arrows-pos-side-half .slick-arrow.slick-next, .arrows-pos-side-half .slick-arrow.scroll-right, .arrows-pos-side-half .scroll-arrow.slick-next, .arrows-pos-side-half .scroll-arrow.scroll-right {
      right: 0;
      border-radius: 3.125rem 0 0 3.125rem; }
      @media (max-width: 767.9px) {
        .arrows-pos-side-half .slick-arrow.slick-next, .arrows-pos-side-half .slick-arrow.scroll-right, .arrows-pos-side-half .scroll-arrow.slick-next, .arrows-pos-side-half .scroll-arrow.scroll-right {
          border-right: 0; } }
      @media (min-width: 992px) {
        .arrows-pos-side-half .slick-arrow.slick-next, .arrows-pos-side-half .slick-arrow.scroll-right, .arrows-pos-side-half .scroll-arrow.slick-next, .arrows-pos-side-half .scroll-arrow.scroll-right {
          right: -1.25rem;
          border-radius: 3.125rem; } }

.arrows-none {
  display: none !important; }

/*  --------------------------------------------------------------------------  *\

    CAROUSEL > DOTS

\*  --------------------------------------------------------------------------  */
.slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap;
  margin-top: 1.5rem; }
  @media (min-width: 992px) {
    .slick-dots {
      margin-top: 3rem; } }
  .slick-dots li {
    margin: 0 0.25rem;
    padding: 0; }
    @media (min-width: 992px) {
      .slick-dots li {
        margin: 0 0.5rem; } }
    .slick-dots li button {
      display: block;
      width: 0.5rem;
      height: 0.5rem;
      border-radius: 100%;
      background: #fff;
      border: 0.0625rem solid #1e252b; }
      @media (min-width: 992px) {
        .slick-dots li button {
          width: 0.75rem;
          height: 0.75rem; } }
      .slick-dots li button:hover, .slick-dots li button:focus {
        background: #B9B9AD; }
    .slick-dots li:before {
      display: none; }
    .slick-dots li.slick-active button {
      background: #1e252b; }

.carousel-tooltip {
  display: block;
  position: relative; }
  .carousel-tooltip:before {
    content: " ";
    position: absolute;
    right: 0;
    top: 50%;
    border-width: 0.625rem;
    border-style: solid;
    border-color: transparent transparent #1e252b transparent; }
  .carousel-tooltip:after {
    content: attr(aria-label);
    padding: 0.25rem 0.375rem;
    background-color: #1e252b;
    color: #fff;
    position: absolute;
    font-size: 1rem;
    white-space: nowrap;
    right: 0;
    top: 100%;
    cursor: default;
    border-radius: 0.5rem; }
  .carousel-tooltip:before, .carousel-tooltip:after {
    display: none; }
  .carousel-tooltip:focus:before, .carousel-tooltip:focus:after {
    display: block; }
  .carousel-tooltip:after {
    padding: 0.5rem;
    top: 0.625rem; }
  .slick-prev:focus .carousel-tooltip:before, .slick-prev:focus .carousel-tooltip:after,
  .slick-next:focus .carousel-tooltip:before,
  .slick-next:focus .carousel-tooltip:after,
  .slick-dots button:focus .carousel-tooltip:before,
  .slick-dots button:focus .carousel-tooltip:after {
    display: block; }
  .slick-prev .carousel-tooltip,
  .slick-next .carousel-tooltip {
    top: 0.625rem;
    right: 0.625rem; }
    .slick-prev .carousel-tooltip:before,
    .slick-next .carousel-tooltip:before {
      top: -0.4375rem; }
  .slick-prev .carousel-tooltip:before {
    right: -0.125rem; }
  .slick-prev .carousel-tooltip:after {
    right: auto;
    left: -0.3125rem; }
  .slick-next .carousel-tooltip:after {
    right: -0.3125rem; }
  .slick-dots button .carousel-tooltip {
    top: 0.5rem; }
    .slick-dots button .carousel-tooltip:before, .slick-dots button .carousel-tooltip:after {
      right: 50%;
      transform: translateX(50%); }
    .slick-dots button .carousel-tooltip:before {
      top: -0.4375rem; }

.compare-container {
  position: fixed;
  bottom: 0;
  width: 100vw;
  padding: 1.25rem 0;
  background: #5E6E7E;
  text-align: center;
  z-index: 1000000;
  opacity: 0;
  transition: background-color 1s ease;
  pointer-events: none; }
  .compare-container.show {
    opacity: 1;
    background-color: #253557;
    color: #fff;
    pointer-events: inherit; }

.countPill {
  background-color: #C8390A;
  border-radius: 50%;
  color: #ffffff;
  display: none;
  height: 20px;
  line-height: 20px;
  margin-left: 0.625rem;
  text-align: center;
  width: 20px; }

.countPill--positive {
  display: inline-block; }

/*  --------------------------------------------------------------------------  *\

    CONTAINER

\*  --------------------------------------------------------------------------  */
.container {
  margin: 0 auto;
  max-width: 1400px;
  width: 100%;
  padding: 0 1.5rem; }
  @media (min-width: 992px) {
    .container {
      width: 100%; } }
  @media (min-width: 1425px) {
    .container {
      width: 100%; } }
  @media (min-width: 768px) {
    .container {
      padding: 0 2rem; } }
  @media (min-width: 992px) {
    .container {
      padding: 0 3rem; } }

.container-mobile {
  padding: 0; }
  .container-mobile .slider {
    padding-left: 1.5rem; }
  @media (min-width: 768px) {
    .container-mobile {
      padding: 0 2rem; }
      .container-mobile .slider {
        padding-left: initial; } }
  @media (min-width: 992px) {
    .container-mobile {
      padding: 0 3rem; } }

.contained {
  max-width: 87.5rem;
  margin: 0 auto; }

/*  --------------------------------------------------------------------------  *\

    COPY STYLING

    Global styles for all basic copy styling.
    This should set all basic copy elements at the root level for each, then
    you can modify for specific components later.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    COPY - BODY STYLES

\*  --------------------------------------------------------------------------  */
body {
  color: #1e252b;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  font-size: 0.875rem;
  line-height: 1.3125rem;
  background: #fff;
  overflow-x: hidden; }
  @media (min-width: 992px) {
    body {
      font-size: 1rem; } }

strong, b {
  font-weight: 700; }

.danger {
  color: #B82719; }

.invert {
  color: #fff; }

/*  --------------------------------------------------------------------------  *\

    COPY - BASIC LINK STYLES

    BUTTONS are located in the Components > Basic > Button file.

\*  --------------------------------------------------------------------------  */
a {
  color: #253557;
  text-decoration: underline; }
  a:hover, a:focus {
    color: #C8390A;
    text-decoration: underline; }
  a:active {
    color: #9c2f00; }
  a[disabled] {
    cursor: not-allowed;
    color: #B9B9AD; }
  .invert a {
    color: #FFFFFF; }
    .invert a:hover, .invert a:focus {
      color: #ACF5FA; }
    .invert a:active {
      color: #9EC5EB; }
    .invert a[disabled] {
      cursor: not-allowed;
      color: #5E6E7E; }

/*  --------------------------------------------------------------------------  *\

    COPY - BLOCK ELEMENTS

\*  --------------------------------------------------------------------------  */
p, ul, ol, dl, table, blockquote, figure, address {
  margin: 0 0 1rem; }
  @media (min-width: 768px) {
    p, ul, ol, dl, table, blockquote, figure, address {
      margin: 0 0 1.5rem; } }
  p:last-child, ul:last-child, ol:last-child, dl:last-child, table:last-child, blockquote:last-child, figure:last-child, address:last-child {
    margin-bottom: 0 !important; }

p {
  margin: 0 0 1rem;
  line-height: 1.3125rem; }
  p:last-of-type {
    margin: 0 0 1.5rem; }
  @media (min-width: 992px) {
    p {
      line-height: 1.6875rem; } }

hr {
  margin: auto;
  height: 0.0625rem;
  max-width: 1400px;
  background: #5E6E7E;
  border: none; }
  hr .dashed {
    background: repeating-linear-gradient(90deg, #1e252b, #1e252b 6px, transparent 6px, transparent 12px); }

/*  --------------------------------------------------------------------------  *\

    COPY - BODY STYLES

\*  --------------------------------------------------------------------------  */
h1, .h1, h2, .h2, h3, .h3, .h3, h4, .h4 {
  color: #1e252b;
  font-family: "futura-pt-condensed", Arial, Helvetica, sans-serif;
  margin-bottom: 1rem; }
  @media (min-width: 992px) {
    h1, .h1, h2, .h2, h3, .h3, .h3, h4, .h4 {
      margin-bottom: 1rem; } }
  h1.normal, .h1.normal, h2.normal, .h2.normal, h3.normal, .h3.normal, .h3.normal, h4.normal, .h4.normal {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    text-transform: capitalize; }
  .invert h1, .invert .h1, .invert h2, .invert .h2, .invert h3, .invert .h3, .invert .h3, .invert h4, .invert .h4 {
    color: #fff; }

h1, .h1 {
  font-size: 2rem;
  line-height: 2.5rem;
  font-weight: 700;
  text-transform: uppercase; }
  @media (min-width: 992px) {
    h1, .h1 {
      font-size: 2.5rem;
      line-height: 3rem; } }

h2, .h2 {
  font-size: 1.6875rem;
  line-height: 1.875rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-transform: uppercase; }
  @media (min-width: 992px) {
    h2, .h2 {
      font-size: 2rem;
      line-height: 2.25rem; } }

h3, .h3 {
  font-size: 1.5rem;
  line-height: 1.6875rem;
  font-weight: 400;
  text-transform: capitalize;
  font-family: "futura-pt", Arial, Helvetica, sans-serif; }
  @media (min-width: 992px) {
    h3, .h3 {
      font-size: 1.6875rem;
      line-height: 2.25rem; } }

h4, .h4 {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  font-family: "futura-pt", Arial, Helvetica, sans-serif;
  text-transform: initial; }
  @media (min-width: 992px) {
    h4, .h4 {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

h5, .h5 {
  font-size: 0.875rem;
  line-height: 1.3125rem;
  font-weight: 400;
  margin-bottom: 0.5rem;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  text-transform: initial; }
  @media (min-width: 992px) {
    h5, .h5 {
      font-size: 1.125rem;
      line-height: 1.6875rem; } }
  h5.upper, .h5.upper {
    text-transform: uppercase; }
  h5.sentence, .h5.sentence {
    font-weight: 400; }

/*  --------------------------------------------------------------------------  *\

    COPY - LIST STYLES

    Below are resets that will make working with custom bullets and numbers
    much easier.

\*  --------------------------------------------------------------------------  */
ul, ol {
  list-style: none; }
  ul li, ol li {
    position: relative;
    z-index: 0;
    padding: 0 0 0 1.25rem; }
    ul li:before, ol li:before {
      position: absolute;
      z-index: 0;
      left: 0;
      top: 0.625rem;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%); }
    ul li + li, ol li + li {
      margin: 0.625rem 0 0; }
  ul ul, ul ol, ol ul, ol ol {
    margin-bottom: 0; }
  nav ul li, nav ol li {
    padding: 0;
    margin: 0; }
    nav ul li:before, nav ol li:before {
      display: none; }

/*  --------------------------------------------------------------------------  *\

    IMPORTS FOR EACH LIST DEFINITION

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    COPY - LISTS - UNORDERED

\*  --------------------------------------------------------------------------  */
ul li:before {
  width: 0.25rem;
  height: 0.25rem;
  background: #1e252b;
  border-radius: 0.25rem;
  content: ""; }

ul ul li:before {
  border-radius: 0; }

ul ul ul li:before {
  -webkit-transform: translate(0, -50%) rotate(45deg);
  -ms-transform: translate(0, -50%) rotate(45deg);
  transform: translate(0, -50%) rotate(45deg); }

/*  --------------------------------------------------------------------------  *\

    COPY - LISTS - ORDERED

\*  --------------------------------------------------------------------------  */
ol {
  counter-reset: grv-counter; }
  ol li {
    counter-increment: grv-counter; }
    ol li:before {
      content: counter(grv-counter) ".";
      font-size: 0.75rem;
      font-weight: 600;
      top: 1em; }
  ol ol {
    margin: 0 0 0 2em; }
    ol ol li:before {
      content: counter(grv-counter, lower-alpha) "."; }
    ol ol ol li:before {
      content: counter(grv-counter, lower-roman) "."; }
  ol.alpha li:before {
    content: counter(grv-counter, upper-alpha) "."; }

/*  --------------------------------------------------------------------------  *\

    COPY - LISTS - DEFINITION

\*  --------------------------------------------------------------------------  */
dl dt {
  font-size: 1.8;
  font-weight: bold; }
  dl dt ~ dt {
    margin: .5em 0 0; }

dl dd {
  padding: 0 0 0 1em; }

/*  --------------------------------------------------------------------------  *\

    COPY - ALIGNMENTS

\*  --------------------------------------------------------------------------  */
.ta-left {
  text-align: left !important; }

.ta-center {
  text-align: center !important; }

.ta-right {
  text-align: right !important; }

/*  --------------------------------------------------------------------------  *\

    FOOTER

\*  --------------------------------------------------------------------------  */
body > footer {
  background: #1e252b;
  color: #ffffff;
  font-size: 0.875rem;
  margin-top: 3rem;
  /*  ----------------------------------------------------------------------  *\
        FOOTER LAYOUTS
    \*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - NEWSLETTER

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - LAYOUT - MIDDLE

    DEFINES THE MIDDLE PORTION OF THE FOOTER.

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - LAYOUT - BOTTOM

    DEFINES THE BOTTOM PORTION OF THE FOOTER.

    This area usually contains the Copyright, legal links, and disclaimers

\*  --------------------------------------------------------------------------  */
  /*  ----------------------------------------------------------------------  *\
        FOOTER COMPONENTS
    \*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - LOGO

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - NAV - SOCIAL

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - LINKS

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - COPYRIGHT

\*  --------------------------------------------------------------------------  */ }
  @media (min-width: 768px) {
    body > footer {
      margin-top: 3rem; } }
  @media (min-width: 992px) {
    body > footer {
      margin-top: 6.5rem; } }
  body > footer a {
    color: #ACF5FA;
    font-weight: 700; }
    body > footer a:hover, body > footer a:focus {
      color: #9EC5EB;
      text-decoration: underline; }
  body > footer .newsletter {
    background: #EDEFF0;
    color: #1e252b;
    padding: 2rem 0; }
    @media (min-width: 992px) {
      body > footer .newsletter {
        padding: 3.5rem 0 4.5rem 0; } }
    body > footer .newsletter .newsletter-form input {
      background: #EDEFF0; }
    body > footer .newsletter .newsletter-form .form-el, body > footer .newsletter .newsletter-form .form-inline {
      margin: 0; }
    body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form {
      padding: 0 !important; }
      body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div {
        display: none !important;
        transition: .25s all ease-in-out; }
        body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div.show {
          display: flex !important; }
        body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div.hide {
          display: none !important; }
        body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div.sms-container {
          display: grid !important; }
        body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div.confirmation {
          flex-direction: column !important;
          row-gap: 0.5rem; }
        @media (min-width: 768px) {
          body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div {
            flex-direction: row !important;
            align-items: center; }
            body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div.sms-container {
              grid-template-columns: 1fr 1fr;
              grid-template-areas: "header form" "copy consent";
              align-items: start; }
              body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div.sms-container > [data-testid="form-row"]:nth-child(1) {
                grid-area: header;
                width: 100%; }
              body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div.sms-container > [data-testid="form-row"]:nth-child(2) {
                grid-area: copy;
                width: 100%; }
              body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div.sms-container > [data-testid="form-row"]:nth-child(3) {
                grid-area: form;
                width: 100%; }
              body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div.sms-container > [data-testid="form-row"]:nth-child(4) {
                padding-top: 1rem;
                grid-area: consent;
                width: 100%; }
            body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div > div {
              flex-basis: 50%; }
              body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div > div > div {
                padding: 0 !important; }
                body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div > div > div + div {
                  flex: .5 0 0px !important; } }
        body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div h2 {
          text-align: left !important;
          margin: 0; }
          @media (max-width: 767.9px) {
            body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div h2 {
              font-size: 1.6875rem !important; } }
          @media (min-width: 768px) {
            body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div h2 {
              padding-right: 6.25rem; } }
          body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div h2 span {
            font-family: "futura-pt-condensed", Arial, Helvetica, sans-serif !important;
            font-size: 2rem !important; }
            @media (max-width: 767.9px) {
              body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div h2 span {
                font-size: 1.6875rem !important; } }
        body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div p {
          text-align: left !important;
          font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
          line-height: 1.3125rem !important;
          color: #1e252b !important; }
          body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div p span {
            font-family: "Open Sans", Arial, Helvetica, sans-serif !important; }
        body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div input {
          border-radius: 0.25rem 0 0 0.25rem !important;
          font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
          color: #1e252b !important;
          font-size: 0.875rem !important; }
          body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div input::placeholder {
            color: #1e252b !important;
            font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
            font-size: 0.875rem !important; }
        body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div button[type="button"] {
          font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
          border-radius: 0 0.25rem 0.25rem 0 !important;
          transition: .25s all ease-in-out; }
          body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div button[type="button"]:active {
            background: #873A05 !important;
            border-color: #873A05 !important; }
          body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div button[type="button"] .icon-arrow-right {
            font-size: 1.5rem;
            line-height: 0.5; }
          @media (max-width: 767.9px) {
            body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div button[type="button"].go4174146877 {
              font-size: 0 !important; }
              body > footer .newsletter .newsletter-form .klaviyo-form-VesBZy > div > form > div button[type="button"].go4174146877::before {
                content: "\2192";
                display: block;
                font-size: 1.5rem;
                line-height: .8;
                width: 24px;
                height: 24px; } }
    body > footer .newsletter form {
      display: grid;
      grid-template-columns: 1fr auto; }
  body > footer .footer-middle {
    padding: 2.5rem 0; }
    body > footer .footer-middle .container {
      display: grid;
      grid-template-columns: 1fr;
      grid-column-gap: 7.5rem; }
      @media (min-width: 992px) {
        body > footer .footer-middle .container {
          grid-template-columns: 1fr 1fr; } }
    body > footer .footer-middle .footer-badges {
      margin-top: 1.5rem; }
      @media (min-width: 992px) {
        body > footer .footer-middle .footer-badges {
          margin-top: 3rem; } }
      body > footer .footer-middle .footer-badges picture {
        margin-right: 1rem; }
  body > footer .footer-bottom {
    font-size: 0.75rem; }
    body > footer .footer-bottom .container p {
      border-top: 1px solid #5E6E7E;
      width: 100%;
      text-align: left;
      padding: 1rem 0; }
  body > footer .logo {
    display: block;
    margin-bottom: 1rem; }
    body > footer .logo img {
      width: 6.75rem;
      height: 1.875rem; }
      @media (min-width: 992px) {
        body > footer .logo img {
          width: 20.0625rem; } }
    @media (min-width: 992px) {
      body > footer .logo {
        margin-bottom: 2rem; } }
  @media (min-width: 768px) and (max-width: 991.9px) {
    body > footer .social {
      margin-bottom: 40px; } }
  body > footer .social h5 {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
  body > footer .social ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap; }
  body > footer .social li {
    margin: 0 0.5rem; }
  body > footer .social a {
    font-size: 1.25rem;
    line-height: 1;
    color: #fff; }
  body > footer .social svg {
    display: block;
    fill: #fff;
    height: 1.25rem;
    width: 1.25rem; }
  body > footer dl {
    margin-top: 2.5rem; }
    @media (min-width: 768px) {
      body > footer dl {
        margin-top: 0; } }
  body > footer dt button {
    padding: 0 !important;
    background-color: #1e252b;
    color: #FFFFFF;
    font-weight: bold;
    text-transform: uppercase;
    margin: 0 0 1rem 0;
    font-size: 0.875rem; }
  body > footer .accordion {
    display: grid;
    grid-template-columns: 1fr; }
    @media (min-width: 768px) {
      body > footer .accordion {
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 1rem; }
        body > footer .accordion button > span {
          display: none; } }
  body > footer .hot-links dd {
    max-height: 100%; }
  body > footer .hot-links a {
    color: #fff;
    background-color: #1e252b; }
  body > footer .hot-links ul {
    margin-top: 1rem; }
  body > footer .hot-links li {
    padding: 0; }
    body > footer .hot-links li::before {
      display: none; }
    body > footer .hot-links li + li {
      margin: 1rem 0 0; }
  @media (min-width: 992px) {
    body > footer .hot-links {
      padding-bottom: 2rem; } }
  body > footer .copyright {
    margin: 0 0 0.75rem; }
    @media (min-width: 768px) {
      body > footer .copyright {
        margin: 0 1rem 0 0; } }
  @media print {
    body > footer {
      display: none; } }

/*  --------------------------------------------------------------------------  *\

    BASE FORM STYLING

    This establishes global styles used for all Form Styling. For custom
    variations of the forms, refer to their specific styling located in
    their respective files.

\*  --------------------------------------------------------------------------  */
form {
  margin: 0 0 1.5rem;
  /*  ----------------------------------------------------------------------  *\

        FORM LAYOUT OPTIONS 

        By default the forms are styled with the label appearing above the 
        input.

        Form Inline are typically used for 1 or 2 input forms to collect 
        information for things like newsletter signup or notifications.

        Form Rows are typically used for larger forms like account registration
        where fields are displayed next to each other to shorten the length
        of scrolling required.

        Form Label Inside are typically used for shorter forms and will have
        the label appear inside the element and then shift when the field is
        valid. - STYLING FOR THIS TYPE WILL COME LATER
        
        Comment or remove unused form styling.

    \*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - FORM ELEMENT

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - FIELDSET

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - LABEL

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - INPUTS

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - TEXTAREAS

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - CHECKBOXES AND RADIOS

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - FORM ACTIONS

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - RECAPTCHA

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - ERRORS

\*  --------------------------------------------------------------------------  */ }
  form input, form select, form textarea {
    font-size: 1rem; }
  @media (min-width: 992px) {
    form[data-contact-form] {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 2.5rem; }
      form[data-contact-form] > div:nth-child(8), form[data-contact-form] > div:nth-child(9), form[data-contact-form] > div:nth-child(10), form[data-contact-form] > div:nth-child(11) {
        grid-column: 1 / span 2; }
      form[data-contact-form] > div.form-actions {
        justify-content: center; } }
  @media (min-width: 768px) {
    form.form-rows, form .form-row {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      flex-flow: row wrap;
      margin-bottom: 2rem; }
      form.form-rows .form-el, form.form-rows .form-field, form .form-row .form-el, form .form-row .form-field {
        -webkit-box-flex: 0 0 auto;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: calc(50% - 1rem); } }
  form .form-el, form .form-cr {
    margin: 0 0 0.75rem; }
    form .form-el label::after, form .form-cr label::after {
      content: "\a";
      white-space: pre; }
  form hr {
    width: 100%; }
  form fieldset {
    border: none;
    padding: 1rem 0 0; }
  form legend {
    font-size: 1.25rem; }
  form label, form .label {
    font-size: 0.875rem; }
    form label small, form .label small {
      color: #9c2f00;
      font-size: .75em; }
      form label small:before, form .label small:before {
        margin: 0 0.25rem 0 0; }
  form input, form .form-input {
    padding: 0.46875rem 0.75rem;
    border-radius: 0.25rem;
    border: 0.0625rem solid #5E6E7E;
    transition: .25s all ease-in-out;
    width: 100%;
    color: #1e252b; }
    form input:hover, form input:focus, form .form-input:hover, form .form-input:focus {
      border-color: #1e252b; }
    form input:active, form input:focus, form .form-input:active, form .form-input:focus {
      border: 0.125rem solid #9EC5EB; }
    form input:disabled, form .form-input:disabled {
      background: #5E6E7E;
      color: #EDEFF0; }
  form input[type="checkbox"], form input[type="radio"] {
    width: auto; }
  form textarea {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 0.0625rem solid #5E6E7E;
    height: calc(7.5em + 1rem);
    border-radius: 0.25rem; }
  form .form-radio-check input[type="checkbox"] + label:before {
    content: "";
    height: 0.75rem;
    width: 0.75rem;
    border: 0.0625rem solid #5E6E7E;
    border-radius: 0.25rem; }
  form .form-radio-check input[type="checkbox"] + label:after {
    content: "";
    height: 0.125rem;
    width: 0.375rem;
    border: 0.125rem solid transparent;
    transform: translate(-50%, -83.333%) rotate(-45deg); }
  form .form-radio-check input[type="checkbox"]:checked + label:after {
    border-left-color: #5E6E7E;
    border-bottom-color: #5E6E7E; }
  form .form-radio-check input[type="radio"] + label:last-child {
    display: block; }
  form .form-radio-check input[type="radio"] + label:before {
    content: "";
    height: 0.75rem;
    width: 0.75rem;
    border: 0.0625rem solid #5E6E7E;
    border-radius: 100%; }
  form .form-radio-check input[type="radio"]:checked + label:before {
    background: #5E6E7E;
    box-shadow: inset 0 0 0 0.125rem #fff; }
  form .form-actions {
    width: 100%;
    margin: 1.5rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap; }
  form .g-recaptcha {
    width: 100%; }
    form .g-recaptcha > div {
      margin: 0 auto; }
  form .form-inlineMessage {
    color: #B82719;
    display: block;
    font-size: .75em;
    font-style: italic;
    margin: 0.5rem 0 0; }

/*  --------------------------------------------------------------------------  *\

    PDP - FORM ELEMENTS - INCREMENT

\*  --------------------------------------------------------------------------  */
.form-increment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-flow: row wrap; }
  @media (min-width: 768px) and (max-width: 991.9px) {
    .form-increment {
      align-items: start;
      flex-direction: column; } }
  .form-increment label {
    margin-right: 1rem; }
    @media (min-width: 992px) {
      .form-increment label {
        margin-bottom: 0; } }
  .form-increment > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-flow: row nowrap;
    background: #FFFFFF;
    border: 0.0625rem solid #5E6E7E;
    border-radius: 0.25rem;
    overflow: hidden; }
  .form-increment button {
    width: 2rem;
    height: 2.6875rem;
    background: #fff;
    font-size: 0.75rem; }
    @media (min-width: 992px) {
      .form-increment button {
        height: 3.5rem; } }
    .form-increment button:hover, .form-increment button:focus {
      background-color: #EDEFF0; }
    .form-increment button:active {
      background: #5E6E7E; }
  .form-increment input {
    padding: 0.25rem;
    background: #fff;
    border: none;
    text-align: center;
    width: 3rem;
    font-size: 1rem; }

/*  --------------------------------------------------------------------------  *\

    FORM - SELECTS

\*  --------------------------------------------------------------------------  */
select {
  padding: 0.5rem 1rem;
  width: 100%;
  -webkit-appearance: none;
  border: 0.0625rem solid #5E6E7E;
  color: #1e252b;
  background-color: #fff;
  border-radius: 0.25rem;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='5' viewBox='0 0 10 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0.5L5 4.5L1 0.5' stroke='%23B9B9AD' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  /* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
  background-position: right .5em top 50%;
  /* icon size, then gradient */
  background-size: 1em auto;
  transition: .25s all ease-in-out;
  height: 3rem;
  font-size: 0.875rem !important; }
  select:disabled, select.unavailable {
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    opacity: 0.5; }
  select:hover, select:focus {
    border-color: #1e252b;
    background-color: #EDEFF0;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='5' viewBox='0 0 10 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0.5L5 4.5L1 0.5' stroke='%23B9B9AD' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
  select:active, select:focus {
    border-color: #1e252b;
    background-color: #EDEFF0;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='5' viewBox='0 0 10 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0.5L5 4.5L1 0.5' stroke='%23B9B9AD' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }

/*  --------------------------------------------------------------------------  *\

    HEADER

\*  --------------------------------------------------------------------------  */
body {
  padding: 0; }

a.skip {
  position: fixed;
  z-index: 10001;
  left: 50%;
  top: 0.9375rem;
  -webkit-transform: translate(-50%, -150%);
  -ms-transform: translate(-50%, -150%);
  transform: translate(-50%, -150%);
  background: #fff;
  color: #1e252b;
  padding: 0.5rem 0.75rem; }
  a.skip:focus {
    transform: translate(-50%, 0);
    background: #1e252b;
    color: #fff; }
  @media print {
    a.skip {
      display: none; } }

body > header {
  /*  ----------------------------------------------------------------------  *\
        RESETS
        This code resets some of the styling for the a, label, button, and li
        to make it function as a navigation
    \*  ----------------------------------------------------------------------  */
  /*  ----------------------------------------------------------------------  *\
        RESETS & VARIABLES
        Set some varialbes that apply to the scss files for header
    \*  ----------------------------------------------------------------------  */
  background: #fff;
  /*  --------------------------------------------------------------------------  *\

    HEADER - POTIION

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - LAYOUT

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - LOGO

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - SEARCH

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - SEARCH > TOGGLE

\*  --------------------------------------------------------------------------  */
  /*  ----------------------------------------------------------------------  *\

    HEADER - NAVIGATIONS

\*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - MOBILE MENU TOGGLE BUTTON

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - CART

\*  --------------------------------------------------------------------------  */ }
  body > header a, body > header label, body > header button {
    display: block;
    font-size: 0.875rem;
    white-space: nowrap;
    text-decoration: none; }
    body > header a:hover, body > header a:focus, body > header label:hover, body > header label:focus, body > header button:hover, body > header button:focus {
      color: #1e252b; }
  body > header a, body > header li {
    color: #1e252b; }
    body > header a.sale, body > header li.sale {
      color: #9c2f00; }
  body > header .sale {
    color: #1e252b;
    font-weight: 600; }
  @media (min-width: 1200px) {
    body > header .container > .logo {
      display: none; } }
  @media print {
    body > header {
      display: none; } }
  body > header {
    width: 100%;
    /*  ----------------------------------------------------------------------  *\
        RELATIVE
        @include position(relative, 1000);
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        ABSOLUTE TOP
        @include position(absolute, 1000, (left, top), (0, 0));
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        FIXED TOP
        @include position(fixed, 1000, (left, top), (0, 0));
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        STICKY TOP   
    \*  ----------------------------------------------------------------------  */
    border-bottom: 1px solid #EDEFF0; }
    @media (max-width: 1199.9px) {
      body > header {
        position: relative;
        position: -webkit-sticky;
        position: sticky;
        z-index: 1000; }
        @supports (position: -webkit-sticky) {
          body > header {
            top: 0;
            left: 0; } }
        @supports (position: sticky) {
          body > header {
            top: 0;
            left: 0; } } }
    @media (min-width: 1200px) {
      body > header {
        position: relative;
        position: -webkit-sticky;
        position: sticky;
        z-index: 1000; }
        @supports (position: -webkit-sticky) {
          body > header {
            top: 0; } }
        @supports (position: sticky) {
          body > header {
            top: 0; } } }
  body > header .container {
    /*
        @include borderTest();
        @include borderTest(".logo");
        @include borderTest(".search-bar");
        @include borderTest("nav");
        @include borderTest(".toggle-search");
        @include borderTest(".mobile-cart");
        @include borderTest(".toggle-trigger");
        @include borderTest(".main");
        @include borderTest(".user");
        @include borderTest(".utility");
        //*/ }
    @media (max-width: 1199.9px) {
      body > header .container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-flow: row wrap;
        padding: 0.5rem 1rem; }
        body > header .container .toggle-trigger {
          order: 1; }
        body > header .container .logo {
          order: 2; }
        body > header .container .search-bar {
          order: 4; }
        body > header .container .toggle-elements {
          order: 3;
          display: flex;
          align-items: center; }
        body > header .container .toggle-search {
          flex-grow: 0;
          text-align: right; }
        body > header .container nav {
          background: linear-gradient(#fff 100px, #EDEFF0 0);
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: flex-start;
          align-items: stretch;
          flex-flow: column nowrap; }
          body > header .container nav .main {
            order: 1; }
          body > header .container nav .user {
            order: 2; }
          body > header .container nav .utility {
            order: 3; }
          body > header .container nav .search-bar {
            display: none; } }
    @media (min-width: 1200px) {
      body > header .container .search-bar {
        display: none; }
      body > header .container nav {
        display: grid;
        grid-template-columns: 2.5fr 1fr 1.5fr .5fr;
        grid-template-rows: auto;
        align-items: center;
        column-gap: 1rem;
        row-gap: 1.125rem;
        padding: 1rem 0;
        grid-template-areas: "main logo search user"; }
        body > header .container nav .logo {
          grid-area: logo;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%); }
        body > header .container nav .user {
          grid-area: user; }
        body > header .container nav .main {
          grid-area: main; }
        body > header .container nav .utility {
          grid-area: util; }
        body > header .container nav .search-bar {
          display: block;
          grid-area: search;
          width: 100%; }
      body > header .container nav {
        grid-template-columns: 1fr 3fr 1fr;
        grid-template-areas: "logo search user" "main main main"; }
        body > header .container nav .logo {
          position: relative; } }
  body > header .logo {
    display: block; }
    body > header .logo img {
      width: 6.75rem;
      height: 1.875rem; }
      @media (min-width: 992px) {
        body > header .logo img {
          width: 10.625rem;
          height: 2.625rem; } }
  body > header .toggle-search {
    display: block; }
    @media (min-width: 768px) {
      body > header .toggle-search {
        padding: 0.4375rem; } }
    body > header .toggle-search i {
      font-size: 1.25rem;
      color: #1e252b; }
    @media (min-width: 1200px) {
      body > header .toggle-search {
        display: none; } }
  body > header .search-bar {
    position: relative;
    /*  --------------------------------------------------------------------------  *\

    HEADER - SEARCH - FORM

\*  --------------------------------------------------------------------------  */
    /*  --------------------------------------------------------------------------  *\

    HEADER - SEARCH - RESULTS

\*  --------------------------------------------------------------------------  */
    /*  --------------------------------------------------------------------------  *\

    HEADER - QUICK SEARCH RESULTS BOX

\*  --------------------------------------------------------------------------  */ }
    body > header .search-bar .quick-search-loading {
      position: absolute;
      right: 3.125rem;
      height: 2.5rem;
      display: none;
      z-index: 10; }
    @media (max-width: 1199.9px) {
      body > header .search-bar {
        width: 100%;
        padding: 1rem 0 0.75rem;
        transition: all 0.25s linear; }
        #headerToggleSearch:checked ~ body > header .search-bar {
          top: 100%;
          transform: translate(-100%, 0); } }
    @media (min-width: 1200px) {
      body > header .search-bar:focus-within .results:not(:empty) {
        display: block; } }
    body > header .search-bar .form {
      margin: 0; }
      body > header .search-bar .form .form-field {
        display: grid;
        grid-template-columns: auto 2.5rem; }
      body > header .search-bar .form .form-el {
        position: relative;
        margin: 0; }
      body > header .search-bar .form input {
        width: 100%;
        padding: 0 1rem;
        z-index: 3;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        border-right: none;
        background: #EDEFF0;
        justify-self: end; }
        @media (min-width: 1425px) {
          body > header .search-bar .form input {
            max-width: 25rem; } }
        body > header .search-bar .form input::placeholder {
          color: #5E6E7E;
          font-weight: 400;
          font-size: 0.875rem; }
      body > header .search-bar .form button {
        z-index: 2;
        height: 2.4375rem;
        max-width: 2.5rem;
        font-size: 1.25rem;
        color: #1e252b;
        padding: 0 0.375rem 0 1rem;
        border: 0;
        border-bottom: 1px solid #253557;
        border-left: 0;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        color: #fff;
        background-color: #253557;
        transition: all .25s; }
        body > header .search-bar .form button:hover, body > header .search-bar .form button:focus {
          background-color: #5E6E7E;
          border-color: #5E6E7E; }
        body > header .search-bar .form button:active {
          background-color: #1e252b;
          border-color: #1e252b; }
    body > header .search-bar .results {
      margin: 1rem 0 0; }
      body > header .search-bar .results:empty {
        display: none; }
      body > header .search-bar .results .card:nth-child(n + 3) {
        display: none; }
      @media (min-width: 768px) {
        body > header .search-bar .results .card {
          width: calc(33.333% - 2rem); }
          body > header .search-bar .results .card:nth-child(3) {
            display: block; }
          body > header .search-bar .results .card:nth-child(n + 4) {
            display: none; } }
      @media (min-width: 1200px) {
        body > header .search-bar .results {
          display: none;
          position: absolute;
          right: 0;
          top: 100%;
          width: 50rem;
          margin: 0;
          background: #fff;
          padding: 1.5rem;
          border: 0.0625rem solid #B82719; } }
    body > header .search-bar #quickSearch {
      display: none;
      position: absolute;
      background-color: #fff;
      box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
      width: 100%; }
      body > header .search-bar #quickSearch.is-open {
        display: initial;
        z-index: 500; }
      @media (max-width: 1199.9px) {
        body > header .search-bar #quickSearch {
          display: none !important; } }
      body > header .search-bar #quickSearch .quickSearchResults {
        position: relative; }
        body > header .search-bar #quickSearch .quickSearchResults .quickSearchMessage {
          padding: 0.5rem 1rem; }
        body > header .search-bar #quickSearch .quickSearchResults h2 {
          font-size: 1.25rem;
          line-height: 1.5rem;
          margin: 1rem 0 0;
          text-align: left;
          padding: 0 1rem; }
        body > header .search-bar #quickSearch .quickSearchResults > div {
          max-height: 80vh;
          overflow-y: scroll; }
          body > header .search-bar #quickSearch .quickSearchResults > div::-webkit-scrollbar {
            -webkit-appearance: none;
            width: 7px; }
          body > header .search-bar #quickSearch .quickSearchResults > div::-webkit-scrollbar-thumb {
            border-radius: 4px;
            background-color: rgba(0, 0, 0, 0.5);
            box-shadow: 0 0 1px rgba(255, 255, 255, 0.5); }
          body > header .search-bar #quickSearch .quickSearchResults > div h4 {
            position: relative;
            padding: 1.25rem;
            background: #FFFFFF; }
          body > header .search-bar #quickSearch .quickSearchResults > div > div {
            display: flex;
            flex-direction: column;
            row-gap: 0; }
          body > header .search-bar #quickSearch .quickSearchResults > div .card {
            padding: 1rem;
            border-bottom: 1px solid #FFFFFF;
            column-gap: 20px;
            visibility: visible;
            opacity: 1;
            transform: translateX(0);
            flex-direction: row;
            margin-bottom: 0;
            align-items: center; }
            body > header .search-bar #quickSearch .quickSearchResults > div .card a {
              display: -webkit-box;
              display: -ms-flexbox;
              display: -webkit-flex;
              display: flex;
              justify-content: start;
              align-items: start;
              flex-flow: row;
              column-gap: 1rem; }
            body > header .search-bar #quickSearch .quickSearchResults > div .card .actions {
              display: none; }
            body > header .search-bar #quickSearch .quickSearchResults > div .card .img {
              width: 25%; }
              body > header .search-bar #quickSearch .quickSearchResults > div .card .img a {
                padding: 15px;
                border: 1px solid #FFFFFF; }
            body > header .search-bar #quickSearch .quickSearchResults > div .card .cnt {
              width: 100%;
              margin: 0;
              display: flex;
              flex-direction: column;
              row-gap: 5px; }
              body > header .search-bar #quickSearch .quickSearchResults > div .card .cnt h3, body > header .search-bar #quickSearch .quickSearchResults > div .card .cnt .h3 {
                margin: 0;
                white-space: normal;
                width: 100%; }
              body > header .search-bar #quickSearch .quickSearchResults > div .card .cnt .cta {
                display: flex;
                flex-direction: row; }
                body > header .search-bar #quickSearch .quickSearchResults > div .card .cnt .cta .price {
                  display: flex;
                  flex-direction: row;
                  column-gap: 0.5rem; }
          body > header .search-bar #quickSearch .quickSearchResults > div .view-all {
            padding: 5px; }
            body > header .search-bar #quickSearch .quickSearchResults > div .view-all .all-btn a {
              width: 100%;
              padding: 0.5rem; }
        body > header .search-bar #quickSearch .quickSearchResults .modal-close {
          position: absolute;
          top: 10px;
          right: 20px;
          line-height: 0;
          font-size: 1.125rem;
          color: #1e252b;
          z-index: 1;
          transition: .25s all ease-in-out; }
          body > header .search-bar #quickSearch .quickSearchResults .modal-close:hover, body > header .search-bar #quickSearch .quickSearchResults .modal-close:focus {
            color: #C8390A; }
          body > header .search-bar #quickSearch .quickSearchResults .modal-close:active, body > header .search-bar #quickSearch .quickSearchResults .modal-close:focus {
            color: #9c2f00; }
  body > header .toggle-trigger {
    position: relative;
    width: 2.375rem;
    height: 2.375rem;
    float: left;
    margin: 0; }
    body > header .toggle-trigger .bar {
      display: block;
      position: absolute;
      left: 50%;
      top: 50%;
      height: 0.125rem;
      width: 1.375rem;
      background: #1e252b;
      transition-timing-function: cubic-bezier(0.68, -1, 0.265, 2);
      transition-duration: .475s; }
      body > header .toggle-trigger .bar:nth-child(1) {
        transform: translate(-50%, -50%) translate(0, -0.4375rem); }
      body > header .toggle-trigger .bar:nth-child(2) {
        transform: translate(-50%, -50%); }
      body > header .toggle-trigger .bar:nth-child(3) {
        transform: translate(-50%, -50%) translate(0, 0.4375rem); }
    @media (min-width: 1200px) {
      body > header .toggle-trigger {
        display: none; } }
  body > header .toggle {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    @media (min-width: 1200px) {
      body > header .toggle {
        display: none; } }
    body > header .toggle:checked + .toggle-trigger .bar:nth-child(1) {
      opacity: 0;
      transform: translate(-50%, -50%) translate(0, 0.4375rem); }
    body > header .toggle:checked + .toggle-trigger .bar:nth-child(2) {
      -webkit-transform: translate(-50%, -50%) rotate(45deg);
      -ms-transform: translate(-50%, -50%) rotate(45deg);
      transform: translate(-50%, -50%) rotate(45deg); }
    body > header .toggle:checked + .toggle-trigger .bar:nth-child(3) {
      -webkit-transform: translate(-50%, -50%) rotate(-45deg);
      -ms-transform: translate(-50%, -50%) rotate(-45deg);
      transform: translate(-50%, -50%) rotate(-45deg); }
  body > header nav {
    /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - MEGA MENU

\*  --------------------------------------------------------------------------  */
    /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - HORIZONTAL - ACCOUNT NAV

\*  --------------------------------------------------------------------------  */
    /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - HORIZONTAL - UTILITY NAV

\*  --------------------------------------------------------------------------  */ }
    body > header nav ul {
      margin: 0; }
    @media (max-width: 1199.9px) {
      body > header nav {
        position: fixed;
        left: 0;
        top: 10rem;
        -webkit-transform: translate(-100%, 0);
        -ms-transform: translate(-100%, 0);
        transform: translate(-100%, 0);
        background: #FFFFFF;
        width: 100%;
        height: calc(100vh);
        padding-bottom: 13.75rem;
        overflow-x: hidden;
        overflow-y: scroll;
        transition: all 0.4s ease-out;
        opacity: 0;
        pointer-events: none;
        /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - MEGA MENU - MOBILE

\*  --------------------------------------------------------------------------  */ }
        body > header nav .logo {
          display: none; }
        body > header nav .main {
          padding-top: 1.5rem;
          margin: 0;
          background: #EDEFF0;
          position: relative; }
          body > header nav .main li {
            position: static;
            padding: 0;
            margin: 0;
            display: -webkit-box;
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            justify-content: space-between;
            align-items: stretch;
            align-content: stretch;
            flex-flow: row nowrap; }
          body > header nav .main a {
            font-weight: 600;
            display: none;
            width: 100%;
            padding: 0.5rem 1.5rem;
            -webkit-box-flex: 0 1 auto;
            -webkit-flex: 0 1 auto;
            -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
            body > header nav .main a:only-child {
              display: block; }
          body > header nav .main li.Blog {
            display: none;
            padding: 0.5rem 1.5rem;
            padding-top: 0; }
            body > header nav .main li.Blog a {
              padding: 0;
              padding-top: 1.5rem;
              margin-top: 16px;
              border-top: 1px solid #9EC5EB; }
          body > header nav .main label {
            display: block;
            width: 100%;
            padding: 0.5rem 1.5rem;
            height: auto;
            position: relative;
            cursor: pointer; }
            body > header nav .main label:after {
              position: absolute;
              right: 0.875rem;
              top: 50%;
              -webkit-transform: translate(-50%, -50%) rotate(45deg);
              -ms-transform: translate(-50%, -50%) rotate(45deg);
              transform: translate(-50%, -50%) rotate(45deg);
              height: 0.5rem;
              width: 0.5rem;
              border: 0.125rem solid transparent;
              border-right-color: #1e252b;
              border-top-color: #1e252b;
              content: ""; }
            body > header nav .main label span {
              display: none; }
            body > header nav .main label:only-child {
              padding: 0.5rem 1.5rem;
              padding-left: 0.875rem;
              padding-bottom: 1rem;
              font-weight: 700; }
              body > header nav .main label:only-child:after {
                left: 1.75rem;
                transform: translate(0, -90%) rotate(45deg) rotate(180deg); }
          body > header nav .main div {
            position: absolute;
            z-index: 1000;
            left: 100%;
            top: 1.5rem;
            transition: transform .25s ease-out;
            width: 100%;
            height: 100vh;
            background: #EDEFF0; }
            body > header nav .main div div {
              top: 0; }
            body > header nav .main div ul {
              height: 100%;
              width: 100vw;
              overflow-x: hidden;
              overflow-y: scroll; }
            body > header nav .main div li:nth-child(1) {
              text-align: center;
              font-weight: 600;
              border-bottom: 1px solid #B9B9AD;
              margin-bottom: 1rem; }
            body > header nav .main div li:nth-child(2) a::before {
              content: 'All '; }
          body > header nav .main .card {
            display: none; }
          body > header nav .main input[type="checkbox"]:checked ~ div {
            transform: translate(-100%, 0); } }
    @media (min-width: 1200px) {
      body > header nav {
        /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - MEGA MENU - DROPDOWN STYLING

\*  --------------------------------------------------------------------------  */ } }
  @media (min-width: 1200px) and (min-width: 1200px) {
    body > header nav .main {
      padding-top: 1rem;
      border-top: 0.0625rem solid #EDEFF0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-flow: row wrap;
      height: auto;
      width: 100%; }
      body > header nav .main a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-flow: row wrap; }
        body > header nav .main a span {
          font-size: 0.75rem;
          margin-left: 0.3125rem;
          color: #253557;
          display: inline-block;
          transition: transform .25s linear;
          transform-origin: 50% 50%; }
      body > header nav .main.hovered > li:hover > div {
        transition: all 0s 0s ease !important;
        visibility: visible;
        opacity: 1; }
      body > header nav .main [aria-expanded="true"] {
        z-index: 1;
        background: #C8390A; }
        body > header nav .main [aria-expanded="true"] a span {
          transform: rotate(180deg); }
      body > header nav .main label {
        display: none; }
      body > header nav .main > li {
        position: static;
        margin: 0;
        padding: 0.1875rem; }
        body > header nav .main > li:hover {
          z-index: 1; }
          body > header nav .main > li:hover > a {
            color: #C8390A; }
          body > header nav .main > li:hover > div.hover {
            transition: opacity 0s ease;
            visibility: visible;
            opacity: 1; }
          body > header nav .main > li:hover span {
            transform: rotate(180deg);
            transition-timing-function: cubic-bezier(0.2, -0.5, 0.265, 1.5);
            transition-duration: .475s; }
        body > header nav .main > li > a {
          padding: 0 0.625rem;
          font-weight: 600; }
          body > header nav .main > li > a:hover {
            color: #C8390A; }
          body > header nav .main > li > a:focus {
            color: #9c2f00; }
        body > header nav .main > li#mainNavItem41 > div {
          grid-template-rows: 450px; }
        body > header nav .main > li > div {
          grid-template-rows: 280px;
          position: absolute;
          left: 50%;
          right: 50%;
          top: 100%;
          max-width: 1400px;
          transform: translate(-50%, 0);
          margin-top: -21px;
          padding-top: 21px;
          cursor: pointer;
          display: grid;
          grid-template-columns: 70% 30%;
          visibility: hidden;
          opacity: 0;
          width: 100%;
          background: none;
          transition: .3s 0s ease-in-out;
          padding: 2.5rem 2.5rem 1.25rem 2.5rem; }
          body > header nav .main > li > div:before {
            position: absolute;
            left: 50%;
            right: 50%;
            transform: translate(-50%, 0);
            width: 100vw;
            height: 100%;
            background: #FFFFFF;
            box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
            content: ""; }
          body > header nav .main > li > div a {
            transition-duration: 0s; }
            body > header nav .main > li > div a:after {
              content: none; }
          body > header nav .main > li > div > ul {
            position: relative;
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            align-content: flex-start;
            column-gap: 1.5625rem;
            max-height: 65vh;
            min-height: 10.625rem; }
            body > header nav .main > li > div > ul#sub_mainNavItem24 > li.break:nth-child(6) {
              display: flex; }
            body > header nav .main > li > div > ul#sub_mainNavItem27 > li.break:nth-child(6) {
              display: flex; }
            body > header nav .main > li > div > ul#sub_mainNavItem25 > li.break:nth-child(8) {
              display: flex; }
            body > header nav .main > li > div > ul#sub_mainNavItem41 > li.break:nth-child(8) {
              display: flex; }
            body > header nav .main > li > div > ul#sub_mainNavItem30 > li.break:nth-child(10) {
              display: flex; }
            body > header nav .main > li > div > ul#sub_mainNavItem36 > li.break:nth-child(6) {
              display: flex; }
            body > header nav .main > li > div > ul .break {
              display: none;
              flex-basis: 100%;
              height: 0;
              width: 0; }
            body > header nav .main > li > div > ul > li > a {
              font-size: 24px;
              font-family: "futura-pt-condensed", Arial, Helvetica, sans-serif; }
            body > header nav .main > li > div > ul ul {
              margin-top: 0.5rem;
              padding-top: 0.5rem; }
              body > header nav .main > li > div > ul ul li {
                margin-bottom: 0.5rem; }
            body > header nav .main > li > div > ul li {
              margin-bottom: 0.875rem; }
              body > header nav .main > li > div > ul li:nth-child(1), body > header nav .main > li > div > ul li:nth-child(2) {
                display: none; }
      body > header nav .main input[type="checkbox"] {
        display: none; }
        body > header nav .main input[type="checkbox"]:focus ~ label {
          display: block;
          background: #1e252b;
          color: #fff;
          padding: 0.625rem;
          position: absolute;
          width: auto;
          height: auto;
          clip: auto; }
        body > header nav .main input[type="checkbox"]:checked ~ label {
          clip: rect(0 0 0 0);
          height: 1px;
          margin: -1px; }
        body > header nav .main input[type="checkbox"]:checked ~ div {
          visibility: visible;
          opacity: 1; } }
    body > header nav input[type="checkbox"] {
      position: absolute;
      width: 1px !important;
      height: 1px;
      padding: 0;
      margin: -1px;
      border: 0;
      overflow: hidden;
      clip: rect(0, 0, 0, 0); }
    body > header nav .user {
      position: relative;
      z-index: 100; }
      body > header nav .user li {
        padding: 0;
        margin: 0; }
      body > header nav .user ul {
        display: none;
        position: absolute;
        padding: 1rem; }
        body > header nav .user ul.is-open {
          display: block; }
        body > header nav .user ul li {
          margin: 0; }
          body > header nav .user ul li:last-child {
            margin: 0; }
      @media (max-width: 1199.9px) {
        body > header nav .user {
          background: #EDEFF0;
          display: flex;
          flex-direction: column; }
          body > header nav .user li:nth-child(1) {
            order: 3;
            margin: 0.5rem 1.5rem; }
            body > header nav .user li:nth-child(1) a {
              width: 100%;
              margin-top: 1.5rem; }
          body > header nav .user li:nth-child(2) {
            order: 1;
            padding-top: 1.5rem;
            border-top: 1px solid #5E6E7E;
            margin-top: 16px; }
          body > header nav .user li:nth-child(3) {
            order: 2; }
          body > header nav .user li:nth-child(4) {
            display: none; }
          body > header nav .user a {
            padding: 0.5rem 1.5rem; }
            body > header nav .user a i {
              font-size: 1.25rem;
              color: #1e252b; }
            body > header nav .user a span {
              display: inline-block;
              margin-left: 0.75rem; }
          body > header nav .user ul {
            position: relative !important;
            top: 0 !important; }
            body > header nav .user ul a {
              border: 0;
              padding: 0.5rem 1.5rem; } }
      @media (min-width: 1200px) {
        body > header nav .user {
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: flex-end;
          align-items: center;
          flex-flow: row nowrap; }
          body > header nav .user li:last-child a {
            margin-right: 0;
            column-gap: 0; }
            body > header nav .user li:last-child a i {
              margin-right: 0.75rem; }
          body > header nav .user ul {
            background: #1e252b; }
            body > header nav .user ul a {
              color: #fff;
              padding: 0; }
              body > header nav .user ul a:hover, body > header nav .user ul a:focus {
                background: none;
                color: #9EC5EB; }
          body > header nav .user > li:not(:first-child) {
            border-left: 0.0625rem solid #EDEFF0; }
          body > header nav .user > li:nth-child(2) {
            border: none; }
          body > header nav .user > li:first-child a {
            margin: 0;
            padding: 0.5rem 1.5rem; }
            body > header nav .user > li:first-child a:hover, body > header nav .user > li:first-child a:focus {
              color: #fff; }
          body > header nav .user > li > a {
            column-gap: 0.75rem;
            margin: 0 1rem;
            display: flex;
            font-weight: 600; }
            body > header nav .user > li > a i {
              font-size: 1.25rem; }
            body > header nav .user > li > a:hover, body > header nav .user > li > a:focus {
              text-decoration: none;
              color: #C8390A; }
            body > header nav .user > li > a:active {
              color: #9c2f00; } }
    body > header nav .utility li {
      padding: 0;
      margin: 0; }
    @media (max-width: 1199.9px) {
      body > header nav .utility i {
        font-size: 1.25rem;
        color: #1e252b; }
      body > header nav .utility a {
        padding: 0.5rem 1.5rem; }
      body > header nav .utility span {
        display: inline-block;
        margin-left: 0.75rem; } }
    @media (min-width: 1200px) {
      body > header nav .utility {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-flow: row nowrap; }
        body > header nav .utility li:hover > ul {
          display: block; }
        body > header nav .utility a {
          padding-left: 0; }
          body > header nav .utility a i {
            font-size: 1.25rem;
            color: #1e252b; }
          body > header nav .utility a span {
            padding-left: 0.625rem; }
          body > header nav .utility a:hover, body > header nav .utility a:focus {
            text-decoration: none;
            color: #C8390A; }
        body > header nav .utility ul {
          display: none;
          position: absolute;
          z-index: 1000;
          left: 50%;
          top: 100%;
          -webkit-transform: translate(-50%, 0);
          -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
          background: #9EC5EB;
          padding: 0.5rem; }
          body > header nav .utility ul a {
            color: #fff; }
            body > header nav .utility ul a:hover, body > header nav .utility ul a:focus {
              background: none;
              color: #1e252b; }
          body > header nav .utility ul li {
            margin: 0; }
            body > header nav .utility ul li:last-child {
              margin: 0; } }
  @media (max-width: 1199.9px) {
    body > header #headerToggleNav:checked ~ nav {
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1);
      opacity: 1;
      pointer-events: inherit; } }
  body > header .mobile-cart {
    display: flex;
    margin-left: 0.75rem; }
    @media (min-width: 768px) {
      body > header .mobile-cart {
        margin-left: 1rem; } }
    body > header .mobile-cart i {
      font-size: 1.25rem; }
    @media (min-width: 1200px) {
      body > header .mobile-cart {
        position: absolute;
        right: 1rem;
        top: 2.25rem;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
        display: none; } }
  @media (max-width: 1199.9px) {
    body > header .desktop-cart {
      display: none; } }
  body > header .toggle-elements [data-cart-preview] {
    display: none; }
    @media (max-width: 1199.9px) {
      body > header .toggle-elements [data-cart-preview] {
        display: flex;
        margin-left: 0.75rem; }
        body > header .toggle-elements [data-cart-preview] i {
          font-size: 1.25rem; }
        body > header .toggle-elements [data-cart-preview] .text {
          display: none; } }
  body > header [data-cart-preview] {
    position: relative;
    display: flex; }
  body > header .cart-quantity {
    display: none;
    background: #5E6E7E;
    color: #fff;
    padding: 0.375rem;
    font-size: 0.625rem;
    line-height: .5em;
    margin-left: 0.125rem;
    border-radius: 2.5rem;
    align-self: center;
    position: relative; }
    body > header .cart-quantity.is-empty {
      display: none; }
    body > header .cart-quantity.has-quantity {
      display: flex;
      align-items: center; }
  body > header .cart-dropdown {
    display: block;
    position: fixed;
    z-index: 2000;
    right: 0;
    top: 0;
    -webkit-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    transform: translate(100%, 0);
    transition: all 0.4s ease;
    background: #fff;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
    height: 100%;
    overflow: scroll;
    max-width: 80%; }
    @media (min-width: 768px) {
      body > header .cart-dropdown {
        max-width: 25rem; } }
    body > header .cart-dropdown.is-loading {
      min-width: 80%; }
      @media (min-width: 768px) {
        body > header .cart-dropdown.is-loading {
          min-width: 25rem; } }
    body > header .cart-dropdown.is-visible {
      width: 80%;
      transform: translate(0, 0); }
      @media (min-width: 768px) {
        body > header .cart-dropdown.is-visible {
          width: 25rem; } }
    body > header .cart-dropdown .modal-close {
      position: absolute;
      right: 0.5rem;
      top: 0.5rem; }
      body > header .cart-dropdown .modal-close i {
        transition: .25s all ease-in-out; }
      body > header .cart-dropdown .modal-close:hover i {
        color: #C8390A; }
    body > header .cart-dropdown h2 {
      font-size: 1rem;
      font-weight: bold;
      background-color: #FFFFFF;
      margin: 1rem 0 0;
      text-align: center; }
    body > header .cart-dropdown .added-to-cart-message {
      text-align: center;
      padding-top: 0.5rem;
      font-weight: normal;
      font-size: 1.125rem;
      background-color: #FFFFFF; }
    body > header .cart-dropdown .buttons {
      display: flex;
      flex-direction: column;
      row-gap: 0.5rem; }
      body > header .cart-dropdown .buttons .btn-secondary {
        margin-bottom: 0.5rem; }
    body > header .cart-dropdown .content {
      padding: 1rem; }
    body > header .cart-dropdown .subtotal {
      font-size: 1rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-flow: row nowrap;
      margin: 0 0 1rem; }
    body > header .cart-dropdown .view-cart {
      float: right; }
    body > header .cart-dropdown .or-use-label {
      margin-bottom: 1rem; }
    body > header .cart-dropdown dl {
      display: flex;
      flex-direction: column;
      padding: 0;
      margin: 0;
      border-top: 1px solid #FFFFFF;
      margin: 0.3125rem 0 0.3125rem 0;
      padding: 0.625rem 0 0.625rem 0; }
    body > header .cart-dropdown dd, body > header .cart-dropdown dt {
      margin: 0;
      padding: 0;
      font-size: 1em;
      line-height: 1.5em;
      white-space: wrap; }
    body > header .cart-dropdown dd {
      padding-bottom: 0.625rem; }
    body > header .cart-dropdown .products {
      position: static;
      display: block;
      left: auto;
      top: auto;
      transform: none;
      background: none;
      padding: 1.25rem 0; }
      body > header .cart-dropdown .products p {
        margin: 0;
        color: #000; }
      body > header .cart-dropdown .products li {
        padding: 0; }
        body > header .cart-dropdown .products li::before {
          display: none; }
      body > header .cart-dropdown .products li > a {
        display: grid;
        grid-template-columns: 70px 1fr;
        grid-template-rows: auto;
        column-gap: 1rem;
        padding: 0.75rem 0;
        font-size: 0.875rem;
        border: 1px solid #EDEFF0;
        border-radius: 0.25rem;
        padding: 0.625rem;
        box-shadow: 0 5px 5px rgba(0, 0, 0, 0.05);
        margin-bottom: 1.25rem; }
      body > header .cart-dropdown .products .name {
        margin: 0 0 0.5rem;
        font-size: 1rem;
        line-height: 1.5;
        white-space: normal; }
      body > header .cart-dropdown .products .price--discounted {
        color: #B9B9AD;
        text-decoration: 1px #B9B9AD line-through;
        margin-right: 0.5rem; }
      body > header .cart-dropdown .products img {
        width: 100%;
        height: auto; }

@media (max-width: 1199.9px) {
  .nav-open {
    height: 100vh;
    overflow: hidden; }
    .nav-open > header .toggle-search {
      opacity: 0; } }

/*  --------------------------------------------------------------------------  *\

    MODAL

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    MODAL - BACKGROUND

\*  --------------------------------------------------------------------------  */
.modal-background {
  transition: all 0.4s ease;
  position: fixed;
  z-index: 1500;
  left: 0;
  top: 0 !important;
  width: 100%;
  height: 100%;
  background: rgba(204, 204, 204, 0.75);
  visibility: hidden;
  opacity: 0; }
  .has-activeModal .modal-background {
    opacity: 1;
    visibility: visible; }

/*  --------------------------------------------------------------------------  *\

    MODAL - BASIC

    This is used to style the modal elements used throughout the website.

    This includes Cart Previews, BigCommerce alerts that do not use SWAL.

    For the Sweet Alert (SWAL) styling see modal/_swal.scss

\*  --------------------------------------------------------------------------  */
.modal {
  position: fixed;
  z-index: 15001;
  left: 50%;
  top: 50% !important;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 0.25rem;
  width: 90%;
  max-width: 75rem;
  min-width: 20rem;
  min-height: remCal(240);
  max-height: 90vh;
  display: none;
  visibility: hidden;
  opacity: 0; }
  .modal--small {
    width: 50%; }
  .modal .modal-window {
    padding: 0;
    max-height: 90vh;
    overflow-y: scroll; }
  .modal .modal-body {
    padding: 2.5rem;
    overflow: auto; }
  .modal .modal-close {
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: translate(50%, -50%);
    -ms-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    display: block;
    background: #fff;
    border: 0.125rem solid #9EC5EB;
    color: #9EC5EB;
    border-radius: 100%;
    width: 2rem;
    height: 2rem;
    text-align: center;
    font-size: 1rem;
    z-index: 15001; }
    .modal .modal-close:before {
      content: " ";
      position: absolute;
      right: 0;
      top: 50%;
      border-width: 0.625rem;
      border-style: solid;
      border-color: transparent transparent #1e252b transparent; }
    .modal .modal-close:after {
      content: attr(title);
      padding: 0.25rem 0.375rem;
      background-color: #1e252b;
      color: #fff;
      position: absolute;
      font-size: 1rem;
      white-space: nowrap;
      right: 0;
      top: 100%;
      cursor: default;
      border-radius: 0.5rem; }
    .modal .modal-close:before, .modal .modal-close:after {
      display: none; }
    .modal .modal-close:focus:before, .modal .modal-close:focus:after {
      display: block; }
  .modal--alert {
    border: 1px solid #FFFFFF;
    padding: 40px 20px 20px 20px;
    text-align: center;
    width: auto; }
    .modal--alert .modal-content {
      padding-bottom: 1.25rem; }
    .modal--alert .alert-icon {
      border: 1px solid #1e252b;
      color: #1e252b;
      border-radius: 50%;
      box-sizing: content-box;
      cursor: default;
      display: flex;
      font-family: inherit;
      height: 5em;
      justify-content: center;
      line-height: 5em;
      margin: 1.25em auto 1.875em;
      position: relative;
      user-select: none;
      width: 5em; }
    .modal--alert .warning-icon {
      animation: animate-icon 0.5s;
      border-color: #facea8;
      color: #f8bb86; }
      .modal--alert .warning-icon .icon-content {
        align-items: center;
        animation: animate-icon-content 0.5s;
        display: flex;
        font-size: 3.75em; }
    .modal--alert .error-icon {
      animation: animate-icon 0.5s;
      border-color: #B82719;
      color: #B82719; }
      .modal--alert .error-icon .icon-content {
        animation: animate-icon-content 0.5s;
        flex-grow: 1;
        position: relative; }
        .modal--alert .error-icon .icon-content .line {
          background-color: #B82719;
          border-radius: 0.125em;
          display: block;
          height: 0.3125em;
          position: absolute;
          top: 2.3125em;
          width: 2.9375em; }
          .modal--alert .error-icon .icon-content .line-left {
            left: 1.0625em;
            transform: rotate(45deg); }
          .modal--alert .error-icon .icon-content .line-right {
            right: 1em;
            transform: rotate(-45deg); }

@media print {
  .modal {
    background: #fff !important;
    display: none; } }

body.has-activeModal {
  overflow: hidden !important; }

meta.foundation-data-attribute-namespace {
  font-family: false; }

.image-fullscreen {
  background-color: #1e252b;
  display: flex;
  justify-content: center; }
  .image-fullscreen img {
    display: flex;
    max-height: 80vh;
    max-width: 100%; }

.video-fullscreen {
  padding: 56.25% 0 0;
  position: relative;
  overflow: hidden; }
  .video-fullscreen iframe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%; }

/*  --------------------------------------------------------------------------  *\

    MODAL - LOADING OVERLAY

\*  --------------------------------------------------------------------------  */
.loadingOverlay-container {
  min-height: 120px;
  position: relative; }

.loadingOverlay {
  position: fixed;
  z-index: 15000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  transition: all 250ms ease-out;
  display: flex;
  align-items: center;
  min-height: 200px; }
  .loadingOverlay:after {
    position: absolute;
    z-index: 15;
    left: 50%;
    top: 50%;
    border-radius: 100%;
    border: 0.25rem solid #1e252b;
    content: "";
    animation: spinner 1s ease-out 0s infinite; }
  .loadingOverlay:after {
    height: 4rem;
    width: 4rem;
    border-top-color: transparent;
    border-bottom-color: transparent; }
  .loadingOverlay:before {
    height: 2.625rem;
    width: 2.625rem;
    border-radius: 2.625rem;
    border: solid 0.125rem;
    border-color: #1e252b #1e252b #C8390A #C8390A;
    content: "";
    display: block;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(0);
    transform-style: preserve-3d;
    animation: spin 0.5s infinite cubic-bezier(0.69, 0.31, 0.56, 0.83); }

.loadingOverlay.ng-enter,
.loadingOverlay.ng-leave.ng-leave-active {
  opacity: 0; }

.loadingOverlay.ng-enter.ng-enter-active,
.loadingOverlay.ng-leave {
  opacity: 1; }

@keyframes spinner {
  from {
    transform: translate(-50%, -50%) rotate(0deg); }
  to {
    transform: translate(-50%, -50%) rotate(360deg); } }

@keyframes spin {
  0% {
    transform: translateY(-50%) rotate(0); }
  100% {
    transform: translateY(-50%) rotate(360deg); } }

.loadingNotification {
  left: 50%;
  position: fixed;
  text-align: center;
  top: 3rem;
  transform: translateX(-50%);
  transform-style: preserve-3d;
  transition: all 0.2s ease-out;
  z-index: 500; }

.loadingNotification.ng-hide-add-active,
.loadingNotification.ng-hide-remove {
  opacity: 0;
  top: 3.6rem;
  transform: scale(0.9) translateX(-50%); }

.loadingNotification.ng-hide-remove-active {
  opacity: 1;
  top: 3rem;
  transform: scale(1) translateX(-50%); }

.loadingNotification-label {
  background: #666;
  border-radius: 4px;
  color: #fff;
  display: inline-block;
  font-size: 15px;
  padding: 0.35714rem 0.78571rem; }

/*  --------------------------------------------------------------------------  *\

    NAVS - BREADCRUMBS

\*  --------------------------------------------------------------------------  */
nav.breadcrumbs {
  display: block;
  font-size: 0.75rem;
  margin-bottom: 0.75rem; }
  nav.breadcrumbs .container {
    position: relative; }
    nav.breadcrumbs .container::after {
      position: absolute;
      left: 0;
      top: 0;
      content: "";
      width: 100%;
      height: 100%;
      opacity: 1;
      pointer-events: none; }
  @media (min-width: 768px) {
    nav.breadcrumbs {
      display: block; }
      nav.breadcrumbs ol li {
        display: block; } }
  @media (min-width: 992px) {
    nav.breadcrumbs {
      margin-bottom: 1.5rem; } }
  nav.breadcrumbs a {
    text-decoration: none; }
  nav.breadcrumbs ol {
    position: relative;
    padding-top: 1rem;
    margin: 0 0 0.5rem 0 !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: nowrap;
    overflow: auto; }
    nav.breadcrumbs ol li {
      white-space: nowrap; }
      nav.breadcrumbs ol li .icon {
        display: none; }
      nav.breadcrumbs ol li + li .icon {
        display: inline-block;
        padding: 0 0.625rem;
        color: #253557; }
      nav.breadcrumbs ol li.is-active a {
        color: #1e252b;
        font-weight: 600; }

.page-type-default main {
  overflow-x: hidden; }

main > header ~ section:first-of-type {
  margin-top: 0; }

section {
  margin-top: 3rem; }
  @media (min-width: 768px) {
    section {
      margin-top: 3rem; } }
  @media (min-width: 992px) {
    section {
      margin-top: 6.5rem; } }
  section.no-margin-top {
    margin-top: 0; }
  section.half-margin-top {
    margin-top: 1.5rem; }
    @media (min-width: 768px) {
      section.half-margin-top {
        margin-top: 1.5rem; } }
    @media (min-width: 992px) {
      section.half-margin-top {
        margin-top: 3.25rem; } }

/*  --------------------------------------------------------------------------  *\

    REVIEW STARS

\*  --------------------------------------------------------------------------  */
.icon-star-full {
  color: #9EC5EB; }

.icon-star-empty {
  color: #5E6E7E; }

/*  --------------------------------------------------------------------------  *\

    COOKIE CONSENT BANNER

\*  --------------------------------------------------------------------------  */
.cookie-consent-modal {
  padding-top: 0;
  position: relative;
  width: auto;
  height: auto;
  z-index: 10000000000;
  font-family: sans-serif; }

.cookie-consent-modal .modal-content-wrap {
  position: fixed;
  bottom: 0;
  margin: 0; }

.cookie-consent-modal .modal-content-wrap.right {
  right: 0; }

.cookie-consent-modal .modal-content-wrap.left {
  left: 0; }

.cookie-consent-modal .modal-content-wrap .modal-content {
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: white;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.3);
  padding: 0;
  width: 100vw;
  border-radius: 0.2rem; }

.cookie-consent-modal .modal-content-wrap .modal-content .modal-header {
  padding: 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1); }

.cookie-consent-modal .modal-content-wrap .modal-content .modal-header h3, .cookie-consent-modal .modal-content-wrap .modal-content .modal-header .h3 {
  margin: 0;
  font-weight: 500;
  position: relative;
  padding: 0 1.25rem; }

.cookie-consent-modal .modal-content-wrap .modal-content .modal-body {
  padding: 1rem 1rem;
  line-height: 1.3;
  font-size: .9em; }
  @media (min-width: 768px) {
    .cookie-consent-modal .modal-content-wrap .modal-content .modal-body {
      font-size: 1em; } }

.cookie-consent-modal .modal-content-wrap .modal-content .modal-body a {
  color: #2f6cdd; }

.cookie-consent-modal .modal-content-wrap .modal-content .modal-body a:hover {
  color: #032a71; }

.cookie-consent-modal .modal-content-wrap .modal-content .modal-footer {
  padding: 1rem 0.5rem 0.5rem 0.5rem; }

.cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap; }

.cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons .btn {
  padding: 0.7rem 1.1rem;
  cursor: pointer;
  border: none;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem; }

.cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons .btn.btn-primary {
  color: #FFFFFF;
  width: auto; }

.cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons .btn.btn-secondary {
  background-color: #fff;
  font-size: .8em;
  color: #000;
  width: auto; }

@media screen and (max-width: 620px) {
  .cookie-consent-modal .btn {
    width: 100%; } }

.cookie-consent-modal.block-access {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.5);
  padding-top: 20vh;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto; }

@media screen and (max-width: 620px) {
  .cookie-consent-modal.block-access {
    padding-top: 0; } }

.cookie-consent-modal.block-access .modal-content-wrap {
  position: relative;
  margin: 2.5% auto;
  bottom: auto;
  width: 95%; }

.cookie-consent-modal.block-access .modal-content-wrap .modal-content {
  border: none;
  margin: 0 auto; }

.cookie-consent-modal .modal-content {
  display: grid; }
  @media (min-width: 576px) {
    .cookie-consent-modal .modal-content {
      grid-template-columns: auto 1fr auto; } }

.cookie-consent-modal .modal-header {
  width: 100%; }

/*  --------------------------------------------------------------------------  *\

    COMPONENTS

    This loads all the components into the website

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\
    CARD AND FEED COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    PRODUCT CARD COMPONENT

\*  --------------------------------------------------------------------------  */
.card {
  position: relative;
  display: flex;
  flex-direction: column;
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > IMAGE

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > TITLE

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > RATING

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > PRICE

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > ACTIONS

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > ANIMATIONS

\*  --------------------------------------------------------------------------  */ }
  .card:hover img, .card:focus img {
    transform: perspective(1.2em) rotateY(-0.3deg) scale(0.94) !important; }
  .card .cnt {
    row-gap: 0.5rem;
    margin-top: 1rem;
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 1rem;
    grid-template-areas: "title" "price" "rating"; }
    @media (min-width: 992px) {
      .card .cnt {
        margin-top: 1.5rem; } }
    @media (min-width: 992px) {
      .card .cnt {
        grid-template-areas: "title price" "rating price"; } }
    .card .cnt h3 {
      grid-area: title; }
    .card .cnt .price {
      grid-area: price; }
      @media (min-width: 992px) {
        .card .cnt .price {
          justify-self: end; } }
    .card .cnt .rating {
      grid-area: rating; }
  .card .card-swatches {
    flex-grow: 1; }
  .card .cta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem; }
    @media (min-width: 768px) {
      .card .cta {
        flex-direction: row;
        justify-content: space-between; } }
    .card .cta .actions {
      order: 1;
      min-height: 1.25rem; }
      @media (min-width: 768px) {
        .card .cta .actions {
          order: 2; } }
    .card .cta .compare-btn {
      order: 2; }
  .card .img {
    aspect-ratio: 1;
    overflow: hidden;
    z-index: 1;
    border: 1px solid #EDEFF0;
    padding: 0.625rem; }
    .card .img img {
      transition: transform .5s ease;
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .card .img-w, .card .img-wrapper {
    aspect-ratio: 1; }
    .card .img-w img, .card .img-wrapper img {
      display: block;
      width: 100%;
      object-fit: cover; }
  .card h3, .card .h3 {
    font-size: 0.875rem;
    margin: 0 0 0 0;
    line-height: 1.5rem;
    font-family: "Open Sans", Arial, Helvetica, sans-serif; }
    .card h3 a:hover, .card h3 a:focus, .card .h3 a:hover, .card .h3 a:focus {
      text-decoration: underline; }
  .card .ratings, .card .rating {
    font-size: 1.125rem;
    margin: 0 0 0.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap; }
    @media (min-width: 992px) {
      .card .ratings, .card .rating {
        margin: 0 0 0.75rem; } }
    .card .ratings span + span, .card .rating span + span {
      margin: 0 0 0 0.125rem; }
  .card .price {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: bold;
    color: #1e252b; }
    @media (min-width: 992px) {
      .card .price {
        flex-direction: column;
        align-items: flex-end;
        text-align: right;
        gap: 0; } }
    .card .price.sale {
      color: #9c2f00; }
    .card .price[data-product-price-without-tax] .starting {
      display: none; }
      .card .price[data-product-price-without-tax] .starting:before {
        content: 'Starting at';
        display: block;
        font-size: 0.875rem;
        font-weight: normal;
        color: #5E6E7E; }
    .card .price > span.starting:before {
      content: 'Starting at';
      display: block;
      font-size: 0.875rem;
      font-weight: normal;
      color: #5E6E7E; }
    .card .price .non-sale-price--withoutTax {
      order: 2;
      color: #253557;
      text-decoration: 1px #253557 line-through; }
    .card .price .rrp-price--withoutTax {
      display: none !important; }
  .card .actions-quickadd {
    position: absolute;
    z-index: 100;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    visibility: hidden;
    opacity: 0;
    transition: opacity .25s .25s linear; }
  .card .actions form {
    margin: 0; }
    .card .actions form input {
      color: #C8390A;
      background: none; }
      .card .actions form input:hover, .card .actions form input:focus {
        color: #9c2f00; }
  .card .compare-btn {
    font-size: 0.75rem;
    color: #1e252b;
    font-weight: 400; }
    .card .compare-btn label {
      display: flex;
      cursor: pointer; }
    .card .compare-btn input {
      appearance: none;
      background-color: #fff;
      margin: 0;
      position: relative;
      margin-right: 0.625rem; }
      .card .compare-btn input:hover:before, .card .compare-btn input:focus:before {
        background: #EDEFF0; }
      .card .compare-btn input:before {
        display: inline-block;
        content: "";
        height: 1.25rem;
        width: 1.25rem;
        border: 0.0625rem solid #5E6E7E;
        transition: .25s all ease-in-out; }
      .card .compare-btn input:after {
        display: none;
        position: absolute;
        left: 0.6875rem;
        top: 0.625rem;
        -webkit-transform: translate(-50%, -50%) rotate(-45deg);
        -ms-transform: translate(-50%, -50%) rotate(-45deg);
        transform: translate(-50%, -50%) rotate(-45deg);
        height: 0.3125rem;
        width: 0.625rem;
        border-left: 0.1875rem solid #1e252b;
        border-bottom: 0.1875rem solid #1e252b;
        content: ""; }
      .card .compare-btn input:checked:before {
        background: #9EC5EB;
        border-color: #9EC5EB; }
      .card .compare-btn input:checked:after {
        display: block; }
  .card .img:hover .actions-quickadd {
    visibility: visible;
    opacity: 1; }
  .card {
    visibility: hidden; }
  .no-js .card {
    visibility: visible; }
  .card.active {
    /* this is the animation of the selected step */
    visibility: visible;
    opacity: 1;
    transform: translateX(0); }
  .card.slide-up-in {
    animation: SlideUpIn 0.3s 0.2s cubic-bezier(0, 0, 0, 1) backwards; }
  .card.slide-down-out {
    animation: SlideDownOut 0.3s 0.2s cubic-bezier(0, 0, 0, 1) forwards; }
  .card.slide-left-in {
    animation: SlideLeftIn 0.3s 0.2s cubic-bezier(0, 0, 0, 1) backwards; }

@keyframes SlideDownOut {
  0% {
    opacity: 1;
    transform: translateX(0); }
  100% {
    opacity: 0;
    transform: translateY(30px); } }

@keyframes SlideUpIn {
  0% {
    opacity: 0;
    transform: translateY(30px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

@keyframes SlideLeftIn {
  0% {
    opacity: 0;
    transform: translateX(-30px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > SALE FLAGS

\*  --------------------------------------------------------------------------  */
.flag {
  position: absolute;
  z-index: 1000;
  padding: 0 0.75rem;
  background: #EDEFF0;
  color: #1e252b;
  font-weight: 600;
  font-size: 0.75rem;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  top: 0.75rem;
  left: -0.0625rem;
  width: auto;
  text-align: left; }
  @media (min-width: 768px) {
    .flag {
      padding: 0.5rem 0.75rem; } }
  @media (min-width: 768px) {
    .flag {
      top: 0.75rem;
      left: -0.0625rem;
      width: auto;
      text-align: left; } }
  .flag.sale {
    background: #B82719;
    color: #fff; }

/*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > COLOR SWATCHES

\*  --------------------------------------------------------------------------  */
.card-swatches {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start stretch;
  align-items: flex-end;
  align-content: row wrap;
  flex-flow: row wrap;
  margin-bottom: 1.5rem; }

.card-swatches .form-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start stretch;
  align-items: flex-end;
  align-content: row wrap;
  flex-flow: row wrap;
  margin-top: 0.625rem; }
  .card-swatches .form-field label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-flow: row nowrap;
    cursor: pointer;
    width: 1.25rem;
    height: 1.25rem;
    margin: 0 0.25rem 0.25rem 0;
    transition: all .25s linear;
    border-radius: 100% !important;
    overflow: hidden;
    border: 1px solid #ccc;
    box-shadow: inset 0 0 0 3px #fff;
    transform: rotate(45deg);
    /*
            :before {
                content: " ";
                position: absolute;
                z-index: 1;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                border: 3px solid $white;
                border-radius: 100%;
            }
            */ }
    .card-swatches .form-field label span {
      width: 100%; }
    .card-swatches .form-field label span {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: stretch;
      flex-flow: row nowrap; }
  .card-swatches .form-field label.pattern {
    border-radius: 0;
    width: 1.25rem;
    height: 1.25rem; }
    .card-swatches .form-field label.pattern span {
      background-size: cover; }
    .card-swatches .form-field label.pattern > span {
      transform: rotate(-45deg);
      border-radius: 100%;
      width: 100%; }
    .card-swatches .form-field label.pattern::before {
      content: "";
      position: absolute;
      width: 1.25rem;
      height: 1.25rem;
      transform: translateY(-4px) translateX(-4px); }
    .card-swatches .form-field label.pattern .form-option-expanded {
      display: none; }

/*  --------------------------------------------------------------------------  *\

    DETAIL - CART PREVIEW

\*  --------------------------------------------------------------------------  */
.modal-header {
  padding: 0.5rem 0;
  border-bottom: 1px solid #FFFFFF; }
  .modal-header h2 {
    margin-bottom: 0;
    font-size: 1.5rem;
    text-align: center !important; }

.previewCart {
  display: grid; }
  @media (min-width: 992px) {
    .previewCart {
      grid-template-columns: 3fr 1fr;
      column-gap: 1.5rem;
      align-items: top; } }
  @media (min-width: 992px) {
    .previewCart {
      column-gap: 2rem; } }
  .previewCart .price--discounted {
    color: #B9B9AD;
    text-decoration: 1px #B9B9AD line-through;
    margin-right: 0.5rem; }
  .previewCart .previewCartCheckout {
    padding: 1rem;
    border: 0.0625rem solid #FFFFFF;
    border-radius: 0.25rem;
    background-color: transparent;
    order: 1;
    margin-bottom: 1.25rem; }
    .previewCart .previewCartCheckout [class*="btn-"] {
      width: 100%;
      margin: 0; }
      .previewCart .previewCartCheckout [class*="btn-"] + [class*="btn-"] {
        margin: 0.5rem 0 0; }
    .previewCart .previewCartCheckout .subtotal {
      border: none;
      padding: 0.5rem 0;
      margin: 0.5rem 0;
      text-align: center; }
      .previewCart .previewCartCheckout .subtotal h3, .previewCart .previewCartCheckout .subtotal .h3 {
        font-family: "Open Sans", Arial, Helvetica, sans-serif;
        text-transform: capitalize;
        font-weight: normal;
        font-size: 0.875rem;
        margin-bottom: 0.5rem; }
      .previewCart .previewCartCheckout .subtotal strong {
        font-size: 1.5rem;
        font-weight: 500;
        font-family: "futura-pt-condensed", Arial, Helvetica, sans-serif; }
    .previewCart .previewCartCheckout p {
      font-size: 0.875rem;
      margin: 0 0 1rem;
      text-align: center; }

/*  --------------------------------------------------------------------------  *\

    PRODUCT > FEEDS > STATIC

\*  --------------------------------------------------------------------------  */
.feeds-static h2 {
  text-align: center;
  margin-bottom: 2rem; }
  @media (min-width: 992px) {
    .feeds-static h2 {
      margin-bottom: 2.5rem; } }

.feeds-static > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 1rem;
  row-gap: 1.5rem; }
  @media (min-width: 768px) {
    .feeds-static > div {
      grid-template-columns: 1fr 1fr 1fr 1fr;
      column-gap: 1rem;
      row-gap: 2.5rem; } }
  @media (min-width: 992px) {
    .feeds-static > div {
      grid-template-columns: 1fr 1fr 1fr 1fr;
      column-gap: 2rem;
      row-gap: 1.5rem; } }

/*  --------------------------------------------------------------------------  *\

    PRODUCT > FEEDS > CAROUSEL

\*  --------------------------------------------------------------------------  */
.feeds-carousel {
  position: relative; }
  .feeds-carousel h2 {
    text-align: center;
    margin-bottom: 2rem; }
    @media (min-width: 992px) {
      .feeds-carousel h2 {
        margin-bottom: 2.5rem; } }
  @media (min-width: 576px) {
    .feeds-carousel {
      padding-bottom: 0; } }
  .feeds-carousel .slick-slider {
    margin: 0 -0.5rem;
    width: calc(100% + 2rem); }
    @media (min-width: 768px) {
      .feeds-carousel .slick-slider {
        margin: 0 -0.5rem;
        width: calc(100% + 1rem); } }
    @media (min-width: 992px) {
      .feeds-carousel .slick-slider {
        margin: 0 -1rem;
        width: calc(100% + 2rem); } }
  .feeds-carousel .slick-list {
    padding-left: 0 !important; }
  .feeds-carousel .slick-initialized .slick-slide {
    display: flex; }
  .feeds-carousel .controls-container {
    position: absolute;
    width: 100%; }
    .feeds-carousel .controls-container > div {
      position: relative;
      aspect-ratio: 4.3/1; }
  .feeds-carousel .slick-arrow {
    top: 50%;
    transform: translate(0, -50%); }
  .feeds-carousel .slick-prev, .feeds-carousel .slick-next {
    display: none; }
  .feeds-carousel .carousel-heading-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row nowrap; }
    @media (min-width: 576px) {
      .feeds-carousel .carousel-heading-container {
        justify-content: flex-start; } }
    .feeds-carousel .carousel-heading-container .line {
      display: none;
      height: 2px;
      background: #FFFFFF;
      flex: 1;
      margin: 0 1.875rem; }
      @media (min-width: 576px) {
        .feeds-carousel .carousel-heading-container .line {
          display: block; } }
  .feeds-carousel .card, .feeds-carousel .thumbnails .thumbs {
    width: 100%;
    margin: 0 0.5rem; }
    @media (min-width: 768px) {
      .feeds-carousel .card, .feeds-carousel .thumbnails .thumbs {
        margin: 0 0.5rem; } }
    @media (min-width: 992px) {
      .feeds-carousel .card, .feeds-carousel .thumbnails .thumbs {
        margin: 0 1rem; } }

/*  --------------------------------------------------------------------------  *\
    PAGE COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    PAGE - LAYOUT

\*  --------------------------------------------------------------------------  */
@media (min-width: 768px) {
  section.w-nav .container {
    display: grid;
    grid-template-columns: 1fr 3fr;
    column-gap: 1.5rem; } }

@media (min-width: 992px) {
  section.w-nav .container {
    column-gap: 2rem; } }

/*  --------------------------------------------------------------------------  *\

    PAGE - NAV - INTERIOR

\*  --------------------------------------------------------------------------  */
nav.int li + li {
  margin: 0.5rem 0 0;
  padding: 0.5rem 0 0; }

nav.int a {
  color: #5E6E7E; }

nav.int .is-active a {
  font-weight: bold; }

/*  --------------------------------------------------------------------------  *\
    SITEMAP COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    SITEMAP - LAYOUT

\*  --------------------------------------------------------------------------  */
@media (min-width: 768px) {
  .sitemap > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-flow: row nowrap;
    margin: 0 -1rem; }
    .sitemap > ul > li {
      margin: 0 1rem;
      width: calc(33.333% - 2rem); } }

.sitemap > ul ul li + li {
  margin: 0.5rem 0 0; }

.sitemap > ul ul ul {
  margin: 0 0 0 0.5rem;
  padding: 0.5rem 0 0; }
  @media (min-width: 768px) {
    .sitemap > ul ul ul {
      margin: 0 0 0 1rem; } }
  @media (min-width: 992px) {
    .sitemap > ul ul ul {
      margin: 0 0 0 1.5rem; } }

/*  --------------------------------------------------------------------------  *\

    WIDGETS

    This loads all widget styling on the website.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

   01 - PROMO BARS

\*  --------------------------------------------------------------------------  */
.promo-bars {
  text-align: center;
  border-bottom: 1px solid #EDEFF0; }
  .promo-bars .controls-container, .promo-bars .dots {
    display: none; }
  .promo-bars .slider {
    padding: 0.75rem 0;
    margin: 0; }
    @media (min-width: 768px) {
      .promo-bars .slider div + .slide {
        border-left: 1px solid #B9B9AD; } }
  .promo-bars p, .promo-bars a {
    text-align: center;
    font-size: 0.875rem;
    font-weight: 700; }
  .promo-bars.dark {
    background: #253557; }
    .promo-bars.dark * {
      color: #EDEFF0; }

.promo-bar {
  text-align: center; }
  .promo-bar .container {
    padding: 0.75rem 0; }
  .promo-bar p, .promo-bar a {
    text-align: center;
    font-size: 0.875rem; }

.multi-line-promo-bar {
  background: #EDEFF0; }
  .multi-line-promo-bar .container {
    padding: 1.5rem 0; }
  .multi-line-promo-bar .h4 {
    margin-bottom: 0.75rem; }
  .multi-line-promo-bar .h5 {
    margin-bottom: 0.625rem; }
    @media (min-width: 992px) {
      .multi-line-promo-bar .h5 {
        margin-bottom: 1rem; } }
  .multi-line-promo-bar .link-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap; }
    @media (min-width: 768px) {
      .multi-line-promo-bar .link-container {
        column-gap: 1.5rem;
        flex-direction: row; } }
  @media (max-width: 767.9px) {
    .multi-line-promo-bar a + a {
      margin-top: 12px; } }

/* -------------------------------------------------------------------------- */
/*                           HOMEPAGE HERO CAROUSEL                           */
/* -------------------------------------------------------------------------- */
.homepage-hero-grid {
  position: relative;
  z-index: 1;
  --animationDistance: 15px; }
  .homepage-hero-grid .slider {
    padding-bottom: 0;
    margin-bottom: 0;
    --mobile-gap: 1px;
    --tablet-gap: 1px;
    --desktop-gap: 1px; }
    .homepage-hero-grid .slider .slide {
      scroll-snap-align: start; }
  @media (min-width: 992px) {
    .homepage-hero-grid .slick-arrow.slick-prev, .homepage-hero-grid .slick-arrow.scroll-left, .homepage-hero-grid .scroll-arrow.slick-prev, .homepage-hero-grid .scroll-arrow.scroll-left {
      left: 2.5rem; } }
  @media (min-width: 992px) {
    .homepage-hero-grid .slick-arrow.slick-next, .homepage-hero-grid .slick-arrow.scroll-right, .homepage-hero-grid .scroll-arrow.slick-next, .homepage-hero-grid .scroll-arrow.scroll-right {
      right: 2.5rem; } }
  .homepage-hero-grid.contained {
    max-width: 87.5rem;
    margin: 0 auto; }
  @media (max-width: 991.9px) {
    .homepage-hero-grid .btn-primary {
      --btnColor: $dark-1 !important; } }
  .homepage-hero-grid .slide div {
    visibility: visible;
    animation-delay: 50ms;
    animation-name: fadeInUp; }
  .homepage-hero-grid .slide {
    position: relative;
    flex-direction: column;
    text-align: center;
    position: relative; }
    @media (min-width: 768px) {
      .homepage-hero-grid .slide {
        text-align: left; } }
    .homepage-hero-grid .slide::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      right: 0;
      bottom: 0; }
      @media (min-width: 768px) {
        .homepage-hero-grid .slide::after {
          background: linear-gradient(180deg, rgba(57, 57, 57, 0) 25.82%, #393939 146.18%);
          margin: 0 auto; } }
    @media (min-width: 768px) {
      .homepage-hero-grid .slide.left .container > div {
        grid-column: 1 / span 6;
        justify-items: left; } }
    @media (min-width: 768px) {
      .homepage-hero-grid .slide.center .container > div {
        grid-column: 4 / span 6;
        text-align: center;
        justify-items: center; } }
    @media (min-width: 768px) {
      .homepage-hero-grid .slide.right .container > div {
        grid-column: 7 / span 6;
        justify-items: left; } }
    .homepage-hero-grid .slide .container {
      display: grid;
      grid-template-columns: 1fr;
      align-items: center;
      min-height: 18.125rem;
      padding: 0; }
      @media (min-width: 768px) {
        .homepage-hero-grid .slide .container {
          padding: 0;
          grid-template-columns: repeat(12, 1fr);
          min-height: 25rem;
          max-height: 25rem; } }
      @media (min-width: 992px) {
        .homepage-hero-grid .slide .container {
          padding: 0 4rem;
          min-height: 36.25rem;
          max-height: 36.25rem; } }
      .homepage-hero-grid .slide .container > div {
        z-index: 3;
        display: grid;
        align-content: center;
        justify-items: center;
        padding: 1.5rem; }
        @media (min-width: 768px) {
          .homepage-hero-grid .slide .container > div {
            padding: 3rem; } }
        @media (min-width: 992px) {
          .homepage-hero-grid .slide .container > div {
            padding: 5rem; } }
        .homepage-hero-grid .slide .container > div .btn-primary {
          margin-bottom: 1.25rem; }
          @media (min-width: 768px) {
            .homepage-hero-grid .slide .container > div .btn-primary {
              margin-bottom: initial; } }
      .homepage-hero-grid .slide .container.invert {
        align-items: stretch; }
        @media (min-width: 992px) {
          .homepage-hero-grid .slide .container.invert {
            align-items: center; } }
        .homepage-hero-grid .slide .container.invert > div {
          background: #253557; }
  .homepage-hero-grid picture {
    display: flex;
    justify-content: center; }
    .homepage-hero-grid picture img {
      height: 100%;
      width: 100%;
      object-fit: cover;
      top: 0;
      aspect-ratio: 2; }
      @media (min-width: 768px) {
        .homepage-hero-grid picture img {
          position: absolute; } }
    .homepage-hero-grid picture.mobile-overlay img {
      position: absolute; }
  .homepage-hero-grid .dots {
    position: absolute;
    bottom: 1.25rem;
    left: 50%;
    transform: translate(-50%, 0);
    gap: 0.4375rem; }
  .homepage-hero-grid .dot {
    outline: 1px solid #ffffff;
    border: 1px solid #ffffff !important; }
  .homepage-hero-grid .dot:focus {
    outline: 1px solid #ffffff !important; }
  .homepage-hero-grid .dot:focus-visible {
    outline: 1px dashed #ffffff !important; }
  .homepage-hero-grid .dot--active {
    background: #1e252b;
    border: 1px solid #1e252b !important; }

.category-thumbnails .radius img {
  border-radius: 7.5rem; }

.category-thumbnails div {
  text-align: center; }
  .category-thumbnails div img {
    transition: .35s all ease-in-out;
    width: 100%;
    overflow: hidden;
    object-fit: cover; }
  .category-thumbnails div a {
    display: block;
    overflow: hidden;
    z-index: 1; }
    .category-thumbnails div a:hover img {
      transform: scale(1.1); }
    .category-thumbnails div a:hover + .h3 {
      color: #C8390A; }

.category-thumbnails .h3 {
  transition: .25s all ease-in-out;
  margin-top: 1.5rem; }

.category-thumbnails img {
  display: flex;
  aspect-ratio: 1; }

.category-thumbnails .slider {
  --mobile-slides: 2;
  --tablet-slides: 3;
  --desktop-slides: 4; }

.promotional-banner .container {
  padding: 0;
  background-color: #EDEFF0; }
  @media (min-width: 992px) {
    .promotional-banner .container {
      background: none; } }
  .promotional-banner .container .inner-container {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    grid-template-areas: "img" "description";
    background: #EDEFF0; }
    @media (min-width: 768px) {
      .promotional-banner .container .inner-container {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: "img description"; }
        .promotional-banner .container .inner-container.right {
          grid-template-areas: "description img"; } }
    .promotional-banner .container .inner-container picture {
      grid-area: img;
      width: 100%;
      height: 100%; }
    .promotional-banner .container .inner-container img {
      aspect-ratio: 1.2;
      object-fit: cover;
      height: 100%;
      width: 100%;
      display: flex; }
    .promotional-banner .container .inner-container .content {
      background-color: #EDEFF0;
      padding: 1.5rem; }
      .promotional-banner .container .inner-container .content a {
        width: 100%; }
      @media (min-width: 768px) {
        .promotional-banner .container .inner-container .content {
          padding: 2rem; }
          .promotional-banner .container .inner-container .content a {
            width: auto; } }
      @media (min-width: 992px) {
        .promotional-banner .container .inner-container .content {
          margin-left: -1rem;
          padding: 3.75rem 6.25rem; } }
    @media (min-width: 992px) {
      .promotional-banner .container .inner-container.right .content {
        margin-left: initial;
        margin-right: -1rem; } }

.promotional-blocks {
  padding-top: 1.5rem; }
  .promotional-blocks h2 {
    text-align: center;
    margin-bottom: 2rem; }
    @media (min-width: 992px) {
      .promotional-blocks h2 {
        margin-bottom: 2.5rem; } }
  @media (min-width: 768px) {
    .promotional-blocks {
      padding-top: 0; } }
  @media (min-width: 768px) {
    .promotional-blocks h3, .promotional-blocks p {
      width: 85%; } }
  .promotional-blocks img {
    aspect-ratio: 1.4;
    object-fit: cover;
    height: 100%;
    width: 100%;
    display: flex; }
  .promotional-blocks .slider {
    margin-bottom: 1.5rem; }
  .promotional-blocks .slide {
    display: flex;
    flex-direction: column; }
    .promotional-blocks .slide h3 {
      padding-top: 1.5rem;
      flex-grow: 1; }
    .promotional-blocks .slide p {
      display: -webkit-box !important;
      -webkit-box-orient: vertical;
      /* autoprefixer: off */
      overflow: hidden;
      -webkit-line-clamp: 3;
      min-height: 2rem; }

.brand-value h2 {
  text-align: center;
  margin-bottom: 2rem; }
  @media (min-width: 992px) {
    .brand-value h2 {
      margin-bottom: 2.5rem; } }

.brand-value .values {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  justify-content: center;
  row-gap: 1.75rem; }
  @media (min-width: 768px) {
    .brand-value .values.col-4 {
      column-gap: 2.6%; }
      .brand-value .values.col-4 figure {
        width: 23%; } }
  @media (min-width: 768px) {
    .brand-value .values.col-3 {
      column-gap: 5%; }
      .brand-value .values.col-3 figure {
        width: 30%; } }
  .brand-value .values figure img {
    display: block;
    margin: 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    object-fit: cover; }
    @media (min-width: 992px) {
      .brand-value .values figure img {
        width: 3.5rem;
        height: 3.5rem; } }
  .brand-value .values figure p {
    color: #253557; }
  .brand-value .values figure.stacking {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-flow: column wrap;
    row-gap: 1.25rem; }
    .brand-value .values figure.stacking figcaption {
      text-align: center; }
    @media (min-width: 992px) {
      .brand-value .values figure.stacking {
        row-gap: 1.875rem; } }
  .brand-value .values figure.left {
    align-items: flex-start; }
    .brand-value .values figure.left * {
      text-align: left; }
    .brand-value .values figure.left img {
      margin: 0; }
  .brand-value .values figure.right {
    align-items: flex-end; }
    .brand-value .values figure.right * {
      text-align: right; }
    .brand-value .values figure.right img {
      margin: 0; }
  .brand-value .values figure.center {
    align-items: center; }
    .brand-value .values figure.center * {
      text-align: center; }
    .brand-value .values figure.center figcaption {
      margin: 0 auto; }
  .brand-value .values figure.image-side {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-flow: row nowrap;
    column-gap: 1rem; }
    @media (min-width: 992px) {
      .brand-value .values figure.image-side {
        column-gap: 2.5rem; } }

.image-carousel {
  position: relative; }
  .image-carousel img {
    aspect-ratio: 1;
    transition: transform .5s ease;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; }

.reviews-carousel .slide {
  display: flex;
  flex-direction: column;
  text-align: center;
  padding: 0 2.5rem; }

.reviews-carousel .star-rating {
  margin: 0 0 0.75rem; }
  @media (min-width: 992px) {
    .reviews-carousel .star-rating {
      margin: 0 0 1rem; } }

.reviews-carousel p {
  margin: 0 0 0.75rem; }
  @media (min-width: 992px) {
    .reviews-carousel p {
      margin: 0 0 1rem; } }

.reviews-carousel .name {
  margin: 0 0 0.25rem;
  font-weight: bold; }
  @media (min-width: 992px) {
    .reviews-carousel .name {
      margin: 0 0 0.5rem;
      font-size: 1.125rem; } }

@media (min-width: 992px) {
  .reviews-carousel .datestamp {
    font-size: 0.875rem; } }

.seo-widget .expandable {
  overflow: hidden;
  transition: all .25s ease-in-out; }

.seo-widget .seo-text {
  display: inline;
  margin: 0; }

.seo-widget button {
  display: inline;
  text-decoration: underline; }
  .seo-widget button[aria-expanded="true"] {
    display: none; }

.seo-widget p.expandable {
  padding-top: 8px; }

.seo-widget button {
  text-transform: uppercase;
  color: #5E6E7E; }

.faq-widget .accordion dt > button, .faq-widget .accordion dd {
  padding: 1rem 0; }
  @media (min-width: 992px) {
    .faq-widget .accordion dt > button, .faq-widget .accordion dd {
      padding: 1.5rem 0; } }

.faq-widget .accordion dd {
  padding-top: 0;
  margin: -4px 0 0;
  font-size: 0.875rem;
  font-weight: 400; }
  @media (min-width: 992px) {
    .faq-widget .accordion dd {
      font-size: 1rem; } }

.faq-widget .accordion button {
  background: white;
  padding: 0;
  font-size: 0.875rem; }
  @media (min-width: 992px) {
    .faq-widget .accordion button {
      font-size: 1.125rem; } }
  .faq-widget .accordion button[aria-expanded="true"] {
    padding-bottom: 0.5rem; }
    @media (min-width: 992px) {
      .faq-widget .accordion button[aria-expanded="true"] {
        padding-bottom: 1rem; } }

.faq-widget .accordion > dt {
  border-top: 0.0625rem solid #9EC5EB;
  font-size: 1rem;
  font-weight: 500; }
  .faq-widget .accordion > dt:first-child {
    border-top: none; }
    .faq-widget .accordion > dt:first-child > button {
      padding-top: 0; }
  .faq-widget .accordion > dt ~ dt {
    margin: 0; }
  .faq-widget .accordion > dt > button:before, .faq-widget .accordion > dt > button:after {
    display: none; }
  .faq-widget .accordion > dt > button:hover, .faq-widget .accordion > dt > button:focus {
    cursor: pointer;
    color: #5E6E7E; }

.faq-widget .accordion > dd {
  width: 100%; }
  .faq-widget .accordion > dd:last-child {
    margin-bottom: 0;
    padding-bottom: 0; }
  .faq-widget .accordion > dd li a {
    display: inline-block; }

.pdp-upsell {
  margin-top: 1rem; }
  .pdp-upsell .slider {
    padding-bottom: 0.5rem;
    --mobile-gap: 10px;
    --tablet-gap: 10px;
    --desktop-gap: 10px; }
    .pdp-upsell .slider::-webkit-scrollbar {
      display: none; }
    .pdp-upsell .slider .slide {
      scroll-snap-align: start; }
  .pdp-upsell .h5 {
    margin-bottom: 1rem; }
  .pdp-upsell .noCarousel > div {
    margin-top: 0.5rem; }
  .pdp-upsell form {
    background: #FFF;
    border: 1px solid #5E6E7E;
    padding: 1rem;
    display: grid;
    grid-template-columns: 60px 1fr auto;
    grid-template-areas: 'img cnt btn';
    align-items: center;
    column-gap: 1rem;
    row-gap: 1rem;
    margin-bottom: 0;
    height: 100%; }
    .pdp-upsell form > div {
      grid-area: cnt;
      display: block; }
    .pdp-upsell form img {
      aspect-ratio: 1;
      grid-area: img;
      max-width: 100%;
      display: block;
      width: 100%;
      object-fit: cover; }
    .pdp-upsell form .btn-primary {
      grid-area: btn;
      font-size: 0.875rem; }
    .pdp-upsell form .upsell-title {
      display: block;
      font-size: 0.875rem;
      font-weight: 400; }
    .pdp-upsell form .price {
      font-size: 0.875rem;
      font-weight: 600; }

.single-featured-product {
  position: relative; }
  @media (min-width: 992px) {
    .single-featured-product .h2 {
      font-size: 1.5rem; } }

.popular-searches h2 {
  border-bottom: 1px solid #9EC5EB;
  padding-bottom: 1.5rem; }

.popular-searches .container > div {
  background: #FFFFFF;
  padding: 3rem 1.5rem 6.25rem;
  position: relative;
  max-height: 24.5rem;
  overflow: hidden;
  transition: max-height 0.5s; }
  .popular-searches .container > div.full-height {
    max-height: 1000px;
    transition: max-height 0.5s; }
  @media (min-width: 768px) {
    .popular-searches .container > div {
      max-height: none;
      padding: 3rem;
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 2rem; } }
  @media (min-width: 992px) {
    .popular-searches .container > div {
      grid-template-columns: 1fr 1fr 1fr;
      padding: 3rem 4rem; } }
  @media (min-width: 1200px) {
    .popular-searches .container > div {
      grid-template-columns: 1fr 1fr 1fr 1fr; } }

@media (min-width: 768px) {
  .popular-searches h2 {
    grid-column: 1 / span 2; } }

@media (min-width: 992px) {
  .popular-searches h2 {
    grid-column: 1 / span 3; } }

@media (min-width: 1200px) {
  .popular-searches h2 {
    grid-column: 1 / span 4; } }

.popular-searches .link-container {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  margin-bottom: 3rem; }
  @media (min-width: 768px) {
    .popular-searches .link-container {
      margin-bottom: 1.5rem; } }
  .popular-searches .link-container a {
    justify-content: flex-start;
    text-align: left; }

.popular-searches .button-container {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 1.5rem 1.5rem 3rem;
  background: #FFFFFF; }
  @media (min-width: 768px) {
    .popular-searches .button-container {
      display: none; } }

.popular-searches .btn-secondary {
  width: 100%; }

.basic-text {
  display: block; }

.featured-products-container {
  border-left: 0.0625rem solid #EDEFF0;
  padding: 0 2rem; }
  .featured-products-container img {
    display: block;
    width: 9.375rem;
    height: 6.25rem;
    margin: 0;
    object-fit: contain;
    object-position: left center; }
  .featured-products-container strong, .featured-products-container h5, .featured-products-container p {
    color: #1e252b;
    font-size: 1rem !important; }
  .featured-products-container h5 {
    font-family: "futura-pt-condensed", Arial, Helvetica, sans-serif;
    font-weight: 700;
    margin-bottom: 1.5rem; }
  .featured-products-container strong {
    display: block;
    font-size: 1.3125rem;
    line-height: 1.6875rem;
    padding-top: 1.25rem;
    padding-bottom: 0.5rem; }
  .featured-products-container .btn-primary {
    padding: 0.875rem 2rem;
    font-size: 1rem;
    width: fit-content; }
  .featured-products-container a {
    display: block !important; }
  .featured-products-container .two-line-container {
    max-width: 15.625rem;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    /* autoprefixer: off */
    overflow: hidden;
    -webkit-line-clamp: 2;
    min-height: 50px;
    max-height: 3.75rem;
    padding: 0;
    margin-bottom: 1.25rem; }
  @media (max-width: 1199.9px) {
    .featured-products-container {
      padding-top: 1.25rem !important;
      border-top: 0.0625rem solid #646464; }
      .featured-products-container h5 {
        font-size: 1.125rem; }
      .featured-products-container strong {
        font-size: 1rem; } }

.pagebuilder [data-editable-content] {
  cursor: text; }

[data-content-region="cart_below_totals"] [id^='banner-region-'] {
  width: 100% !important; }

[data-content-region="product_below_price"] [id^='banner-region-'] {
  margin-top: 0.75rem; }

.desktop-only {
  display: none; }
  @media (min-width: 992px) {
    .desktop-only {
      display: block; } }

@media (min-width: 992px) {
  .mobile-only {
    display: none; } }

.product-view-img-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column; }
  .product-view-img-container .shipping-info {
    font-size: 12px; }
  .product-view-img-container img {
    max-width: 100%;
    margin: 0 auto;
    width: 100px;
    height: 50px;
    object-fit: contain;
    cursor: pointer; }

.pop-up {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 59999;
  background: white;
  padding: 20px;
  border-radius: 8px;
  border: 1px solid #1e252b; }
  .pop-up #close-popup {
    position: absolute;
    top: 32px;
    right: 32px;
    color: #C8390A;
    text-decoration: underline; }
  @media (max-width: 991.9px) {
    .pop-up {
      width: 90%;
      max-height: 600px;
      overflow-y: auto; }
      .pop-up #close-popup {
        right: 10px;
        top: 8px; } }

[data-content-region="shipping-info--global"] [data-sub-layout-container] {
  z-index: 1000; }

.dropdown-menu[aria-hidden="true"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important; }
